Исследовательский советник-робот

MQL5 Эксперты Forex C++

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

Уважаемые программисты, всем доброго времени суток. Большая просьба, внимательно читать ТЗ. Робот не сверхсложный, но и не супер простой.

От вас жду лишь качественного программирования и тестирования готового робота перед передачей мне. Тестирование занимает время, но, у меня оно тоже ограничено, и, завершение задания может затянуться, если львиную долю тестов буду делать я. В наших с вами интересах завершить задание как можно быстрее. 

Вы получите свой гонорар, я возможность продолжить исследование рынка. Если качество вашей работы меня на 100% устроит, будем работать дальше, в планах много интересных задач.

1.       ОБЩИЕ ТРЕБОВАНИЯ.

1.1.   Робот для MT5!!! JUST2TRADE. Робот должен работать на всех инструментах МТ5 JUST2TRADE. Метод - NETTING

2.       ПРАВИЛА РАБОТЫ РОБОТА.

2.1.   Скорость роста/падения цены превысила V пунктов в секунду – вход в рынок. Если падение - то продажа, если рост – то покупка. Вход не осуществляется если значение V превысило VM. Обратите внимание, что сравниваем модули чисел. Т.е. если V=-12, а VM = -8, то входа в рынок (покупки/продажи) нет.

V=(P1-P2)/T (скорость (V) равна разности начальной (P1) и конечной (P2) цены в пунктах деленое на время (T) в секундах). Значения VM,T – задаются в настройках и оптимизируются. Если P1-P2 < 0 – покупка, если P1-P2 > 0 – продажа.

Значение V, VM, P1, P2, T задается в настройках и оптимизируется. Если V=0, расчет скорости роста, падения не производится.

2.2.   Значение индикатора ROC (RATE OF CHANGE) встроенного в MT5 JUST2TRADE превысило/упало ниже VI  – вход. Если падение, то продажа, если рост – то покупка. Вход не осуществляется если значение VI превысило VIM. Значение VI, VIM задается в настройках и оптимизируется. В случае если VI = 0, программа не обращается к индикатору ROC.

2.3.   Спред не более Y пунктов. В случае если спред превышает Y – входа в рынок (покупки/продажи) нет. Y задается в настройках.

2.4.   При входе в рынок устанавливается ТП (take profit) и СЛ (stop loss). Задается в настройках и оптимизируется. Для ТП и СЛ задается дельта в пунктах – D. Если D задано, то оптимизируется только ТП и D. СЛ рассчитывается по формуле ТП+D. D может быть, как положительным, так и отрицательным. Если D=0 то оптимизируется ТП и СЛ.

Так же, задается ТП и DIV – если DIV задано – оптимизируется только ТП и DIV. СЛ рассчитывается по формуле ТП/DIV. DIV может быть, как больше, так и меньше единицы.

Если DIV=0 то оптимизируется ТП и СЛ. Защиту от неправильного ввода этих параметров делать не обязательно. Как будет работать программа при вводе значений обоих параметров – не критично. Конечно, нужно предусмотреть округление ТП до целого при расчете ТП/DIV.

2.5.   Время торговли с ЧЧ.ММ по ЧЧ1.ММ1  Время должно оптимизироваться.

2.6.   Исключить даты (указанные даты будут пропущены (ордера не будут выставляться) при оптимизации/работе робота) – вводится из EXCEL файла. В случае отсутствия файла даты не исключаются, робот работает без этого файла, однократно выводится сообщение – «нет файла с датами». В случае некорректной даты – дата не исключается из торговли робота, однократно выводится «некорректная дата» и текст даты.

2.7.   Если волатильность по индикатору Chaikin Volatility ниже VOLMAX и выше VOLMIN – вход. Это условие работает при параметре REV =1.

При параметре REV =2 – вход (покупка/продажа) – только если волатильность ниже VOLMIN. При параметре REV = 0 – проверка волатильности не осуществляется. К индикатору Chaikin Volatility программа не обращается.

2.8.   При заданном параметре TRACE =1 – в EXCEL файл записываются дата, время сделки, ТП и СЛ, лонг/шорт. При убыточной сделке записывается число пунктов, которые рынок прошел, в сторону ТП от цены сделки. При прибыльной сделке записывается число пунктов, которые рынок прошел в сторону СЛ. При заданном параметре TRACE = 0 – данные не записываются. Программа (робот) должна работать таким образом, чтобы к данная часть кода не влияла на скорость оптимизации при параметре TRACE = 0 в режиме оптимизации.

2.9.   Робот должен работать на всех таймфреймах и на всех инструментах JUST2TRADE.

2.10.                     Программа должна быть защищена от неисполнения ордера. (По-моему, есть какие-то встроенные операторы языка MQL5, которые сами проверяют исполнен ли ордер и повторяют постановку несколько раз если он не исполнен.)

2.11.                     Если считаете нужным что-то добавить для нормальной торговли и работы программы + оптимизации – предлагайте. Оплачу отдельно.

ВАЖНО! Программа должна работать таким образом, чтобы не повторять лишние операции при каждом шаге оптимизации. Например, как написано в п. При параметре REV = 0 – проверка волатильности не осуществляется. К индикатору Chaikin Volatility программа не обращается. Имеется в виду, что она должна работать в режиме оптимизации как можно быстрее, т.е. проходить максимум циклов оптимизации за секунду. Предполагается, что будут перебираться миллионы вариантов.

Программа должна работать при выборе в оптимизаторе «каждый тик на основе реальных тиков» и «только цены открытия». Это означает, что при переборе всех тиков, значения V, VM и других переменных, будут рассчитываться для каждого тика, или только для цен открытия.


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

1
Разработчик 1
Оценка
(251)
Проекты
402
38%
Арбитраж
82
41% / 20%
Просрочено
70
17%
Работает
2
Разработчик 2
Оценка
(5)
Проекты
5
40%
Арбитраж
1
0% / 100%
Просрочено
1
20%
Свободен
3
Разработчик 3
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
4
Разработчик 4
Оценка
(49)
Проекты
134
27%
Арбитраж
62
13% / 53%
Просрочено
58
43%
Свободен
Похожие заказы
Индикатор оригинала не перерисовывается, соответственно когда будете вносить изменения в алгоритме индикатора, тоже не должен перерисовыватся. Необходимо найти в алгоритме индикатора, где есть условия, при которой индикатор выдает уведомления. Нужно посмотреть с расчетом на одну свечу назад на уже закрытой свече на каких условиях находится когда свеча открывалась, и на основание этого создать новое условие, чтобы

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

Бюджет
50 - 200 USD
Исполнителю
45 - 180 USD
Сроки выполнения
от 5 до 10 дн.