Ошибки, баги, вопросы - страница 3627
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Почему на демо счетах от MQ значительно увеличился спред?
Интересно, это для разнообразия, или изменилось нечто большее?
Вопрос к разработчикам. Запрещает ли директива export инлайн функции, если #property library не используется?
Почему на демо счетах от MQ значительно увеличился спред?
Подтверждаю изменения (желтый - средний спред за пять прошедших дней).
Спред заметно вырос с 24.03.2025 12:11.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2025.03.26 05:30
Вопрос к разработчикам. Запрещает ли директива export инлайн функции, если #property library не используется?
Как в функции определить, что она вызвана из ex5-библиотеки (#property library + #import) или напрямую (исходник включен)?
Попробуйте ChartRedraw() сразу после ChartSetSymbolPeriod().
Толку нет. Всё равно не будет работать.
Специально записал скринкаст еще раз показать.
Реальный баг МТ4.
В МТ4 судя по всему не исправна функция ChartSetSymbolPeriod()
Код в OnInit() игнорирует и не меняет ТФ чарта (в переменную res отдает true - то-есть что выполнена успешно).
Видео пруф на тестовом советнике. Притом и с периодом подставленым может не работать. Как-то странно это.
Толку нет. Всё равно не будет работать.
Специально записал скринкаст еще раз показать.
Реальный баг МТ4.
Вы создаете не явную рекурсию:
робот запускается и вызывает ОнИнит
Далее вызывается ChartSetSymbolPeriod()
В справке четко написано - Изменение фин инструмента или периода графика вызовет переинициализацию эксперта.
То есть после вызова ChartSetSymbolPeriod() эксперт перезапускается и снова в ОнИнит вызывает ChartSetSymbolPeriod() и так до бесконечности.
Вы создаете не явную рекурсию:
робот запускается и вызывает ОнИнит
Далее вызывается ChartSetSymbolPeriod()
В справке четко написано - Изменение фин инструмента или периода графика выховет переинициализацию
То есть после вызова ChartSetSymbolPeriod() эксперт перезапускается и снова вызывает ChartSetSymbolPeriod() и так до бесконечности.
Спасибо за ответ.
Да, ок, это понятно. Но там же брейкпоинт стоит в коде, и после его прохождения ТФ чарта не меняется. То-есть суть не в зацикливании(оно прерывается точкой останова), суть в том, что происходит на точке останова. По идее на этот же брейкпоинт возврат будет когда ТФ чарта будет изменен. Но этого не происходит.
Посмотрите на видео - DeInit() не срабатывает после той функции, это баг МТ4.
Спасибо за ответ.
Да, ок, это понятно. Но там же брейкпоинт стоит в коде, и после его прохождения ТФ чарта не меняется. То-есть суть не в зацикливании(оно прерывается точкой останова), суть в том, что происходит на точке останова. По идее на этот же брейкпоинт возврат будет когда ТФ чарта будет изменен. Но этого не происходит.
Я не пользуюсь Дебаггером Профилировщиком.
Спасибо за ответ.
Все работает правильно как и должно:
2025.03.27 23:13:34.862 Test GBPUSD,M1: initialized
2025.03.27 23:13:34.862 Test GBPUSD,M1: >>> OnInit
2025.03.27 23:13:33.914 Test GBPUSD,H1: >>> OnDeinit
2025.03.27 23:13:33.914 Test GBPUSD,H1: uninit reason 3
2025.03.27 23:13:23.142 Test GBPUSD,H1: initialized
2025.03.27 23:13:23.142 Test GBPUSD,H1: >>> OnInit
2025.03.27 23:13:21.080 Expert Test GBPUSD,H1: loaded successfully
Все работает правильно как и должно:
2025.03.27 23:13:34.862 Test GBPUSD,M1: initialized
2025.03.27 23:13:34.862 Test GBPUSD,M1: >>> OnInit
2025.03.27 23:13:33.914 Test GBPUSD,H1: >>> OnDeinit
2025.03.27 23:13:33.914 Test GBPUSD,H1: uninit reason 3
2025.03.27 23:13:23.142 Test GBPUSD,H1: initialized
2025.03.27 23:13:23.142 Test GBPUSD,H1: >>> OnInit
2025.03.27 23:13:21.080 Expert Test GBPUSD,H1: loaded successfully
Но ТФ и с вашим кодом на отладке всё равно не меняет, баг остается. Речь же идет об отладчике в примере на всех видео :) Без отладчика конечно иначе - если просто на график накинуть. Нужно что бы отладчик поправили, ChartSetSymbolPeriod() именно в том контексте не исправно работает.
Может заметят это и исправят.