Ini adalah strategi perdagangan kuantitatif yang mudah berdasarkan penunjuk purata bergerak. Ia menggunakan salib emas dan salib kematian purata bergerak pantas dan perlahan untuk menentukan isyarat masuk dan keluar. Apabila MA pantas melintasi di atas MA perlahan dari bawah, isyarat beli dihasilkan. Apabila MA pantas melintasi di bawah MA perlahan dari atas, isyarat jual dihasilkan.
Strategi ini terutamanya memanfaatkan keupayaan pengesanan trend purata bergerak. MA pantas mempunyai parameter yang lebih kecil dan dapat bertindak balas dengan cepat terhadap perubahan harga, sementara MA perlahan mempunyai parameter yang lebih besar dan mewakili trend jangka panjang. MA cepat melintasi di atas MA perlahan menandakan pembalikan pergerakan jangka pendek dan permulaan trend menaik. MA cepat melintasi di bawah MA perlahan menandakan pembalikan ke arah trend menurun. Dengan menangkap isyarat ini, kita boleh berdagang bersama momentum.
Secara khusus, strategi ini menentukan purata bergerak berganda 5 hari (cepat) dan 34 hari (lambat). Ia mengira kedua-dua MA ini setiap hari dan memeriksa sama ada MA cepat melintasi di atas atau di bawah MA perlahan. Jika salib emas berlaku, ia pergi lama. Jika salib kematian berlaku, ia keluar kedudukan.
Ini adalah strategi yang mudah dan mudah difahami, sesuai untuk pemula perdagangan kuant.
Strategi MA berganda dapat menapis bunyi bising pasaran dengan berkesan dan menangkap trend utama. Dengan menyesuaikan parameter hari MA, ia dapat menyesuaikan diri dengan turun naik harga dalam jangka masa yang berbeza.
Ia juga mempunyai mekanisme stop loss terbina dalam. Apabila harga mula membalikkan arah dan persilangan kematian MA berlaku, ia akan keluar dari kedudukan tepat pada masanya untuk mengawal risiko.
Strategi MA berganda mempunyai risiko seperti kegagalan kehilangan berhenti atau kegagalan pemasangan lengkung.
MAs mempunyai kesan kelewatan dan mungkin menghasilkan isyarat hanya selepas trend telah berbalik.
Dalam pasaran yang berbeza, terdapat banyak isyarat palsu, menyebabkan perdagangan yang tidak perlu, peningkatan kos dan seluncur.
Ia hanya bergantung kepada penunjuk teknikal tanpa menggabungkan analisis asas. Ia mungkin berprestasi buruk semasa peristiwa yang mendorong pergerakan pasaran.
Ia tidak mengambil kira saiz kedudukan dan pengurusan risiko. Satu peristiwa black swan boleh menyebabkan strategi meletup.
Untuk meningkatkan kekuatan dan mengurangkan risiko, pengoptimuman boleh dilakukan dengan cara berikut:
Tambah penunjuk trend seperti MACD dan penunjuk turun naik seperti KDJ untuk menetapkan peraturan kemasukan yang lebih ketat dan menapis isyarat palsu.
Menggabungkan mekanisme stop loss yang sesuai, seperti keluar selepas harga jatuh peratusan tertentu selepas salib emas, atau selepas harga jatuh julat yang ditetapkan dari paras tertinggi / rendah baru.
Mengoptimumkan kombinasi hari MA yang cepat dan perlahan untuk menyesuaikan diri dengan perubahan harga dalam jangka masa yang berbeza. pengoptimuman parameter dapat mencari parameter terbaik.
Rujukan indeks pasaran yang luas untuk menentukan rejim pasaran secara keseluruhan dan mengelakkan perdagangan berlebihan di pasaran yang berbeza.
Menggabungkan perubahan jumlah dagangan untuk mengesahkan kebolehpercayaan isyarat trend.
Strategi crossover purata bergerak berganda adalah strategi perdagangan kuantitatif yang sangat tipikal. Ia mempunyai kelebihan seperti kesederhanaan, intuitif dan kemudahan pelaksanaan. Dengan ujian berterusan dan penyesuaian parameter, ia boleh menghasilkan hasil yang baik. Walau bagaimanapun, isu-isu seperti pengenalan isyarat ketinggalan dan isyarat palsu wujud. Penapis tambahan dan mekanisme pengurusan risiko perlu dimasukkan untuk menjadikannya strategi menghasilkan keuntungan yang stabil.
/*backtest start: 2022-11-15 00:00:00 end: 2023-11-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // This strategy is a modification to the "Bill Williams, Awesome Oscillator // (AO) Backtest" strategy (Copyright by HPotter v1.0 29/12/2016) // // This version of the strategy by Midnight Mouse. 10/4/2018 // // DESCRIPTION // // This indicator plots the oscillator as a column where periods fit for buying // are marked as green, and periods fit for selling as orange/brown. If the // current value of AO (Awesome Oscillator) is > the previous, the period is // deemed fit for buying and the indicator is marked green. If the AO values is // not over the previous, the period is deemed fit for selling and the indicator // is marked orange/brown. // // You can change long to short in the Input Settings // // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy("Awesome Oscillator.MMouse_Lager_BCE") // === SETTINGS === // Strategy start date FromMonth = input(defval = 1, title = "From Month", minval = 1) FromDay = input(defval = 1, title = "From Day", minval = 1) FromYear = input(defval = 2017, title = "From Year", minval = 2014) // Strategy settings nLengthSlow = input(34, minval=1, title="Length Slow") nLengthFast = input(5, minval=1, title="Length Fast") allowShorts = input(false, title="Include Short Trades") reverse = input(false, title="Trade reverse") // === BODY === // Use Heikin-Ashi candles for the buy/sell signal ha_t = heikinashi(syminfo.tickerid) ha_high = security(ha_t, timeframe.period, high) ha_low = security(ha_t, timeframe.period, low) length = input( 14 ) price = open vrsi = rsi(price, length) // Calc (H+L)/2 for each length xSMA1_hl2 = sma((ha_high + ha_low)/2, nLengthFast) xSMA2_hl2 = sma((ha_high + ha_low)/2, nLengthSlow) // Get SMA difference (Fast - Slow) xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2 // Derive the color of the column cClr = xSMA1_SMA2 > xSMA1_SMA2[1] ? #93c47d : #ad5e1d // Determine the position to take (Long vs. Short) pos = iff(xSMA1_SMA2 > xSMA1_SMA2[1], 1, iff(xSMA1_SMA2 < xSMA1_SMA2[1], -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) // Only apply strategy from the start date if (time >= timestamp(FromYear, FromMonth, FromDay, 00, 00)) if (possig == 1) // Market is currently fit for a Long position strategy.entry("Long", strategy.long) if (possig == -1) // Market is currently fit for a Short position if(allowShorts) // Shorts are allowed. Record a Short position strategy.entry("Short", strategy.short) else // Shorts are not allowed. Closec the Long position. strategy.close("Long") // Define the candle colors //barcolor(possig == -1 ? red : // possig == 1 ? green : // blue ) // Plot the oscillator plot(xSMA1_SMA2, style=columns, linewidth=1, color=cClr)