Страница 1 из 1

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

Добавлено: 08 фев 2022, 06:00
evge
Добавление отложенного старта

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

В код стратегии в 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, а далее всё как обычно, стратегия работает по заданному алгоритму.