
Die Strategie ist ein Trend-Tracking-System, das auf dem 200-Zyklus-Einfachen Moving Average (MA200) basiert und in Kombination mit technischen Indikatoren wie dem relativ starken und schwachen RSI (RSI), dem mittleren Trendindex (ADX) und der mittleren realen Bandbreite (ATR) einen vollständigen Rahmen für Handelsentscheidungen bildet. Die Strategie ermöglicht eine effektive Risikokontrolle durch die Einstellung von dynamischen Stop-Loss- und Gewinnzielen.
Die Kernlogik der Strategie basiert auf folgenden Schlüsselpunkten:
Die Strategie baut durch die Kombination mehrerer technischer Indikatoren ein robustes Trend-Tracking-System auf. Die Strategie ist auf Risikokontrolle ausgelegt, um die Zuverlässigkeit des Handels durch dynamische Stop-Loss- und Signalbestätigungsmechanismen zu verbessern. Obwohl es einige Optimierungsmöglichkeiten gibt, ist es insgesamt eine praktisch wertvolle Handelsstrategie.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/
//@version=5
strategy("BTC/USD MA200 with RSI, ADX, ATR", overlay=true)
// Definition of the main moving average
ma_trend = ta.sma(close, 200) // Main trend filter
// Definition of RSI and ADX
rsi = ta.rsi(close, 14)
[diplus, diminus, adx] = ta.dmi(14, 14) // Correction for ADX
// Definition of ATR for Stop Loss and Take Profit
atr = ta.atr(14)
// Conditions for crossing of the MA200
crossover_condition = ta.crossover(close, ma_trend)
crossunder_condition = ta.crossunder(close, ma_trend)
// Trend confirmation after 2 bars
buy_confirmation = crossover_condition[2] and (rsi > 40) and (adx > 20) and close > ma_trend
sell_confirmation = crossunder_condition[2] and (rsi < 60) and (adx > 20) and close < ma_trend
// Definition of Stop Loss and Take Profit
take_profit = close * 1.02 // 2% profit
stop_loss = close - (1.5 * atr) // Dynamic stop based on ATR
// Execution of orders
if (buy_confirmation and strategy.opentrades == 0)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=take_profit, stop=stop_loss)
label.new(bar_index, high, "BUY", style=label.style_label_down, color=color.green, textcolor=color.white, size=size.normal)
if (sell_confirmation)
if (strategy.opentrades > 0)
strategy.close("Buy")
label.new(bar_index, low, "SELL", style=label.style_label_up, color=color.red, textcolor=color.white, size=size.normal)
// Draw the main moving average
plot(ma_trend, color=color.purple, title="MA 200")