
La stratégie est une stratégie de suivi de la tendance basée sur un système de multiples courbes et un indicateur RSI. La stratégie utilise une combinaison de moyennes mobiles de 20, 50 et 200 cycles pour juger de la tendance du marché en analysant la relation de position entre les différentes courbes, et la confirmation des signaux de négociation en combinaison avec l’indicateur RSI. La stratégie définit des objectifs de stop-loss et de profit dynamiques pour protéger les profits réalisés en suivant les stop-loss.
Le cœur de la stratégie est de déterminer les tendances du marché en analysant la relation de position relative entre trois courbes moyennes (MA20, MA50, MA200). La stratégie définit 18 scénarios de combinaison de courbes moyennes différents, en se concentrant principalement sur les croisements de courbes moyennes et la relation de position.
Il s’agit d’une stratégie de suivi de tendance structurée et logiquement claire. Grâce à l’utilisation combinée d’un système de lignes de cotation multiples, combinée au filtrage de l’indicateur RSI, un système de négociation relativement fiable est formé. Le mécanisme de gestion des risques de la stratégie est conçu de manière rationnelle, protégeant les bénéfices et ne s’arrêtant pas trop tôt en suivant les pertes.
/*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)