Momentum-Breakout-Strategie basierend auf Trendfolge


Erstellungsdatum: 2024-01-05 13:38:18 zuletzt geändert: 2024-01-05 13:38:18
Kopie: 0 Klicks: 695
1
konzentrieren Sie sich auf
1621
Anhänger

Momentum-Breakout-Strategie basierend auf Trendfolge

Überblick

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.

Strategieprinzip

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.

Analyse der Stärken

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:

  1. Trendsurteil und Dynamik-Eigenschaften in Kombination mit False-Break-Filter
  2. Vermeiden Sie negative Trades, indem Sie Trends in die reale Richtung verfolgen
  3. Höhere Gewinnwahrscheinlichkeit

Risikoanalyse

Die Risiken dieser Strategie bestehen vor allem aus folgenden Aspekten:

  1. Probleme mit der Einstellung von Parametern für Supertrend-Indikatoren. Fehle Einstellung von Parametern kann dazu führen, dass der Indikator falsch beurteilt wird und falsche Signale erzeugt werden.
  2. Wenn man nur die Richtung der Einheiten verfolgt, kann man nicht erkennen, ob die Einheiten stark oder schwach sind, und es besteht die Gefahr von Verlusten.
  3. Die Einzelfälle sind nicht mehr zu kontrollieren als die Einzelfälle.

Die Maßnahmen sind wie folgt:

  1. Optimierung der Supertrend-Indikatorparameter, um die Indikatorentscheidung genauer zu machen.
  2. Die Stärke eines Unternehmens wird anhand von Indikatoren wie Transaktionsvolumen und Kapitalfluss beurteilt.
  3. Steigerung der dynamischen Stop-Loss, um die Einzelschäden zu kontrollieren.

Optimierungsrichtung

Diese Strategie kann in folgenden Richtungen optimiert werden:

  1. In Kombination mit mehr technischen Kennzahlen zur Signalfilterung, wie Brinline, KDJ usw., verbessert die Strategie die Wirkung.
  2. Die Zugabe von maschinellen Lernalgorithmen, die dynamische Optimierung der Parameter und die Stabilisierung der Supertrend-Indikatoren.
  3. Ein Stop-Loss-Mechanismus, mit dem die Verluste gestoppt werden können, bevor sie größer werden.
  4. Die Verwendung von Varianten mit zwei-Wege-Trading-Charakteristiken, wie z. B. Futures, um die Möglichkeiten für eine beidseitige Option zu nutzen.

Zusammenfassen

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.

Strategiequellcode
/*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)