Ошибки, баги, вопросы - страница 3147
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем доброго времени суток. Подскажите, пожалуйста, выполняется ли функция Sleep() в режиме тестирования эксперта (тестировании на реальных тиках, естественно)?
Выполняется - время Тестера изменяется на соответствующую величину.
Выполняется - время Тестера изменяется на соответствующую величину.
Большое спасибо!
Можно как то узнать размер того самого тика в mql5, после которого (на котором) была открыта позиция?
Оказывается, что можно. Цикл for вставляется в отдельную функцию, в функцию OnTick() или на свое усмотрение. Интересно мнение других. Например мне то нужно для создания сверхточной системы. Поэтому пишу без библиотек, включая функции для открытия, закрытия позиций. Кто бы что не говорил, библиотеки mqh замедляют работу, например, компиляция происходит в 1,5 раза дольше. Лучше писать в одном файле все. А стиль, ООП или процедурное, тут не играет роли. MQL5 никогда не станет языком уровня C++, ну никак, он ограничен. Смысл в библиотеках...
Как достал этот баг - есть индикатор, есть эскперт работающий от него. Меняется индикатор . перекомпилируется. Изменения индикатора наглядно видны на графике Эксперт прогоняется в тестере- но как будто ничего и не менял. Тот же самый результат.
Вот если перезаггрузить терминал и прогнать тестер после этого, то он уже увидит новый код.
Что за шаманство - не понятно
Удалил ex5 индикатора. Тестер продолжает прогоняться как ни в чём не бывало. Ну откуда он берет файл для исполнения????
3184
Странное поведение в индикаторе.
Цикл for заходит в тело, не на каждом тике, а только один раз на новой свече.
Но i == 0 и заданное условие это позволяет i>=0
при тике на том же баре limit = 0
значит первое значение i = -1, а условие i>=0
поэтому и не заходит в цикл.
при тике на том же баре limit = 0
значит первое значение i = -1, а условие i>=0
поэтому и не заходит в цикл.
Спасибо, проглядел единичку.
Но теперь индикаторный буфер IndBuff[i] мозги делает, array out of range.
Что ему надо? Почему он не аллоцируется под начальный i=limit ?
Спасибо, проглядел единичку.
Но теперь индикаторный буфер IndBuff[i] мозги делает, array out of range.
Что ему надо? Почему он не аллоцируется под начальный i=limit ?
Так на каждом баре заходит в цикл, а нужно на каждом тике.
Раньше работало так
для тиков i>=0,
для баров i>0
Сейчас фиг поймёшь, как с буфером работать.
А всё потому, что буфер IndBuff не аллоцируется до rates_total + 1
И ArrayResize к нему не применим.
Сломали for конструкцию. Теперь через if-ы всё городить?