Автоматический торговый робот

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

Время выполнения 10 дней

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

Здравствуйте! Хочу заказать создание автоматической торговой системы, которая будет сама выставлять отложенные ордера с заданными параметрами и с заданным шагом. Торговый робот при запуске будет выставлять отложенные ордера сверху и снижу от текущей цены и при смещении котировки, он будет смещать сетку ордеров. Более подробная информация в прикреплённом файле. Если можете это реализовать, то напишите пожалуйста свою цену и срок...

 

Обновляю... Вот тех задание:

Автоматический торговый робот (техническое задание)

 

Используемые параметры и опции:

1.       Шаг – шаг сетки ордеров.

2.       Контрольная котировка.

3.       Ордер 1

А) Тейк профит ордера 1

Б) Стоп лос ордера 1

В) Трейлинг стоп ордера 1

Г) Опция отключения ордера 1

4.       Ордер 2

А) Тейк профит ордера 2

Б) Стоп лос ордера 2

В) Трейлинг стоп ордера 2

Г) Опция отключения ордера 2

5.       Ордер 3

А) Тейк профит ордера 3

Б) Стоп лос ордера 3

В) Трейлинг стоп ордера 3

Г) Опция отключения ордера 3

6.       Ордер 4

А) Тейк профит ордера 4

Б) Стоп лос ордера 4

В) Трейлинг стоп ордера 4

Г) Опция отключения ордера 4

7.       Спред

8.       Манименеджмент

9.   Максимальный лот

10.   Кнопка старт

11.   Кнопка стоп

 

Общие положения и описание алгоритма:

Советником управляют две кнопки, все параметры задаются в свойствах советника. 

Кнопка 1 - это кнопка СТАРТ - запускает советника.

Кнопка 2 - это кнопка СТОП - останавливает работу советника, удаляет все отложенные ордера и закрывает все открытые позиции. 

После ввода всех параметров и при нажатии кнопки СТАРТ, робот формирует линейку цен открытия с заданным шагом отталкиваясь от заданной контрольной котировки. Далее робот выставляет отложенные ордера в обе стороны от текущей цены используя полученную линейку цен открытия на расстояние 1000 пунктов для валютных пар 5 знаков после запятой. Например, текущая цена пары евро-доллар 1,08556 (параметры ШАГ=100, КОНТРОЛЬНАЯ КОТИРОВКА=1,13000) – запускаем робота и робот выставляет ордера выше цены на отметках:

 1,08600

1,08700

1,08800

1,08900

1,09000

1,09100

1,09200

1,09300

1,09400

1,09500

1,09600

Всего выше текущей цены будет выставлено 44 ордера, по 4 ордера на каждую цену открытия

В обратную сторону (вниз от текущей цены) робот будет выставлять ордера начиная с

1,08500

1,08400

1,08300

1,08200

1,08100

1,08000

1,07900

1,07800

1,07700

1,07600

1,07500

Итого при запуске системы, будет выставлено 88 ордеров.

Далее робот будет следить, чтоб от текущей цены ордера были выставлены в обоих направлениях на расстоянии 800 пунктов (для 80 пунктов, если у брокера 4 цифры после запятой). Для реализации данного алгоритма нужно будет закрывать ордера, которые будут располагаться более чем на 1300 пунктов (130 для 4-х знаков после запятой) от текущей цены и соблюдать условие, чтоб максимальное количество открытых и выставленных ордеров не превышало 88 штук. Например, запустили робота при цене евро-доллар 1,09050 и он проставил отложенные ордера сверху и снизу от этой цены и котировка пошла вниз, открыла 4-ре ордера на 1,09000, далее 4-ре 1,08900, далее 4-ре 1,08800 и как только перевалила за 1,08800, в ту же секунду, робот удаляет 4-ре ордера на цене открытия 1,10100, т.к. они стали дальше от текущей цены более чем на 1300 пунктов и открывает четыре ордера на 1,07900, т.к. на этой цене робот ордера не поставил. Подобный механизм перемещения отложенных ордеров нужен для счетов, где максимальное количество ордеров равно 100, а котировка в течение одного дня может проделать путь в 2000-3000 пунктов. (с учётом минимального возможного шага 100 пунктов)

Недельная цикличность.

В случае если за пару дней котировка прошла 1000-1500 пунктов и вернулась обратно, и робот исправно открывал ордера у неё на пути, и на пройденных отрезках все 4-ре ордера закрыты в каких-то местах (это зависит от параметров), то робот, проходя пустые значения (без отложенных ордеров) не ставит там отложенные ордера – это если не достигнута контрольная дата. В случае, если наступил контрольный день недели, а это среда 00,00 по серверному времени (по сути со вторника на среду), то робот проставляет ордера по всем ближайшим значениям с заданным шагом в радиусе 1000 пунктов, КРОМЕ ТЕХ ЗНАЧЕНИЙ, ГДЕ ИМЕЮТСЯ СРАБОТАВШИЕ ОТКРЫТЫЕ ОРДЕРА! Это очень важно, если есть один сработавший ордер у которого не сработал стоп лос или тейк профит, например, ордер на значении 1,09000 и даже если он сработал с проскальзыванием и фактически открыт на значении 1,08886, то робот не ставит ордера (НИ ОДНОГО ОРДЕРА) именно на значении 1,09000

Вот графический пример работы системы с 16-го марта 2015 года по 25 марта 2015 года.

http://screencast.com/t/wRo9LNsANxN

Синими линиями обозначены цены где робот расставляет ордера с шагом 100 пунктов (там указан шаг 10 пунктов, т.к. на графике программа использует четыре знака после запятой, нам требуется создать советника для 5-ти знаков после запятой). В среду 18 марта в 00,00 часов, робот везде расставляет ордера в радиусе 1000 пунктов (на графике будет 100 пунктов) от текущей цены, если на каких-то значениях котировки есть хоть один не закрытый ордер, и он ещё торгуется, то на этом значении робот ордера НЕ СТАВИТ! Далее в среду котировка проделывает путь 4000 пунктов (400 на графике) и всё это время робот подтягивает отложенные ордера за ней. Потом в четверг и пятницу 19 и 20 марта, котировка проходит ещё 3000 (300 на графике) пунктов в обратном направлении и проходит значения где уже были открыты ордера в течении недели, ВОТ В ЭТОМ МЕСТЕ ОРДЕРА РАССТАВЛЯТЬ НЕ НУЖНО (показано фиолетовыми стрелками), т.к., во-первых, там уже были выставлены ордера, во-вторых ещё не достигнута следующая контрольная дата. При достижении контрольной даты, робот расставляет ордера везде в радиусе 1000 пунктов и так же подтягивает их за меняющейся ценой, кроме тех значений котировки, где ЕСТЬ ОТКРЫТЫЕ ПОЗИЦИИ (хоть один ордер). Ещё момент, если по каким-то причинам есть значения на линейке цены открытия где сработали всего два ордера, а два остальных не сработали, но сработавшие ордера закрыты, то робот выставляет недостающие ордера на эту цену открытия.

Типы ордеров

Для ордеров выставляемых выше текущей цены будет следующая закономерность:

Ордер 1 – это будет Buy Stop

Ордер 2 – это будет Sell Limit

Ордер 3 – это будет Buy Stop

Ордер 4 – это будет Sell Limit

Для ордеров выставляемых ниже текущей цены будет так:

Ордер 1 – это будет Buy Limit

Ордер 2 – это будет Sell Stop

Ордер 3 – это будет Buy Limit

Ордер 4 – это будет Sell Stop

Параметры ордеров

Расчёт для ордера 1:

Тейк профит ордера = цена выставления ордера + заданное значение тейк профит

Стоп лос ордера = цена выставления ордера – заданное значение стоп лос

Например: Если робот будет выставлять ордер на цене открытия 1,10000, а заданное значение ТП 800 и СЛ 100, то фактически ордер будет выставляться с ТП 1,10800 и СЛ 1,09900

Расчёт для ордера 2:

Тейк профит ордера = цена выставления ордера – заданное значение тейк профит

Стоп лос ордера = цена выставления ордера + заданное значение стоп лос

Например: Если работ будет выставлять ордер на цене открытия 1,10000, а заданное значение ТП 800 и СЛ 100, то фактически ордер будет выставляться с ТП 1,09200 и СЛ 1,10100

Расчёт для ордера 3 (тож самое, что для ордера 1, т.к. это ордер бай):

Тейк профит ордера = цена выставления ордера + заданное значение тейк профит

Стоп лос ордера = цена выставления ордера – заданное значение стоп лос

Расчёт для ордера 4 (тож самое, что для ордера 2, т.к. это ордер селл):

Тейк профит ордера = цена выставления ордера + заданное значение тейк профит

Стоп лос ордера = цена выставления ордера – заданное значение стоп лос

Спред и цена открытия ордеров

Спред нужен для того, чтоб ордера 95% всего времени торгов срабатывали одновременно. Этот параметр будет применяться только к ордерам селл, т.е. ко 2-му и 4-му ордеру.

Расчёт цены открытия ордеров:

1 ордер, цена открытия = цене открытия (без изменений)

2 ордер, цена открытия = цена открытия – спред

3 ордер, цена открытия = цене открытия (без изменений)

4 ордер, цена открытия = цена открытия – спред

Например, робот раскинул линейку цен открытия с шагом 100 и принимает решение выставить 4-ре ордера на цене открытия 1,10000. Для ордеров 1 и 3 (это ордера бай) это значение будет без изменений, а для ордеров 2 и 4 (это ордера селл) цена открытия уже будет 1,09985 (при условии, что МЫ укажем, что спред = 15)

Манименеджмент

При запуске робота, робот проводит проверку валютной пары и если вторая валюта в заданной валютной паре отличная от USD, то робот не использует формулу расчёта манименеджмента и торгует заданным размером лота, который указывается в значении МАКСИМАЛЬНЫЙ РАЗМЕР ЛОТА (например, задана валютная пара EUR/USD – вторая валюта доллар США, значит действует автоматическое повышение размера лота, если торгуемая валюта USD/RUB – то робот торгует заданным размером лота и не повышает его)

Робот сам определяет размер лота по указанным нижу формулам.

Используемые параметры:

1000 – стандартное количество валюты за 0,01 лота

 КУРС КОТИРОВКИ – курс заданной котировки, которой торгует робот (Например 1,05630 для EUR/USD)

0,00010 – один пункт для котировки, которая имеет пять знаков после запятой

КУРС USD/RUB – текущий курс рубля по отношению к доллару, т.к. торговый счёт в рублях

СРЕДСТВА СЧЁТА – это ИМЕННО вот это значение http://screencast.com/t/ws9nEOgVi

ПУНКТОВ НА СЧЕТУ – пересчёт всех средств на торговом счёте в пункты торгуемой валюты по текущему курсу

СТОИМОСТЬ ПУНКТА в рублях – стоимость пункта в рублях заданной торгуемой валютной пары

Первая итерация

((1000*(КУРС КОТИРОВКИ+0,00010))-(1000*КУРС КОТИРОВКИ))*КУРС USD/RUB = СТОИМОСТЬ ПУНКТА в рублях

Вторая итерация

СРЕДСТВА СЧЁТА / СТОИМОСТЬ ПУНКТА в рублях = ПУНКТОВ НА СЧЕТУ

Третья итерация

(ПУНКТОВ НА СЧЕТУ / ЗАДАННОЕ ЗНАЧЕНИЕ МАНИМЕНЕДЖМЕНТ*0,01) = РАЗМЕР ЛОТА, КОТОРЫМ ТОРГУЕТ РОБОТ

Можно одной формулой))

((СРЕДСТВА СЧЁТА / ((1000*(КУРС КОТИРОВКИ+0,00010))-(1000*КУРС КОТИРОВКИ))*КУРС USD/RUB)/ ЗАДАННОЕ ЗНАЧЕНИЕ МАНИМЕНЕДЖМЕНТ*0,01) = РАЗМЕР ЛОТА, КОТОРЫМ ТОРГУЕТ РОБОТ

Полученное значение, которым торгует робот, может иметь 5-6 знаков после запятой, его нужно округлить до сотых (0,06 например)

Робот должен вычислять одинаковый размер лота для всех четырёх ордеров! Чтоб не было такого, что ордер 1 открыт с лотом 0,01, а ордер 2 открыт с лотом 0,02 из-за резкого скачка котировки

Кнопки управления советником:

КНОПКА СТАРТ – запускает торгового робота

КНОПКА СТОП – останавливает торгового робота

Комментарии к ордерам

Все выставляемые ордера должны иметь комментарии.

Для ордера 1 комментарий в формате (символ “/” считать как пробел) – (цена открытия/наверх/Trailing - либо если трейлинга нет, то: цена открытия/наверх) – Например: если цена открытия 1,06100 и задано значение трейлинг стопа, то комментарий должен быть такой: “1.06100 наверх Trailing”, а если трейлинга нет, то: “1,06100 наверх”)

Для ордера 2 комментарий в формате (символ “/” считать как пробел) – (цена открытия/наверх/Trailing - либо если трейлинга нет, то: цена открытия/наверх) – Например: если цена открытия 1,06100 и задано значение трейлинг стопа, то комментарий должен быть такой: “1.06100 наверх Trailing”, а если трейлинга нет, то: “1,06100 наверх”)

Для ордера 3 комментарий в формате (символ “/” считать как пробел) – (цена открытия/вниз/Trailing - либо если трейлинга нет, то: цена открытия/вниз) – Например: если цена открытия 1,06100 и задано значение трейлинг стопа, то комментарий должен быть такой: “1.06100 вниз Trailing”, а если трейлинга нет, то: “1,06100 вниз”)

Для ордера 4 комментарий в формате (символ “/” считать как пробел) – (цена открытия/вниз/Trailing - либо если трейлинга нет, то: цена открытия/вниз) – Например: если цена открытия 1,06100 и задано значение трейлинг стопа, то комментарий должен быть такой: “1.06100 вниз Trailing”, а если трейлинга нет, то: “1,06100 вниз”)

Вместо слова Trailing - Можно указывать одну букву "Т" 

Лог файл

Робот каждый свой шаг должен записывать в файл stat.csv по формату:

Дата и время/что сделал

Например:

Робот закрыл ордер 1.06100

12.04.15 11.11/close 1.06100

Робот открыл ордер 1,06200

12.04.15 11.11/open 1.06200

Начало работы (запуск робота)

12.04.15 11.11/Starting

Обновлён параметр манименеджмент с 450 до 550

12.04.15 11.11/МoneyManager 450 modification to 550

Изменён параметр Стоп лос у ордера 1 c 50 до 100

12.04.15 11.11/Stop los order 1 50 modification to 100

 

 

  

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

1
Разработчик 1
Оценка
(549)
Проекты
1332
59%
Арбитраж
28
82% / 0%
Просрочено
10
1%
Свободен
2
Разработчик 2
Оценка
(266)
Проекты
540
50%
Арбитраж
55
40% / 36%
Просрочено
224
41%
Свободен
3
Разработчик 3
Оценка
(66)
Проекты
143
34%
Арбитраж
10
10% / 60%
Просрочено
26
18%
Свободен
4
Разработчик 4
Оценка
(254)
Проекты
573
36%
Арбитраж
64
20% / 58%
Просрочено
147
26%
Свободен
5
Разработчик 5
Оценка
(595)
Проекты
927
46%
Арбитраж
31
39% / 29%
Просрочено
93
10%
Работает
6
Разработчик 6
Оценка
(44)
Проекты
100
39%
Арбитраж
17
29% / 47%
Просрочено
32
32%
Свободен
7
Разработчик 7
Оценка
(280)
Проекты
650
28%
Арбитраж
111
19% / 61%
Просрочено
319
49%
Свободен
8
Разработчик 8
Оценка
(43)
Проекты
96
44%
Арбитраж
8
13% / 38%
Просрочено
22
23%
Свободен
9
Разработчик 9
Оценка
(473)
Проекты
1138
44%
Арбитраж
51
31% / 33%
Просрочено
500
44%
Свободен
10
Разработчик 10
Оценка
(23)
Проекты
31
71%
Арбитраж
0
Просрочено
1
3%
Свободен
11
Разработчик 11
Оценка
(563)
Проекты
932
47%
Арбитраж
302
59% / 25%
Просрочено
124
13%
Загружен
12
Разработчик 12
Оценка
(1)
Проекты
4
25%
Арбитраж
1
0% / 100%
Просрочено
1
25%
Свободен
13
Разработчик 13
Оценка
(33)
Проекты
54
30%
Арбитраж
8
0% / 63%
Просрочено
13
24%
Свободен
14
Разработчик 14
Оценка
(45)
Проекты
105
30%
Арбитраж
8
25% / 50%
Просрочено
40
38%
Свободен
15
Разработчик 15
Оценка
(127)
Проекты
183
55%
Арбитраж
3
33% / 33%
Просрочено
6
3%
Свободен
16
Разработчик 16
Оценка
(351)
Проекты
679
56%
Арбитраж
33
15% / 39%
Просрочено
63
9%
Свободен
Похожие заказы
Нужно отвязать робота от счета демо и реал. Так что бы всё работало так же, что б всё функции сохранились. Напишите, пожалуйста цену и сроки. Не знаю что ещё нужно писать, спрашивайте)
Нужно добавить защиту в советник для МТ4. 1. проверка счета на котором он торгует в каком либо форекс дилере. Мне будут присылать номер счета я буду его вписывать в код чтоб другой не мог им пользоваться. 2. Защита по работе по времени. Нужно иметь возможность прописать дату в время в коде начала и окончания если за пределы ее вышел он будет писать что больше не торгует. 3. Защита от копирования данного советника
Нужен робот на MQL4, требования ниже. При отклике пожалуйста указывайте цену и срок. RSI RSI - Использовать close, high, low, max (open, close), min(open, close) в расчете с использованием сглаженной линии RSI Переменные: - Overbought Level - 60 по умолчанию, но нужно, чтобы он был регулируемым - Oversold Level - 40 по умолчанию, но нужно, чтобы он был переменной - RSI Smooth Length - количество свечей, по которым
Нужно доработать утилиту добавить новые функции, изменить интерфейс. Нужен человек имеющий опыт по связи терминала с Телеграм, по средствам Телеграм АПИ, нужно добавить 2 новые функции в утилиту. Подробнее в ТЗ, изменения нужно внести для мт4/5 версии
dify indicator MA_Cloud for mt4 and mt5, give source code with comments 1)Need to change alerts and arrows for cross price only true 2 MA without crossing (direction from small to big) 2)Fix the error when change to any timeframe for MA (disapeer) and for arrows (in history is very big on vertically out of see screenshot) 3)Add alerts for crossing of 2 MA (MA Small cross MA big) Arrows, Message, Sound - (True/False)
Изменить графический интерфейс утилиты, исправить расположение кнопок, изменить вид некоторых окон и добавить новые. Сохранить текущую адаптивность и работоспособность кнопок. Подробнее расскажу в ТЗ с наглядными скриншотами, что и где поменять. Правки нужно внести в МТ4 и МТ5 версии. Спасибо за ваши заявки, рассмотрю каждую
Ищу испольнителя для реализации соедующего советника. 1. Идея торговой системы : входы после импульса (стремительного движения цены) на откате после пересечения МА#1 and MA#2 с указанным в настройках периодом в направлении текущего тренда . 2. Тренд определяется по МА#3 с указанным в настройках периодом. Может быть отключенным в настройках. Тогда определяющим тренда будет МА#2. 3. Импульс. Указанное в настройках
Здравствуйте. Необходимо внедрить защиту советника на платформе MetaTrader 5 (MT5). На ПК устанавливается защищенная программа с ограниченным лимитом безопасных запусков. Например, такой лимит может быть установлен на один запуск. Это означает, что после первого запуска программы на ПК она интегрируется в систему управления Windows в статусе администратора, собирает необходимые данные для привязки советника и
Написать советник при помощи машинного обучение Нужен торговый советник с определенной стратегий ( нужно его оптимизировать и обучить что бы они имел возможность сама обучение при торговли в прошлом ) нужен профи кто подобное сделает ( интересует цена на данную услугу и время на выполнения )
Необходимо разработать робота для Metatrader 5 на основе стандартного индикатора объемов из MT5 Volumes который открывается в отдельном окне. ТЗ продублировано в прикрепленном файле. Разработать торгового робота для мт5 Робот должен работать на MT 5 на 4 ч. Используемый встроенный в MT 5 индикатор Volumes . Робот торгует каждый день, один раз в день. Настраиваемые параметры Максимальный объем ( MaxVolumes ) = Время

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

Бюджет
140 USD
Исполнителю
126 - 126 USD
Сроки выполнения
6 дн.