
Diese Strategie nennt sich Trend-basierte Dynamik-Breakout-Strategie. Die Strategie nutzt Supertrend-Indikatoren, um die Richtung des aktuellen Trends zu bestimmen, und kombiniert die Richtung der K-Linie-Einheiten mit dem Trend-Tracking, um Dynamik-Breakout-Handel zu erzielen.
Die Strategie beruht hauptsächlich auf dem SuperTrend, um die aktuelle Trendrichtung zu bestimmen. Der SuperTrend-Indikator kombiniert die durchschnittliche reale Breite des ATR, um einen Auf- und Abwärtstrend zu berechnen. Bei einem Kursbruch ist dies ein bullish Signal, bei einem Kursbruch ein bullish Signal.
Wenn der Supertrend-Indikator als Aufwärtstrend beurteilt wird, wird ein Plus getätigt, wenn die K-Linie eine rote Entität ist (die Schlusskosten liegen unter dem Eröffnungspreis); wenn der Supertrend-Indikator als Abwärtstrend beurteilt wird, wird ein Null getätigt, wenn die K-Linie eine grüne Entität ist (die Schlusskosten liegen über dem Eröffnungspreis). So wird ein dynamischer Trendbruch erzielt.
Diese Strategie kombiniert Trendbeurteilung und Dynamik-Eigenschaften, um die Effektivität von Handelssignalen zu verbessern. Darüber hinaus kann der Trend verfolgt werden, um zu handeln, um Gegenbewegungen zu vermeiden und die Gewinnwahrscheinlichkeit erheblich zu erhöhen.
Die Vorzüge sind:
Die Risiken dieser Strategie bestehen vor allem aus folgenden Aspekten:
Die Maßnahmen sind wie folgt:
Diese Strategie kann in folgenden Richtungen optimiert werden:
Diese Strategie eignet sich im Allgemeinen sehr gut für mittlere und kurzfristige Positionen. Durch die Kombination von Trendbeurteilung und Durchbruchdynamik können Geräusche wirksam gefiltert und die Gewinnrate erhöht werden. Die Strategie bietet auch Raum für eine gewisse Parameteroptimierung, die durch weitere Optimierung eine bessere Strategiewirkung erzielen kann.
/*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)