Индикаторы: Daily Bar 2

 

Daily Bar 2:

Индикатор отражает на нижнем таймфрейме одну свечу D1 и ещё одну свечу на заданном таймфрейме

Daily Bar 2

Автор: Vladimir Karputov

 
Automated-Trading:

Daily Bar 2:

Автор: Vladimir Karputov

Отлично, спасибо!


 
Automated-Trading:

Daily Bar 2:

Автор: Vladimir Karputov

В процессе использования выяснилось, что сдвиг реализован не удобно.

Мелкие правки в коде:

Закомментируем строку 68 и 69

   PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0);
//--- line shifts when drawing
   // PlotIndexSetInteger(0,PLOT_SHIFT,InpShift);
   // PlotIndexSetInteger(1,PLOT_SHIFT,InpShift-1);
//--- set the display of the symbol
   PlotIndexSetString(0,PLOT_LABEL,"D1 Open;"+"D1 High;"+"D1 Low;"+"D1 Close");

В конце кода добавим:

//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // идентификатор события
                  const long& lparam,   // параметр события типа long
                  const double& dparam, // параметр события типа double
                  const string& sparam) // параметр события типа string
 {
  if(id==CHARTEVENT_CHART_CHANGE) {
   int shift=int(ChartGetInteger(0,CHART_WIDTH_IN_BARS)-ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR));
   PlotIndexSetInteger(0,PLOT_SHIFT,shift-InpShift-1);
   PlotIndexSetInteger(1,PLOT_SHIFT,shift-InpShift-2);
  }
 }

Всё, работает отменно, можно также менять ширину графика и свечи будут на постоянном месте