工作已完成
指定
Техническое задание
Суть – выставлять 2 заявки в разные стороны нажатием кнопки на графике или по времени.
1. Задаем параметры 2 заявок бай лимит и селл лимит, для каждой из которых:
- S – расстояние заявки от текущего значения цены W, в пунктах (бай лимит W-S, селл лимит W+S).
- тэйк профит, в пунктах
- стоп лосс, в пунктах
- задаем дни недели выставления заявок
- задаем время выставления обоих заявок Т1 (1,2,3,4,5) – 5 значений (чч:мм:сс). Например, Т11 – 10:15:32, Т12 – 11:30:00, Т13 – 12:00:00 и т.д.
2. Задаем время на которое выставляются все заявки Т2 (чч:мм:сс). Например, Т2 – 10 мин (т.е., по истечении данного времени заявки снимаются, но если уже есть открытые позиции, то Т2 далее никак не учитывается).
3. Кнопка 1 «Задать» на графике. При ее нажатии выставляются все заданные заявки. Если нажать повторно, то все заявки снимаются и вновь устанавливаются, но уже исходя из нового значения W. Т.е. это ручной режим, которые работает одновременно с автоматическим выставлением по времени Т1.
4. Кнопка 2 «Снять» на графике. Если нажать на кнопку 2, то все заявки снимаются, открытые позиции закрываются.
5. После срабатывания любой из заявок, вторая снимается. Значение цены по которому сработала заявка - А. Только после исполнения заявки выставляются тейк профит и стоп лосс исходя из цены исполнения А.
6. Задается время Т3 (чч:мм:сс) и значение Q в пунктах. После срабатывания заявки, начинается отсчет времени Т3, по истечении которого тейк профит перемещается на значение А+Q если сработала заявка бай лимит или А-Q для селл лимита (возможно задавать отрицательное значение для Q).
7. Задается значение F в пунктах. Если после срабатывания заявки по цене А, цена выросла до А+F для селл лимит или до А-F для бай лимит, то тейк профит перемещается на значение А+Q если сработала заявка бай лимит или А-Q для селл лимита.
8. Если выставлена группа заявок по времени или вручную, но наступило следующее время выставления заявок.
- Если заявки не сработали, то они снимаются и устанавливаются новые, исходя из нового значения W. Например, заявки выставлены во время Т1(2) не сработали и выставлены, наступает время Т1(3) – все заявки снимаются и выставляются снова, исходя из цены W на момент Т1(3).
- Если одна заявок не сработала, то при наступлении времени выставления новых заявок, они не выставляются. Например, сработала заявка выставленная во время Т1(1). Наступило время Т1(2), но эта позиция все еще не закрыта. Значит во время Т1(2) ничего не выставляется, продолжается работа с открытой заявкой по алгоритму выше. Затем если, позиция закрывается, новые заявки выставляются во время Т1(3).
9. Внешний вид согласуем по ходу работы. Сделайте как считаете нужным, затем подправим, если будет нужно.
10. В коде, по возможности максимально подробные пояснения, где что, где какой пункт ТЗ реализуется.
+ Возможность скользящего исполнения заявки и тейк профита.
1. Задаем параметр скольжения R для заявок и N для тейк профита в пунктах.
2. Заявки и тейк профиты выставляются не реальные, а условные, просто рисуются линии на графике.
3. Цена достигла цены условной заявки и продолжает свое движение (тики), в этом случае линия условной заявки движется вместе с ценой. Как только цена откатилась на R пунктов от максимальной, происходит сделка по рынку. Если же откат произошел ниже цены выставления заявки, то ничего не происходит, условная заявка остается выставленной.
4. Цена достигла цены тейк профита и продолжает свое движение (тики), в этом случае линия условной заявки движется вместе с ценой. Как только цена откатилась на N пунктов от максимальной, происходит сделка по рынку.
Спасибо.