На главную страницу

Описание комбинированных и авто-переставляемых по тренду стопов:

          
  Все авто-стопы переносятся только по тренду, иначе они остаются без изменений. Перенос стопа заключается в задании ему новой стоп-цены и при необходимости количества. Автоматическая корректировка кол-ва в стопе позволяет при любом изменении размера позиции в портфеле, по какой-либо бумаге, автоматически корректировать кол-во бумаг в стопе. Поэтому при авто-переносе стопа контролируется наличие только одного стопа для каждой бумаги в портфеле, остальные стопы удаляются, а кол-во в оставшемся стопе корректируется в соответствии с кол-вом в портфеле. При переносе стопа ему устанавливается новый срок действия, плюс 7 дней от даты переноса. Кратко перечислю виды авто-стопов и используемые для них параметры:
  'ASimple' - простой, авто-переставляемый по тренду стоп. Для его использования в функции MoveMICEX_SHR нужно задавать отличные от нуля параметры Stop%, и Add%Stop. В параметре Add%Stop задается процент шага по тренду. И при различии, на величину Add%Stop, текущей биржевой Close-цены с  прошлой Close-ценой этого стоп-ордера он будет "передвинут" по тренду. Т.е. будет переставлен с тем же параметром Stop%, но уже от текущей биржевой Close-цены. Прошлую биржевую Close-цену, от которой со сдвигом в Stop% ранее устанавливался этот стоп, я еще называю "восстановленной" Close-ценой. Необходимость "восстановления" этой цены вызвана тем, что в параметрах стопа не хранится Close-цена заявки, от которой размещается стоп-ордер, и я восстанавливаю эту цену, используя стоп-цену стопа и значение Stop%.
(пример ASimple-стопа:
FNull:=If(FAlert OR Cum(1)=LastValue(Cum(1)), ExtFml("Borisoff.MoveMICEX_SHR","хххх-ххх",х,х,х,0.75,ASimple,0.1,FAlert,1), False);
                                                                                                                                            ^                 ^
                                                                                                                                            |                  |   
                                                                                                        уровень  размещения стопа от       интервал изменения текущей цены в %
                                                           последней Close-цены при авто-перестановке стопа по тренду       для срабатывания авто-перестановки
                                                                                                                                                         стопа   по  тренду );
(пример BalanceASim-стопа:
FNull:=If(FAlert OR Cum(1)=LastValue(Cum(1)), ExtFml("Borisoff.MoveMICEX_SHR","хххх-ххх",х,х,х,0.85,BalanceASim,0.45,FAlert,1), False);
                                                                                                                                            ^                         ^
                                                                                                                                             |                          |   
                                                                 уровень размещения ASimple стопа от последней Close-цены     интервал изменения текущей цены в %
                                                                                                    при авто-перестановке стопа по тренду,    для срабатывания авто-перестановки  
                                                                    и одновременно уровень срабатывания Balance-стопа          стопа по тренду);
  'ARevers' - простой, авто-переставляемый по тренду стоп, с количеством, больше имеющегося в портфеле, чтобы при его срабатывании сразу открывалась противоположная позиция. Этот вид стопа всегда точно узнает заданные в параметрах MoveMICEX_SHR значения MaxQuantInPortfel для Buy- и Sell- заявок. Для его использования в функции MoveMICEX_SHR нужно задавать отличные от нуля параметры Stop%, и Add%Stop и правильные значения MaxQuantInPortfel для Buy- и Sell- заявок. Алгоритм его авто-перестановки аналогичен алгоритму авто-перестановки 'ASimple'-стопа.  
  'BalanceASim' - комбинированный вид стопа, объединяющий в себе 'Balance'-стоп и 'ASimple'-стоп. Для его использования в функции MoveMICEX_SHR нужно задавать отличные от нуля параметры Stop%, и Add%Stop. При работе этого стопа производится авто-перестановка 'ASimple'-стопа по тренду, как описано выше, и в тоже время контролируется условие срабатывания 'Balance'-стопа. Конечно, если 'ASimple'-стоп будет установлен и сработает, то вряд ли дело дойдет до срабатывания 'Balance'-стопа, т.к. 'ASimple'-стоп сработает раньше. Этот вид стопов может хорошо заменить ARevers стоп.
  'BalanceARev' - комбинированный вид стопа, объединяющий в себе 'Balance'-стоп и 'ARevers'-стоп. Для его использования в функции MoveMICEX_SHR нужно задавать отличные от нуля параметры Stop%, и Add%Stop и правильные значения MaxQuantInPortfel для Buy- и Sell- заявок. При работе этого стопа производится авто-перестановка 'ARevers'-стопа по тренду, как описано выше, и в тоже время контролируется условие срабатывания 'Balance'-стопа. Конечно, если 'ARevers'-стоп будет установлен и сработает, то вряд ли дело дойдет до срабатывания 'Balance'-стопа, т.к. 'ARevers'-стоп сработает раньше. Но тогда 'Balance'-стоп начнет работать уже с новой балансовой ценой и с новой противоположной позицией в портфеле!
  При использовании авто-переносных стопов, при каждом обновлении данных графика, происходит отслеживание текущей биржевой Close-цены и сравнение ее с "восстановленной" Close-ценой стопа, т.е. ценой, от которой  ранее, с отклонением в Stop%, был размещен этот стоп. Если текущая биржевая Close-цена, при растущем тренде, больше "восстановленной" Close-цены Sell-стопа на заданный в параметре Add%Stop процент, то производится автоматический перенос Sell-стопа выше по тренду, с размещением стопа на расстоянии, заданном в параметре Stop%, но уже от текущей биржевой Close-цены. Для падающего тренда все наоборот, и авто-перемещение Buy-стопа вниз по тренду, происходит если текущая биржевая Close-цена меньше "восстановленной" Close-цены стопа на заданный в параметре Add%Stop процент. При авто-перестановке стопов применяется контроль исполнения заявок на авто-перенос.
  Обратите ВНИМАНИЕ, что при использовании стопов с авто-переносом, т.е. 'ASimple', 'ARevers', 'BalanceASim', 'BalanceARev' параметр Add%Stop для этих стопов используется только для указания процента минимального изменения текущей биржевой Close-цены для срабатывания авто-переноса стопа по тренду.
У 'Simple' и 'Revers' стопов параметр Add%Stop используется для задания уровня фиксации профита. А у 'Trailing' стопа параметр Add%Stop используется для задания уровня срабатывания Trailing-стопа!
  При применении всех авто-переставляемых и балансовых стопов нужно вызывать функцию MoveMICEX_SHR в Buy- и Sell- формулах не только при сигнале на графике, но и на последнем баре без сигнала, т.е. с дополнительным условием в Buy/Sell-формулах : OR Cum(1)=LastValue(Cum(1)), чтобы работала авто-перестановка стопов и срабатывали балансовые стопы!  "FNull:=If((FBuy OR Cum(1)=LastValue(Cum(1))
)...."
  (
!!!)Все авто-переставляемые стопы переставляются только при наличии позиций в портфеле, а также при ненулевом размере позиции в параметрах функции MoveMICEX_SHR (MoveFORTS)!!! Все авто-переставляемые стопы переставляются также и при срабатывании Buy/Sell-сигналов на графике. Авто-стопы реализованы для рынков ММВБ и ФОРТС. Для авто-переставляемых по тренду реверсивных стопов делается контроль лимитов.
  Балансовые стопы - 'Balance', а также 'BalanceASim' и 'BalanceARev', а также 'ARevers'-стоп рекомендуется применять вместе с введением в условия их срабатывания отстройки от зацикливания с Buy- Sell-сигналами. Для авто-переставлямого 'ASimple' стопа, можно не применять отстройку от зацикливания. Замечу, что отстройка от зацикливания между сигналом и балансовыми стопами отличается от отстройки от зацикливания между самими Buy- и Sell-сигналами. Для первого случая требуется отстройка справа (Ref(+1)) и слева (Ref(-1)) от балансового стопа, а при отстройке между Buy- и Sell-сигналами отстройка требуется только справа (Ref(+1)) от Buy- или Sell-сигнала.
  Убрано авто-воссоздание 'ASimple', 'ARevers' и 'BalanceARev' стопов! Ранее эти стопы автоматически воссоздавались, если они были указаны в параметрах функции, но по какой-либо причине не создались ранее. Процедура авто-воссоздания аналогична процедуре авто-переставления, только при отсутствии стопа вместо авто-переставления сначала выполняется авто-воссоздание отсутствующего стопа. Это позволяет автоматически формировать стоп к любой позиции в портфеле, если такой стоп прописан в параметрах функции MoveMICEX_SHR (MoveFORTS), даже если просто вручную создать позицию в портфеле, то стоп автоматически создастся для этой позиции при срабатывании процедуры авто-перестановки стопа (ВНИМАНИЕ: процедура авто-воссоздания авто-стопов с версии v.57 удалена!). 
  (
!!!) C v.57 изменен расчет величины проскальзывания для всех видов стопов! Ранее это проскальзывание равнялось разности Close-цены и цены размещения стопа. Но в некоторых ситуациях такой алгоритм задавал слишком малое проскальзывание и активированный стоп не успевал срабатывать даже при не очень сильных движениях цены. Теперь величина проскальзывания рассчитывается как и раньше, но в случает если разность Close-цены и цены размещения стопа получится меньше величины проскальзывания основной заявки, то проскальзывание устанавливается равным проскальзыванию основной заявки, к которой создается стоп. Таким образом теперь проскальзывание для стопов можно дополнительно регулировать с помощью проскальзывания основной заявки. 

Hosted by uCoz