Необходимо написать советник на MQL4 по техзаданию

MQL4 Эксперты

Работа завершена

Время выполнения 41 день
Отзыв от заказчика
Отлично!
Отзыв от исполнителя
5+

Техническое задание

Необходимо написать советник на MQL4 со следующим алгоритмом:

Работа советника:

Советник работает на периоде H1

Советник выставляет отложенные ордера по настройкам 10-ти последовательных сессий, в обе стороны, на расстоянии задаваемой переменной DeltaPrice
от цены открытия сессии.

Советник контроллирует нулевой уровень профита (безубыток), и от него выставляет 
портфельный SL и TP. TP выставляется не от уровня текущей цены, а от общего 0 уровня.

Время открытия сессии задается переменными:
TimeSession1
TimeSession2
TimeSession3
TimeSession4
TimeSession5
TimeSession6
TimeSession7
TimeSession8
TimeSession9
TimeSession10
Значение по умолчанию: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12


Работу каждой сессии можно включать и отключать = (False/True)


Переменная Reverse = при False - выставляются ордера BuyStop и SellStop, при True - BuyLimit и SellLimit

Переменная TimeExpiration  = 60;     //время закрытия ордеров в минутах если 0, то до конца дня, т.е. через сколько минут удалять отложенные ордера если они не сработали

При первом запуске советник ждет начала ближайшей сессии, отложенный ордер выставляется за время сессии только 1 раз.

Отложенные ордера выставляются с заранее определенным SL и TP, соответствующим значениям установленными переменными: 
StopLoss и TakeProfit. При 0 значении переменных соответствующий им стоп отсутствует.

Если TakeProfit=0, то советник работает только со SL. При этом закрытие ордеров 
возможно только по SL.

SL перемещается Trailingом только при общем положительном профите, независимо 
от значения StopLoss (StopLoss используется только для первоначального выставления 
SL при открытии ордера), уровень SL выбирается таким образом, чтобы при закрытии 
всех ордеров одного направления по SL, прибыль составила не менее TrailingStart.


Переменная ReservDepo     = 65;     // резервирует % от баланса, т.е. торгует 35% средств от общего баланса, при этом 35%
делит для торговли пополам между BUY и SELL (пример на картинке).
Переменная LotMax         = 100.0;   // максимальный объем лота
Переменная GeneralLot     = 0.1;    // если = 0, то выставляется как % от фактического баланса
Переменная GeneralPercent = 0.1;      // % от фактического баланса, работает если GeneralLot = 0


Переменная GeneralTP  = 5;  Общий TP для портфельного закрытия ордеров. Если GeneralTP = 0, то Общий TP расчитывается из TP активных сессий
Переменная KM = 5;  // коэффициент увеличения лота (Multiplier) - увеличенный лот
Переменная LotKM = 5;   // выставлять после этого ордера c KM


Манименеджмент:
Увеличение размера лота ордера начинается с LotKM ордера.
Размер лота умножается на коэффициент увеличения (KM).
Т.е. Lot = GeneralLot * KM или GeneralPercent * KM
KM в свою очередь увеличивается в соответствии с параметром ProgressWay.
Параметр ProgressWay - Метод увеличения лота для коэффициента KM. Значения параметра - 0 - 2
Переменная Progr   = 0 "Метод увеличения лота для коэффициента KM. Значения 0-2  - "0 - Не использовать; 1 - Геометрическая прогрессия; 2 - Арифметическая;
Пример:
Для 1-го ордера КМ = КМ; для 2-го КМ = КМ^2; для 3-го КМ = КМ^3 ...
2 - Арифметическая прогрессия; т.е. КМ умножается на число ордеров.
Пример:
Для 2-го ордера КМ = КМ*2; для 3-го КМ = КМ*3 ...


Переменная Zone0 = 35; // Зона запрета на открытие ордеров с KM в пунктах. Если 0, то запрета нет
Переменная ViewZone = True; // Рисовать Зону 0
Переменная DistanceKM = 25; // Минимальное расстояние между открытыми ордерами с KM за пределами зоны 0. Если 0, то не используется
В пределах Zone0 разрешено выставлять только 1 ордер лотом с КМ.

За пределами Zone0 ордера с КМ выставляются на расстоянии DistanceKM пунктов друг от друга.

Полное Т.З. в личку.

Откликнулись

1
Разработчик 1
Оценка
(493)
Проекты
1022
58%
Арбитраж
30
27% / 23%
Просрочено
133
13%
Работает
2
Разработчик 2
Оценка
(281)
Проекты
650
28%
Арбитраж
112
19% / 62%
Просрочено
319
49%
Свободен
3
Разработчик 3
Оценка
(574)
Проекты
945
47%
Арбитраж
309
58% / 27%
Просрочено
125
13%
Свободен
4
Разработчик 4
Оценка
(502)
Проекты
970
74%
Арбитраж
27
19% / 67%
Просрочено
100
10%
Работает
Опубликовал: 1 статью, 6 примеров
Похожие заказы
Сама стратегия будет предоставлена разработчику после того как будут согласованы все пункты описаные ниже. Качество кода: Работа должна содержать чистый код с комментариями на английском языке. Организация структур: Все структуры должны содержать только простые типы данных. Для оптимального выравнивания памяти данные внутри структур должны быть организованы от самого большого типа к самому малому . Допускается
Имеется защищенный от копирования счет на МТ5, обычные копировщики не копируют его. Сделки только по eurusd.f c суффиксом .f Сделок не много, только сделка 1 в день. Доступ и пароль инвестора к счету предоставлю. Необходимо решение для копирования с этого счета, предполагаю, что система должна увидеть сделку визуально, например через BAS и дальше передать данные для открытия сделки в МТ5. Другие рабочие решения от
1. Загальна логіка Треба створити ЕА для MetaTrader 5 на основі індикатора Zig Zag (параметри індикатора стандартні: Depth, Deviation, Backstep) та рівнів Фібоначчі. Детально логіка входу описана в додатку до ТЗ. 2. Відкриття сету ордерів ЕА відкриває сет відкладених ордерів (кількість ордерів від 1 до 5) Для кожного ордеру задається - рівень входу (значення рівня Фібоначчі) - рівень SL

Информация о проекте

Бюджет
Сроки выполнения
от 1 до 5 дн.