Cette stratégie est un système de suivi des tendances basé sur plusieurs moyennes mobiles et l'indicateur RSI. Elle utilise une combinaison de moyennes mobiles de 20, 50 et 200 périodes pour analyser les tendances du marché à travers leurs positions relatives, combinée à la confirmation RSI pour les signaux commerciaux.
Le noyau de la stratégie réside dans l'analyse des positions relatives de trois moyennes mobiles (MA20, MA50, MA200) pour déterminer les tendances du marché. La stratégie définit 18 scénarios de combinaison de moyennes mobiles différents, en se concentrant sur les croisements et les positions relatives. Les positions longues sont préférées lorsque les moyennes mobiles à court terme sont au-dessus des moyennes mobiles à long terme, et vice versa.
Il s'agit d'une stratégie de suivi des tendances bien structurée avec une logique claire. La combinaison de plusieurs systèmes de moyennes mobiles avec le filtrage RSI crée un système de trading relativement fiable. Le mécanisme de gestion des risques est bien conçu, protégeant les bénéfices grâce à des arrêts de trail sans sorties prématurées. Bien qu'il y ait place à l'optimisation, le cadre global est conçu scientifiquement avec une valeur d'application pratique.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Refined MA Strategy with Trailing Stop for 30m", overlay=true) // Define the moving averages TR20 = ta.sma(close, 20) TR50 = ta.sma(close, 50) TR200 = ta.sma(close, 200) // Define the RSI for additional filtering rsi = ta.rsi(close, 14) // Define the scenarios scenario1 = TR20 > TR50 and TR50 > TR200 scenario2 = TR50 > TR20 and TR20 > TR200 scenario3 = TR200 > TR50 and TR50 > TR20 scenario4 = TR50 > TR200 and TR200 > TR20 scenario5 = TR20 > TR200 and TR200 > TR50 scenario6 = TR200 > TR20 and TR20 > TR50 scenario7 = TR20 == TR50 and TR50 > TR200 scenario8 = TR50 == TR20 and TR20 > TR200 scenario9 = TR200 == TR50 and TR50 > TR20 scenario10 = TR20 > TR50 and TR50 == TR200 scenario11 = TR50 > TR20 and TR20 == TR200 scenario12 = TR20 > TR50 and TR50 == TR200 scenario13 = TR20 == TR50 and TR50 == TR200 scenario14 = TR20 > TR50 and TR200 == TR50 scenario15 = TR50 > TR20 and TR200 == TR50 scenario16 = TR20 > TR50 and TR50 == TR200 scenario17 = TR20 > TR50 and TR50 == TR200 scenario18 = TR20 > TR50 and TR50 == TR200 // Entry conditions longCondition = (scenario1 or scenario2 or scenario5) and rsi < 70 shortCondition = (scenario3 or scenario4 or scenario6) and rsi > 30 // Execute trades based on scenarios with 50 points stop loss and 1:10 RR, using a trailing stop of 25 points if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit", from_entry="Long", limit=close + 250, trail_offset=25) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit", from_entry="Short", limit=close - 250, trail_offset=25)