Техническое задание
Общее описание советника
Сов должен иметь прописанные отдельные функции для определения параметров открытия ордеров: направление, объем и тд. Функция открытия ордера ничего не определяет внутри себя, а получает параметры снаружи. По дефолту параметры работы определены в пользовательских параметрах.
Сов запускается на одной паре (накинут на одно окно с графиком) и работает со всеми парами (инструментами), которые прописываются в параметре через пробел в виде AUDUSD EURUSD GBPUSD DOGEUSD #TSLA
Задуманная идея похожа на индикаторы. Когда при активации какого-то параметра – он будет возвращать «сигнал», который будет влиять на что-то при открытии ордера. На направление, например. Или может скорректировать объем в виде коэффициента. Такие индикаторы будут независимые, но могут работать одновременно. Это нужно учесть при проектировании архитектуры сова.
В юзерпараметрах должен быть блок, который определяет поведение советника по умолчанию. То есть все значения, указанные в этом блоке, работают в том случае, если не противоречат индикаторам. Именно не противоречат, так как индикаторы могут, как полностью определять какие-то значения, так и просто корректировать. В случае коррекции – работают значения дефолтного блока, но корректируются индикаторами.
Дефолтный блок
1. Direction - направление работы выпадающим списком: buy, sell, buy+sell. По умолчанию buy+sell. Определяет разрешенные направления открытия по типу long/short. Работает всегда, но не противоречит индикаторам. Если стоит buy, но индикатор дает параметр для открытия ордера на sell – он открывается без проблем.
2. TF – выпадающим списком по всем доступным таймфреймам + значение None, при котором работа по таймфрейму не работает. Классический подход к работе TF – принятие решения на открытии свечи заданного таймфрейма.
3. Volume – выставляет объем ордера (стартовый, либо фиксированный)
4. Step – шаг между ордерами одного направления. Работает, если выбран режим martingale
5. Multiplier – множитель ордеров, если выбран режим martingale
6. TP – значение тейкпрофита от безубытка направления, если выбран martingale
7. SL – значение стоплосса. Для мартингейла для направления от безубытка в сторону убытка. Для свободного режима – расстояние от ордера.
8. Trailing – трал по такому же принципу, как выше. Задается двумя цифрами в разных параметрах. Первая цифра – расстояние цены от безубытка, когда стоплосс ставится в безубыток. Вторая цифра – расстояние, на котором траллится сеть или ордер.
9. Reverse – булевый параметр. По дефолту false. Если true, то набирает ордера не против тренда, а по тренду. При этом считает в порядке приоритета (первое, что задано по списку): trailing – обычным образом, SL – выставляет стоплосс всей сети направления считая от последнего взятого ордера, TP - ставит на заданное расстояние от безубытка в сторону профита переставляя с каждым новым ордером.
10. Mode – выпадающий список: martingale, free. Соответственно мартингейл классический, free режим работает с ручными ордерами юзера. Применяет к ним тп, стоплоссы, трейлинг, открывает от них новые ордера через шаг по направлению, применяя множитель. В случае выставления отложек, ждет открытия рыночного. То есть работает только с рыночными ордерами.
11. Limits – если число положительное, то это ограничение общей лотности направления. Если число отрицательное – это процент просадки, после которой ордера не берутся.
Самое важное: оплата будет производиться ТОЛЬКО после предоставления исходного кода, потому как иначе невозможно определить соответствие его архитектуры требуемой и впоследствии исключить необходимость его переписывания для реализации остального функционала. Без предоставления исходного кода и приведения его в нужный вид РАБОТА НЕ СЧИТАЕТСЯ ВЫПОЛНЕННОЙ.