
Die Strategie ist ein Handelssystem, das auf mittleren und langen Index-Moving Averages (EMA) basiert, kombiniert mit dynamischen Positionsmanagement- und Risikokontrollmechanismen. Die Strategie identifiziert Markttrends durch 21-Zyklus- und 55-Zyklus-EMA-Kreuzungen und passt die Positionsgröße dynamisch an die Risikogewinn- und Risikoprozentsätze an, die der Benutzer anpasst, um eine genaue Kontrolle des Risikos zu erzielen.
Die Kernlogik der Strategie basiert auf EMA-Kreuzsignalen aus zwei Zeitzyklen. Wenn ein 21-Zyklus-EMA nach oben über die 55-Zyklus-EMA geht, erkennt das System einen Aufwärtstrend und löst ein Mehrfachsignal aus. Wenn ein 21-Zyklus-EMA nach unten über die 55-Zyklus-EMA geht, erkennt das System einen Abwärtstrend und löst ein Leerlaufsignal aus. Die Stop-Loss-Position wird mit dem niedrigsten Punkt der letzten beiden K-Linien (<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Die Strategie baut ein vollständiges Handelssystem auf, indem sie EMA-Trendsignale und dynamisches Risikomanagement kombiniert. Die Kernvorteile der Strategie liegen in ihrer wissenschaftlichen Positionshaltung und Risikokontrollmechanismen, aber immer noch erfordern sie eine angemessene Parameteroptimierung entsprechend der Marktumgebung und der persönlichen Risikopräferenzen. Durch die empfohlene Optimierungsrichtung werden die Stabilität und die Profitabilität der Strategie voraussichtlich weiter verbessert.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-07-11 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Carlos Humberto Rodríguez Arias
//@version=5
strategy("EMA Crossover Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// EMA periods
MT_EMA = input.int(21, title="Medium Term EMA")
LT_EMA = input.int(55, title="Long Term EMA")
RR = input.float(2.0, title="Risk-Reward Ratio") // User-defined RR
RiskPercent = input.float(1.0, title="Risk Percentage") // User-defined risk percentage
// Calculate EMAs
Signal_MT_EMA = ta.ema(close, MT_EMA)
Signal_LT_EMA = ta.ema(close, LT_EMA)
// Plot EMAs
plot(Signal_MT_EMA, title="Medium Term EMA", color=color.orange, linewidth=2)
plot(Signal_LT_EMA, title="Long Term EMA", color=color.blue, linewidth=2)
// Determine trend conditions
uptrend = ta.crossover(Signal_MT_EMA, Signal_LT_EMA)
downtrend = ta.crossunder(Signal_MT_EMA, Signal_LT_EMA)
// Stop-Loss Calculations
longStopLoss = ta.lowest(low, 2) // SL for buy = lowest low of last 2 candles
shortStopLoss = ta.highest(high, 2) // SL for sell = highest high of last 2 candles
// Take-Profit Calculations
longTakeProfit = close + (close - longStopLoss) * RR
shortTakeProfit = close - (shortStopLoss - close) * RR
// Calculate Position Size based on Risk Percentage
capital = strategy.equity * (RiskPercent / 100)
longPositionSize = capital / (close - longStopLoss)
shortPositionSize = capital / (shortStopLoss - close)
// Execute Buy Order
if uptrend
strategy.entry("Long", strategy.long, qty=longPositionSize)
strategy.exit("Long Exit", from_entry="Long", stop=longStopLoss, limit=longTakeProfit)
// Execute Sell Order
if downtrend
strategy.entry("Short", strategy.short, qty=shortPositionSize)
strategy.exit("Short Exit", from_entry="Short", stop=shortStopLoss, limit=shortTakeProfit)