Trend SMA Berganda Mengikut Strategi

Penulis:ChaoZhang, Tarikh: 2023-09-20 11:35:30
Tag:

Ringkasan

Strategi ini menggunakan hanya dua garis SMA, dengan SMA perlahan untuk arah trend dan SMA cepat untuk isyarat kemasukan. Digabungkan dengan penentuan warna candlestick, ia menghasilkan isyarat panjang dan pendek. Strategi ini mengikuti trend jangka sederhana, sesuai untuk penyatuan pada paras tertinggi atau terendah.

Logika Strategi

Dua garis SMA dikira, satu pantas dan satu perlahan, bersama dengan garis tengah saluran harga. Garis pantas mempunyai tempoh 5, manakala garis perlahan mempunyai tempoh 20. Di atas garis tengah saluran harga dianggap sebagai trend menaik, di mana peluang untuk pergi panjang pada garis cepat melintasi di atas garis perlahan dicari. Di bawah garis tengah adalah downtrend, di mana peluang untuk pergi pendek pada garis cepat melintasi di bawah garis perlahan dicari.

Di samping itu, warna badan lilin dimasukkan. Dalam trend menaik, sekurang-kurangnya 2 lilin merah berturut-turut diperlukan selepas melihat bahagian bawah, sebelum pergi lama apabila garis pantas melintasi di atas garis perlahan. Dalam trend menurun, sekurang-kurangnya 2 lilin hijau berturut-turut diperlukan selepas melihat bahagian atas, sebelum pergi pendek apabila garis pantas melintasi di bawah garis perlahan.

Analisis Kelebihan

Garis SMA berganda dan saluran harga membantu menentukan arah trend, mengelakkan pecah palsu. penapis warna candlestick seterusnya menghapuskan isyarat palsu. isyarat panjang dan pendek ada untuk lindung nilai. strategi ini berkesan mengesan trend jangka sederhana.

Parameter yang boleh disesuaikan membolehkan penyesuaian syarat panjang / pendek dengan fleksibel.

Analisis Risiko

Kepercayaan berlebihan pada garis SMA boleh menghasilkan isyarat palsu yang berlebihan semasa julat. Faktor harga dipertimbangkan sementara jumlah diabaikan.

Penyesuaian tempoh SMA atau menggabungkan penunjuk teknikal lain boleh menapis isyarat. Penunjuk jumlah juga boleh memberikan wawasan tambahan. Ukuran kedudukan juga boleh dioptimumkan berdasarkan keadaan pasaran.

Arahan pengoptimuman

  1. Uji kombinasi SMA yang cepat dan perlahan untuk mencari parameter optimum.

  2. Tambahkan jumlah dan penunjuk lain untuk pengesahan isyarat.

  3. Menggabungkan penunjuk teknikal lain untuk membentuk strategi ensemble.

  4. Tetapkan saiz kedudukan dinamik untuk mengoptimumkan pengurusan modal.

  5. Mempakai pembelajaran mesin untuk meramalkan trend harga dan titik perubahan.

  6. Mengoptimumkan strategi stop loss untuk mengurangkan kerugian.

Ringkasan

Sistem SMA berganda untuk penentuan trend adalah logiknya jelas dan biasa digunakan. Tetapi terlalu bergantung pada purata bergerak sahaja cenderung menghasilkan isyarat palsu, memerlukan penunjuk lain untuk peningkatan. Dengan pengesahan kualitatif dan kuantitatif yang lebih banyak, strategi akan menjadi lebih kukuh. Secara keseluruhan ia menyediakan templat trend berikut yang mudah dan boleh dipercayai.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Noro's Trend SMA Strategy v1.4", shorttitle = "Trend SMA str 1.4", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

needlong = input(true, "long")
needshort = input(true, "short")
usefastsma = input(true, "Use fast SMA")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast SMA Period")
slowlen = input(20, defval = 20, minval = 2, maxval = 200, title = "slow SMA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")

fastsma = ema(close, fastlen)
slowsma = ema(close, slowlen)

//PriceChannel
src = ohlc4
lasthigh = highest(src, slowlen)
lastlow = lowest(src, slowlen)
center = (lasthigh + lastlow) / 2

trend = low > center ? 1 : high < center ? -1 : trend[1]

bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0

up = trend == 1 and (low < fastsma or usefastsma == false) and redbars == 1 ? 1 : 0
dn = trend == -1 and (high > fastsma or usefastsma == false) and greenbars == 1 ? 1 : 0

colorfastsma = usefastsma == true ? red : na
plot(fastsma, color = colorfastsma, title = "Fast SMA")
plot(center, color = blue, title = "Price Channel")

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)

Lebih lanjut