Strategi Moving Average Crossover Trend adalah strategi mengikut trend berdasarkan isyarat crossover purata bergerak. Ia menggunakan salib emas dan salib kematian purata bergerak pantas dan perlahan untuk menentukan trend pasaran, menubuhkan kedudukan pada permulaan trend, dan menutup kedudukan apabila isyarat pembalikan trend muncul.
Strategi ini menggunakan persilangan histogram MACD dan garis isyarat untuk mengenal pasti permulaan dan akhir trend. Khususnya, ia membina histogram MACD berdasarkan EMA cepat 12 tempoh dan EMA perlahan 26 tempoh. Apabila histogram melintasi di atas garis isyarat, isyarat beli dihasilkan, yang menunjukkan permulaan trend menaik. Apabila histogram melintasi di bawah garis isyarat, isyarat jual dicetuskan, menandakan permulaan trend menurun.
Untuk entri, strategi hanya berjalan lama apabila isyarat beli dihasilkan pada carta 15 minit untuk memanfaatkan peringkat awal permulaan trend. Untuk keluar, ia menutup semua kedudukan apabila histogram MACD melintasi di bawah garis isyarat pada carta 4 jam, menandakan pembalikan trend.
Kelebihan terbesar strategi ini adalah keupayaannya untuk menangkap permulaan trend tepat pada masanya dan keluar pada isyarat pembalikan, mencapai nisbah risiko-balasan yang baik.
Terdapat juga beberapa risiko terutamanya dalam aspek berikut:
Untuk mengurangkan risiko, pengoptimuman boleh dibuat dalam:
Aspek utama untuk mengoptimumkan lagi strategi termasuk:
Secara keseluruhan, Strategi Trend Crossover Moving Average adalah sistem trend berikut yang mudah dan praktikal. Ia memanfaatkan trend dengan mengenal pasti permulaan dan akhir menggunakan crossover MACD, dan menggabungkan kedudukan jangka pendek dan jangka panjang. Kelebihannya terletak pada kemasukan tepat pada masanya, berhenti yang berkesan, dan imbalan risiko yang seimbang. Langkah seterusnya adalah meningkatkan ketahanan dan keuntungan melalui pengoptimuman parameter, penapisan isyarat dll.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Moving Average Convergence Divergence", shorttitle="MACD", overlay=true) // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) // Calculating MACD fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal_line = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) // Entry conditions longCondition = macd < 0 and ta.crossover(macd, signal_line) shortCondition = ta.crossover(signal_line, macd) // Plot signals plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal") // Strategy if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)