Cette stratégie combine plusieurs indicateurs techniques tels que les moyennes mobiles, le RSI et le stochastique pour évaluer la tendance des prix et les niveaux de surachat/survente pour les signaux commerciaux.
La logique de la stratégie:
Utilisez plusieurs EMA pour déterminer l'évolution globale des prix.
Calculer le RSI et le stochastique pour les niveaux de surachat/survente.
Entrez long lorsque les EMA donnent un signal haussier, le RSI n'est pas suracheté et le Stoch n'est pas suracheté.
Entrez à court lorsque les EMA donnent un signal d'abaissement, le RSI n'est pas survendu et le Stoch n'est pas survendu.
Sortie lorsque l'un des indicateurs donne le signal opposé.
Les avantages:
La vérification par plusieurs indicateurs améliore la précision.
Les indicateurs se complètent pour une meilleure évaluation du marché.
Des règles commerciales claires facilitent les tests antérieurs et l'exécution.
Les risques:
Éviter une redondance excessive entre les indicateurs.
Optimisation multi-indicateur complexe.
Plus d'indicateurs n'améliorent pas nécessairement les performances.
En résumé, l'approche multi-indicateurs peut améliorer les décisions dans une certaine mesure, mais nécessite d'équilibrer la difficulté d'optimisation et la redondance pour des stratégies simples et fiables.
/*backtest start: 2022-09-06 00:00:00 end: 2023-09-12 00:00:00 period: 3d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // strategy(title='Combined Strategy', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=.0020, pyramiding=0, slippage=3, overlay=true) //----------// // MOMENTUM // //----------// ema8 = ta.ema(close, 5) ema13 = ta.ema(close, 9) ema21 = ta.ema(close, 13) ema34 = ta.ema(close, 21) ema55 = ta.ema(close, 34) plot(ema8, color=color.new(color.red, 0), style=plot.style_line, title='5', linewidth=1) plot(ema13, color=color.new(color.orange, 0), style=plot.style_line, title='9', linewidth=1) plot(ema21, color=color.new(color.yellow, 0), style=plot.style_line, title='13', linewidth=1) plot(ema34, color=color.new(color.aqua, 0), style=plot.style_line, title='21', linewidth=1) plot(ema55, color=color.new(color.lime, 0), style=plot.style_line, title='34', linewidth=1) longEmaCondition = ema8 > ema13 and ema13 > ema21 and ema21 > ema34 and ema34 > ema55 exitLongEmaCondition = ema13 < ema55 shortEmaCondition = ema8 < ema13 and ema13 < ema21 and ema21 < ema34 and ema34 < ema55 exitShortEmaCondition = ema13 > ema55 // ---------- // // OSCILLATORS // // ----------- // rsi = ta.rsi(close, 14) longRsiCondition = rsi < 70 and rsi > 40 exitLongRsiCondition = rsi > 70 shortRsiCondition = rsi > 30 and rsi < 60 exitShortRsiCondition = rsi < 30 Stochastic length = 14, smoothK = 3, smoothD = 3 kFast = ta.stoch(close, high, low, 14) dSlow = ta.sma(kFast, smoothD) longStochasticCondition = kFast < 80 exitLongStochasticCondition = kFast > 95 shortStochasticCondition = kFast > 20 exitShortStochasticCondition = kFast < 5 //----------// // STRATEGY // //----------// longCondition = longEmaCondition and longRsiCondition and longStochasticCondition and strategy.position_size == 0 exitLongCondition = (exitLongEmaCondition or exitLongRsiCondition or exitLongStochasticCondition) and strategy.position_size > 0 if (longCondition) strategy.entry("LONG", strategy.long) if (exitLongCondition) strategy.close("LONG") shortCondition = shortEmaCondition and shortRsiCondition and shortStochasticCondition and strategy.position_size == 0 exitShortCondition = (exitShortEmaCondition or exitShortRsiCondition or exitShortStochasticCondition) and strategy.position_size < 0 if (shortCondition) strategy.entry("SHORT", strategy.short) if (exitShortCondition) strategy.close("SHORT")