Стратегия ATR trailing stop loss


Дата создания: 2023-09-26 20:23:13 Последнее изменение: 2023-09-26 20:23:13
Копировать: 1 Количество просмотров: 974
1
Подписаться
1617
Подписчики

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

Стратегический принцип

Эта стратегия формирует торговый канал, рассчитывая показатель AVERAGE (средний уровень цены), а также DIFF и DIFFLOW, рассчитанные на основе показателей ATR. Когда цена выходит на траекторию DIFF, она делает плюс, а когда цена выходит на траекторию DIFFLOW, она делает пустоту.

В частности, сначала стратегия рассчитывает простые движущиеся средние цены и показатели ATR, а затем вычисляет находящиеся на трассе DIFF и находящиеся на трассе DIFFLOW, умноженные на ATR. Это создает торговый канал, верхняя и нижняя границы которого определяются DIFF и DIFFLOW.

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

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Используя динамический стоп-пойнт с помощью ATR, можно гибко устанавливать стоп-пойнт в зависимости от степени волатильности рынка, чтобы избежать стоп-пойнтов слишком близко или слишком далеко.

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

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

  4. Простые параметры и правила торговли, которые легко понять и реализовать, подходят для автоматической торговли.

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

Анализ рисков и оптимизации

В этой стратегии также есть некоторые риски, о которых следует помнить:

  1. ATR параметры установлены слишком высоко, что может привести к тому, что остановка будет слишком далеко, чтобы эффективно контролировать риск. Рекомендуется установить коэффициент ATR в 1-3 раза больше суточной ATR.

  2. В консолидированном рынке, активный обмен, большие колебания цен, часто вызывают остановку. Можно соответствующим образом скорректировать коэффициент ATR, чтобы снизить частоту вызывания остановки.

  3. Часть времени цена может прорваться через канал, а затем повернуть назад, и тогда стратегия будет иметь убытки. Можно использовать трендовый фильтр, который вступает в игру только тогда, когда тренд прорывает канал.

  4. При большом отклонении, остановка может не играть очень хорошую защитную роль. Можно рассмотреть возможность добавления максимальной остановки, чтобы избежать чрезмерной остановки.

Эта стратегия может быть оптимизирована следующим образом:

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

  2. Включайте индикаторы для определения тренда, делайте больше только в случае повышения тренда, делайте пустоту в случае снижения тренда, избегайте торговли вне тренда.

  3. Для различных сортов параметры тестирования, чтобы найти подходящее сочетание параметров для каждого сорта.

  4. Оптимизация возможностей поступления, возможно рассмотрение поступления при прорыве центральной оси прохода.

  5. “Мы должны увеличить объемы наших сделок, но не допустить, чтобы общие убытки были слишком велики”.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Investoz

//@version=4
strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(26, type=input.integer, minval=1, title="Length")
mul = input(1, type=input.float, minval=0, title="Length")
mullow = input(2, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk())
    strategy.entry("KOP", strategy.long, when=bull_cross)
    strategy.close("KOP", when=bear_cross)  
    strategy.entry("SALJ", strategy.short, when=bear_cross)
    strategy.close("SALJ", when=bull_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)