Cette stratégie est une stratégie de croisement de moyenne mobile simple. Elle va long lorsque l'EMA rapide traverse au-dessus de l'EMA lente et court lorsque l'EMA rapide traverse au-dessous de l'EMA lente. La stratégie intègre un stop loss, un take profit et un break-even pour contrôler efficacement les risques.
La stratégie est basée sur des moyennes mobiles rapides et lentes. La ligne rapide est une EMA de 9 jours et la ligne lente est une EMA de 21 jours. Elle va long lorsque la ligne rapide traverse au-dessus de la ligne lente d'en bas. Elle va courte lorsque la ligne rapide traverse au-dessous de la ligne lente d'en haut. Les sorties sont déclenchées par des croisements inversés.
Le stop loss est fixé en fonction d'un pourcentage de clôture. Le take profit est fixé en fonction d'un pourcentage de clôture. Le break-even stop loss se déplace au prix d'entrée lorsque le prix atteint le niveau de break-even.
Les avantages de cette stratégie sont les suivants:
Il y a des risques:
Les solutions:
La stratégie peut être optimisée par:
Dans l'ensemble, cette stratégie d'or croisé à moyenne mobile a une logique claire et est facile à mettre en œuvre. Avec le stop loss, le profit et le break-even, elle contrôle les risques. Avec un ajustement et une optimisation appropriés des paramètres pour différents marchés, elle peut obtenir de bonnes performances. Mais les risques de fouets et la difficulté de l'optimisation des paramètres doivent être notés.
/*backtest start: 2022-12-20 00:00:00 end: 2023-12-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("XAUUSD Strategy with SL, TP, and BE", shorttitle="EA", overlay=true) // Define strategy parameters fastLength = input(9, title="Fast EMA Length") slowLength = input(21, title="Slow EMA Length") stopLossPercent = input(1, title="Stop Loss (%)", minval=0, maxval=5) / 100 takeProfitPercent = input(2, title="Take Profit (%)", minval=0, maxval=5) / 100 breakEvenPercent = input(1, title="Break Even (%)", minval=0, maxval=5) / 100 // Calculate EMAs fastEMA = ema(close, fastLength) slowEMA = ema(close, slowLength) // Plot EMAs on the chart plot(fastEMA, color=color.blue, title="Fast EMA") plot(slowEMA, color=color.red, title="Slow EMA") // Strategy logic enterLong = crossover(fastEMA, slowEMA) exitLong = crossunder(fastEMA, slowEMA) enterShort = crossunder(fastEMA, slowEMA) exitShort = crossover(fastEMA, slowEMA) // Calculate stop loss, take profit, and break-even levels longStopLoss = close * (1 - stopLossPercent) longTakeProfit = close * (1 + takeProfitPercent) shortStopLoss = close * (1 + stopLossPercent) shortTakeProfit = close * (1 - takeProfitPercent) longBreakEven = close * (1 + breakEvenPercent) shortBreakEven = close * (1 - breakEvenPercent) // Execute strategy with stop loss, take profit, and break-even strategy.entry("Long", strategy.long, when = enterLong) strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", profit = longTakeProfit, loss = longStopLoss) strategy.entry("Short", strategy.short, when = enterShort) strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", profit = shortTakeProfit, loss = shortStopLoss) // Move stop loss to break even when price reaches break-even level strategy.exit("Break Even Long", from_entry="Long", loss = longBreakEven) strategy.exit("Break Even Short", from_entry="Short", loss = shortBreakEven)