Strategi Perdagangan Crossover FraMA dan MA Berdasarkan Indikator FRAMA

Penulis:ChaoZhang, Tanggal: 2024-01-15 14:38:48
Tag:

img

Ringkasan

Strategi ini menghitung garis rata-rata bergerak cepat ma_fast dan garis rata-rata bergerak lambat ma_slow pertama, dan kemudian dikombinasikan dengan garis rata-rata bergerak adaptif FRAMA.

Logika Strategi

  1. Hitung rata-rata bergerak sederhana 13 hari ma_fast dan rata-rata bergerak sederhana 26 hari ma_slow.

  2. Menghitung garis keluar rata-rata bergerak adaptif FRAMA. Rumus FRAMA kompleks, ide utamanya adalah untuk menyesuaikan secara dinamis kelancaran α dari rata-rata bergerak berdasarkan tertinggi, terendah dan volatilitas harga.

  3. Pergi panjang ketika ma_fast melintasi ma_slow. Ini menunjukkan bahwa moving average jangka pendek mulai bergerak ke atas dan berjalan lebih cepat daripada yang jangka panjang, sesuai dengan karakteristik tren.

  4. Posisi tutup ketika ma_slow melintasi di bawah ma_fast atau FRAMA jatuh di bawah harga tutup. Ini menunjukkan sinyal pembalikan tren.

Analisis Keuntungan

  1. Menggabungkan keuntungan dari sistem rata-rata bergerak ganda dan sistem rata-rata bergerak adaptif. Sistem MA ganda baik dalam menangkap tren, sementara sistem MA adaptif menyaring kebisingan lebih baik.

  2. Indikator FRAMA secara otomatis menyesuaikan parameter, menghindari subjektivitas penyesuaian parameter manual.

  3. Menggunakan dua sinyal keluar memungkinkan untuk menangkap pembalikan tren tepat waktu.

Analisis Risiko

  1. Crossover rata-rata bergerak ganda dapat memiliki whipsaws, menghasilkan kerugian intermiten.

  2. Rata-rata bergerak adaptif memperkenalkan lebih banyak parameter, berisiko overfit.

  3. Hanya mempertimbangkan faktor harga tanpa filter volume perdagangan, sehingga mungkin kehilangan peluang.

Optimalisasi

  1. Uji periode MA yang berbeda untuk menemukan kombinasi yang optimal.

  2. Tambahkan konfirmasi volume untuk menghindari sinyal palsu, misalnya membutuhkan lonjakan volume.

  3. Mengoptimalkan aturan masuk dan keluar untuk membuat strategi lebih kuat, misalnya hanya mengambil sinyal dalam pola kelanjutan.

Kesimpulan

Strategi ini menggabungkan crossover rata-rata bergerak ganda dan rata-rata bergerak adaptif FRAMA, secara otomatis beradaptasi dengan kondisi pasar dengan menyesuaikan parameter secara dinamis.


/*backtest
start: 2023-01-14 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Fractal Adaptive Moving Average",shorttitle="FRAMA",overlay=true)


ma_fast = sma(close,13)

ma_slow = sma(close,26)
plot(ma_fast,color = green)
plot(ma_slow, color = yellow)
price = input(hl2)
len = input(defval=16,minval=1)
FC = input(defval=1,minval=1)
SC = input(defval=198,minval=1)
len1 = len/2
w = log(2/(SC+1))
H1 = highest(high,len1)
L1 = lowest(low,len1)
N1 = (H1-L1)/len1
H2 = highest(high,len)[len1]
L2 = lowest(low,len)[len1]
N2 = (H2-L2)/len1
H3 = highest(high,len)
L3 = lowest(low,len)
N3 = (H3-L3)/len
dimen1 = (log(N1+N2)-log(N3))/log(2)
dimen = iff(N1>0 and N2>0 and N3>0,dimen1,nz(dimen1[1]))
alpha1 = exp(w*(dimen-1))
oldalpha = alpha1>1?1:(alpha1<0.01?0.01:alpha1)
oldN = (2-oldalpha)/oldalpha
N = (((SC-FC)*(oldN-1))/(SC-1))+FC
alpha_ = 2/(N+1)
alpha = alpha_<2/(SC+1)?2/(SC+1):(alpha_>1?1:alpha_)
out = (1-alpha)*nz(out[1]) + alpha*price
plot(out,title="FRAMA",color=purple,transp=0)
entry() => crossover(ma_fast, ma_slow) and (out < close)
exit() => crossover(ma_slow, ma_fast) or crossunder(out, close)

strategy.entry(id= "MA cross", long = true, when = entry())
strategy.close(id= "MA cross", when = exit())

Lebih banyak