Lavoro terminato
![](https://c.mql5.com/i/avatar/avatar_na2.png)
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Specifiche
Активатор шаблонов
Советник предназначен для установления связи между двумя терминалами мт4, параллельно запущенных на одном сервере (VPS). Установления уровней средств на ведущем терминале (больше/меньше) и активации указанного в настройках шаблона на графике терминала ведомого счёта где установлен советник при их достижении.
Необходима возможность управления уровнями средств для активации из панели, которую ведущий советник создает в окне терминала, и возможность управлять уровнями средств для активации посредством перемещения линий на графике окна терминала (у меня работает советник, который создаёт автономные графики средств, обновляемые онлайн).
Советник должен выдерживать перезагрузку терминала, включая «жёсткую» (перезарузку сервера без выключения терминала) после перезагрузки должны восстанавливаться значения установленые в панели (т.к. все торговые действия происходят в панели). Действия, совершаемые с советником должны дублироваться диалоговыми окнами в соответствии с ТЗ. В случае ошибок или активации уровня советник должен отправлять Push в соответствии с ТЗ.
Советник может быть исполнен как в виде одного кода, который может работать в двух режимах, так и в виде двух советников это не принципиально. В ТЗ буду рассматривать настройки и алгоритм действий раздельно, ведущий и ведомый.
Советник в обеих частях должен работать по таймеру (не по тикам).
Панель в ведущей части должна иметь возможность перемещения в удобное место мышкой, в своей работе панель недолжна, удалять «не свои» графические объекты на том графике, где она установлена.
Ведущая часть
Настроечные параметры:
Больше-значение (настройка только для панели)
Меньше-значение(настройка только для панели)
Push успешной активации уровня -Да/Нет
Push перезагрузки советника-Да/Нет
Частота повтора Push ошибки-значение
Больше- значении средств при достижении/превышении которого активируется соответствующий шаблон в ведомой части.
Меньше- значении средств при достижении/снижении ниже которого активируется соответствующий шаблон в ведомой части.
Push успешной активации уровня - настройка отправки сообщения об успешной активации уровня пункт 8.
Push перезагрузки советника-настройка отправки сообщения о перезагрузке советника пункт 11.
Частота повтора Push ошибки- настройка нужна для отправки повторных сообщений об ошибке из пункта 10, повторяется отправка с указанной в настройке частотой (в минутах, секундах?), до выбора «Да» в диалоговом окне терминала либо активации уровня на ведомой части советника.
Алгоритм работы:
Советник в ведущей части создаёт линии, которые отображают значения средств ведущей части, при достижении которых происходит активация соответствующих шаблонов ведомой части советника и панель, в которой отображается:
Больше | Значение средств |
Меньше | Значение средств |
3. Панель поддерживает ввод значения, прям в ней и изменения значения панели посредством передвижения соответствующих линий (больше/меньше).
4. При изменении: одного из параметров в панели; или передвижением линии активации, советник проверяет, не приведёт ли новое/новые значения уровня к немедленной активации, если не приведёт, то переходим к пункту 5, если приведёт, то выводит запрос «Установка данного значения приведёт к немедленной активации. Продолжить?» да/нет. Если выбирается «да» переходит к пункту 5, если «нет» то уровень не устанавливается.
5. Параметры введённые выводятся в виде таблицы.
Активировать новые значения:
Больше | значение |
Меньше | значение |
ДА/НЕТ
При выборе «да», параметры активируются, при выборе «нет» изменения не сохраняются.
6. Новые настройки передаются в ведомую часть.
7. Панель должна быть поверх графика, иметь возможность перемещения.
8. В случае срабатывания советника в ведомой части, уровни средств в панели ведущей становятся равны «0» и эти значения не обрабатывается советником. При активированной настройке отправления Push сообщений, отправляется сообщение:
«Уровень средств больше/меньше «значение уровня» достигнут, и успешно обработан»
И сообщение в терминале:
«Уровень средств больше/меньше «значение уровня» достигнут, и успешно обработан»
9. Должна быть возможность установить только один уровень, при условии, что второй уровень равен «0», то обрабатывается только уровень имеющий значение больше «0».
10. В случае достижения уровня средств в ведущей части, но не срабатывания советника в ведомой части. Отправляется Push:
«! Ошибка уровень средств больше/меньше «значение уровня» достигнут, но необработан»
И сообщение в терминале:
«! Ошибка уровень средств больше/меньше «значение уровня» достигнут, но необработан отменить уровни?» Да/Нет
При выборе «Да» уровни в панели сбрасываются на значение «0» и эти уровни советником не обрабатывается.
При выборе «Нет» советник продолжает пытаться выполнить действие на ведомом терминале.
11. При каждом новом запуске советник отправляет Push если в соответствующий настройке выбрано «ДА»:
«!Была произведена перезагрузка советника. Проверьте корректность установленных уровней»
Одновременно пытается восстановить предыдущие настройки панели (их стоит, где то хранить при каждом изменении, глобальные переменные?).
Ведомая часть
Больше- название шаблона
Меньше-название шаблона
Больше/меньше – названия шаблонов, которые будут применены к графику при достижении условия из ведущей части.
2. При достижении или превышения уровня средств, переданного из ведущей части, на графике на котором установлен советник применяется соответствующий шаблон.
3. Если в настройке на значение «больше» или «меньше» не указан шаблон, то при достижении данного значения советник только отправляет сигнал об успешности активации.
4. В ведомой части панель создавать не надо, пусть отображается текстом в левом углу.
Больше |
|
Уровень средств ведущего | Название шаблона для применения |
Меньше |
|
Уровень средств ведущего | Название шаблона для применения |