Тенденция, следующая за стратегией прорыва импульса

Автор:Чао Чжан, Дата: 2024-01-05 13:38:18
Тэги:

img

Обзор

Стратегия называется Стратегия прорыва тренда после импульса. Она использует индикатор Super Trend для определения текущего направления тренда и объединяет его с направлением тела свечей для торговли после тренда для достижения прорывов импульса.

Логика стратегии

Основой этой стратегии является индикатор Super Trend, который рассчитывает верхние и нижние диапазоны на основе среднего истинного диапазона (ATR).

Когда индикатор Super Trend определяет восходящий тренд, если свеча является красным телом (закрытие ниже открытого), перейдите на длинный. Когда индикатор Super Trend определяет нисходящий тренд, если свеча является зеленым телом (закрытие выше открытого), перейдите на короткий. Это достигает тенденции после торговли с прорывом импульса.

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

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

Основные преимущества обобщены следующим образом:

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

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

Основными рисками этой стратегии являются:

  1. Неправильное настройка параметров может вызвать ошибочное суждение и генерировать неправильные сигналы.
  2. Только следование направлению тела светильника не может определить прочность тела, и могут возникнуть риски потери.
  3. Фиксированное соотношение риск-прибыль не может быть динамически скорректировано, и единый убыток не может контролироваться.

Контрмеры:

  1. Оптимизировать параметры индикатора Super Trend для более точного суждения.
  2. Судите о силе тела свечи, сочетая такие показатели, как объем торговли и денежный поток.
  3. Добавить динамическую стоп-потерю для контроля одиночных потерь.

Руководство по оптимизации

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

  1. Для повышения эффективности стратегии необходимо объединить более технические индикаторы для фильтрации сигналов, такие как полосы Боллинджера и KDJ.
  2. Добавить алгоритмы машинного обучения для динамической оптимизации параметров и сделать индикатор Super Trend более стабильным.
  3. Добавьте механизмы остановки потерь, чтобы остановить потери до того, как потери расширятся.
  4. Использовать продукты с двусторонними торговыми возможностями, такими как фьючерсы, чтобы в полной мере использовать как длинные, так и короткие возможности.

Резюме

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's SuperTrend Strategy v1.0", shorttitle = "ST str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
cloud = input(25, defval = 25, minval = 5, maxval = 50, title = "cloud, % of ATR")
Factor = input(title = "Super Trend", defval = 3, minval = 1, maxval = 100)
ATR = input(title = "ATR", defval = 7, minval = 1,maxval = 100)
centr = input(true, defval = true, title = "need center of ATR?")
border = input(false, defval = false, title = "need border?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Super Trend ATR 1
src = close
Up=hl2-(Factor*atr(ATR))
Dn=hl2+(Factor*atr(ATR))
TUp=close[1]>TUp[1]? max(Up,TUp[1]) : Up
TDown=close[1]<TDown[1]? min(Dn,TDown[1]) : Dn
Trend = close > TDown[1] ? 1: close< TUp[1]? -1: nz(Trend[1],1)
Tsl1 = Trend==1? TUp: TDown
Tsl2 = Trend==1? TDown: TUp
limit = (Tsl1 - Tsl2) / 100 * cloud
upcloud = Tsl1 - limit
dncloud = Tsl2 + limit

//Cloud
linecolor = Trend == 1 ? green : red
centercolor = centr == true ? blue : na
cloudcolor = Trend == 1 ? green : red
cline = (Tsl1 + Tsl2) / 2
P1 = plot(Tsl1, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-1")
P2 = plot(Tsl2, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-2")
P3 = plot(cline, color = centercolor , style = line , linewidth = 1,title = "SuperTrend Center")
P4 = plot(upcloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center+1")
P5 = plot(dncloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center-1")
fill(P1, P4, color = linecolor == red ? red : lime, transp = 50)
fill(P2, P5, color = linecolor == red ? red : lime, transp = 50)

//Signals
up = Trend == 1 and close < open //and low < cline 
dn = Trend == -1 and close > open //and high > cline

//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, needlong ? lot : 0)

if dn
    strategy.entry("Short", strategy.short, needshort ? lot : 0)


Больше