Как сделать, чтобы советник работал с частотой поступления 4-х разрядных котировок, когда на входе его 5-разрядные котировки. - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хотя первоначально, речь шла не о тестировании, а о торговле на реале. На реальном счете меняются и Bid и Ask, так что контролировать придется обе котировки.
у вас не такой ноутбук?
Вот нафига пытаться опускать когда кто-то пытается делать код лучше? От зависти что ли, что кто-то думает как сделать лучше, а не абы кабы сляпать? Пока что компьютеры, еще не летучие, какие бы они ни были по мощности.
Это только если Вы сами установите фиксированный спред. Но никто не мешает на вкладке "Настройки" выбрать "текущий" спред. Тогда во время тестирования или оптимизации спред будет переменный.
Вот нафига пытаться опускать когда кто-то пытается делать код лучше? От зависти что ли, что кто-то думает как сделать лучше, а не абы кабы сляпать? Пока что компьютеры, еще не летучие, какие бы они ни были по мощности.
А то что Вы предлагаете еще предстоит исследовать - функция NormalizeDouble() таит в себе большие сюрпризы...
В терминале МТ5 разработчики пошли дальше - теперь спред хранится в истории минутных баров наряду с котировками OHLC, а в тестере стратегий даже убрали поле выбора/установки спреда.
Так что спред изменяется в процессе тестирования только в терминале MT5.
Я полагаю, что не надо бояться пользовательских функций, к тому же без этой функции IsNewBar(), которая определяет появление нового бара на графике, еще не был написан ни один советник. Ее давно уже следовало бы включить в язык MQL.
А то что Вы предлагаете еще предстоит исследовать - функция NormalizeDouble() таит в себе большие сюрпризы...
А я и не боюсь, я очень давно знаком с этой функцией. Я имел ввиду, что лишняя пользовательская функция дополнительная нагрузка на комп. Я обхожусь без функции IsNewBar().
При работе по ценам открытия обычно делаю так(одна глобальная переменная заменяет эту функцию):
Причем в советниках, которые используют сигналы с разных ТФ, потребуется определять появление новых баров на каждом таком ТФ.
Кстати, есть очень хорошая статья о способах обнаружения нового бара и недостатках существующих алгоритмов определения нового бара
Обработчик события "новый бар"
https://www.mql5.com/ru/articles/159
И не жалейте Вы свой комп, пожалейте лучше свое время, ведь насколько может вырасти производительность труда, если при разработке применять старый как мир принцип "Разделяй и властвуй!".