Trabajo finalizado
Tarea técnica
Здравствуйте уважаемые программисты. Предлагаю вашему вниманию задачу по написанию простого торгового робота на основе модифицированной МА. Работа производится в 2 этапа. Этап 1-й – все что описано черным цветом, синий текст относится ко 2-му этапу. 2-й начинаем после приемки первого. Алгоритм работы, следующий:
1. Вход осуществляется по сигналу индикатора модифицированной МА, который меняет цвет. При смене цвета с зеленого на красный – вход в шорт, при смене с красного на зеленый – в лонг. При открытии сделки подается звуковой сигнал и повторяется N раз. Число повторений задается в настройках. Сигнал должен прекращаться при нажатии любой клавиши.
2. Вход, должен осуществляться в момент смены цвета индикатора или в момент открытия свечи, если перед этим сменился цвет индикатора. Способ входа задается в настройках «вход по открытию свечи» true/false.
При постановке ордера должен выставляться stop loss и take profit. Их значения задаются в настройках.
4. При постановке ордера должен закрываться предыдущий.
5. Должен быть предусмотрен временной интервал, в котором сделки открываются. Задается в настройках в формате ЧЧ.ММ. За пределами этого интервала сделки не отрываются. Если уже открытая сделка переходит за пределы временного интервала, то она закрывается по смене цвета индикатора.
a. Для временного интервала должна быть предусмотрена опция закрытия сделок по его окончании. Т.е. если конец интервала задан 23:50, то сделка закрывается при наступлении этого времени и робот прекращает свою работу.
b. Если задан интервал 00:00 – 00:00 – время открытие сделки может быть любое.
c. Должна быть предусмотрена опция НЕ закрытия открытой сделки по концу интервала. В этом случае сделка закрывается при смене цвета индикатора, после окончания интервала. По закрытии последней сделки за пределами временного интервала новая сделка не открывается и робот прекращает свою работу.
d. Должна быть предусмотрена опция возобновления работы при начале заданного временного интервала после остановки работы по выходе из предыдущего интервала. Включение задается в настройках «запустить на следующий день» true/false. При значении false робот не запускается на следующий день.
6. Поскольку, внутри одной свечи индикатор может менять цвет несколько раз, должен быть предусмотрен запрет на закрытие уже открытой сделки и постановку нового ордера, если после открытия свечи сделка уже установлена. См. два скриншота ниже. Разрешение/запрет открытия новой сделки/закрытия старой внутри одной свечи должен задаваться в настройках, например в виде «разрешить сделки внутри свечи» true/false. В случае запрета выставлять сделки внутри свечи, при закрытии свечи робот должен проверять, совпадает ли цвет индикатора с направлением сделки. Если он не совпадает, т.е., по закрытии свечи цвет зеленый, а направление сделки для фиолетового, сделка закрывается.
7. Робот должен работать на всех инструментах и таймфреймах.
8. Должна быть предусмотрена защита от не постановки и не закрытия ордера. Т.е. после команды поставить ордер, должна производиться проверка, совершена ли сделка, если сделка не установлена, то необходимо программно обеспечить её установку.
a. Необходимо задать максимальное расстояние в пунктах от значения цены при котором попытки совершить сделку продолжаются. В случае, если цена уходит на большее расстояние, попытки установить сделку прекращаются. При этом робот продолжает работу.
b. Попытки закрыть сделку продолжаются до её закрытия, в случае, если цена закрытия уходит на N пунктов, необходимо подать звуковой сигнал и вывести на график цены сообщение «сделка не закрыта» с указанием той свечи на которой не закрылась сделка.
9. Возможные небольшие доработки робота не превышающие по объёму 10% всего кода (текста программы в знаках).
Во вложении индикатор на основе которого делается робот.