Индикаторы с большим количеством типов графического построения - страница 2

 

ERROR:

  SetIndexBuffer(4, bearishInsideBar_buffer, INDICATOR_DATA);           // 5-ый буфер - "Внутренний бар" с медвежьим телом бара
  SetIndexBuffer(5, bullishInsideBar_buffer, INDICATOR_DATA);           // 6-ой буфер - "Внутренний бар" с бычьим телом бара

Use:

  SetIndexBuffer(4, bearishInsideBar_buffer, INDICATOR_CALCULATIONS);           // 5-ый буфер - "Внутренний бар" с медвежьим телом бара
  SetIndexBuffer(5, bullishInsideBar_buffer, INDICATOR_CALCULATIONS);           // 6-ой буфер - "Внутренний бар" с бычьим телом бара
 
Vladimir Karputov:

ERROR:

С этим понятно.

Поправил. Теперь OnInit() выглядит так:

int OnInit() {
  ptrSym = new SymbolInstance(_Symbol);

  IndicatorSetString(INDICATOR_SHORTNAME, "Inside bar");
  IndicatorSetInteger(INDICATOR_DIGITS, _Digits);

  // === Связывание буферов с индексами, определение стилей ==========================
  SetIndexBuffer(0, upperArrow_buffer, INDICATOR_DATA);                 // 1-ый буфер - Буфер верхней стрелочки
  SetIndexBuffer(1, upperArrowColors_buffer, INDICATOR_COLOR_INDEX);    // 2-ой буфер - Цвет верхней стрелочки
  SetIndexBuffer(2, lowerArrow_buffer, INDICATOR_DATA);                 // 3-ий буфер - Буфер нижней стрелочки
  SetIndexBuffer(3, lowerArrowColors_buffer, INDICATOR_COLOR_INDEX);    // 4-ый буфер - Цвет нижней стрелочки

  SetIndexBuffer(4, bearishInsideBar_buffer, INDICATOR_CALCULATIONS);   // 5-ый буфер - "Внутренний бар" с медвежьим телом бара
  SetIndexBuffer(5, bullishInsideBar_buffer, INDICATOR_CALCULATIONS);   // 6-ой буфер - "Внутренний бар" с бычьим телом бара

  PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_COLOR_ARROW);
  PlotIndexSetInteger(0, PLOT_ARROW, 218);
  PlotIndexSetInteger(0, PLOT_ARROW_SHIFT, -arrowShift);
  PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, EMPTY_VALUE);

  PlotIndexSetInteger(1, PLOT_DRAW_TYPE, DRAW_COLOR_ARROW);
  PlotIndexSetInteger(1, PLOT_ARROW, 217);
  PlotIndexSetInteger(1, PLOT_ARROW_SHIFT, arrowShift);
  PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, EMPTY_VALUE);

  ArraySetAsSeries(upperArrow_buffer, true);
  ArraySetAsSeries(upperArrowColors_buffer, true);
  ArraySetAsSeries(lowerArrow_buffer, true);
  ArraySetAsSeries(lowerArrowColors_buffer, true);
  ArraySetAsSeries(bearishInsideBar_buffer, true);
  ArraySetAsSeries(bullishInsideBar_buffer, true);
//---
   return INIT_SUCCEEDED;
}

Представление стрелочек не изменилось. Они все одного цвета.. На всякий случаю прикрепляю код.

Файлы:
InsideBar.mq5  14 kb
 
Viktar Dzemikhau:

С этим понятно.

Поправил. Теперь OnInit() выглядит так:

Представление стрелочек не изменилось. Они все одного цвета.. На всякий случаю прикрепляю код.

Удалите свои классы ( никто не будет копаться в куче чужого кода ), упростите максимально пример и сделайте пример который можно скомпилировать.

 
Vladimir Karputov:

Удалите свои классы ( никто не будет копаться в куче чужого кода ), упростите максимально пример и сделайте пример который можно скомпилировать.

Не вопрос. Упрощу код, отпишу.
 
Упростил, посмотрел и.. стало стыдно.. =))
 
Viktar Dzemikhau:
Упростил, посмотрел и.. стало стыдно.. =))

Главное - это результат.