Ошибки, баги, вопросы - страница 1396

 
Anatoli Kazharski:

Кстати, совсем забыл. ))

Попробуйте вот так:

Пробовал, как и если indicator_plots=1 сделать, так и с INDICATOR_CALCULATIONS 

показания второго буфера просто исчезают из окна данных независимо от указания PlotIndexSetInteger(1, PLOT_SHOW_DATA, true); 

 
Anatoli Kazharski:

Можете попробовать сообщить об этой ошибке в сервисдеск и дождаться ответа там. 

Написал. Если ответят, отпишусь) Правда я сомневаюсь, что это ошибка. Вот и узнаем.
 
Ilya Malev:

Пробовал, как и если indicator_plots=1 сделать, так и с INDICATOR_CALCULATIONS 

показания второго буфера просто исчезают из окна данных независимо от указания PlotIndexSetInteger(1, PLOT_SHOW_DATA, true); 

Но зато проблема с масштабированием так решается. Значит можно создать заявку в сервисдеск, чтобы просто добавили возможность отображения таких буферов в окне данных.

А ещё можно попробовать сделать так:

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int    id,      // идентификатор события
                  const long   &lparam, // параметр события типа long
                  const double &dparam, // параметр события типа double
                  const string &sparam) // параметр события типа string
  {
   if(id==CHARTEVENT_MOUSE_MOVE)
     {
      int      subwin =WRONG_VALUE; // Номер окна, в котором находится курсор
      datetime time   =NULL;        // Время соответствующее координате X
      double   level  =0.0;         // Уровень (цена) соответствующий координате Y
      //---
      if(ChartXYToTimePrice(0,(int)lparam,int(dparam),subwin,time,level))
        {
         int bars_total=Bars(Symbol(),Period(),time,TimeCurrent());
         //---
         Comment("x: ",lparam,"; y: ",(int)dparam,"; subwin: ",subwin,"; time: ",time,"; level: ",level,"\n",
                 "indicator value: ",buffer2[bars_total]);
        }
     }
  }

//---

В OnInit() нужно ещё добавить:

void OnInit()
  {
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,true);
  }
 
Anatoli Kazharski:

Значит можно создать заявку в сервисдеск, чтобы просто добавили возможность отображения таких буферов в окне данных.

Я просто описал проблему, логика значений буферов DRAW_NONE по определению отличается от логики значений с отрисовкой, это не графические значения, и поэтому масштабирование с их учетом не логично. А как они захотят решить эту проблему или захотят оставить как есть - это уже не мое дело.

 
Ilya Malev:

Я просто описал проблему, логика значений буферов DRAW_NONE по определению отличается от логики значений с отрисовкой, это не графические значения, и поэтому масштабирование с их учетом не логично. А как они захотят решить эту проблему или захотят оставить как есть - это уже не мое дело.

А вариант из предыдущего поста не подходит? На случай, если всё останется, как есть. ) 

Файлы:
Test.mq5  4 kb
 
Anatoli Kazharski:

А вариант из предыдущего поста не подходит? На случай, если всё останется, как есть. ) 

Конечно спасибо за совет, если бы я хотел придумать какой-то костыль, я бы тоже что-нибудь придумал, но во-первых нам удобно смотреть на значения в окне данных. И во-вторых нужно использовать это значение индикаторного буфера в других индикаторах и советниках, а что-то мне подсказывает, что если сделать буфер для вычислений, то получить его значения через iCustom будет невозможно.

В итоге пока проблему решили умножением значения второго буфера на Point

[Удален]  
Ilya Malev:

Я просто описал проблему, логика значений буферов DRAW_NONE по определению отличается от логики значений с отрисовкой, это не графические значения, и поэтому масштабирование с их учетом не логично. А как они захотят решить эту проблему или захотят оставить как есть - это уже не мое дело.

Все зависит от того, куда Вы хотите отображать значения. Если Вы установили отображение в отдельное окно, то не важно, видно ли не видно рассчитанные значения буферов. Все значения все равно будут попадать в это окно. Соответственно, может ломаться масштаб.

Про не логичность - согласен, но вряд ли исправят. 

[Удален]  
Ilya Malev:

Конечно спасибо за совет, если бы я хотел придумать какой-то костыль, я бы тоже что-нибудь придумал, но во-первых нам удобно смотреть на значения в окне данных. И во-вторых нужно использовать это значение индикаторного буфера в других индикаторах и советниках, а что-то мне подсказывает, что если сделать буфер для вычислений, то получить его значения через iCustom будет невозможно.

Попробуйте. Из буфера цвета значения вытащить можно. Значит, возможно, и из буфера для вычислений - тоже. Ведь у него есть индекс, т.е. и обратиться к нему, по идее, можно.
 
Ilya Malev:

И во-вторых нужно использовать это значение индикаторного буфера в других индикаторах и советниках,

а что-то мне подсказывает, что если сделать буфер для вычислений, то получить его значения через iCustom будет невозможно.

Кстати, не помню точно, но вроде бы можно. Попробуйте. )
 
Anatoli Kazharski:
Кстати, не помню точно, но вроде бы можно. Попробуйте. )
Даже если так, у меня десяток индикаторов с атрибутами по типу DRAW_NONE вызывают один другого, и тогда мне уже нужна какая-то отдельная подсистема, группирующая в одном месте показания от всех работающих индикаторов по положению указателя мыши. :)