Dual Moving Average Breakout Strategy adalah strategi perdagangan kuantitatif yang didasarkan pada rata-rata bergerak cepat dan rata-rata bergerak lambat. Strategi ini menggunakan dua rata-rata bergerak eksponensial (EMA) dengan periode yang berbeda sebagai sinyal perdagangan.
Logika inti dari strategi ini adalah menggunakan rata-rata bergerak cepat dan rata-rata bergerak lambat untuk membentuk sinyal perdagangan. strategi mendefinisikan periode EMA cepat sebagai 12 hari dan periode EMA lambat sebagai 26 hari.
Menggunakan persilangan rata-rata bergerak cepat dan lambat untuk menentukan tren pasar dan menghasilkan sinyal perdagangan adalah strategi rata-rata bergerak ganda yang khas.
Strategi Breakout Rata-rata Bergerak Ganda memiliki keuntungan berikut:
Strategi Breakout Rata-rata Bergerak Ganda juga memiliki beberapa risiko:
Solusi:
Strategi Breakout Rata-rata Bergerak Ganda dapat dioptimalkan dalam aspek berikut:
Strategi Breakout Dual Moving Average adalah strategi perdagangan kuantitatif yang sederhana dan praktis. Strategi ini memiliki keuntungan seperti logika dan implementasi yang mudah, dan juga memiliki beberapa masalah adaptasi pasar. Kita dapat menjadikannya sistem perdagangan yang menguntungkan yang stabil melalui optimasi parameter, penyaringan sinyal, pengendalian risiko dll. Secara keseluruhan, strategi rata-rata bergerak ganda adalah prototipe strategi yang bagus yang layak penelitian mendalam dan aplikasi untuk pedagang kuantitatif.
/*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")