Как работает алгоритм EA
В этой главе мы обсудим, как алгоритм работает с частями вашего EA и как он будет действовать.
Модульная система вашего EA
Заголовок раздела «Модульная система вашего EA»Ваш EA состоит из модулей, с которыми взаимодействует алгоритм. Именно благодаря модульности вы можете создать любой EA. Модули делятся на три категории:
- Модули, предотвращающие открытие
- Модули для открытия
- Модули для закрытия
Подробнее о модулях. Как вы видели на изображении выше, алгоритм взаимодействует с одним или несколькими модулями. В следующей главе мы рассмотрим это подробнее.
Поведение вашего EA
Заголовок раздела «Поведение вашего EA»Алгоритм вашего EA будет вести себя по-разному в зависимости от состояния:
- Открытых ордеров нет
- Есть один или несколько открытых ордеров
Нет открытых ордеров
Заголовок раздела «Нет открытых ордеров»Когда ордера не открыты, EA просто ждёт сигнал на открытие. Когда сигнал активируется, он открывает ордер, если только модуль предотвращения открытия не блокирует его.
Один или несколько открытых ордеров
Заголовок раздела «Один или несколько открытых ордеров»Когда ордера открыты, ваш EA оценивает, нужно ли закрыть открытые ордера, исходя из того, был ли достигнут SL/TP или активировался сигнал на закрытие. Когда SL/TP достигнут или сигнал на закрытие активируется, сначала проверяется, будет ли новый ордер (гипотетически) открыт после закрытия текущего ордера. Это делается путём оценки сигналов на открытие (с учётом модулей предотвращения открытия) и сигналов на закрытие. Таким образом, выполняется тот же процесс, что и при отсутствии открытых ордеров. Если ордер (гипотетически) не будет открыт, текущий ордер закрывается. Также EA оценивает, нужно ли открыть дополнительные ордера. Дополнительные ордера открываются только при активации сигнала на открытие, то есть после того, как он был неактивен хотя бы в течение 1 обработанной котировки.
- Ордер закрывается, когда достигнут его SL или TP, или по сигналу на закрытие. Все модули для закрытия могут влиять на SL/TP ордера. SL устанавливается ниже ордера (с точки зрения Buy) и может быть перемещён только вверх тем же или другим модулем. Для TP верно обратное: он может быть потенциально перемещён только вниз. Значения SL/TP в настоящее время не отправляются брокеру.
- Ордер закрывается только в том случае, если он не будет открыт снова сразу после закрытия, потому что если бы алгоритм закрыл ордер, другой ордер был бы открыт немедленно, и вы потеряли бы ещё один раунд комиссии/Spread. Для проверки этого сигнал на открытие переоценивается перед закрытием, также с учётом модулей предотвращения открытия. Например, когда ордер должен быть закрыт через секунды после открытия, весьма вероятно, что сигнал на открытие всё ещё активен. Это можно предотвратить, используя модуль предотвращения открытия, например модуль Time gap between orders. При его использовании сигнал на открытие будет заблокирован после закрытия ордера, и ордер можно будет закрыть.
- При использовании модуля Multiple order Open дополнительные ордера открываются, когда сигнал на открытие переключился из активного состояния (которое открыло предыдущий ордер) в неактивное и активировался снова, открывая дополнительный ордер.