Tiga strategi momentum SMA silang

Penulis:ChaoZhang, Tarikh: 2023-12-25 12:06:36
Tag:

img

Ringkasan

Strategi Three SMA Crossover Momentum adalah strategi penunjuk teknikal biasa yang mengesan trend pasaran. Ia menggabungkan purata bergerak mudah 16-, 36- dan 72-periode dan menggunakan persilangan bullish dan bearish mereka untuk menentukan trend pasaran, bersama-sama dengan Kaufman Adaptive Moving Average (KAMA) sebagai penapis untuk mengambil kedudukan panjang atau pendek apabila arah trend agak jelas.

Logika Strategi

Indikator utama strategi ini adalah purata bergerak mudah 16-, 36-, dan 72-period. Apabila SMA jangka pendek melintasi satu tempoh yang lebih lama ke atas, ia menandakan bahawa pasaran memasuki trend menaik. Apabila SMA jangka pendek melintasi di bawah satu tempoh yang lebih lama ke bawah, ia menandakan bahawa pasaran memasuki trend menurun. Sebagai contoh, apabila 16-SMA melintasi 36-SMA dan 72-SMA, ia adalah isyarat kenaikan. Dan apabila 16-SMA melintasi di bawah 36-SMA dan 72-SMA, ia adalah isyarat penurunan.

Kaufman Adaptive Moving Average (KAMA) berfungsi sebagai penapis untuk mengelakkan isyarat yang salah apabila trend tidak jelas. Isyarat silang SMA hanya dicetuskan apabila KAMA berada dalam mod tidak mempercepat atau tidak melambatkan (fase linear).

Strategi ini mengesan situasi persilangan SMA untuk mengambil kedudukan panjang atau pendek apabila trendnya agak jelas. Syarat panjang adalah persilangan 16-SMA di atas 36-SMA dan 72-SMA dengan KAMA linear. Syarat pendek adalah persilangan 16-SMA di bawah 36-SMA dan 72-SMA dengan KAMA linear.

Analisis Kelebihan

Kelebihan strategi ini ialah:

  1. Menggabungkan SMA pelbagai tempoh dapat dengan berkesan mengesan trend pasaran jangka sederhana dan panjang
  2. Memperkenalkan purata bergerak adaptif sebagai penapis boleh mengurangkan isyarat yang salah apabila trend tidak jelas
  3. Mudah dilaksanakan, sesuai untuk perdagangan automatik atau program

Analisis Risiko

Terdapat juga beberapa risiko dengan strategi ini:

  1. Isyarat tidak berkesan yang kerap boleh berlaku di pasaran yang berbeza kerana persilangan SMA yang kerap
  2. Tiada stop loss ditetapkan, kerugian boleh berkembang
  3. Direka untuk pasaran kripto yang sangat tidak menentu, mungkin kurang berprestasi di pasaran yang kurang tidak menentu

Risiko boleh dikurangkan dengan menyesuaikan parameter SMA, menetapkan sekatan stop loss, atau hanya digunakan untuk pasaran yang sangat tidak menentu.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Uji gabungan yang berbeza parameter SMA untuk mencari yang optimum
  2. Menambah jumlah dagangan atau penunjuk turun naik sebagai syarat penapis tambahan
  3. Menetapkan mekanisme stop loss
  4. Gabungkan penunjuk lain untuk menentukan masa kemasukan
  5. Mengoptimumkan saiz kedudukan, menyesuaikan risiko dengan menambah dan mengurangkan kedudukan secara beransur-ansur

Kesimpulan

Strategi Three SMA Crossover Momentum adalah strategi trend yang agak klasik dan praktikal secara keseluruhan. Ia menilai trend pasaran jangka menengah dan panjang dengan berkesan melalui crossover SMA pelbagai tempoh dan menapis beberapa bunyi bising. Ia boleh berfungsi sebagai salah satu penunjuk rujukan masa untuk perdagangan kedudukan. Tetapi strategi ini juga mempunyai beberapa kelemahan, yang memerlukan peningkatan dan pengoptimuman lanjut untuk berdiri di pasaran yang lebih pelbagai.


/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 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/
// © Wielkieef


//@version=5
strategy(title='Three SMA-crossover strategy [30min] ', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=10000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

src = close

Length1 = input.int(16, title='  1-SMA Lenght', minval=1, group='SMA')
Length2 = input.int(36, title='  2-SMA Lenght', minval=1, group='SMA')
Length3 = input.int(72, title='  3-SMA Lenght', minval=1, group='SMA')
SMA1 = ta.sma(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)

Long_ma = SMA1 > SMA2 and SMA2 > SMA3
Short_ma = SMA1 < SMA2 and SMA2 < SMA3

LengthMainSMA = input.int(100, title='  Trend SMA ', minval=1)

SMAas = ta.sma(src, LengthMainSMA)

//  Powered Kaufman Adaptive Moving Average by alexgrover (modificated by Wielkieef)
lengthas = input.int(50, title='   KAMA Lenght')
sp = input.bool(true, title='  Self Powered')

er = math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas)
pow = sp ? 1 / er : 2
per = math.pow(math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas), pow)
a = 0.
a := per * src + (1 - per) * nz(a[1], src)
mad4h = 0.
a_f = a / a[1] > .999 and a / a[1] < 1.001

///.

Bar_color = close > SMAas ? color.green : Long_ma ? color.blue : Short_ma ? color.maroon : color.gray

barcolor(color=Bar_color)

long_cond = Long_ma and SMAas < close and not a_f and close > a

short_cond = Short_ma and SMAas > close and not a_f and close < a
  
long_stop = Short_ma and SMAas < close

short_stop = Long_ma and SMAas > close

SMA1plot = plot(SMA1, color=Bar_color, linewidth=2)
SMA2plot = plot(SMA2, color=Bar_color, linewidth=4)
SMA3plot = plot(SMA3, color=Bar_color, linewidth=2)

fill(SMA1plot,SMA3plot,title="RANGE " ,color = color.new(Bar_color, 50))



if  long_cond
    strategy.entry('Long', strategy.long)

if  short_cond
    strategy.entry('Short', strategy.short)

strategy.close_all(when=long_stop or short_stop)



//by wielkieef

Lebih lanjut