
Die Strategie ist ein Handelssystem, das auf einem Trendliniebruch basiert und die Konzepte von Moving Averages und Price Breakthroughs kombiniert. Im Mittelpunkt der Strategie steht die Erzeugung von Handelssignalen durch die Überwachung von Breakouts des Schlusskurses gegenüber dem Moving Average und die Einstellung von Stops und Stopps im Verhältnis 2:1 auf Basis der jüngsten Tiefststände zur Risikomanagement. Die Strategie verwendet einen einfachen Moving Average als Trendindikator, um die Änderung der Trendrichtung durch die Kreuzung von Preisen mit der Durchschnittslinie zu beurteilen.
Die Strategie verwendet einen einfachen Moving Average (SMA) von 20 Zyklen als Trendindikator. Wenn der Schlusskurs von unterhalb der Durchschnittslinie nach oben springt, erzeugt das System mehrere Signale. Die Stop-Loss-Position wurde auf den niedrigsten Punkt der letzten 7 K-Linien gesetzt, um zu vermeiden, dass sie zu nahe an der Einstiegsposition liegt.
Dies ist eine strukturierte, logisch klare Trend-Follow-Strategie. Die Signalgebung durch Breaking Moving Averages, die mit einem vernünftigen Risikomanagementsystem kombiniert wird, ist von guter praktischer Bedeutung. Obwohl einige inhärente Risiken bestehen, kann die Stabilität und Ertragsfähigkeit der Strategie durch die empfohlene Optimierungsrichtung weiter verbessert werden. Die Strategie ist für den Einsatz in einem marktüblichen Trendumfeld geeignet, wobei der Händler die Parameter-Einstellungen an die spezifischen Merkmale des Marktes anpassen kann.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trend Breakout with SL and TP", overlay=true)
// Parametrlar
length = input(25, title="Length for SL Calculation")
trendLength = input(20, title="Trend Line Length")
// Trend chizig'ini hisoblash
trendLine = ta.sma(close, trendLength)
// Yopilish narxi trend chizig'ini yorib o'tganda signal
longSignal = close > trendLine and close[1] <= trendLine
// Oxirgi 7 shamning minimumini hisoblash
lowestLow = ta.lowest(low, 7)
// Stop Loss darajasini belgilash
longSL = lowestLow // SL oxirgi 7 shamning minimumiga teng
// Take Profit darajasini SL ga nisbatan 2 baravar ko'p qilib belgilash
longTP = longSL + (close - longSL) * 2 // TP 2:1 nisbatida
// Savdo bajarish
if longSignal
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", limit=longTP)
strategy.exit("Stop Loss", "Long", stop=longSL)
// Grafikda trend chizig'ini chizish
plot(trendLine, title="Trend Line", color=color.blue, linewidth=2)
// Signal chizish
plotshape(longSignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
// SL va TP darajalarini ko'rsatish
// if longSignal
// // SL chizig'i
// line.new(bar_index, longSL, bar_index + 1, longSL, color=color.red, width=2, style=line.style_dashed)
// // TP chizig'i
// line.new(bar_index, longTP, bar_index + 1, longTP, color=color.green, width=2, style=line.style_dashed)
// // SL va TP label'larini ko'rsatish
// label.new(bar_index, longSL, "SL: " + str.tostring(longSL), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)
// label.new(bar_index, longTP, "TP: " + str.tostring(longTP), color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)