Ответы на комментарии пользователя Большой Брат
Большой Брат, не могу сказать точно, нужно смотреть. Скорей всего не много. Думаю ошибка большая в итоге получается потому что Likelihoid очень сильно наказывает такие ошибки — когда ожидал невысокую волатильность а оказалась высокая. И малое число таких ошибок могут перевесит большее число корректно угаданной низкой волатильности.
Если вы хотите посчитать я могу выложить (завтра) данные и питоновский код.
В моей реализации адаптивный трейлинг-стоп работает по следующему принципу:
close - atr * atrMultiplier
для лонгов или close + atr * atrMultiplier
для шортов.trailingStopLong := math.max(trailingStopLong, close - atr * atrMultiplier)
trailingStopShort := math.min(trailingStopShort, close + atr * atrMultiplier)
Эти горизонтальные «полки», которые вы заметили, возникают когда цена не обновляет максимум (для лонгов) или минимум (для шортов), и трейлинг-стоп остается на прежнем уровне. Это особенность данной реализации — трейлинг-стоп сдвигается только когда текущая цена создает новую, более выгодную для нас точку размещения трейлинга с текущим ATR.
Классический адаптивный трейлинг может быть реализован по-разному. Если вы предпочитаете версию, где трейлинг постоянно «плавает» вместе с ATR даже при боковом движении (без горизонтальных полок), можно модифицировать код, убрав функции math.max
и math.min
, и просто пересчитывать трейлинг каждый бар как close ± atr * atrMultiplier
.
Текущая реализация была выбрана осознанно, так как она обеспечивает более консервативное управление позицией — трейлинг-стоп никогда не отодвигается от достигнутой прибыли.