Cette stratégie combine les moyennes mobiles exponentielles (MEI) à 8 périodes et à 21 périodes avec l'indicateur SAR parabolique pour capturer les tendances et gérer les risques.
La stratégie utilise deux EMA avec des périodes différentes (8 périodes et 21 périodes) et l'indicateur SAR parabolique pour déterminer les conditions d'entrée et de sortie. Lorsque l'EMA à court terme dépasse l'EMA à long terme et que le prix de clôture est supérieur au SAR, la stratégie ouvre une position longue. Lorsque l'EMA à court terme dépasse l'EMA à long terme et que le prix de clôture est inférieur au SAR, la stratégie ouvre une position courte. Les positions longues sont fermées lorsque le prix de clôture tombe en dessous du SAR, tandis que les positions courtes sont fermées lorsque le prix de clôture dépasse le SAR.
La stratégie de combinaison EMA et Parabolic SAR tente de capturer les tendances et de contrôler le risque en combinant deux indicateurs techniques couramment utilisés. La stratégie est simple et facile à comprendre, ce qui la rend adaptée aux débutants pour apprendre et utiliser. Cependant, la stratégie présente également certaines limitations, telles qu'une adaptabilité insuffisante à la volatilité du marché et un manque de considération du sentiment du marché et des facteurs fondamentaux. Par conséquent, dans les applications pratiques, la stratégie doit être optimisée et améliorée en fonction de marchés et d'instruments de trading spécifiques pour améliorer sa stabilité et sa rentabilité.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA and Parabolic SAR Strategy", overlay=true) // Input parameters for EMAs and Parabolic SAR emaShortPeriod = input.int(8, title="Short EMA Period") emaLongPeriod = input.int(21, title="Long EMA Period") sarStart = input.float(0.02, title="Parabolic SAR Start") sarIncrement = input.float(0.02, title="Parabolic SAR Increment") sarMaximum = input.float(0.2, title="Parabolic SAR Maximum") fixedSL = input.int(83, title="Fixed Stop Loss (pts)") // Calculate EMAs and Parabolic SAR emaShort = ta.ema(close, emaShortPeriod) emaLong = ta.ema(close, emaLongPeriod) sar = ta.sar(sarStart, sarIncrement, sarMaximum) // Entry conditions longCondition = ta.crossover(emaShort, emaLong) and close > sar shortCondition = ta.crossunder(emaShort, emaLong) and close < sar // Exit conditions longExitCondition = close < sar shortExitCondition = close > sar // Strategy entry and exit if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (longExitCondition) strategy.close("Long") if (shortExitCondition) strategy.close("Short") // Fixed Stop Loss strategy.exit("Long Exit", "Long", stop=close - fixedSL * syminfo.mintick) strategy.exit("Short Exit", "Short", stop=close + fixedSL * syminfo.mintick) // Exit all positions at 15:15 exitHour = 15 exitMinute = 15 exitTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow), exitHour, exitMinute) if (timenow >= exitTime) strategy.close_all() // Plot EMAs and Parabolic SAR plot(emaShort, color=color.blue, title="8 EMA") plot(emaLong, color=color.red, title="21 EMA") plot(sar, style=plot.style_cross, color=color.green, title="Parabolic SAR")