Strategi ini menghasilkan isyarat beli dan jual berdasarkan salib emas dan salib kematian pelbagai purata bergerak mudah (SMA) dengan tempoh masa yang berbeza untuk menentukan arah trend. Ia menggunakan 4 SMA - 20 hari, 50 hari, 100 hari dan 200 hari SMA. Apabila SMA jangka pendek melintasi di atas SMA jangka panjang, ia dianggap sebagai salib emas dan isyarat beli dicetuskan. Apabila SMA jangka pendek melintasi di bawah SMA jangka panjang, ia dianggap sebagai salib kematian dan isyarat jual dicetuskan.
Logik teras strategi ini adalah berdasarkan perkara berikut:
Mengira beberapa SMA dengan tempoh masa yang berbeza termasuk SMA 20 hari, 50 hari, 100 hari dan 200 hari.
Periksa situasi silang antara SMA jangka pendek (20 hari) dan SMA jangka panjang (50 hari, 100 hari, 200 hari).
Apabila SMA 20 hari melintasi di atas SMA 50 hari, ia dianggap sebagai salib emas dan isyarat beli dicetuskan.
Trend yang lebih besar ditentukan oleh SMA tempoh yang lebih lama yang kekal di atas SMA tempoh yang lebih pendek, iaitu SMA 50 hari > SMA 20 hari.
Keutamaan bagi isyarat kemasukan adalah: SMA 20 hari berbanding SMA 50 hari > SMA 20 hari berbanding SMA 100 hari > SMA 20 hari berbanding SMA 200 hari.
Isyarat keluar dihasilkan apabila SMA 20 hari melintasi semula di bawah SMA 50 hari.
Strategi ini terutamanya bergantung pada persilangan SMA untuk menentukan arah trend. Salib emas di pasaran lembu dan salib kematian di pasaran beruang boleh menandakan permulaan trend yang berpotensi. Di samping itu, SMA jangka panjang yang kekal di atas SMA jangka pendek berfungsi sebagai pengesahan trend yang lebih besar.
Kelebihan utama strategi ini termasuk:
Logiknya mudah dan mudah difahami dan dilaksanakan.
SMA lebih baik daripada EMA dalam menapis bunyi bising pasaran dan mengenal pasti trend.
Menggunakan pelbagai SMA tempoh masa meningkatkan kebolehpercayaan isyarat.
Tetapan keutamaan untuk isyarat kemasukan mengelakkan kemasukan awal.
Tempoh dan warna SMA yang boleh disesuaikan membolehkan pengoptimuman strategi.
Boleh digunakan untuk pelbagai jangka masa untuk gaya perdagangan yang berbeza.
Sistem crossover SMA sangat berkesan dalam menentukan arah trend utama.
Beberapa risiko yang berkaitan dengan strategi ini:
Terlalu banyak isyarat palsu boleh berlaku semasa pasaran pelbagai dengan penyeberangan SMA yang kerap.
Tempoh SMA tetap tidak dapat disesuaikan dengan perubahan pasaran, parameter harus dioptimumkan berdasarkan trend dan turun naik.
Palang SMA sahaja tidak dapat menentukan kemasukan yang tepat, penunjuk lain seperti MACD harus dimasukkan.
SMA mempunyai sifat keterlambatan, masa kemasukan memerlukan pengoptimuman atau pesanan had harus digunakan.
Pelaksanaan stop loss yang ketat adalah penting untuk mengekalkan modal.
Kesan kos dagangan terhadap keuntungan harus dipertimbangkan.
Beberapa cara untuk mengoptimumkan strategi ini:
Mengoptimumkan tempoh SMA secara dinamik berdasarkan keadaan pasaran dan ATR.
Tambah penunjuk lain seperti MACD, RSI untuk masa kemasukan.
Tambah penapis trend seperti ADX untuk mengelakkan isyarat palsu semasa penyatuan.
Mengoptimumkan kaedah stop loss seperti ATR stop atau trailing stop.
Menguruskan saiz kedudukan secara dinamik berdasarkan saiz akaun.
Uji parameter optimum di kelas aset yang berbeza.
Menggabungkan pelbagai jangka masa untuk memastikan konsistensi dengan trend jangka masa yang lebih tinggi.
Ringkasnya, sistem crossover SMA yang mudah ini boleh dipercayai dalam menentukan arah trend dan sesuai untuk kebanyakan peniaga. Walau bagaimanapun, ia mempunyai beberapa masalah yang tertinggal dan boleh menghasilkan isyarat palsu. Kita harus berusaha untuk meningkatkan masa masuk, hentikan kerugian, saiz kedudukan dan lain-lain untuk menjadikannya kukuh di seluruh persekitaran pasaran yang berubah. Gabungan beberapa penunjuk teknikal dan penilaian trend adalah kunci untuk membina strategi trend yang kukuh.
/*backtest start: 2023-10-14 00:00:00 end: 2023-11-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © xyzdesign1989 //@version=5 strategy("SMA crossover buy/sell [SCSM_Algo]", overlay=true, margin_long=3000, margin_short=3000) BuyCond = ta.crossover(ta.sma(close, 20), ta.sma(close, 50)) and ta.sma(close, 20) > ta.sma(close, 50) and ta.sma(close, 50) > ta.sma(close, 100) and ta.sma(close, 100) > ta.sma(close, 200) or (ta.crossover(ta.sma(close, 20), ta.sma(close, 100)) and ta.sma(close, 20) > ta.sma(close, 50)) if (BuyCond) strategy.entry("SCSM 🤲 Buy", strategy.long) SellCond = ta.crossunder(ta.sma(close, 20), ta.sma(close, 50)) if (SellCond) strategy.entry("الحمد للہ،Sell", strategy.short) ma(source, length, type) => type == "SMA" ? ta.sma(source, length) : type == "EMA" ? ta.ema(source, length) : type == "SMMA (RMA)" ? ta.rma(source, length) : type == "WMA" ? ta.wma(source, length) : type == "VWMA" ? ta.vwma(source, length) : na show_ma1 = input(true , "MA №1", inline="MA #1") ma1_type = input.string("SMA" , "" , inline="MA #1", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) ma1_source = input(close , "" , inline="MA #1") ma1_length = input.int(20 , "" , inline="MA #1", minval=1) ma1_color = input(#0929f6, "" , inline="MA #1") ma1 = ma(ma1_source, ma1_length, ma1_type) plot(show_ma1 ? ma1 : na, color = ma1_color, title="MA №1") show_ma2 = input(true , "MA №2", inline="MA #2") ma2_type = input.string("SMA" , "" , inline="MA #2", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) ma2_source = input(close , "" , inline="MA #2") ma2_length = input.int(50 , "" , inline="MA #2", minval=1) ma2_color = input(#00fb04, "" , inline="MA #2") ma2 = ma(ma2_source, ma2_length, ma2_type) plot(show_ma2 ? ma2 : na, color = ma2_color, title="MA №2") show_ma3 = input(true , "MA №3", inline="MA #3") ma3_type = input.string("SMA" , "" , inline="MA #3", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) ma3_source = input(close , "" , inline="MA #3") ma3_length = input.int(100 , "" , inline="MA #3", minval=1) ma3_color = input(#131313, "" , inline="MA #3") ma3 = ma(ma3_source, ma3_length, ma3_type) plot(show_ma3 ? ma3 : na, color = ma3_color, title="MA №3") show_ma4 = input(true , "MA №4", inline="MA #4") ma4_type = input.string("SMA" , "" , inline="MA #4", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) ma4_source = input(close , "" , inline="MA #4") ma4_length = input.int(200 , "" , inline="MA #4", minval=1) ma4_color = input(#f60c0c, "" , inline="MA #4") ma4 = ma(ma4_source, ma4_length, ma4_type) plot(show_ma4 ? ma4 : na, color = ma4_color, title="MA №4")