Техническое задание
Есть корректно работающий базовый советник. Советник строит собственные сложные индикаторы, потом при появлении сигнала открывает первый ордер, далее работает по принципу сетки, потом появляется сигнал на закрытие.
Есть счет, на нем несколько валютных пар, причем каждая пара может быть на нескольких графиках, на каждом графике работает такой советник со своим набором настроек и уникальным магиком. Нужно написать управляющий советник или некий скрипт, который бы работал чем-то вроде фильтра-накопителя сигналов, чтобы вся система работала следующим образом.
Краткое описание.
Настройка: 0) перечень магиков базового советника, которыми нужно управлять, 1) кол-во сигналов на открытие, 2) кол-во сигналов на закрытие.
1. При поступлении сигнала на открытие позиции от одного из магиков, управляющий советник блокирует открытие позиции, ждем еще сигналов, чтобы общее число стало = кол-ву в настройках.
(Уточнение: при поступлении каждого такого сигнала от какого-то одного магика, советник проверяет, на скольких магиках на данную секунду выполнено условие на открытие позиции. Как только суммарное число этих сигналов = кол-ву (на открытие) в настройках - управляющий советник открывает позиции на вообще всех графиках/магиках.)
2. Дальше работают базовые советники на каждом графике/магике, управляющий советник не вмешивается и ждет сигнала на закрытие.
3. При поступлении сигнала на закрытие от одного из магиков, управляющий советник блокирует закрытие данной позиции, и проверяет, на скольких магиках условие на закрытие соблюдено. Как только число этих сигналов = кол-ву (на закрытие) в настройках - управляющий советник закрывает позиции на всех графиках/магиках.