
ТЭП70 БС-312 by Pavel888, on Flickr
РУССКИЙ ЯЗЫК/Russian language.
НАБОР посвящается индикатору Ренко (иногда пишут Рэнко, англ. Renko). Большинство индикаторов с открытым кодом. Но для работы требуется только файл с разрешением EX. Где требуется - есть скриншоты/пояснения. Индикатор используется во многих форекс стратегиях, под тип ренко графиков разработанных, и достоин отдельной темы. Отдельной папкой идут пара мануалов (ENG), несколько библиотечных файлов (DLL), что необходимы для работы некоторых индикаторов и звуковой файл в папке Sounds.
Успехов в работе!
АНГЛИЙСКИЙ ЯЗЫК/English language.
The SET is dedicated to the Renko indicator. Most of the indicators are open-source. But only a file with EX permission is required to work. The indicator is used in many forex strategies, developed for the type of renko charts, and is worthy of a separate topic. A separate folder contains a couple of manuals (ENG), several library files (DLLs) that are necessary for the operation of some indicators, and a sound file in the Sounds folder.
Good luck in your work!
С уважением, Павел aka Pavel888.
ОПИСАНИЕ ИНДИКАТОРА
1. Общий вид индикатора, описание.
2. Код индикатора.
3. Базовые настройки индикатора.
4. Формула расчёта индикатора.
5. Видеообзор индикатора.
6. Автор индикатора.
1. Общий вид индикатора, описание:
Например так могут выглядеть свечи с Ренко индикатором (модификаций много разных есть). Рэнко (яп. 練行足 — тихая походка) — применяемый в техническом анализе вид графика котировок объекта торговли (товара, ценной бумаги, валюты), который отображает изменения цены в форме диагональных рядов, состоящих из прямоугольников («кирпичиков»); есть версия происхождения от японского слова "renga" - кирпич. Каждый новый прямоугольник всегда отображается правее предыдущего и располагается выше или ниже его - в зависимости от восходящего/нисходящего тренда. Оговоренное движение цены вверх (например, каждые 10 пунктов) отмечается добавлением выше и правее предыдущего очередного прозрачного прямоугольника, а движение вниз — ниже и правее предыдущего располагается закрашенный прямоугольник. В Европе и США графики Renko стали популярны после публикации в 1994 году книги Стива Нисона «За гранью японских свечей».
Пример того, как может выглядеть классический график Ренко:
2. Код индикатора:
//+------------------------------------------------------------------+
//| AG_Renko.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 9
#property indicator_plots 9
//--- plot Direct
#property indicator_label1 "Renko"
//--- indicator buffers
double Renko[]; // Буфер Ренко
double RenkoUP[]; // Раскладка по цветам
double RenkoDN[]; // Раскладка по цветам
double RenkoSS[]; // Буфер Ренко для кирпичиков
double WickUP[]; // Верхний хвост
double WickDN[]; // Нижний хвост
double RenkoGround[]; // Закраска для гистограммы кирпичиков
double Ground[]; // Закраска для гистограмм хвостов
double WH[]; // Буфер верхнего хвоста
double WL[]; // Буфер нижнего хвоста
double CLOSE[]; // Текущая цена
input int Step=250; // Размер кирпичика ренко в пунктах
extern int Revers=2; // Реверс - количество кирпичиков для разворота
input bool Wicks=false; // Рисовать хвосты
int BricksWidth=5; // Толщина кирпичика (0 - 5)
double step;
int TF=0;
int BeginBar,EndBar;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
IndicatorBuffers(11);
color GroundColor=(color)ChartGetInteger(0,CHART_COLOR_BACKGROUND);
// Comment(GroundColor);
// Буферы для вывода ренко
SetIndexBuffer(0,WickUP,INDICATOR_DATA);
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,1,clrDarkSlateGray);
if(!Wicks) SetIndexStyle(0,DRAW_NONE);
SetIndexBuffer(1,RenkoUP,INDICATOR_DATA);
SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,BricksWidth,clrRoyalBlue);
SetIndexBuffer(2,RenkoDN,INDICATOR_DATA);
SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID,BricksWidth,clrRed);
SetIndexBuffer(3,RenkoGround,INDICATOR_DATA);
SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID,BricksWidth,GroundColor);
SetIndexBuffer(4,WickDN,INDICATOR_DATA);
SetIndexStyle(4,DRAW_HISTOGRAM,STYLE_SOLID,1,clrDarkSlateGray);
if(!Wicks) SetIndexStyle(4,DRAW_NONE);
SetIndexBuffer(5,Ground,INDICATOR_DATA);
SetIndexStyle(5,DRAW_HISTOGRAM,STYLE_SOLID,BricksWidth,GroundColor);
SetIndexBuffer(6,RenkoSS,INDICATOR_DATA);
SetIndexStyle(6,DRAW_SECTION,STYLE_SOLID,1,clrDarkSlateGray);
if(Revers==1) SetIndexStyle(6,DRAW_NONE,STYLE_SOLID,1,clrDarkSlateGray);
// Стрелочка - текущая цена
SetIndexBuffer(7,CLOSE,INDICATOR_DATA);
SetIndexStyle(7,DRAW_ARROW,STYLE_SOLID,2,clrDarkSlateGray);
SetIndexArrow(7,224);
SetIndexBuffer(8,Renko,INDICATOR_DATA);
SetIndexStyle(8,DRAW_NONE,STYLE_SOLID,2,clrDarkSlateGray);
if(Revers==1) SetIndexStyle(8,DRAW_LINE,STYLE_SOLID,1,clrDarkSlateGray);
SetIndexBuffer(10,WH,INDICATOR_CALCULATIONS);
SetIndexBuffer(9,WL,INDICATOR_CALCULATIONS);
//---
step=Step*Point; // Пересчет кубика из пунктов в приращение цены
if(Revers
IndicatorShortName(_Symbol+" RencoChart TF="+(string)Period()
+" Step="+(string)Step
+" Revers="+(string)Revers);
IndicatorDigits(Digits);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
ArrayInitialize(Renko,EMPTY_VALUE);
ArrayInitialize(RenkoUP,EMPTY_VALUE);
ArrayInitialize(RenkoDN,EMPTY_VALUE);
ArrayInitialize(RenkoGround,EMPTY_VALUE);
ArrayInitialize(RenkoSS,EMPTY_VALUE);
ArrayInitialize(WickUP,EMPTY_VALUE);
ArrayInitialize(WickDN,EMPTY_VALUE);
ArrayInitialize(Ground,EMPTY_VALUE);
ArrayInitialize(WH,EMPTY_VALUE);
ArrayInitialize(WL,EMPTY_VALUE);
ArrayInitialize(CLOSE,EMPTY_VALUE);
// Расчет размера окна графика, установка параметров отрисовки
double x=ChartGetDouble(0,CHART_SHIFT_SIZE);
BeginBar=(int)MathMax(0,WindowFirstVisibleBar()-WindowBarsPerChart()*(1-x/100));
if(BeginBar==0) BeginBar=1;
int j=BeginBar;
int jj=j;
CLOSE[j]=iClose(_Symbol,TF,0);
// Значения ренко на правом краю
x=iCustom(_Symbol,TF,"AG_Renko_Chart",Step,false,false,Revers,0,0);
Renko[j]=x; RenkoSS[j]=x;
WH[j]=NormalizeDouble(iCustom(_Symbol,TF,"AG_Renko_Chart",Step,false,false,Revers,6,0),Digits);
WL[j]=NormalizeDouble(iCustom(_Symbol,TF,"AG_Renko_Chart",Step,false,false,Revers,7,0),Digits);
// Отрисовка уровней индикатора
SetLevelStyle(STYLE_DOT,0,clrDimGray);
SetLevelValue(0,x);
for(int i=1;i {
SetLevelValue(i,x+i*step);
SetLevelValue(i+15,x-i*step);
}
int i=1;
double x0=Renko[j];
double x1=x;
while(jj {
// Сравниваем два соседних значения ренко с ценового графика
x1=x0;
x0=NormalizeDouble(iCustom(_Symbol,TF,"AG_Renko_Chart",Step,false,false,Revers,0,i),Digits);
if(x0==x1) {i++;continue;} // Если значения равны - ничего не делаем
double xup=NormalizeDouble(iCustom(_Symbol,TF,"AG_Renko_Chart",Step,false,false,Revers,6,i),Digits);
double xdn=NormalizeDouble(iCustom(_Symbol,TF,"AG_Renko_Chart",Step,false,false,Revers,7,i),Digits);
int k=(int)MathRound((x1-x0)/step); // Количество кирпичиков ренко
int l=0;
if(k0) l=-1; //Направление приращения кирпичиков
k=MathAbs(k);
for(int n=1;n {
j++; jj++;
Renko[j]=Renko[j-1]+l*step;
if(n==k) {WH[j]=xup; WL[j]=xdn;} else {WH[j]=Renko[j]; WL[j]=Renko[j];}
Renko[j]=NormalizeDouble(Renko[j],Digits);
if(j>1 && Renko[j]==Renko[j-2]) jj--;
}
i++;
}
// if (Bricks)
{
EndBar=j;
jj=BeginBar-1;
// Раскладка по цветам
for(j=BeginBar;j {
if //Кирпичики вниз
(
(Revers==1 && Renko[j] || (Revers>1 && Renko[j] )
{
jj++;
RenkoDN[jj]=Renko[j]+step;
WickUP[jj]=WH[j];
RenkoGround[jj]=Renko[j];
WickDN[jj]=Renko[j];
Ground[jj]=MathMin(WL[j],Renko[j]);
}
if //Кирпичики вверх
(
(Revers==1 && Renko[j]>Renko[j+1])
|| (Revers>1 && Renko[j]>Renko[j+1] && Renko[j+1]>Renko[j+2])
)
{
jj++;
RenkoUP[jj]=Renko[j];
// Отрисовка хвостов и фона
WickUP[jj]=WH[j]; // Верхний хвост
RenkoGround[jj]=Renko[j]-step; //Фон для кирпичиков
WickDN[jj]=Renko[j]-step; // Нижний хвост - цепляется к кирпичику
Ground[jj]=MathMin(WL[j],Renko[j]-step); // Нижний хвост обрезается по значению либо по кирпичику
}
// Пересчет линии ренко
if((Renko[j]Renko[j+2]) || (Renko[j]>Renko[j+1] && Renko[j+1] RenkoSS[jj+1]=Renko[j+1];
}
}
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
3. Базовые настройки индикатора.
Из базовых настроек - размер т.н. кирпичика Ренко. Далее настройки могут отличаться, в зависимости от индикатора.
4. Формула расчёта индикатора.
5. Видеообзор индикатора.
Свечи Ренко — построение графика «по кирпичику»
6. Автор индикатора.
Автор неизвестен.
СПИСОК И КОМПЛЕКТАЦИЯ ВСЕХ ИНДИКАТОРОВ
! MTH Renko Chart Builder Indi Ver 01 EX
!MTH Renko Chart Builder Indi Ver 02 EX & MQL
0-RenkoLiveChart_v3.3-Labels EX & MQL
AdaptiveRenko EX & MQL
ag_renko_bricks EX & MQL
ag_renko_chart EX & MQL
Alarm_for_Renko EX & MQL
DoubleMeanRenkoBuilder EX & MQL
MedianRChart EX & MQL
MultyBoxRENKO EX & MQL
PCCIRenko_v1 EX & MQL
Renko Indicator v1 EX
RENKO Multy Box EX & MQL
Renko Range Detector EX & MQL
Renko v.1 EX
RENKO_2 EX & MQL
Renko_SR_v2.0 EX & MQL
Renko_v1 EX & MQL
Renko-Alert EX
RenkoAM_v2.0 EX & MQL
RenkoBricks v2 EX & MQL
RenkoChartSbS EX
RenkoLiveChart EX & MQL
RenkoLiveChart_v2.1 EX & MQL
RenkoLiveChart_v3.0 EX & MQL
RenkoLiveChart_v3.2 EX & MQL
RenkoLiveChart_v3.3 EX & MQL
RenkoLiveChart_v3.3x2 EX & MQL
renkolivecharts_pimped_v4_13 EX & MQL
RenkoRangeBarsV1.2 new format EX & MQL
RenkoRangeBarsV1.2 R_KG EX
RenkoShade2_3 EX & MQL
RenkoStreet_channel EX
RenkoStreet_Trend EX
RenkoStreetAlert EX
renkotimev2 EX & MQL
TestDriveRenkoAlert EX
tipu_renko EX
TSV RenkoFX EX & MQL
ОПИСАНИЯ И СКРИНЫ ИНДИКАТОРОВ
! MTH Renko Chart Builder Indi Ver 01


После установки индикатора он выводит надпись - какой график открыть. Как обычно для Ренко - Файл - Открыть автономно - там находим М2 фунт и нажимаем открыть. График ренко готов.
!MTH Renko Chart Builder Indi Ver 02

Ренко открываем как обычно Файл - Открыть автономно.
0-RenkoLiveChart_v3.3-Labels
Без скрина.
AdaptiveRenko

ag_renko_bricks

ag_renko_chart

Alarm_for_Renko

DoubleMeanRenkoBuilder


Ренко открываем как обычно Файл - Открыть автономно - выбираем М10.
MedianRChart


Ренко открываем как обычно Файл - Открыть автономно - выбираем М3.
MTP_RENKO
Без скрина.
MultyBoxRENKO

PCCIRenko_v1

Renko Indicator v1


График Ренко открывает автоматом - сразу, ничего не надо делать.
RENKO Multy Box

Renko Range Detector

Renko v.1

RENKO_2

Renko_SR_v2.0

Renko_v1

Renko-Alert

RenkoAM_v2.0
Без скрина.
RenkoBricks v2

RenkoChartSbS


Открывает график Ренко автоматически.
RenkoLiveChart


Ренко открываем как обычно Файл - Открыть автономно - выбираем М2.
RenkoLiveChart_v2.1
Без скрина.
RenkoLiveChart_v3.0
Без скрина.
RenkoLiveChart_v3.2
Без скрина.
RenkoLiveChart_v3.3
Без скрина.
RenkoLiveChart_v3.3x2
Без скрина.
renkolivecharts_pimped_v4_13
Ренко открываем как обычно Файл - Открыть автономно - выбираем М2. Без скрина.
RenkoRangeBarsV1.2 new format


RenkoRangeBarsV1.2 R_KG
Ренко открываем как обычно Файл - Открыть автономно - выбираем М20. Без скрина.
RenkoShade2_3

RenkoStreet_channel

Аккуратно с индикатором - замечен в перерисовке.
RenkoStreet_Trend

RenkoStreetAlert
Без скрина.
renkotimev2
Без скрина.
TestDriveRenkoAlert

tipu_renko

TSV RenkoFX

ПОЛЕЗНЫЕ ССЫЛКИ
Как установить индикатор в терминал МТ4
Как тестировать индикатор в терминале МТ4
Как настроить уведомления на почту в MT4
Как компилировать старые MQ4 файлы под новые билды MetaTrader 4
Индикатор для построения графика Ренко - статья
Расшифровка часто встречающихся сокращений в названии индикаторов.
alert - перевод с английского - сигнал. Индикатор при достижении определённых значений, установленных пользователем в настройках, посылает сигнал (разными способами - звуковой, уведомление на почту и так далее).
Пример:
arrows - перевод с английского - стрелки. Индикатор может отображать стрелками на графике возможное движение цены в этом направлении.
Пример:
Histogram (Hist) - перевод с английского - гистограмма. Показания индикатора в виде гистограммы.
Пример:
mtf - Multi Time Frame - перевод с английского - мультитаймфреймовый индикатор. Индикатор на установленном таймфрейме отображает данные с более старшего периода. Пока свеча старшего периода не закрыта - индикатор может менять свои показания.
Пример:
Smoothed - перевод с английского - сглаженный. Индикатор на установленном таймфрейме отображается в виде плавных линий.
Пример:
ИСТОРИЯ ОБНОВЛЕНИЙ
1





