Tarea técnica
Для демо и реальной торговли, в том числе на счетах ECN/NDD
Исходный код должен быть в достаточной мере комментирован, и аккуратно оформлен.
Характеристики:
Высокая скорость работы (возможность обработки события не ожидая тиков, опционально).
Корректное восстановление работы после обрыва связи, отключения питания
ПК.
Обработка ошибок выдаваемых сервером брокера (основные ошибки должны
обрабатываться: нет цен, неправильная цена в запросе, реквоты и т.д.).
Выбор способа исполнения
торгового запроса FOK, IOC, Return
Мультитерминальный, количество терминалов (приемник/источник) не ограничено.
Выбор терминала MT 5, с которого
будет производиться копирование.
Мультивалютный, достаточно 6
торговых символов с ручным выбором каждого из них. В источнике выбираются те символы, сделки или ордера по которым будут копироваться. Если в терминале-источнике
присутствуют, или в процессе торговли будут открываться
позиции по незарегистрированным символам, то Копировщик их игнорирует.
Копирование с одного источника на несколько приёмников.
Копирование с нескольких источников на один приёмник.
Работа совместно с любыми экспертами,
скриптами.
Работа, как на домашнем ПК, так
и на удаленном VPS server.
Изменение лота при переносе сделки в приемник, коэффициент лота.
Изменение лота при переносе
ордеров.
Корректная работа с префиксами и суффиксами символов на разных
аккаунтах.
Установка StartLot
(он же минимальный лот по умолчание 0.01)
Установка MaxLot
(максимальный лот, допустим, 2.56)
Установка макс. процента использования депозита
Проверка минимального уровня
остаточной маржи на приемнике перед совершением сделки (чтобы не выйти на stop out сразу
после копирования сделки на приемник).
Выбор прямого или обратного копирования, устанавливается для
каждого символа отдельно. Желательно изменение reverse/forvard
«на ходу» включать кнопкой на графике в приемнике. обсуждается.
Выбор только профитных, только
убыточных или всех позиций для копирования при начальной установке
эксперта, если на источнике уже есть открытые позиции.
Возможность копировать только новые сделки (при инициализации) существующие позиции не копируем.
Возможность работы с 4, 5 знаками,
валютные пары, металлы.
Копирование сделок - да/нет
Копирование уровней StopLoss - да/нет; TakeProfit - да/нет
Копирование отложенных ордеров – да/нет. Reverse - да/нет.
Сделка на приёмнике совершается с нулевыми уровнями стоп-лосс
тейк-профит. Если в результате сделки направление позиции в приемнике то же что
и в источнике уровни StopLoss TakeProfit устанавливаются по источнику. Если направление позиции противоположное
нужно вычислить новые уровни StopLoss TakeProfit.
Позиция Long. reverse=true
Источник имеется отложенный ордер Buy Limit – в приемник копируется Sell Stop
Источник имеется отложенный ордер Sell Limit – в приемник копируется Buy Limit
Позиция Short. reverse=true
Источник имеется отложенный ордер Sell Limit – в приемник копируется Buy Stop
Источник имеется отложенный ордер Buy Limit – в приемник копируется Sell Limit
Т.е. преобразование ордеров при реверсе должно быть выполнено
корректно.
Необходимо различать: сделка в
источнике произошла в результате рыночного запроса Instant или сработал лимитный ордер, или сработал на стороне брокера StopLoss TakeProfit.
Если копирование ордеров включено, то сделки на источнике причиной
которых стало исполнение лимитного ордера, не транслируются в приемник. Эта сделка и так
в терминале приёмника произойдет в результате исполнения ордера.
Если перенос стоп-лосса, тейк-профита включены, то сделка на источнике
вызванная срабатыванием SL или
TP не транслируется в приемник (там и так
соответствующий стоп или тейк сработает)
(исполнение стоп-лосса - это рыночный запрос на стороне брокера) и
получить информацию о сработке SL,
TP можно
только из OnTradeTransaction анализируя из сделки комменты и ищя в них строку содержащую “sl” “tp”.
Разработчик, ознакомившись с техническим заданием, оценивает свои трудозатраты, сложность и
предлагает цену, и срок выполнения.
Если программист на начальном
этапе посчитает что какие-либо из положений ТЗ реализовать невозможно,
или сложно, прошу высказывать ваши возражения своевременно.
Жду ваших вопросов и предложений.