Искал открытый индикатор внутреннего бара для МТ5, выбор оказался не очень. Пришлось самому переделывать какой то похожий индюк. Вот решил поделится, вдруг кому понадобится. Insid_Bar.mq 5 (0 Kb)
Поспешил выложить, а в тестере прогнать не догадался, пришлось переписывать, а изменить, что то в блоге не получается, поэтому просто вставлю здесь новый код.
смож сделать так, что бы по макс-мин бара рисовалась линия и в момент пробития баром и закрытия бара выше линии с начального бара больше не рисовались но и не пропадали???
Сейчас проверил PZ_InsideBars своим индюком и оказалось, что PZ_InsideBars показывает далеко не все внутренние бары на графикеРедактирован: 28 января 2019, 10:29
Комментарии (6)
//+------------------------------------------------------------------+ //| Insid_Bar.mq5 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com/ru/users/s22aa | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property indicator_chart_window #property indicator_buffers 2 #property indicator_plots 2 #property indicator_type1 DRAW_ARROW #property indicator_type2 DRAW_ARROW #property indicator_color1 clrRed #property indicator_color2 clrBlue #property indicator_width1 2 #property indicator_width2 2 double BuffUp[]; double BuffDn[]; input int ArrowShift = 0; // оступ точек от свечи, по высоте //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { SetIndexBuffer(0,BuffUp, INDICATOR_DATA); SetIndexBuffer(1,BuffDn, INDICATOR_DATA); IndicatorSetString (INDICATOR_SHORTNAME,"Insid_Bar"); IndicatorSetInteger(INDICATOR_DIGITS, _Digits); PlotIndexSetInteger(0, PLOT_ARROW, 159); PlotIndexSetInteger(1, PLOT_ARROW, 159); PlotIndexSetInteger(0, PLOT_ARROW_SHIFT, ArrowShift); PlotIndexSetInteger(1, PLOT_ARROW_SHIFT, -ArrowShift); PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, EMPTY_VALUE); PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, EMPTY_VALUE); 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[]) { int i, limit; if (rates_total < 2) return(0); if (prev_calculated < 3) { limit = 2; ArrayInitialize(BuffDn, EMPTY_VALUE); ArrayInitialize(BuffUp, EMPTY_VALUE); } else limit = rates_total - 2; for(i = limit; i<rates_total-1; i++) { if (high[i] <= high[i-1] && low[i] >= low[i-1]) { BuffUp[i-1] = low[i-1]; BuffDn[i-1] = high[i-1]; } else { BuffUp[i] = EMPTY_VALUE; BuffDn[i] = EMPTY_VALUE; } } return(rates_total); }Редактирован: 27 января 2019, 13:427 s22aa Автор Сообщений: 25 - Александр
11 FOTON Сообщений: 683 - Иван
7 s22aa Автор Сообщений: 25 - Александр
ладн, ждём
11 FOTON Сообщений: 683 - Иван
7 s22aa Автор Сообщений: 25 - Александр
7 s22aa Автор Сообщений: 25 - Александр
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий