
Техзадание полностью по ссылке
Тут ниже привожу основную часть.
Алгоритм робота. Главная задача робота это купить/продать заданное количество контрактов по выбранной цене. Далее необходимо провести трейд по алгоритму.
Алгоритм выставления заявки:
Выбираю инструмент в котором будут выставляться заявки. Все сделки будут совершаться на срочном рынке, но должна быть возможность задавать цену входа и по спот-рынку. (Например на инструменте SBER выбираем для продажи цену 180.00 руб, программа должна продать заданное количество контрактов на срочном рынке в инструменте SRH7 в то время когда на споте будет 180.00 руб) На данный момент меня интересует только комбинации SBER-SR и USD_TOM-Si.
Задаю цену входа в позицию. Например Si 60500
Выбираю направление сделки short / long
Задаю количество контрактов в лотах для фьючерса. Важно чтобы робот учитывал сколько контрактов забрали на цене входа, т.к. например из 100 контрактов забрали 70. Алгоритм должен это понимать и работать по системе с 70 контрактами.
Задаю стоп-лосс в пунктах. Стоп на фьючерсе.
Задаю тейк-профит. Здесь 3 принципа: а. Выставляем тейк в пунктах по фьючерсу. б. Тейк при закрытии ниже/выше (в зависимости от направления трейда) соседней 5 минутной свечи. в. Тейк при закрытии ниже/выше (в зависимости от направления трейда) соседней 60 минутной свечи. В роботе должна быть возможность во время трейда менять принцип тейка.
Выбираю время в минутах для выхода из позиции по времени, если сделка остается в 0 или минусе но не достала до стопа.
Робот должен пользоваться не лимитными заявками, т.к. на счету одновременно может не хватать средств на все выбранные операции. Вариант есть с виртуальными заявками. Когда цена доходит до выбранной, там подставляется лимитка.
Робот должен уметь переносить заявки и позиции через любые клиринги. (дневной, вечерний, овернайт, планки)
После выставления всех параметров ждем входа в позицию.
Алгоритм ведения трейда:
Здесь 2 ветки поведения. Если позиция в + или в -. И еще 1 ветка включается если прошло заданное время.
Если позиция в плюсе, то включается заданная система тейка
Если позиция в минусе, то либо срабатывает стоп, либо через заданное время робот выходит по рынку.
Если через заданное время позиция в плюсе, но еще не закрылась по тейку, то стоп переставляется в безубыток (т.е. + несколько тиков от точки входа)
Если забрали не все лоты выставленные на цене входа за заданное время ( в этом случае позиция в плюсе), то робот работает с тем количеством лотов сколько в позиции, переставляет стоп в б/у и работает по тейку.
Также в функционале робота должна быть возможность в любой момент выключить автоматический режим и перейти к ручному управлению.
Варианты базирования робота:
Рассматриваю разные варианты. Предпочтительнее подключение через плазу или квик. Рассмотрим более простой вариант.
Приблизительная таблица функционала:

По пунктам:
Просто порядковые номера трейдов. Столбцов необходимо ~10-15
Выбор инструмента.
Записываем цену входа в позицию.
Выбор направления трейда
Выбор объёма позиции.
Выбор стопа в пунктах. Если это спот то пишем стоп по фьючу.
Выбор тейка либо закрытие при поглощении 5 мин свечи, либо при поглощении 60 мин свечи. Здесь надо еще иметь возможность находясь в трейде переключать вид тейка. Если позиция 0 или минус, то работает стоп или тайминг для выхода.
Возможность выхода из позиции по таймингу. Здесь указывается количество минут через которое позиция закроется, если она не в плюсе.
то есть не готов платить адекватно за работу