Здравствуйте. Насколько я вижу изменение этой CHART_CONTEXT_MENU константы для МТ4 ничего не даёт, а будет ли работать в будущем? То есть планируется ли в принципе обновление платформы МТ4 с поправками того, что не работает?
MT5 (buidl 2494) относительно скорости выполнения ChartGetXXXX/ChartSetXXXX Обновленный код "шаги для воспроизведения":
long chart_id;
intOnInit(){
for(int i = 0; i < 95; ++i){
ChartOpen(_Symbol, _Period);
}
chart_id = ChartID();
EventSetMillisecondTimer(250);
return(INIT_SUCCEEDED);
}
voidOnTimer(){
ulong t=GetMicrosecondCount();
ChartSetInteger(chart_id, CHART_AUTOSCROLL, rand() % 2);long autoscroll = ChartGetInteger(chart_id, CHART_AUTOSCROLL);
if (autoscroll >= 0){ulong delay =(GetMicrosecondCount()-t)/1000;
if (delay>0){
Print("Execution delay: ",delay, " ms");
}
}
}
Те же действия, которые приводят к подвисаниям чартов в обоих билдах (2494 и 2009) демонстрируют кардинально разное время выполнения ChartGetXXXX: Build 2494 - более 1 сек. Build 2009 - 10 мс.
Сложилось подозрение, что удивительно-хорошие показатели 2009 билда связанные не с скоростью выполнения алгоритма ChartGetXXXX функции, а весьма вероятно - с спекулятивным исполнением со стороны процессора по расчету переменной delay. Может быть, что тест для 2009 билда не является валидным...
Alexey Navoykov: Почему переменная autoscroll нигде не используется? Компилятор запросто мог вырезать эту операцию, и без всяких там спекулятивных исполнений
Нет, она не вырезана. Если ChartGetInteger явно исключить - скорость возрастает до 4 мкс (в 1000 раз). Дополнительно обновил код, добавив проверку autoscroll, чтобы исключить спекуляции.
Исправьте пож-та в новом MetaEditor. В окне поиска/замены теперь нельзя заменить строку на пустое значение. Вместо этого он автоматом подставляет последнее. Приходится изощряться теперь.
Ошибки, баги, вопросы
Alexey Topounov, 2020.06.10 12:14
Уважаемые разработчики!
Прокомментируйте пожалуйста. Что случилось со стандартным Moving Average ?
Это вот как?
Бесполезно обращаться. Уже год периодически прошу обратить внимание.
https://www.mql5.com/ru/forum/1111/page2522#comment_12650337
https://www.mql5.com/ru/forum/1111/page2625#comment_14611834
Это не только Moving Average. Слетают все индикаторные буферы на графике.
Самое интересное, у кого советник на минутках стоит. Человек и не поймет почему сливает.
MT5 (buidl 2494) относительно скорости выполнения ChartGetXXXX/ChartSetXXXX
Обновленный код "шаги для воспроизведения":
Те же действия, которые приводят к подвисаниям чартов в обоих билдах (2494 и 2009) демонстрируют кардинально разное время выполнения ChartGetXXXX:
Build 2494 - более 1 сек.
Build 2009 - 10 мс.
Сложилось подозрение, что удивительно-хорошие показатели 2009 билда связанные не с скоростью выполнения алгоритма ChartGetXXXX функции, а весьма вероятно - с спекулятивным исполнением со стороны процессора по расчету переменной delay.
Может быть, что тест для 2009 билда не является валидным...
MT5 (buidl 2494) относительно скорости выполнения ChartGetXXXX/ChartSetXXXX
Обновленный код "шаги для воспроизведения":
Почему переменная autoscroll нигде не используется? Компилятор запросто мог вырезать эту операцию, и без всяких там спекулятивных исполнений
Нет, она не вырезана.
Если ChartGetInteger явно исключить - скорость возрастает до 4 мкс (в 1000 раз).
Дополнительно обновил код, добавив проверку autoscroll, чтобы исключить спекуляции.
Господа разработчики
Исправьте пож-та в новом MetaEditor. В окне поиска/замены теперь нельзя заменить строку на пустое значение. Вместо этого он автоматом подставляет последнее. Приходится изощряться теперь.
Простите, если это оффтоп. Как отключить эти линии цен в режиме визуализации тестирования. Штука интересная, особенно аск, но как же их убирать???
Простите, если это оффтоп. Как отключить эти линии цен в режиме визуализации тестирования. Штука интересная, особенно аск, но как же их убирать???
В режиме на основе реальных тиков - никак.
В режиме на основе реальных тиков - никак.
Спасибо за ответ. Было бы очень полезно опцию сделать такую.