Tiga SMA Crossover Momentum Strategi

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

img

Gambaran umum

Strategi Three SMA Crossover Momentum adalah strategi indikator teknis khas yang melacak tren pasar. Strategi ini menggabungkan rata-rata bergerak sederhana 16-, 36- dan 72-periode dan menggunakan crossover bullish dan bearish mereka untuk menentukan tren pasar, bersama dengan Kaufman Adaptive Moving Average (KAMA) sebagai filter untuk mengambil posisi panjang atau pendek ketika arah tren relatif jelas.

Logika Strategi

Indikator inti dari strategi ini adalah rata-rata bergerak sederhana 16-, 36-, dan 72-periode. Ketika SMA jangka pendek melintasi satu periode yang lebih lama ke atas, itu menandakan bahwa pasar memasuki tren naik. Ketika SMA jangka pendek melintasi di bawah satu periode yang lebih lama ke bawah, itu menandakan bahwa pasar memasuki tren menurun. Misalnya, ketika 16-SMA melintasi 36-SMA dan 72-SMA, itu adalah sinyal bullish. Dan ketika 16-SMA melintasi di bawah 36-SMA dan 72-SMA, itu adalah sinyal bearish.

Kaufman Adaptive Moving Average (KAMA) berfungsi sebagai filter untuk menghindari sinyal yang salah ketika tren tidak jelas.

Strategi ini melacak situasi penyeberangan SMA untuk mengambil posisi panjang atau pendek ketika tren relatif jelas. Kondisi panjang adalah penyeberangan 16-SMA di atas 36-SMA dan 72-SMA dengan KAMA linier. Kondisi pendek adalah penyeberangan 16-SMA di bawah 36-SMA dan 72-SMA dengan KAMA linier.

Analisis Keuntungan

Keuntungan dari strategi ini adalah:

  1. Menggabungkan SMA multi-periode dapat secara efektif melacak tren pasar jangka menengah dan panjang
  2. Memperkenalkan rata-rata bergerak adaptif sebagai filter dapat mengurangi sinyal yang salah ketika tren tidak jelas
  3. Mudah diterapkan, cocok untuk perdagangan otomatis atau program

Analisis Risiko

Ada juga beberapa risiko dengan strategi ini:

  1. Sinyal tidak efektif yang sering dapat terjadi di pasar range karena seringnya SMA crossover
  2. Tidak ada stop loss yang ditetapkan, kerugian dapat berkembang
  3. Dirancang untuk pasar kripto yang sangat volatile, mungkin berkinerja buruk di pasar yang kurang volatile

Risiko dapat dikurangi dengan menyesuaikan parameter SMA, menetapkan batasan stop loss, atau hanya berlaku untuk pasar yang sangat volatile.

Arahan Optimasi

Strategi dapat dioptimalkan dengan cara berikut:

  1. Uji kombinasi yang berbeda dari parameter SMA untuk menemukan yang optimal
  2. Tambahkan indikator volume perdagangan atau volatilitas sebagai kondisi filter tambahan
  3. Atur mekanisme stop loss
  4. Gabungkan indikator lain untuk menentukan waktu masuk
  5. Mengoptimalkan ukuran posisi, menyesuaikan risiko dengan menambahkan dan mengurangi posisi secara bertahap

Kesimpulan

Strategi Three SMA Crossover Momentum adalah strategi trend-following yang cukup klasik dan praktis secara keseluruhan. Strategi ini menilai tren pasar jangka menengah dan panjang secara efektif melalui crossover SMA multi-periode dan menyaring beberapa kebisingan. Strategi ini dapat berfungsi sebagai salah satu indikator referensi waktu untuk perdagangan posisi.


/*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 banyak