Советник на основе MA

Job finished

Execution time 10 hours
Feedback from customer
Отличное качество, быстрое взаимодействие, приятное общение. Всем рекомендую.

Specification

Здравствуйте, уважаемые программисты. Для вашей уверенности, ваш заказчик (я :) - квалифицированный трейдер с опытом программирования и ваш нелегкий труд мне понятен. Поскольку моя квалификация не позволяет писать на MQL4 и MQL5, обращаюсь к вам.

Для начала есть небольшая задача по созданию тестового робота для терминала MT5 Alpari - Hedge. Прошу прочесть описание полностью, в нем есть тонкости, которые не все смогут понять, они связаны с математикой. Робот должен работать на указанном выше терминале на реальном счете, на всех таймфреймах, включая нестандартные (20 мин, 3 часа и пр.). Отладку необходимо производить именно на этом терминале, на реальном счете. Робот должен работать как на графике цены, так и в тестере стратегий. Результаты работы должны быть идентичны.

Сама программа достаточно проста. В ТЗ постарался максимально полно, точно и наглядно представить задачу. Тестирование, правки, если необходимо, модификации стараюсь осуществлять оперативно, плачу быстро. Если дело идет, даю индивидуальные заказы.

Сразу оговорюсь, в цену, которую мы с вами примем, входит отладка программы и небольшие модификации (не более 5% от исходного кода). Перед представлением чернового результата необходимо протестировать робота на все требования ТЗ на таймфреймах 1 мин, 15 мин, 1 час, 1 день на инструментах EURUSD, GBPUSD, AUDUSD, XAUUSD, SPX500. Код должен быть оптимизирован таким образом, чтобы при оптимизации в «тестере стратегий» оптимизация занимала минимальное время. Необходимо выбирать решения с наименьшими затратами времени работы программы. 

Итак, вот что нужно сделать. Робот должен:
1. Брать значение Moving Average и вычитать последущее значение из предыдущего. См. рисунок.



  

На верхней картинке видим значение в 10:20, на нижней в 10:40.

От значения в 10:20 отнимаем значение в 10:40

 1,19610 – 1,9518 = 0,092

Это происходит на каждом баре.

 

 2.  В момент изменения знака этой разности начинается отсчет баров. То есть, если разность была положительной – то, в момент, когда она становится отрицательной – робот начинается считать бары и наоборот, если разность была отрицательной, отсчет начинается в момент, когда она стала положительной. Бар, на котором разность поменяла знак – первый. Если разность равна нулю, отсчет начинается, если следующая за нулем разность не ноль и имеет знак, противоположный той разности, которая была перед нулем (нулями).

 3. Отсчет прекращается в момент, когда разность меняет знак и начинается с единицы, как в п.1

 4. В настройках робота должны задаваться все параметры Moving Average. Сама MA, берется стандартная из терминала.

5. В настройках должно задаваться число баров после смены знака.

6. Теперь о постановке ордеров. Ордер ставится в момент открытия бара, следующего за заданным в настройках. Например – если в настройках задано число 5 – то ордер ставится в момент открытия 6-го. Ордер ставится в сторону движения МА на последнем заданном в настройках баре. Т.е. если задано значение числа баров – 5, и в момент закрытия бара 5, МА шла вниз, то ставится ордер на продажу, если в момент закрытия бара 5 МА шла вверх, ставится ордер на покупку.

7. При постановке ордера ставится Stop Loss и Take Profit, они тоже должны задаваться в настройках.

              Ордер ставится независимо от того, есть действующие ордера или нет.

8. Должна быть предусмотрена возможность закрытия сделки по числу заданных баров. например, если задано число баров 5, то ордер закрывается на открытии бара 6. В настройках должна быть предусмотрена возможность отключения закрытия сделки по числу баров. Если число баров задано 0 - закрытие не должно происходить.

9. Должна быть предусмотрена возможность работы по времени внутри суток. Т.е. если задано время 06:00 - 15:00 - то отсчет баров начинается с бара открывшегося в 06:00 и прекращается в 15:00, сделки не закрываются по времени.

10. Теперь о нюансах. Постановка ордера должна быть запрещена, если в течение последнего отсчета баров, значение разности MA не превысило заданное. Например, если максимальная разность была 0,092, но задано значение 0,1, то постановка ордера не производится. Для отрицательных значений наоборот, если задано -0,1, но значение разности в течение последнего отсчета не падало ниже -0,092, то ордер, так же, не ставится.

11. Нюанс #2. Робот создается в 2-х версиях - они идентичны, но вторая, кроме всего вышеописанного, должна записывать в файл CSV значения при постановке и закрытии ордера - время, дату, размер трейда, вид сделки (sell/buy), значение спреда. Две версии обязательно, вариант с включением и выключением записи в настройках не подходит. Вторая версия создается только по окончании работы над первой.

Предпочтительный канал общения – WhatApp, или, хотя бы, Skype, можно текстом, но, лучше голосом, так быстрее. Можно и в чате терминала/ MQL5. Готов работать в режиме реального времени, насколько это возможно.


Responded

1
Developer 1
Rating
(45)
Projects
105
30%
Arbitration
8
25% / 50%
Overdue
40
38%
Free
2
Developer 2
Rating
(195)
Projects
395
28%
Arbitration
155
20% / 52%
Overdue
112
28%
Free
3
Developer 3
Rating
(280)
Projects
650
28%
Arbitration
111
19% / 61%
Overdue
319
49%
Free
Similar orders
**Техническое задание (ТЗ) для торгового робота на платформе Pocket Option** Здравствуйте! Мне нужен торговый робот для работы на платформе **Pocket Option** (бинарные опционы). Основная задача робота – открывать сделки по стратегии **мартингейл**. В случае неудачной сделки робот должен увеличивать сумму следующей ставки в **2,5 раза**, пока не будет достигнута прибыль. Однако, мне нужен робот с более «умным»

Project information

Budget
30+ USD
For the developer
27 USD
Deadline
from 1 to 3 day(s)