
La stratégie est un système de trading quantitatif basé sur le croisement des moyennes mobiles à 5 cycles et des moyennes mobiles à 15 cycles (EMA). La stratégie utilise le signal de croisement de la ligne de parité classique pour identifier les changements de tendance du marché et, combinée à un mécanisme de gestion des risques, pour contrôler le taux de profit et de perte de chaque transaction.
Le cœur de la stratégie est de surveiller l’intersection entre les moyennes mobiles rapides (EMA de 5 cycles) et les moyennes mobiles lentes (EMA de 15 cycles). Lorsque l’EMA de 5 cycles monte et traverse l’EMA de 15 cycles, le système génère un signal de multiplication; lorsque l’EMA de 5 cycles descend et traverse l’EMA de 15 cycles, le système génère un signal de rupture. Pour chaque signal de transaction, le système définit automatiquement un point d’arrêt de 1,5% et un point d’arrêt de 3%, ce qui garantit un bon rapport de risque-rendement.
Il s’agit d’une stratégie de trading quantifiée, structurée et logiquement claire. La stratégie est simple à utiliser, convient aux débutants et fournit une bonne base pour une optimisation ultérieure. Il est recommandé aux traders de faire un retour d’expérience adéquat avant de l’utiliser sur le terrain et d’optimiser les paramètres en fonction des caractéristiques spécifiques du marché.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true)
// Define EMAs
ema5 = ta.ema(close, 5)
ema15 = ta.ema(close, 15)
// Plot EMAs on the chart
plot(ema5, title="5 EMA", color=color.blue)
plot(ema15, title="15 EMA", color=color.red)
// Crossover conditions
longCondition = ta.crossover(ema5, ema15)
shortCondition = ta.crossunder(ema5, ema15)
// Stop-loss and take-profit percentage
stopLossPercent = 1.5 // Stop-loss at 1.5%
takeProfitPercent = 3.0 // Take-profit at 3%
// Calculate stop-loss and take-profit levels for long and short positions
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100)
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100)
shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100)
// Enter long position with stop-loss and take-profit
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit)
// Enter short position with stop-loss and take-profit
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit)
// Plot stop-loss and take-profit levels
plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)
plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)