Стратегия ATR с регулируемой стратегией остановки потерь

Автор:Чао Чжан, Дата: 2023-10-25 15:08:04
Тэги:

img

Эта стратегия использует индикатор ATR для расчета динамической линии стоп-лосса для контроля рисков.

Обзор

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

Принципы

Стратегия использует индикатор ATR и функцию Highest для расчета динамической линии стоп-лосса.

TS=highest(high-Mult*atr(Atr),Hhv) 

где Atr - параметр периода ATR, Hhv - параметр периода просмотра функции Highest, а Mult - коэффициент ATR.

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

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

Преимущества

  1. Динамический стоп-лосс для своевременного получения прибыли

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

  1. Избегайте ненужных стоп-лосс

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

  1. Регулируемый диапазон стоп-потери

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

  1. Контролируемый риск

ATR динамически рассчитывает диапазон стоп-лосса, позволяя разумные диапазоны стоп-лосса в зависимости от волатильности рынка для контроля риска на одну сделку.

Риски

  1. Слишком агрессивный режим стоп-лосса при высокой волатильности

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

  1. Трудно адаптироваться к резким переломам

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

  1. Сложная оптимизация

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

Оптимизация

  1. Оптимизировать период ATR

Увеличить период ATR, чтобы уменьшить чрезмерно частое регулирование линии остановки, но ценой большей потери за остановку.

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

Увеличьте максимальный период, чтобы сделать линию более стабильной, но сбалансируйте скорость отслеживания.

  1. Испытать различные коэффициенты ATR

Выберите подходящие мультипликаторы ATR в соответствии с характеристиками прибора.

  1. Добавить фильтр тренда

Добавление фильтра тренда уменьшает вероятность того, что остановки будут вызваны реверсиями.

Резюме

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


/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 30m
basePeriod: 15m
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/
// © ceyhun

//@version=4
strategy("ATR Trailing Stoploss Strategy ",overlay=true)

Atr=input(defval=5,title="Atr Period",minval=1,maxval=500)
Hhv=input(defval=10,title="HHV Period",minval=1,maxval=500)
Mult=input(defval=2.5,title="Multiplier",minval=0.1)
Barcolor=input(true,title="Barcolor")

TS=highest(high-Mult*atr(Atr),Hhv),barssince(close>highest(high-Mult*atr(Atr),Hhv) and close>close)
Color=iff(close>TS,color.green,iff(close<TS,color.red,color.black))
barcolor(Barcolor? Color:na)

plot(TS,color=Color,linewidth=3,title="ATR Trailing Stoploss")

Buy  = crossover(close,TS)
Sell = crossunder(close,TS)

if Buy
    strategy.entry("Buy", strategy.long, comment="Buy")
    
if Sell
    strategy.entry("Sell", strategy.short, comment="Sell")

Больше