Diese Strategie berechnet den gleitenden Durchschnitt und die Kursänderungsrate, um festzustellen, ob sich der aktuelle Zustand in einem Aufwärtstrend oder einem Abwärtstrend in Kombination mit K-Linien über einen bestimmten Zeitraum befindet, und geht dementsprechend lang oder kurz.
Diese Strategie berechnet zunächst den einfachen gleitenden Durchschnitt a der Länge l und die Preisänderungsrate r der Länge l. Dann berechnet sie die Differenz k zwischen dem aktuellen K-Linienpreis und dem gleitenden Durchschnitt. Schließlich berechnet sie die Summe der Summe von k über die vergangenen s K-Linien.
Wenn sum>0 ist, zeigt es einen aktuellen Aufwärtstrend an und die Strategie wird lang gehen. Wenn sum<0 ist, zeigt es einen aktuellen Abwärtstrend an und die Strategie wird kurz gehen.
Nach dem Long- oder Short-Gehen wird die Position gehalten, bis sich der Trend umkehrt (die Summe ändert sich von positiv auf negativ oder umgekehrt), danach wird die Position geschlossen.
Der größte Vorteil dieser Strategie besteht darin, dass sie den Trend erfassen kann und für den Trendhandel geeignet ist.
Die Verwendung des gleitenden Durchschnitts zur Bestimmung der allgemeinen Trendrichtung kann Marktlärm effektiv filtern und den Haupttrend festhalten.
Die Anwendung des Indikators für die Preisänderungsrate zur Messung der Dynamikstärke verhindert, dass eine starke Dynamik fehlt.
Die Berücksichtigung mehrerer K-Linien über einen Zeitraum kann den Trend genauer bestimmen und verhindern, dass einzelne Ausreißer Sie irreführen.
Solange der Trend unverändert bleibt, halten Sie die Position, um die Gewinne aus dem Trendmarkt zu maximieren.
Die wichtigsten Risiken dieser Strategie sind:
Die Unfähigkeit, die Endzeit des Trends genau zu bestimmen, kann Verluste vorzeitig stoppen oder einige Gewinne verpassen.
Da es nicht möglich ist, die Größe eines einzelnen Verlustes wirksam zu kontrollieren, können Verluste unter extremen Marktbedingungen groß sein.
Unzulängliche Strategieparameter können zu einem zu häufigen Handel oder zu fehlenden Handelsmöglichkeiten führen.
Langfristige Beteiligungen können mit einem Übernachtzins- und Marginrisiko konfrontiert sein.
Um Risiken zu kontrollieren, können wir Stop-Loss-Punkte festlegen, nur mit hochliquiden Produkten handeln, Parameter optimieren und Hebelwirkung vernünftig nutzen.
Die wichtigsten Aspekte zur Optimierung dieser Strategie sind:
Testen Sie gleitende Durchschnitte und Kursänderungsraten unterschiedlicher Längen, um die beste Parameterkombination zu finden.
Versuchen Sie andere Indikatoren wie den MACD, um den Trend besser zu bestimmen und die Genauigkeit weiter zu verbessern.
Hinzufügen von Positionsmanagementmechanismen, wie z. B. Gewinn nach Gewinn, um Einzelverluste zu kontrollieren.
Einbeziehung von Volatilitätsindikatoren zur Festlegung dynamischer Stopps zur Verringerung von Risiken bei extremen Marktbedingungen.
Optimierung der Ein- und Ausstiegslogik, um falsche Ausbrüche zu filtern und die Effizienz des Handels zu verbessern.
Die Gesamtlogik dieser Strategie ist klar und einfach umzusetzen. Durch die Verfolgung von Trends für den langfristigen Holding-Handel ist die Drawdown-Kontrolle relativ angemessen. Sie eignet sich für Anleger, die nach stabilen Renditen suchen. Durch die weitere Optimierung des Stop Loss und des Positionsmanagements können gute langfristige stabile Renditen erwartet werden.
/*backtest start: 2023-12-03 00:00:00 end: 2023-12-10 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=662, overlay=false) l = input(defval=170,title="Length for indicator") s = input(title="Length of summation",defval=18) a= sma(close,l) r=roc(close,l) k=close-a sum = 0 for i = 0 to s sum := sum + k[i] //plot(a,color=yellow,linewidth=2,transp=0) //bc = iff( sum > 0, white, teal) //plot(sum,color=bc, transp=20, linewidth=3,style=columns) //plot(sma(sum,3),color=white) //hline(0) inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na ////buyEntry = crossover(source, lower) ////sellEntry = crossunder(source, upper) if sum>0 strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if sum<0 strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands", comment="BBandSE") else strategy.cancel(id="BBandSE") strategy.initial_capital = 50000 plot(strategy.equity-strategy.initial_capital-strategy.closedtrades*.25/2, title="equity", color=red, linewidth=2) hline(0) //longCondition = sum>0 //exitlong = sum<0 //shortCondition = sum<0 //exitshort = sum>0 //strategy.entry(id = "Long", long=true, when = longCondition) //strategy.close(id = "Long", when = exitlong) //strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong) //strategy.entry(id = "Short", long=false, when = shortCondition) //strategy.close(id = "Short", when = exitshort) //strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)