Tretyakov Rostyslav #: Это уже в коде смотрите откуда ZZ берет данные.
Ладно, пойдём от простого к сложному (если у меня полная "каша" если более 3 индикаторных буферов). Сейчас взял другой индюк (Macd). При этом когда, всё коментирую, что относится к макди сигнал рисуется, когда совместно два индикатора, рисуется только макди. Вопрос почему не рисует стрелки. Да, ещё хочу Вам сказать спасибо, за Вашу помощь. Есть кому направить по нужному вектору).
#include <MovingAverages.mqh>
//--- indicator settings#property indicator_separate_window#property indicator_buffers6//4#property indicator_plots4//2// /*#property indicator_type1DRAW_HISTOGRAM#property indicator_type2DRAW_LINE#property indicator_color1clrBlue#property indicator_color2clrMediumVioletRed#property indicator_width12#property indicator_width21#property indicator_label1"MACD"#property indicator_label2"Signal"// */// //*#property indicator_type4 DRAW_ARROW
#property indicator_color4 clrWhite
#property indicator_width4 4
#property indicator_label4 "Up signal"
#property indicator_type5 DRAW_ARROW
#property indicator_color5 clrRed
#property indicator_width5 4
#property indicator_label5 "Down signal"//// */sinputstring AA_Params = "Параметры MACD";
inputint InpFastEMA=12; // Fast EMA periodinputint InpSlowEMA=26; // Slow EMA periodinputint InpSignalSMA=9; // Signal SMA periodinputENUM_APPLIED_PRICE InpAppliedPrice=PRICE_CLOSE; // Applied price// /*sinputstring EA_Params = "Параметры дополнительного сигнала";
inputuint GSv_range=12;
inputint Shift=0; // сдвиг индикатора по горизонтали в барахinputuint UpLable=170;//значёк верхнего фракталаinputuint DnLable=170;//значёк нижнего фрактала// *///--- indicator buffersdouble ExtMacdBuffer[];
double ExtSignalBuffer[];
double ExtFastMaBuffer[];
double ExtSlowMaBuffer[];
int ExtFastMaHandle;
int ExtSlowMaHandle;
//double HighestBuffer[];
double LowestBuffer[];
int min_rates_total;
// /*double h,l;
bool cur_h,cur_l;
bool draw_up,draw_dn,initfl;
int fPoint_i,sPoint_i,s_up,s_dn,drawf,lb;
// *///+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+voidOnInit()
{
min_rates_total=2;
//--- indicator buffers mappingSetIndexBuffer(0,ExtMacdBuffer,INDICATOR_DATA);
SetIndexBuffer(1,ExtSignalBuffer,INDICATOR_DATA);
SetIndexBuffer(2,ExtFastMaBuffer,INDICATOR_CALCULATIONS);
SetIndexBuffer(3,ExtSlowMaBuffer,INDICATOR_CALCULATIONS);
//SetIndexBuffer(4,LowestBuffer,INDICATOR_DATA);
SetIndexBuffer(5,HighestBuffer,INDICATOR_DATA);
//---- запрет на отрисовку индикатором пустых значенийPlotIndexSetDouble(4,PLOT_EMPTY_VALUE,NULL);
PlotIndexSetDouble(5,PLOT_EMPTY_VALUE,NULL);
//--- sets first bar from what index will be drawnPlotIndexSetInteger(1,PLOT_DRAW_BEGIN,InpSignalSMA-1);
PlotIndexSetInteger(4,PLOT_ARROW,DnLable);
PlotIndexSetInteger(5,PLOT_ARROW,UpLable);
// /*//---- установка позиции, с которой начинается отрисовка уровней БоллинджераPlotIndexSetInteger(4,PLOT_DRAW_BEGIN,min_rates_total);
PlotIndexSetInteger(5,PLOT_DRAW_BEGIN,min_rates_total);
//---- осуществление сдвига индикатора по горизонтали на ShiftPlotIndexSetInteger(4,PLOT_SHIFT,Shift);//2PlotIndexSetInteger(5,PLOT_SHIFT,Shift);//3//---- индексация элементов в буферах как в таймсериях ArraySetAsSeries(LowestBuffer,true);
ArraySetAsSeries(HighestBuffer,true);
//--- создание имени для отображения в отдельном подокне и во всплывающей подсказке// IndicatorSetString(INDICATOR_SHORTNAME,"GannZIGZAG_Arrows");// *///--- name for indicator subwindow label// string short_name=StringFormat("MACD(%d,%d,%d)",InpFastEMA,InpSlowEMA,InpSignalSMA);// IndicatorSetString(INDICATOR_SHORTNAME,short_name);//--- get MA handles
ExtFastMaHandle=iMA(NULL,0,InpFastEMA,0,MODE_EMA,InpAppliedPrice);
ExtSlowMaHandle=iMA(NULL,0,InpSlowEMA,0,MODE_EMA,InpAppliedPrice);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+
Ладно, пойдём от простого к сложному (если у меня полная "каша" если более 3 индикаторных буферов). Сейчас взял другой индюк (Macd). При этом когда, всё коментирую, что относится к макди сигнал рисуется, когда совместно два индикатора, рисуется только макди. Вопрос почему не рисует стрелки. Да, ещё хочу Вам сказать спасибо, за Вашу помощь. Есть кому направить по нужному вектору).
SetIndexBuffer и PlotIndexSet имеют раздельные индексации. В первом - индекс буфера, во втором линии плот
у тебя рисуется 4 линии (в #property задано) и в PlotIndexSet(..) могут быть значения от 0 до 3. Макд - 0 и 1, стрелки 2 и 3
Не вполне очевидным образом сделано, но потом все привыкли
коллеги! доброе утро! кто с индикаторами дружен и более в теме! помогите плиз - разобраться - поддается ли iCustom и если да т о вариантом для робота напишите,
по сути там идет разности МА 1 и МА 2 двух символов и рисуются на графике линиями. Мне надо, (пока сам код индикатора загоняю в робота) в роботе на 0 ом 1 от и втором баре смотреть значение и их сравнивать этих двух линий разностей МА на двух символах. Для принятия торговых решений в роботе нужно понимание как минимум какая линия зеленая (первого символа) или синяя (второго) находится выше или ниже.
По мотивам этой ветки - индикатор в о вложении. Индикатор ценовых линий. Разности МА каждого символа и сделаны для того с коэфф -ми соответствующими цене каждого символа спреда - чтобы их считать можно было в одной системе координат. Т.е. уйти от прямого сравнения цен спреда именно в разности МА 1 и МА 2.
ИНдикатор во вложении.
вот он к примеру тут используется - второй индикатор сверху для металлов.
Пока напрямую переношу ф-ии и код расчета значений линий ценовых с индикатора в робота.
Хотелось бы поэлегантнее может есть возможность с iCustom..... спс.
что волатильны CFD фюьчерсы одного товара с разными месяцами поставки. что если я собираюсь совершать арбитражные сделки на двух CFD futures на один товар. Многие ДЦ дают одновременно только один месячный future cfd
Roman Shiredchenko #: по сути там идет разности МА 1 и МА 2 двух символов и рисуются на графике линиями. Мне надо, (пока сам код индикатора загоняю в робота) в роботе на 0 ом 1 от и втором баре смотреть значение и их сравнивать этих двух линий разностей МА на двух символах. Для принятия торговых решений в роботе нужно понимание как минимум какая линия зеленая (первого символа) или синяя (второго) находится выше или ниже.
удивительный талант постановки задач и точных технических формулировок :-)
так чего надо-то ?
---
просто посчитать средние от разных символов и получить разницу этих средних ??
это привести цены в один общий тайминг (заполнить пропущенные бары или убрать лишнее), посчитать там средние и получить разницу. всё.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
добавил, при компиляции не рисуется зигзаг.
Все рисует! Вы опять невнимательны.
А он рисовал когда был отдельно?
Да.
Все рисует! Вы опять невнимательны.
Добрый день. Я заново проверил все таймы (с м5 до w1), не рисует)

Вопрос. Вы что то в коде исправляли?Добрый день. Я заново проверил все таймы (с м5 до w1), не рисует)
Вопрос. Вы что то в коде исправляли?DrawZZ
Подправил. Всё работает. Только, вот зигзаг должен быть не от сигнального индикатора, а от второго индикатора:
А не от индюка со стрелками:
Почему у меня так. Потому, что один индюк фильтрует сигналы второго индюка.
Подправил. Всё работает. Только, вот зигзаг должен быть не от сигнального индикатора, а от второго индикатора:
А не от индюка со стрелками:
Почему у меня так. Потому, что один индюк фильтрует сигналы второго индюка.
Это уже в коде смотрите откуда ZZ берет данные.
Ладно, пойдём от простого к сложному (если у меня полная "каша" если более 3 индикаторных буферов). Сейчас взял другой индюк (Macd). При этом когда, всё коментирую, что относится к макди сигнал рисуется, когда совместно два индикатора, рисуется только макди. Вопрос почему не рисует стрелки. Да, ещё хочу Вам сказать спасибо, за Вашу помощь. Есть кому направить по нужному вектору).
Ладно, пойдём от простого к сложному (если у меня полная "каша" если более 3 индикаторных буферов). Сейчас взял другой индюк (Macd). При этом когда, всё коментирую, что относится к макди сигнал рисуется, когда совместно два индикатора, рисуется только макди. Вопрос почему не рисует стрелки. Да, ещё хочу Вам сказать спасибо, за Вашу помощь. Есть кому направить по нужному вектору).
SetIndexBuffer и PlotIndexSet имеют раздельные индексации. В первом - индекс буфера, во втором линии плот
у тебя рисуется 4 линии (в #property задано) и в PlotIndexSet(..) могут быть значения от 0 до 3. Макд - 0 и 1, стрелки 2 и 3
Не вполне очевидным образом сделано, но потом все привыкли
коллеги! доброе утро! кто с индикаторами дружен и более в теме! помогите плиз - разобраться - поддается ли iCustom и если да т о вариантом для робота напишите,
по сути там идет разности МА 1 и МА 2 двух символов и рисуются на графике линиями. Мне надо, (пока сам код индикатора загоняю в робота) в роботе на 0 ом 1 от и втором баре смотреть значение и их сравнивать этих двух линий разностей МА на двух символах. Для принятия торговых решений в роботе нужно понимание как минимум какая линия зеленая (первого символа) или синяя (второго) находится выше или ниже.
По мотивам этой ветки - индикатор в о вложении. Индикатор ценовых линий. Разности МА каждого символа и сделаны для того с коэфф -ми соответствующими цене каждого символа спреда - чтобы их считать можно было в одной системе координат. Т.е. уйти от прямого сравнения цен спреда именно в разности МА 1 и МА 2.
ИНдикатор во вложении.
вот он к примеру тут используется - второй индикатор сверху для металлов.
Пока напрямую переношу ф-ии и код расчета значений линий ценовых с индикатора в робота.
Хотелось бы поэлегантнее может есть возможность с iCustom..... спс.
по сути там идет разности МА 1 и МА 2 двух символов и рисуются на графике линиями. Мне надо, (пока сам код индикатора загоняю в робота) в роботе на 0 ом 1 от и втором баре смотреть значение и их сравнивать этих двух линий разностей МА на двух символах. Для принятия торговых решений в роботе нужно понимание как минимум какая линия зеленая (первого символа) или синяя (второго) находится выше или ниже.
удивительный талант постановки задач и точных технических формулировок :-)
так чего надо-то ?
---
просто посчитать средние от разных символов и получить разницу этих средних ??
это привести цены в один общий тайминг (заполнить пропущенные бары или убрать лишнее), посчитать там средние и получить разницу. всё.