
Aperçu
La stratégie utilise deux moyennes mobiles indicielles (EMA) pour capturer les changements de tendance des prix. Elle génère un signal d’achat lorsque l’EMA à court terme traverse l’EMA à long terme de bas en haut et un signal de vente lorsque l’EMA à court terme traverse l’EMA à long terme de haut en bas. La stratégie définit à la fois des limites de stop loss et de stop loss par jour pour contrôler les pertes et les gains d’une journée.
Principe de stratégie
- Calculez l’EMA à court terme (cycle par défaut de 9) et l’EMA à long terme (cycle par défaut de 21).
- Lorsque l’EMA à court terme est en hausse et traverse l’EMA à long terme, il est en hausse; lorsqu’elle est en baisse et traverse l’EMA à long terme, il est en baisse.
- Enregistrez les intérêts des comptes au début de chaque jour de négociation et calculez la différence entre les intérêts des comptes actuels et les pertes de la journée.
- Si la perte sur la journée est supérieure à la perte maximale autorisée (0,25% du capital initial du compte), toutes les positions sont annulées.
- Si les gains de la journée dépassent le maximum autorisé (environ 2% du capital initial du compte), toutes les positions sont annulées.
Avantages stratégiques
- Simple et compréhensible: la logique de la stratégie est claire, le signal de transaction est généré par seulement deux moyennes mobiles, il est facile à comprendre et à mettre en œuvre.
- Suivi de la tendance: par le croisement des lignes rapides et lentes de l’EMA, il est possible de mieux saisir les changements de tendance des prix, ce qui est approprié pour une utilisation sur un marché en tendance.
- Contrôle des risques: les limites quotidiennes de stop-loss et de stop-loss permettent de contrôler efficacement les pertes et les bénéfices d’une journée et d’éviter que le compte ne fluctue trop.
Risque stratégique
- Optimisation des paramètres: La performance de la stratégie dépend en grande partie du choix du cycle EMA, et différents paramètres peuvent entraîner des résultats très différents. Par conséquent, l’optimisation des paramètres et le retesting sont nécessaires dans différents environnements de marché.
- Marché en tremblement de terre: Dans les marchés en tremblement de terre, les prix oscillent fréquemment à la hausse et à la baisse de l’EMA, ce qui peut générer plus de faux signaux, entraînant des transactions fréquentes et des pertes de fonds.
- Détournement de tendance: la stratégie peut retarder l’entrée ou la sortie et manquer le meilleur moment de négociation lorsque la tendance du marché est inversée.
Orientation de l’optimisation de la stratégie
- L’introduction d’autres indicateurs techniques, tels que le RSI, le MACD, etc., pour aider à déterminer la force et la direction de la tendance et améliorer l’exactitude du signal.
- Optimiser les règles de stop loss et de stop-loss, par exemple en utilisant un stop loss mobile ou un stop-loss dynamique, pour mieux protéger les bénéfices et contrôler les risques.
- Adapter les cycles EMA en fonction de la dynamique de la volatilité du marché pour s’adapter aux différentes conditions du marché.
- Le filtrage et la confirmation des signaux de transaction sont effectués en combinaison avec l’analyse fondamentale, comme les données économiques, les événements majeurs, etc.
Résumer
La stratégie de croisement bi-médian EMA est une stratégie de négociation simple et facile à comprendre, adaptée aux marchés tendanciels. En croisant la moyenne rapide et lente, les changements de tendance des prix peuvent être mieux capturés.
Code source de la stratégie
/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
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/
// © DD173838
//@version=5
strategy("Moving Average Strategy with Daily Limits", overlay=true)
// Moving Average settings
shortMaLength = input.int(9, title="Short MA Length")
longMaLength = input.int(21, title="Long MA Length")
// Calculate MAs
shortMa = ta.ema(close, shortMaLength)
longMa = ta.ema(close, longMaLength)
// Plot MAs
plot(shortMa, title="9 EMA", color=color.blue)
plot(longMa, title="21 EMA", color=color.red)
// Strategy conditions
crossUp = ta.crossover(shortMa, longMa)
crossDown = ta.crossunder(shortMa, longMa)
// Debug plots to check cross conditions
plotshape(series=crossUp, title="Cross Up", location=location.belowbar, color=color.green, style=shape.labelup, text="UP")
plotshape(series=crossDown, title="Cross Down", location=location.abovebar, color=color.red, style=shape.labeldown, text="DOWN")
// Entry at cross signals
if (crossUp)
strategy.entry("Long", strategy.long)
if (crossDown)
strategy.entry("Short", strategy.short)
// Daily drawdown and profit limits
var float startOfDayEquity = na
if (na(startOfDayEquity) or ta.change(time('D')) != 0)
startOfDayEquity := strategy.equity
maxDailyLoss = 50000 * 0.0025
maxDailyProfit = 50000 * 0.02
currentDailyPL = strategy.equity - startOfDayEquity
if (currentDailyPL <= -maxDailyLoss)
strategy.close_all(comment="Max Daily Loss Reached")
if (currentDailyPL >= maxDailyProfit)
strategy.close_all(comment="Max Daily Profit Reached")