Il s'agit d'une stratégie de trading basée sur le double croisement des moyennes mobiles. Il génère des signaux d'achat et de vente lorsque deux moyennes mobiles de longueurs différentes se croisent. Plus précisément, il va long lorsque le MA plus rapide traverse au-dessus du MA plus lent, et court lorsque le MA plus rapide traverse au-dessous du MA plus lent.
La logique de base de cette stratégie réside dans les principes de croisement entre deux moyennes mobiles. Une moyenne mobile est le prix moyen arithmétique sur une période de temps spécifique.
Dans cette stratégie, l'AM à court terme capte les tendances à court terme tandis que l'AM à long terme capte les tendances à long terme.
Plus précisément, la stratégie calcule les MA en utilisant ta.sma sur la longue_période et la courte_période définies par les utilisateurs. Elle utilise ensuite ta.crossover et ta.crossunder pour détecter le croisement doré et le croisement mortel entre les deux MA. Lorsque le court MA traverse au-dessus de la longue MA, passez long. Lorsque le court MA traverse en dessous, passez court.
Les principaux avantages de cette stratégie sont les suivants:
Il existe également plusieurs risques:
Pour atténuer les risques, des paramètres peuvent être ajustés, des mesures de stop loss et de prise de bénéfices peuvent être intégrées ou d'autres indicateurs techniques peuvent être ajoutés.
Il est possible d'optimiser davantage:
En conclusion, il s'agit d'une stratégie de démarrage idéale pour le trading algorithmique, grâce à sa simplicité de logique et de paramètres tout en étant capable de capturer efficacement les renversements du marché.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Cross 2 Moving Average Strategy", shorttitle="2MA Cross", overlay=true) // User-defined input for moving averages long_period = input(20, title="Long Period") short_period = input(5, title="Short Period") type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"]) // Calculating moving averages long_ma = ta.sma(close, long_period) short_ma = ta.sma(close, short_period) // Plot moving averages plot(long_ma, title="Long Moving Average", color=color.red) plot(short_ma, title="Short Moving Average", color=color.green) // Strategy logic for crossing of moving averages longCondition = ta.crossover(short_ma, long_ma) shortCondition = ta.crossunder(short_ma, long_ma) // Entry orders if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Optional: Add stop loss and take profit stop_loss_perc = input(1, title="Stop Loss (%)") / 100 take_profit_perc = input(2, title="Take Profit (%)") / 100 strategy.exit("Exit Long", from_entry="Long", stop=close*(1-stop_loss_perc), limit=close*(1+take_profit_perc)) strategy.exit("Exit Short", from_entry="Short", stop=close*(1+stop_loss_perc), limit=close*(1-take_profit_perc))