Il s'agit d'une stratégie de trading de suivi de tendance et d'inversion basée sur des moyennes mobiles simples.
Lorsqu'un MA de 1 jour dépasse le MA de 4 jours, un signal de vente est généré. Lorsqu'un MA de 1 jour dépasse le MA de 4 jours, un signal d'achat est généré. En utilisant le croisement d'une moyenne mobile rapide et lente pour identifier les points d'inversion de tendance, il vise à réaliser des bénéfices.
Après l'entrée sur le marché, les points de stop loss et de take profit sont définis. Le stop loss est défini 10 points en dessous du prix d'entrée. Le take profit est défini 100 points au-dessus du prix d'entrée. Cela peut limiter les pertes et verrouiller les bénéfices.
Les risques peuvent être atténués par la régulation des paramètres, la mise en place d'arrêts dynamiques, l'intégration d'autres indicateurs de validation du signal, etc.
Il s'agit d'une stratégie typique d'inversion de double MA dans l'ensemble. Il identifie les inversions par des croisements rapides et lents de MA, contrôle le risque avec des arrêts, simple et pratique à comprendre pour les débutants. Avec le réglage des paramètres et des optimisations, il peut être adaptatif et l'ajout de filtres peut l'améliorer davantage. C'est une très bonne stratégie de démarrage à apprendre.
/*backtest start: 2023-11-19 00:00:00 end: 2023-12-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © cesarpieres72 //@version=5 strategy("300% STRATEGY", overlay=true, margin_long=10, margin_short=10) var float lastLongOrderPrice = na var float lastShortOrderPrice = na longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 4)) if (longCondition) strategy.entry("Long Entry", strategy.long) // Enter long shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 4)) if (shortCondition) strategy.entry("Short Entry", strategy.short) // Enter short if (longCondition) lastLongOrderPrice := close if (shortCondition) lastShortOrderPrice := close // Calculate stop loss and take profit based on the last executed order's price stopLossLong = lastLongOrderPrice - 170 // 10 USDT lower than the last long order price takeProfitLong = lastLongOrderPrice + 150 // 100 USDT higher than the last long order price stopLossShort = lastShortOrderPrice + 170 // 10 USDT higher than the last short order price takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price // Apply stop loss and take profit to long positions strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong) // Apply stop loss and take profit to short positions strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)