Specification
Привет всем,
Первый ордер открываю самостоятельно вручную по рынку. Советник подхватывает его – добавляет стоп лосс и начинает трейлить. Если цена идёт против первого ордера – просто срабатывает стоп лосс. Если цена идёт в правильную сторону – советник делает трейлинг первого ордера. Если цена ушла в правильную сторону на величину, указанную в параметре GridStep, то советник открывает по рынку первый ордер сетки. Добавляет ему стоп лосс, указанный в параметре StopLoss и управляет трейлингом, который настроен в параметрах TrailingSize и TrailingStep. Если цена идёт дальше в правильном направлении, то при достижении расстояния GridStep от первого ордера сетки до текущей цены – открывается второй ордер сетки. Ему точно также добавляет стоп лосс и управляется трейлинг. Направление ордеров сетки такое же, как и направление первого ордера – при условии, что ReverseGrid= False. Если же ReverseGrid= True, то направление ордеров будет противоположное направлению первого ордера. Размер ордеров сетки вычисляется по формуле: Размер первого ордера*LotMultiplier.
Советник не использует индикаторы, не учитывает размер свечи. Он только считает расстояние между ордерами и текущей ценой. Поэтому хотелось бы чтобы можно было переключаться между периодами графика, на котором установлен советник – таким образом, чтобы изменение периода не мешало бы работе советника.
Ситуация 1. Допустим, я открыл первый ордер. Цена пошла в правильном направлении, и советник открыл ещё 2 ордера. Вместе с этим подтянул стопы трейлингом за ценой. Допустим дальше сработали стопы для двух ордеров сетки. Остался висеть только первый ордер, открытый вручную. В этом случае советник перестаёт открывать ордера и желательно отправляет какое-то уведомление (на почту или Telegram – что проще реализовать) с содержанием: «По инструменту (название инструмента) остался один ордер, открытый вручную». Дальше на ситуацию смотрю я. Если я открываю вручную второй ордер в том же направлении, что и первый, то советник начинает отсчитывать GridStep от цены, по которой я открыл второй ордер. Если я делаю CloseOrders= True, то советник выходит из рынка – закрывает все ордера.
Ситуация 2. Советник открыл три ордера сетки. Потом срабатывает стоп п одному из ордеров. Остаётся висеть 2 ордера сетки и первый ручной ордер. В этом случае советник ждёт либо ситуацию 1 – если цена идёт против сетки. Если же цена идёт в правильном направлении, то советник отсчитывает GridStep от ближайшего открытого ордера до текущей цены и когда достигается значение GridStep – советник продолжает открывать ордера сетки.
Все ордера должны иметь стоп лосс и все они должны трейлиться. Когда нет ордеров - советник ничего не открывает. Советник начинает работать только если есть открытый вручную ордер.
Название параметра |
Значение по умолчанию |
Описание |
StopLoss и Trainling |
||
StopLoss |
30.0 |
Для первого открытого вручную ордера и для всех последующих открываемых советников, устанавливается стоп размером 30 (четырёхзначных) пунктов. Значение 0 – без стоп-лосса |
TakeProfit |
0.0 |
Тейк провфит для первого и всех последуюих ордеров. Значение 0.0 означает, что тейка нет |
UseTrailingStop |
True/False, True по умолч. |
Включает/выключает трейлинг для всех ордеров. Трейлинг одинаковый для всех ордеров |
TrailingSize |
40.0 |
Размер трейлинга |
TrailingStep |
15.0 |
Шаг трейлинга |
Параметры сетки |
||
ReverseGrid |
True/False, False по умолч. |
True – направление ордеров сетки будет противоположное направлению первого ордера. False – направление сетки будет такое же как и у первого ордера |
GridStep |
40.0 |
Шаг ордеров сетки |
LotMultiplier |
1.0 |
Множитель лота ордеров сетки относительно размера первого ордера. Пример: первый ордер размером 0,03 лота, LotMultiplier=1,3. Значит размер лота сетки будет равен 0,04 (0,03*1,3= 0,039 округляем до 0,04) |
Разное |
||
CloseOrders |
True/False, False по умолч. |
При установке значения True закрывает по рынку все открытые ордера на данном графике |