Техническое задание
на графике установлены валютные пары на каждой паре установлен советник.
в советнике есть параметр - ограничение при просадке, например DD = 10. Если значение DD превышает 10 то выполняются условия 1 2 или 3
в советнике есть параметр trading - когда он включен (true) - торговля разрешена (разрешено открытие новый ордеров)
Моделируем 3 ситуации:
1. у одной пары сообразовалась просадка
2. у одной пары сообразовалась просадка, после у второй
3. у одной пары сообразовалась просадка, после у второй и после у третьей
Условие 1:
когда по текущей паре к примеру EURUSD возникает просадка (DD становится больше 10) эта пара должна продолжить работать (trading = true), а остальные пары ДОЛЖНЫ ПЕРЕСТАТЬ (условно назовем переменную разрешения торговли: Trading), на текущей она остается True, а на всех остальных парах она становится значением FALSE)
Условие 2:
как только на паре EURUSD закрывается сетка (количество ордеров = 0), торговля включается если нет других условий.
Нюансы: Если на паре значение DD становится больше 10, то срабатывает Условие 1, но если же оно возвращается обратно (DD <10), то Условие 1 должно сохраняться до закрытия всей сетки (кол-во ордеров при закрытой сетке =0)
Условие 3:
а) если в то время пока EURUSD закрывала позиции другая пара к примеру USDJPY ушла в просадку (так же значения в ее параметрах DD стало более 10), то после закрытия пары EURUSD торговля на ней отключается, включается только по паре USDJPY (на USDJPY trading становится truе а остальные пары false) , остальные остаются выключенными
б) если если в то время пока EURUSD закрывала позиции, другие ДВЕ пары к примеру USDJPY и USDCHF ушли в просадку (у обоих DD стало более 10) , то после закрытия пары EURUSD из двух пар в просадке (USDJPY и USDCHF) выбирается та у которой меньше лотность и на ней включается торговля (rading = true) а остальные пары остаются выключенными.
Нюансы касаемые выбора пары с меньшей лотностью: если выбирается пара с меньшей лотностью находящаяся в просадке и она работает - то она набирает сетку ордеров и становится уже бОльшей лотностью, в этом случае НЕ НАДО допускать того, чтобы эта пара отключилась и включилась та, которая УЖЕ стала меньшего объема. Регулировать это можно с помощью количества ордеров. К примеру, если у пары образовалась просадка ( DD стало больше 10) то как то приоритет надо выбрать эту пару. Чтобы пока количество ордеров не стало 0 чтобы другие пары не анализировались.
ну и по русски общими словами:
1. если какая то пара превысила порог просадки она должна остаться в работе и отключить торговлю н других парах
2. а) если в это время пока она (первая пара) "разруливается" какая то другая пара вошла в просадку, то после закрытия первой пары, включается вторая просаженная пара и работает только она одна
б) если в это время пока она (первая пара) "разруливается" какие то другие ДВЕ или более пар вошли в просадку, то после закрытия текущей пары выбирается из всех просаженных пар та пара, у которой плотность меньше, и включается в торговлю. остальные пары остаются выключенными.
Способ реализации - лучше использовать глобальные переменные, запись в файл тоже подойдет если расскажете какие в этом преимущества перед глобальными переменными