Ёхансон

Система "Плавающие Ордера"
« Topic Start: 17 Сентября 2008, 18:59:03 »
Решил выложить свою стратегию - может быть кто нибудь возьмется соорудить советника.

Стратегия Плавающие ордера.

Подробное описание стратегии для изготовления советника.

1. При установке на график советник сразу же откладывает
два отложенных ордера: бай стоп и селл стоп на расстоянии
от текущей цены к примеру, 50 пунктов.

Пример.
Допустим, текущая цена 1.5000. Советник откладывает бай стоп
по цене 1.5050 и селл стоп по цене 1.4950.

2. Далее.
Цена движется тиками, поэтому необходимо, чтобы отложенные ордера
двигались вслед за ценой с каждым тиком.

Поясняю.
Советник отложил ордера, и цена предположим двинулась в сторону
отложенного ордера бай стоп. Отложенник селл стоп двигается за
ценой с каждым тиком на расстоянии 50 пунктов от текущей цены,
ордер бай стоп в это время стоит, т.к. расстояние меньше 50 пунктов.

При небольших откатах цены назад ордер селл стоп стоит. т.к.
растояние не достаточно для продолжения движения, в то же время,
если у отложенника бай стоп появилась возможность двигаться за
ценой (расстояние позволяет - больше 50 пунктов), он начинает
движение.

В итоге, два отложенных ордера начинают сближаться.
С этим надеюсь понятно.

3. Дальше идем.
Предположим, цена дошла до отложенного ордера бай стоп и активизировала
его по цене 1.5050, селл стоп подтянулся за ценой на уровень 1.5000,
и в тот момент, когда цена открыла ордер бай стоп, советник тут же откладывает
новый отложенный ордер по цене 1.5100 взамен сработавшему отложеннику.

В итоге имеем одну открытую позицию в бай и два отложенных ордера бай стоп
и селл стоп. Что происходит дальше?

4. Допустим, цена пошла дальше, набирая профит для открытой позиции бай -
селл стоп продолжает движение за ценой на расстоянии 50 пунктов, тем самым сокращая расстояние до открытой позиции.
Например, цена прошла 20 пунктов в профит, селл стоп подтянулся на отметку 1.5020
и цена решила развернуться и пойти к отложенному ордеру селл стоп.
Отложенный селл стоп остановился. Цена продолжила падение и открыла отложенник селл стоп
по цене 1.5020, подтянув при этом уже противоположный отложенный ордер бай стоп
на уровень 1.5070. Советник тут же отложил новый отложенник селл стоп по цене 1.4970
и вот тут важный момент - открытая позиция бай, открытая по цене 1.5050 автоматически закрывается в момент активирования отложенника селл стоп по цене 1.5070!!!

Теперь поясняю.
Оба отложенных ордера являются как бы стоп лоссом и тейк профитом для открытой
позиции! Другими словами, при срабатывании одного из отложенных ордеров
автоматически закрывается открытая позиция не зависимо, был взят профит
или словили стоп лосс и откладывается новый отложенник взамен сработавшему.

В работе всегда находится три ордера - открытая позиция и два отложенника -
не больше, не меньше.

Подведу итог до этого момента.

При установке советник откладывает сразу два отложенных ордера - бай стоп и селл стоп
на определенном расстоянии от текущей цены.

Советник тралит оба отложенника по тикам, сближая  их друг к другу до
срабатывания одного из них.

При срабатывании одного отложенника сразу же откладывается другой
отложенник на том же расстоянии от текущей цены, которое указано
в настройках советника и в итоге на графике работает три ордера -
открытая позиция и два отложенника.

Отложенные ордера являются для открытой позиции стоп лоссом и тейк профитом,
т.е. при срабатывании одного из отложенных ордеров открытая позиция тут же
автоматически удаляется, независимо от того, был взят профит или пойман лось
и тут же восполняется новым отложенным ордером взамен сработавшему,
тем самым постоянно поддерживая одно и тоже количество ордеров в работе - три.

Продолжаю описание.

5. Как уменьшаются убытки и как берется тейк профит.

Как видно из пункта 4 с примером закрытия открытой позиции, позиция закрылась
по так называемому стоп лоссу с убытком в 30 пунктов.
Если бы отложенные ордера не тралились, а стояли на месте, то убыток был бы
50 пунктов. Налицо уменьшение убытка при трале.

Тейк профит при хорошем движении рынка должен браться как бы порциями
по 50 пунктов - именно на этом расстоянии откладывается следующий отложенный
ордер от только что открытого.

Поясняю на предыдущем примере.
Предположим, после активации отложенного ордера бай стоп по цене 1.5050
советник отложил новый бай стоп по цене 1.5100 и цена продолжила свое
восхождение и активировала бай стоп по цене 1.5100.
Советник тут же удалил открытую позицию бай по цене 1.5050, взяв 50 пунктов
прибыли, и тут же отложил новый бай стоп по цене 1.5150,
селл стоп подтянулся до уровня 1.5050. И так далее, при хорошем движении рынка.

Но мы то с вами знаем, что это идеальное взятие профита бывает редко, но все же
бывает.

6. Как же сохранить небольшой, но профит?

У меня в одном из советников есть очень полезная функция -
* BreakEvenAfter       - После достижения прибыли BreakEvenAfter пунктов...
  BreakEvenTo          - ...СЛ переносится на уровень "цена открытия + BreakEvenTo пунктов" (если BreakEvenAfter = 0, функция не работает)

Объясняю.
Предположим, цена, открыв бай стоп прошла 15 пунктов в профит (BreakEvenAfter = 15),
стоп лосс переносится на уровень ( BreakEvenTo = 10 ), тем самым защищая небольшую
прибыль.

Вот в принципе пока и все, что хотел написать о стратегии.

Теперь напишу о том, какие настраиваемые пользователем параметры должны
быть в советнике.

TakeProfit  -  пусть будет для возможности самостоятельно выставлять профит.
StopLoss    -  стоп лосс необходим только для защиты минимального профита и
               может быть 1000 пунктов, т.к. при срабатывании функции
               ВreakEvenAfter и  BreakEvenTo
Slippage    -  Проскальзывание (максимальное отклонение от запрошенной цены)

Прошу внимательно прочитать все важные моменты, которые я отметил в описании,
и обязательно учесть в советнике.

Будут вопросы - задавайте.  Если кто то решит сделать советника, просьба, не усложнять его пока никакими примочками, надо будет потестить для начала его, а потом можно и подумать о модернизации.

 

Отметьте интересные вам фрагменты текста и они станут доступны по уникальной ссылке в адресной строке браузера.