Стратегии и роботы > Отложенный старт стратегии по достижении цены

Обсуждение, описание стратегий и роботов, идеи для стратегий
Аватара пользователя
evge
Администратор
Сообщения: 1812
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Отложенный старт стратегии по достижении цены

Непрочитанное сообщение evge » 08 фев 2022, 06:00

Добавление отложенного старта

Если требуется запустить робота и не стартовать стратегию сразу в тот же момент, а есть необходимость дождаться подхода цены к определенному уровню, то

В код стратегии в function Initialize() добавляем строки:

Код: Выделить всё

AddParameter("OnPrice", 250, "Стартовая цена (начать торговлю при пересечении цены)", 0);
AddGlobalVariable("Started", Types.Boolean, false);


в function OnUpdate() в самом начале вставляем код:

Код: Выделить всё

if (!Started) Started = (Input1.Close[0] <= OnPrice && Input1.Close[1] > OnPrice) || (Input1.Close[0] >= OnPrice && Input1.Close[1] < OnPrice);
if (!Started) return;


В итоге в параметре OnPrice можно будет задать стартовую цену. Работа основного алгоритма стратегии (робота) начнется только когда Close цена бара достигнет OnPrice, а далее всё как обычно, стратегия работает по заданному алгоритму.
никогда такого не было и вот опять

Вернуться в «Стратегии и роботы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей