Советник FOREX: от идеи до результата — Страница 10 — Тирметод

Пользовательские функции: логика

В прошлый раз мы создали пользовательскую функцию OpenOrders() для открытия ордеров. Теперь можем применить её, например, добавив инструкцией в функцию OnTick(), см. ниже строку 55.

В строке 55, см. выше, инструкция предписывает открывать ордера лотом 0.1 – посмотрим, что получится, запустив советник хотя бы на один день?

Вот чудеса! За один только торговый день (17 декабря 2020 года) чистая прибыль составила $2997.20, это почти +300% !!!

В чём дело?! Рассмотрим график, включив тестер в режиме «Визуализации»: оказывается, в настройках не указаны уровни убытка и профита, точнее по умолчанию «0».

Вот графическое расположение ордеров:

Скорректируем код, см. строку 55 ниже.

Интересно, что будет, если запустить советник на «понижение» в последний торговый день уходящего 2020 года?

Это магия!!! Результат просто невероятный: за один торговый день (31 декабря 2020 года) чистая прибыль составила $4598.20, это почти +450% !!!

Взглянем на графическое расположение ордеров на продажу:

Ладно. Всё это хорошо, но давайте пропишем логику по торговой стратегии, для этого создадим отдельную пользовательскую функцию.

Логическая функция

Это будет основанная функция для построения логики торговой стратегии. Напишем её также, как делали это с другими пользовательскими функциями раннее, а затем позовём вызовем ново-созданную для работы.

Вызов

Вызов функции BasicLogic(), см. строку 55 выше.

Инициализация

Как обычно укажем тип функции перед её заголовком. Вы помните, что для void указывать оператор return необязательно? См. пример создания функции BasicLogic() ниже.

Инструкции

Инструкции внутри составного оператора {}, см. строки 233-… построят логику торговой стратегии.

Ордера
Профит
Без профита
С профитом

Проверка этого условия определяет, совершались ставки ли в текущий день?

Если ставок в текущий день не было, то проверяем направление будущей ставки.

Дополнительно, после определения сигнала по тренду, проверяем условия настройки «Реверс».

{Продолжение следует}