Job finished
Execution time 38 days
Feedback from customer
Работа выполнена качественно, коммуникабельный и терпеливый профессионал, надеюсь на дальнейшее сотрудничество
Feedback from employee
Всё отлично! Было интересное задание. Спасибо. 5+
Specification
1.Общие требования и принципы работы торгового робота
1.1 Робот осуществляет вход в рынок на основе анализа свечей, путем выставления лимитных заявок( подробности в п.2.3)
1.2 Робот должен работать в терминале МТ5 с любым брокером и любым инструментом на срочном рынке FORTS ММВБ
1.3 По окончанию работ все исключительные права на советника передаются Заказчику, те у робота не должно быть ограничений, лимитов, привязки к счету и прочей защиты, так же исполнитель предоставляет все исходники по окончанию работ
1.4 Выставление нескольких ордеров, умение работать со стопами для всей группы ордеров
1.5 Мультивалютность - умение работать одновременно с разными инструментами на одном счету
1.6 Возможность работы на сигнальных счетах
1.7 Возможность выставления "скрытых" или виртуальных стопов, тралов и тп - т.е брокер их не видит
1.8 Несколько стратегий(минимум 2)
1.9 Работа в ручном режиме и режиме "сигнала", когда робот подает только сигналы на вход
1.10 Робот должен быть устойчив к потере связи с сервером, непредвиденным сбоям в работе терминала и тд., те должен корректно сопровождать выставленные заявки при возобновлении работы после вышеуказанных ситуаций
2. Основное техническое задание
2.1 Описание переменных и условных обозначений( названия могут быть изменены исполнителем, но должны быть интуитивно понятны и описаны отдельно после окончании работ)
SizeBar - размер в пунктах текущей свечи, целое число, где 1 = 1 пункту
LimitP - расстояние от текущей цены инструмента, на которое выставляются лимитки после сигнала на вход в пунктах цены, целое число, где 1 = 1 пункту
Norders - максимальное количество открываемых ордеров, целое число, где 1 = 1 ордеру
LimitD - расстояние от цены последней открытой позиции, на которое выставляется лимитка по тренду, в случае если Norders больше чем 1, где 1 = 1 пункту цены
TP - тейк профит для каждого ордера,применяется в режиме одиночных стопов, в пунктах цены, целое число , где 1 = 1 пункту цены, если указано 0 то тп не ставится
SL - стоп лосс для каждого ордера,применяется в режиме одиночных стопов, в пунктах цены, целое число , где 1 = 1 пункту цены, если указано 0 то сл не ставится
TR - трейлинг стоп для каждого ордера, применяется в режиме одиночных стопов, в пунктах цены, целое число , где 1 = 1 пункту цены, если указано 0 то трал не ставится
TP1 - общий тейк профит для группы
ордеров,применяется в режиме групповых стопов, в пунктах цены, целое число , где 1 = 1 пункту цены , если указано 0 то тп не ставится
SL1 - общий стоп лосс для группы
ордеров,применяется в режиме групповых стопов, в пунктах цены, целое число ,где 1 = 1 пункту цены, если указано 0 то сл не ставится
VTP - в случае реализации - тейк профит для каждого ордера,применяется в режиме виртуальных стопов, в пунктах цены, целое число , где 1 = 1 пункту цены, если указано 0 то тп не ставится
VSL - в случае реализации - стоплосс для каждого ордера,применяется в режиме виртуальных стопов, в пунктах цены, целое число , где 1 = 1 пункту цены, если указано 0 то тп не ставится
VTR - в случае реализации - отступ от цены ордера, или отступ от цены последнего ордера в группе, с которого начнет работать виртуальный трал, применяется в режиме виртуальных стопов, в пунктах цены, целое число , где 1 = 1 пункту цены
VTR1 - в случае реализации - размер вирт трала,применяется в режиме виртуальных стопов, в пунктах цены, целое число , где 1 = 1 пункту цены, не может быть равным 0
2.2 Стратегии и режимы работы
2.2.1 Стратегия "Трендовая" (усл обозначение Str1) - выставление лимиток после сигнала на вход согласно п 2.3.1
- ставятся Buy Stop и Sell Stop
Стратегия "Контртрендовая" (усл обозначение Str2) - выставление лимиток после сигнала на вход согласно п 2.3.1
- ставятся Sell Limit и Buy Limit
Стратегии устанавливаются в блоке настроек
2.2.2 Режимы работы
а)Автомат - робот торгует самостоятельно
б)Полуавтомат - робот подает только сигналы на вход, далее сопровождает лимитки или ордера, выставленные трейдером
с)Ручной режим - робот только сопровождает лимитки и ордера выставленные трейдером
Под "сопровождением" подразумевается установка роботом объемов, профитов, стопов и тралов согласно настройкам
Режимы работы устанавливаются в блоке настроек
2.3 Алгоритмы входа и выхода
2.3.1 Вход в рынок выполняется путем анализа текущей свечи согласно заданному таймфрейму, если размер свечи в пунктах превысит переменную SizeBar, то робот выставляет 2 лимитные заявки согласно указанной стратегии(п 2.2) на расстояние LimitP(усл обозн. см. 2.1) от текущей цены инструмента
После выставления лимиток рассматриваем следующие ситуации
а)цена в течении текущей свечи и одной последующей за ней не доходит до лимиток - робот сносит все лимитки и ждет снова сигнала согласно п.2.3.1
б)цена дошла до одной из лимиток - робот сносит оставшуюся лимитку и сопровождает открывшуюся позицию согласно стопам и тд.
В том случае, когда количество ордеров (усл обозн Norders см п.2.1), указанное в настройках более чем 1, робот выставляет лимитку по тренду, на расстоянние LimitD(усл обозн. см. 2.1) от цены последней открытой позиции
Если срабатывают стопы-профиты по открытым позициям, то выставленная лимитка сносится одновременно с закрытием поз(ы), и робот ждет снова сигнал согласно п.2.3.1
Пример 1 открывается buy-ордер, Norders = 1 - лимитки по тренду больше не открываются
Пример 2 открывается sell-ордер ,цена открытия позы 1000р, Norders = 2, LimitD = 100,ставится sell stop на 900р и тд и наоборот при buy-ордере выставляется buy-stop на 1100
Важно! Недолжно возникать ситуаций, когда остаются "трендовые" лимитки из Примера 2 при закрытых ордерах, то есть бот должен проверять фактическое их закрытие, на случай возможного проскальзывания или техн проблем
PS Выставление лимиток можно заменить на просто отсчет ботом нужных значений, если это сочтете более практичным в реализации
2.3.2 Разворот ордеров предполагается в том случае, если цена дошла до уровня стоплосса, при условии, когда трал еще не сработал, вкл в настройках
2.4 Профиты, стопы, тралы
2.4.1 Под понятием "стопы" подразумеваются тейк профит, стоплосс и трал.Допускается 3 режима стопов, вид режима указывается в настройках, все обозн в п.2.1
режим SoloStop - в данном режиме все стопы реальные,выставляются для каждого ордера отдельно, согласно TP,SL,TR
режим GroupStop - стопы реальные, для 1го ордера выставляются согласно TP,SL,TR.Если ордеров будет больше чем 1 , то робот выставляет стопы для всей сетки согласно TP1,SL1, трал для сетки не ставится
режим VirtualStop - в данном режиме робот не ставит реальных стопов, а ставит стопы , невидимые для брокера, согласно VTP и VSL , так же для первого ордера или для группы ордеров задается виртуальный трал, согласно VTR и VTR1
Пояснение по принципу работы вирт трала - идея состоит в том, что бы двигать тейкпрофит позиции в случае роста цены в заданных параметрах,как если бы трейдер двигал ее вручную
Пример 1 - ордер buy,цена открытия 100р, VTR = 10,VTR1=50, VTP = 0, VSL = 50.Цена дошла до 110, включается вирттрал, позиция должно закрыться минимум на 110, если цена дошла до 150, то на 150, если до 200 то на 200 и тд
Пример 2 - ордер buy,цена открытия 100р, VTR = 10,VTR1=50, VTP = 0, VSL = 50.Цена не дошла до 110, а упала до 50, трал не включается - поза закрывается по стоплоссу
2.5 Режимы работы робота по времени
Необходимо 2 запрета на время работы, закрытие сессии по времени,бот для образца будет во вложении
2.6 Объемы и количество позиций
2.6.1 В настройках задается максимальное кол-во ордеров, переменная Norders
Объемы для каждого ордера задаются вручную так же в настройках, в формате 1й ордер - 1 контракт ,2й ордер 2 контракта и тд, всего нужна возможность указывать объемы для 10 ордеров, если ордеров будет больше 10, тогда объем всех последующих будет равен объему 10го ордера
2.7 Прочее
2.7.1 Нужна визуализация в окне терминала открытых поз, прибыли\убытков(в валюте) по ним, спреда и текущего плеча,так же нужна визуализация трала в виде линии желтого цвета, для образца прилагаю скрин робота для образца, Исполнитель может предложить альтернативное решение
2.7.2 Нужен запрет\разрешение на повторный вход на свече
2.7.3 Нужны "быстрые" кнопки в окне терминала для открытия соотв позиций или лимиток
"Sell","Buy" "Sell Limit","Sell Stop","Buy Limit","Buy Stop"
"Close All" - немедленное закрытие всех ордеров и лимиток
2.6 Последовательность настроек
Хотелось бы видеть настройки примерно в след виде
В "" просто название раздела настроек, разделы желательно разделять
"Общие настройки"
=================================================
Режим работы - ( по умолчанию автомат)
Norders -( по умолчанию 1)
Тип стратегии -( по умолчанию трендовая)
Режиммы стопов -( по умолчанию SoloStop)
Повторный вход на свече -( по умолчанию запрещен)
Разворот позиций - ( по умолчанию запрещен)
=================================================
"Время работы"
Часы закрытия - ( по умолчанию 23)
Минуты закрытия - ( по умолчанию 45)
Закрывать позиции и лимитки по времени -( по умолчанию да)
Начало запрещенного периода 1 - в формате ччммсс ( по умолчанию 000000)
Конец запрещенного периода 1 - в формате ччммсс ( по умолчанию 000000)
Начало запрещенного периода 2 - в формате ччммсс ( по умолчанию 000000)
Начало запрещенного периода 2 - в формате ччммсс ( по умолчанию 000000)
за сколько крыть до клиринга - секундах, если 0 то не крыть ( по умолчанию 0)
=================================================
"Настройки входа"
SizeBar - по умолчанию 100
LimitP - по умолчанию 50
LimitD - по умолчанию 100
=================================================
"Стопы и профиты"
TP - по умолчанию 50
SL - по умолчанию 50
TR - по умолчанию 0
TP1 - по умолчанию 50
SL1 - по умолчанию 50
VTP - по умолчанию 50
VSL - по умолчанию 50
VTR - по умолчанию 0
VTR1 - по умолчанию 10
=================================================
"Объемы"
1й ордер - ( по умолчанию 1 контаркт)
2й ордер и последужщие до 10го - ( по умолчанию
0)
=================================================
Responded
1
Rating
Projects
264
22%
Arbitration
24
50%
/
17%
Overdue
0
Loaded
2
Rating
Projects
10
0%
Arbitration
4
0%
/
100%
Overdue
2
20%
Free
3
Rating
Projects
478
40%
Arbitration
105
40%
/
24%
Overdue
82
17%
Loaded
Published: 2 codes
Similar orders
Доработка робота-сетки
31 - 150 USD
Нужно доработать существующий робот. Робот торгует по стратегии сетка, нужно добавить тралл, т.е. чтобы последний ордер сетки закрывался по траллу, при этом первый ордер сетки должен закрыться в убыток за счет одного или нескольких прибыльных ордеров
Project information
Budget
100+ USD
Deadline
to 14 day(s)