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

 
Roman:

В редакторе Сервис->Настройки->Отладка/Профилирование
там задаётся на каком символе будет запускаться отладка, но все равно запуск будет на отдельном графике.
Если там символ не указан, то будет запускаться на самом первом(верхнем) символе из Обзора рынка.

По моему это крайне неудобно. На текущем графике есть индикаторы, графические объекты, с которыми предполагается взаимодействие программы, настройки и т.д. А запускается новый "пустой" график. Кроме того программа в обычном режиме (не отладки) запускается из Навигатора на текущем, а не на новом графике - тут явное несоответствие

 
С визуализацией тоже какие то непонятки
https://www.mql5.com/ru/forum/368597
Ошибка моделирования визуализация\без
Ошибка моделирования визуализация\без
  • 2021.05.04
  • www.mql5.com
Кто нибудь может объяснить как это происходит , или протестировать у себя...
 
Ошибка при выполнении (неправильный порядок подстановки)
#define MACRO( X )
void OnStart()
{
        MACRO( __COUNTER__ )
        MACRO( __COUNTER__ )
        Print( __COUNTER__ );
}

Результат:   2

Ожидалось: 0

 
Назрел вопрос: как узнать, что график выделен и виден?
 
Artyom Trishkin:
Назрел вопрос: как узнать, что график выделен и виден?

А разве

  •     CHART_IS_MAXIMIZED – окно графика развернуто
  •     CHART_IS_MINIMIZED – окно графика свернуто

не подходит?

 
Artyom Trishkin:
Назрел вопрос: как узнать, что график выделен и виден?

Это?

void OnTick(void)
{
  // if(ChartGetInteger(0, CHART_BRING_TO_TOP)) return; // Окно не активно - выход

   if(ChartGetInteger(0, CHART_BRING_TO_TOP)) {
      // Выполняется код, если окно активно
      Print("Active: ",Period());
   }
}
 
Vitaly Muzichenko:

Это?

Ранее пробовал. Всегда false возвращало. Т.е., как я понял - это функцией мы даём "импульс" на график, чтобы сделать его активным, а затем опять false возвращает свойство. Но перепроверю ещё раз.

 
Alexey Viktorov:

А разве

  •     CHART_IS_MAXIMIZED – окно графика развернуто
  •     CHART_IS_MINIMIZED – окно графика свернуто

не подходит?

Свёрнуто/развёрнуто. Оба флага могут быть false. В случае, если и не свёрнуто, и не развёрнуто, а в оконном режиме. И, да, это не то. Мне нужно программно знать на какой график я сейчас гляжу и работаю с ним.

 
Artyom Trishkin:

Свёрнуто/развёрнуто. Оба флага могут быть false. В случае, если и не свёрнуто, и не развёрнуто, а в оконном режиме. И, да, это не то. Мне нужно программно знать на какой график я сейчас гляжу и работаю с ним.

А проверить?

/********************Script program start function*******************/
void OnStart()
 {
  long currChart = 0;
  int i = 0, limit = 100;
  while(i < limit)
   {
    currChart = ChartNext(currChart);
    if(currChart < 0)
      break;
      Print(i, " ", ChartSymbol(currChart)," ", EnumToString(ChartPeriod(currChart)), " ID = ", currChart, " ", (bool)ChartGetInteger(currChart, CHART_IS_MAXIMIZED));
    i++;
   }
 }/******************************************************************/

Результат


 
Vitaly Muzichenko:

Это?

Показ графика поверх всех других

bool   w/o

Это свойство только для записи.