Trabalho concluído
Termos de Referência
Уважаемые программисты, нужен советник на основе 3_Level_ZZ_Semafor. Файл индикатора во вложении.
Перечень действий которые должен уметь выполнять советник:
1. Определять уровни входа по алгоритму описанному ниже.
2. Выставлять отложенные ордера на покупку/продажу любого инструмента имеющегося в терминале Alpari MT5.
3. При постановке ордеров устанавливать Stop Loss и Take Profit.
4. Отслеживать уже установленные ордера и устанавливать/не устанавливать следующие (в зависимости от настроек).
5. Отслеживать уровень безубыточности и двигать Stop Loss по алгоритму описанному ниже.
6. Тралить по алгоритму описанному ниже.
7. Снимать отложенные ордера по алгоритму описанному ниже.
8. Учитывать время образования сигнала 1 и игнорировать его внутри заданного интервала. Интервал задается в часах:минутах.
9. Учитывать время постановки ордера и выставлять его только внутри заданного интервала. Интервал задается в часах:минутах.
1. Определение уровня входа. Описание на примере входа в лонг. В шорт все зеркально наоборот. Уровень входа образуется при появлении сигналов 3_Level_ZZ_Semafor с параметром Period 3 (см.настройки индикатора), на графике - это самый большой сигнал. Должны появиться сигналы 0 и 1. Тогда уровень входа - это высшая точка свечи на которой образовался сигнал.
2. Выставление отложенного ордера. При появлении сигналов 0 и 1, выставляется отложенный ордер на покупку по цене HIGH свечи на которой образовался сигнал 0. См. картинку ниже. Ордер выставляется в ЛОНГ. Для шорта все зеркально.
В случае, если образовался сигнал 2, вход не происходит. Сигнал 2 - это сигнал семафора направленный в ту же сторону, что и сигнал 1. На картинке ниже, пример НЕ ВХОДА в шорт. При образовании сигнала 2, отложенный ордер поставленный на уровне сигнала 0 снимается.
3. При постановке ордера выставляется Stop Loss и Take Profit.
4. При постановке ордера советник должен проверять есть ли уже установленные ордера. При значении параметра "Множественные ордера" = true - ордер выставляется даже если уже есть выставленный. При значении false - ордер не выставляется пока не закрыт предыдущий.
5. По достижении уровня безубыточности, при лонге, Stop Loss должен двигаться выше уровня входа, на значение "Дельта безубыточности" задаваемое в настройках. (При шорте - ниже уровня входа). См. картинку ниже.
6. При достижении ценой значения "Уровень траления", задаваемого в настройках, должен включаться трал двигающий Stop Loss по мере роста цены и снимающий Take Profit. В случае значения "Уровень траления" = 0 - трал не включается. "Трейлинг стоп", так же задается в настройках.
8. Время образования сигнала 0. Задается в формате начало - ЧЧ:ММ - конец ЧЧ:ММ. Если сигнал образовался ВНЕ этого интервала, ордер не выставляется. При значениях 00:00 - 00:00 - время не проверяется.
9.Время постановки ордера. Задается в формате начало - ЧЧ:ММ - конец ЧЧ:ММ. ВНЕ этого интервала ордер не выставляется. При значениях 00:00 - 00:00 - время не проверяется.
Каждый ордер должен иметь уникальный номер, если это применимо к отложенным ордерам.
Советник должен работать на всех таймфреймах и всех инструментах в терминале Alpari MT5 на реальном счете. Советник должен корректно работать в Тестере стратегий и результаты "прогонов" на графике цены и в тестере не должны отличаться.
В советнике должна быть предусмотрена защита от не постановки ордера.
В состав работ входят небольшие модификации, не более 10% от общего объема кода. Объем рассчитывается по договоренности или по количеству знаков.