Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Добавили поддержку испанского языка. Заходи и изучай!
mandarin
114
mandarin 2011.11.24 22:52 

В советнике MyMACD_1 https://www.mql5.com/ru/code/10508 есть код:

if(Volume[0]>1) return;

Какой смысл этого условия?

Спасибо.

Владимир Тезис
4270
Владимир Тезис 2011.11.24 22:56  
Если объём на нулевой свече более 1, то прервать выполнение.
mandarin
114
mandarin 2011.11.24 22:57  
drknn:
Если объём на нулевой свече более 1, то прервать выполнение.

Так для чего это? Какая логика?
Всеволод
648
Всеволод 2011.11.24 23:44  
Насчет логики это к разработчику. Возможно чтобы индикатор не пересчитывался на последнем баре.
Sceptic Philozoff
Модератор
17849
Sceptic Philozoff 2011.11.24 23:53  

Есть еще вариант. Системы, позиции которых могут открываться/закрываться только при создании нового бара, легко тестируются: не нужен режим "по всем тикам" (медленный расчет), достаточно режима "по ценам открытия" (быстрый расчет).

Vasiliy Sokolov
19316
Vasiliy Sokolov 2011.11.25 06:33  
Это условие заставляет отрабатывать торговую логику только в момент открытия нового бара (формирования нового бара начинается с первого тика: Volume[0] = 1). Сделано это специально, во-первых для оптимизации расчетов, а во-вторых для загрубления логики, что бы не было ситуаций, когда MACD пересекает нулевой уровень снизу-вверх (купили), а через несколько тиков сверху-вниз(продали), а потом снова наоборот (купили), и так до бесконечности на одном и том же баре. Просто надо понимать, что индикаторы как и цена перерисовываются на нулевом баре и учитывать это в своих алгоритмах.
Всеволод
648
Всеволод 2011.11.25 06:41  
Ну это слишком смелое загрубление, если эксперт пропустит тик то этот бар уже не сможет отработать, лучше все же использовать стандартную проверку появления нового бара.
Vasiliy Sokolov
19316
Vasiliy Sokolov 2011.11.25 07:03  
splxgf:
Ну это слишком смелое загрубление, если эксперт пропустит тик то этот бар уже не сможет отработать, лучше все же использовать стандартную проверку появления нового бара.
Да совершенно верно. Такая проверка самый простой, но и самый небезопасный способ. Не совсем понимаю о какой "стандартной проверке появления нового бара" Вы говорите, лично я в свое время писал специальную функцию для этого IsNewBar().
Роман
7939
Роман 2011.11.25 07:06  

Для тестера - пойдет...!!!

СтартЕра уж и след давно простыл, а мы тут "устроили ромашка, понимаешь - любит/не любит", пойдет/не пойдет...:-)

Есть такая обработка - еще у С.Ковалева, 2006 г - по моему, пусть поиском воспользуется через гугл, например: Контроль открытия нового бара site:mql4.com и все...

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий