
Es handelt sich um eine quantitative Handelsstrategie, die auf dem Mean Return-Prinzip basiert und technische Indikatoren wie die Brin-Band, den Relative Strength Index (RSI) und den Average True Rate (ATR) kombiniert, um den Handel durch die Identifizierung von Überkauf-Überverkauf-Zuständen in den Märkten durchzuführen. Die Strategie verwendet ein niedriges Risiko-Rendite-Verhältnis, um die Gewinnquote zu erhöhen, und um das Risiko durch Kapitalmanagement zu kontrollieren.
Die Strategie umfasst die folgenden Aspekte:
Die Strategie baut ein robustes Handelssystem auf, indem sie die Mean Return-Prinzipien und mehrere technische Indikatoren kombiniert. Eine Einstellung mit einem niedrigen Risiko-Rendite-Verhältnis trägt zur Erhöhung der Gewinnquote bei, während ein strenges Risikomanagement die Sicherheit der Gelder gewährleistet. Obwohl einige inhärente Risiken vorhanden sind, wird die Strategie durch kontinuierliche Optimierung und Verbesserung eine bessere Leistung erbringen.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-11-11 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("High Win Rate Mean Reversion Strategy for Gold", overlay=true)
// Input Parameters
bbLength = input.int(20, title="Bollinger Bands Length")
bbMult = input.float(2, title="Bollinger Bands Multiplier")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
atrLength = input.int(14, title="ATR Length")
rrRatio = input.float(0.75, title="Risk/Reward Ratio", step=0.05) // Lower RRR to achieve a high win rate
riskPerTrade = input.float(2.0, title="Risk per Trade (%)", step=0.1) / 100 // 2% risk per trade
// Bollinger Bands Calculation
basis = ta.sma(close, bbLength)
dev = bbMult * ta.stdev(close, bbLength)
upperBand = basis + dev
lowerBand = basis - dev
// RSI Calculation
rsi = ta.rsi(close, rsiLength)
// ATR Calculation for Stop Loss
atr = ta.atr(atrLength)
// Entry Conditions: Mean Reversion
longCondition = close < lowerBand and rsi < rsiOversold
shortCondition = close > upperBand and rsi > rsiOverbought
// Stop Loss and Take Profit based on ATR
longStopLoss = close - atr * 1.0 // 1x ATR stop loss for long trades
shortStopLoss = close + atr * 1.0 // 1x ATR stop loss for short trades
longTakeProfit = close + (close - longStopLoss) * rrRatio // 0.75x ATR take profit
shortTakeProfit = close - (shortStopLoss - close) * rrRatio // 0.75x ATR take profit
// Calculate position size based on risk
equity = strategy.equity
riskAmount = equity * riskPerTrade
qtyLong = riskAmount / (close - longStopLoss)
qtyShort = riskAmount / (shortStopLoss - close)
// Long Trade
if (longCondition)
strategy.entry("Long", strategy.long, qty=qtyLong)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
// Short Trade
if (shortCondition)
strategy.entry("Short", strategy.short, qty=qtyShort)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)
// Plot Bollinger Bands
plot(upperBand, color=color.red, linewidth=2, title="Upper Bollinger Band")
plot(lowerBand, color=color.green, linewidth=2, title="Lower Bollinger Band")
plot(basis, color=color.gray, linewidth=2, title="Bollinger Basis")
// Plot RSI for visual confirmation
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")