Динамическая стратегия прекращения потерь

Автор:Чао Чжан, Дата: 2023-11-21 15:22:44
Тэги:

img

Обзор

Динамическая стратегия стоп-лосса рассчитывает средний истинный диапазон (ATR) акций в качестве ориентира, в сочетании с коэффициентами ATR, установленными пользователями для динамического установления линий стоп-лосса и линий следа для достижения цели стоп-лосса.

Принцип стратегии

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

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

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

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

Анализ рисков

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

Оптимизация

  • Комбинировать другие показатели для определения времени торговли, избегать слепого отслеживания;
  • устанавливать правила размещения позиций и правила пирамиды для контроля рисков;
  • Добавление фильтров объема торговли или волатильности для предотвращения чрезмерной торговли;
  • Динамически регулируйте параметры ATR для оптимизации эффекта стоп-потери.

Резюме

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


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © phobo3s

//@version=4
strategy("ATR Stop Buy Strategy",shorttitle="ATR-ST",initial_capital=1000, overlay = true, default_qty_type = strategy.percent_of_equity, pyramiding = 5, default_qty_value = 20, commission_type = strategy.commission.cash_per_order, commission_value = 1, calc_on_every_tick = true)

daysBack = input(defval=120, title="Days Back", type=input.integer)
sellCoeff = input(defval=1.5, title="Selling Coefficent For ATR", type=input.float, minval= 0.01, step=0.1)
buyCoeff = input(defval=1.2, title = "Buying Coefficent For ATR", type=input.float, minval= 0.01, step=0.1)

fromDate = timenow - (daysBack*24*60*60*1000)
toDate = timenow 

ATR = atr(14)
stopLossPoint = ATR * sellCoeff
buyPoint = ATR * buyCoeff

StoplossLine =  close[1] - stopLossPoint[1]
BuyLine = close[1] + buyPoint[1]

if (high > BuyLine and time >= fromDate and time <= toDate )
    strategy.entry("GG", strategy.long, comment="Gir")
if (low < StoplossLine and strategy.position_avg_price < close and time >= fromDate and time <= toDate )
    strategy.entry("GG", strategy.short, comment="Çık")

//longFlags = close < StoplossLine
//shortFlags = close > BuyLine
//plotshape(shortFlags, style=shape.triangledown, location=location.abovebar, color=color.red)
//plotshape(longFlags, style=shape.triangleup, location=location.belowbar, color=color.blue)
plot(StoplossLine)
plot(BuyLine)

Больше