Интересная особенность требует объяснения!!!

 

Обратил внимание, что код

Print(ChartID()," ",ChartGetInteger(ChartID(),CHART_HEIGHT_IN_PIXELS,0));

размещенный в индикаторе выдает престранные результаты. Так, если открыта вкладка графика, на который собственно и был сброшен индикатор, то результаты высоты главного окна графика выдаются вполне корректные.

Но как только я ухожу с "родного" графика результат почему-то становится равным 75 (естественно, в других случаях результаты могут различаться), но при этом значение идентификатора графика остается прежним.

При возвращении на "родной" график значения высоты становятся правильными.

Большая просьба разработчиков и тех, кто "в теме", объяснить, в чем тут особенность. Неужели так и задумано?! Что-то не верится!

Ну а уж, если это так, то прошу подсказать код, выдающий корректное значение высоты "родного" графика при любой открытой вкладке.

 

скорее всего - ChartID() возвращает окно текущего графика которое активно, а не того которое было запущено на эксперте

в инит можно добавить номер окна на котором был запущен эксперт и далее уже вместо ChartID() вставлять номер из инита.

 

неа попробовал то же самое, сворачивает значит его

//+------------------------------------------------------------------+
//|                                                            d.mq5 |
//|                                        Copyright 2013, expforex. |
//|                                          http://www.expforex.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, expforex."
#property link      "http://www.expforex.com"
#property version   "1.00"
long chart=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   chart=ChartID();
   Print(chart);
   Print(ChartID());
//---
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print(chart," ",ChartGetInteger(chart,CHART_HEIGHT_IN_PIXELS,0));
  }

окно - когда переходите на другой график - окно сворачивается в меньший объем.

 
Vladon:

скорее всего - ChartID() возвращает окно текущего графика которое активно, а не того которое было запущено на эксперте

в инит можно добавить номер окна на котором был запущен эксперт и далее уже вместо ChartID() вставлять номер из инита.


я надеюсь вы обратили внимание на слова: "но при этом значение идентификатора графика остается прежним"?

ключевое слово - "прежним".

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ну а если окно сворачивается при переходе к другой вкладке, то это обидный недосмотр. Большая просьба к разработчикам подправить это досадное недоразумение.

 
I_SPQR_I:

я надеюсь вы обратили внимание на слова: "но при этом значение идентификатора графика остается прежним"?

ключевое слово - "прежним".

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ну а если окно сворачивается при переходе к другой вкладке, то это обидный недосмотр. Большая просьба к разработчикам подправить это досадное недоразумение.


Вы правы! Обратитесь к разработчикам в сервисдеск или в ветки, в которых представляют свои нововведения и реагируют на пожелания и критику форумчан!
 
borilunad:

Вы правы! Обратитесь к разработчикам в сервидеск или в ветки, в которых представляют свои нововведения и реагируют на пожелания и критику форумчан!

я не частый гость на форуме, поэтому пока не знаю, где здесь "ветки, в которых представляют свои нововведения".

не подскажите ли ссылочку, куда обратиться?

 
I_SPQR_I:

я не частый гость на форуме, поэтому пока не знаю, где здесь "ветки, в которых представляют свои нововведения".

не подскажите ли ссылочку, куда обратиться?

Сюда пишите
Причина обращения: