작업 종료됨
명시
Требуется написать следующего советника.
Размер следующей сделки увеличивается на коэффициент при положительном закрытии предыдущей сделки и уменьшается на этот же коэффициент при убыточном закрытии предыдущей сделки. При этом должны функционировать два режима: при первом (sl) если мы открыли сделку на продажу и сработал стоп-лосс, то следующую сделку открываем на покупку, а если сработал тэйкпрофит, то следующая сделка также на продажу. При таком режим мы надеемся поймать тренд; при режиме tp, при срабатывании тейкпрофита, мы открываем сделку в обратном направлении, а при срабатывании стоп-лосса в том же направлении.
При режиме (sl) в целях экономии на спрэдах мы не закрываем сделку, когда цена прошла нужное количество пунктов в выгодном для нас направлении, а просто открываем еще одну сделку так, чтобы суммарный лот увеличился и пододвигаем стоп-лосс. То есть тэйкпрофит не выставляется, он виртуален.
Перед запуском выбирается:
1) Тип стратегии sell/buy (если sell, то при достижении цены price открывается рыночный ордер на продажу, если buy - на покупку).
2) Основание для замены стратегии sl/tp (если тип стратегии sell и основание для замены sl, то при срабатывании стоплосса, мы открываем ордер на покупку, а если основание tp, то при срабатывании тэйкпрофита следующая сделка будет на покупку)3) k - количество пунктов от цены открытия (без учета спреда), на которую выставляются стоплосс и тэйкпрофит.
4)price - цена аск, при которой запускается стратегия. Цена всегда строго аск, неважно ордер на покупку или на продажу, но запускается он при достижении цены.
5) lot - начальное количество лотов, на которое открывается первая позиция
6) S - количество лотов по всем открытым позициям, в начале S=lot
7) koef - доля от количества лотов, на которую увеличивается (в случае тэйкпрофит)/уменьшается (в случае стоплосс) объем следующей сделки
Например,
Основание для замены стратегии sl
price=1.1200
k=50
lot=1
koef=0.1
При достижении ценой уровня 1.1200 покупаем 1 лот со стопом 1.1150. Цена достигает 1.1250 мы покупаем еще koef*S=0.1 лотов, S становится равным 1.1, стопы перемещаются на 1.1200.
Далее цена достигает 1.1300, мы покупаем koef*S=0.11 лотов S=1.21. Стопы перемещаются на 1.1250.
Цена достигает 1.1250, срабатывают стопы, мы продаем S=S-koef*S=1.21-0.12=1.09 лотов со стопом 1.1300
Если же основание для замены стратегии tp, то мы бы купили 1 лот по 1.12, закрыли бы позицию по tp по 1.1250 и тут же продали бы 1.1 лота со стопом 1.13.