La stratégie de rupture de la moyenne mobile double est une stratégie de trading quantitative basée sur une moyenne mobile rapide et une moyenne mobile lente. Elle utilise deux moyennes mobiles exponentielles (EMA) avec des périodes différentes comme signaux de trading.
La logique de base de cette stratégie est d'utiliser une moyenne mobile rapide et une moyenne mobile lente pour former des signaux de trading.
L'utilisation du croisement de la moyenne mobile rapide et lente pour déterminer les tendances du marché et générer des signaux de négociation est une stratégie typique de moyenne mobile double.
La stratégie de rupture de la moyenne mobile double présente les avantages suivants:
La stratégie de rupture de la moyenne mobile double comporte également certains risques:
Les solutions:
La stratégie de rupture des moyennes mobiles doubles peut être optimisée dans les aspects suivants:
La stratégie de rupture de la moyenne mobile double est une stratégie de trading quantitative simple et pratique. Elle présente des avantages tels que la logique et la mise en œuvre faciles, et présente également des problèmes d'adaptabilité au marché. Nous pouvons en faire un système de trading rentable stable grâce à l'optimisation des paramètres, au filtrage des signaux, au contrôle des risques, etc. Dans l'ensemble, la stratégie de moyenne mobile double est un excellent prototype de stratégie qui mérite une recherche approfondie et une application pour les traders quantitatifs.
/*backtest start: 2023-01-17 00:00:00 end: 2024-01-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("CDC Action Zone V.2", overlay=true) // CDC ActionZone V2 29 Sep 2016 // CDC ActionZone is based on a simple 2MA and is most suitable for use with medium volatility market // 11 Nov 2016 : Ported to Trading View with minor UI enhancement LSB = input(title="Long/Short", defval="Long only", options=["Long only", "Short only" , "Both"]) src = input(title="Data Array",type=input.source,defval=ohlc4) prd1=input(title="Short MA period", type=input.integer,defval=12) prd2=input(title="Long MA period",type=input.integer,defval=26) AP = ema(src,2) Fast = ema(AP,prd1) Slow = ema(AP,prd2) Bullish = Fast>Slow Bearish = Fast<Slow Green = Bullish and AP>Fast Red = Bearish and AP<Fast Yellow = Bullish and AP<Fast Blue = Bearish and AP>Fast Buy = Bullish and Bearish[1] Sell = Bearish and Bullish[1] alertcondition(Buy,"Buy Signal","Buy") alertcondition(Sell,"Sell Signal","Sell") //Plot l1=plot(Fast,"Fast", linewidth=1,color=color.red) l2=plot(Slow,"Slow", linewidth=2,color=color.blue) bcolor = Green ? color.lime : Red ? color.red : Yellow ? color.yellow : Blue ? color.blue : na barcolor(color=bcolor) fill(l1,l2,bcolor) // === INPUT BACKTEST RANGE === FromYear = input(defval = 2000, title = "From Year", minval = 1920) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 1921) ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" if LSB == "Long only" and Buy and window() strategy.entry("L",true) if LSB == "Long only" and Sell and window() strategy.close("L",qty_percent=100,comment="TP Long") if LSB == "Both" and Buy and window() strategy.entry("L",true) if LSB == "Both" and Sell and window() strategy.entry("S",false) if LSB == "Short only" and Sell and window() strategy.entry("S",false) if LSB == "Short only" and Buy and window() strategy.close("S",qty_percent=100,comment="TP Short")