FRAMA dan strategi perdagangan silang purata bergerak berdasarkan purata bergerak berganda

Penulis:ChaoZhang, Tarikh: 2023-12-22 16:08:23
Tag:

img

Ringkasan

Strategi ini mula-mula mengira purata bergerak mudah 13 tempoh dan 26 tempoh, dan kemudian mengira penunjuk FRAMA. Ia pergi lama apabila garis cepat memecahkan garis perlahan dari bawah ke atas, dan keluar dari kedudukan apabila garis cepat memecahkan garis perlahan dari atas ke bawah atau apabila penunjuk FRAMA memecahkan harga penutupan dari atas ke bawah.

Prinsip Strategi

Strategi ini terutamanya menggunakan persilangan purata bergerak untuk menjana isyarat perdagangan. Apabila purata bergerak jangka pendek memecahkan purata bergerak jangka panjang dari bawah ke atas, ia menunjukkan trend berubah dari penurunan ke kenaikan, dan pergi panjang. Apabila purata bergerak jangka pendek melintasi di bawah jangka panjang, ia menunjukkan pembalikan yang akan datang, dan menutup kedudukan.

Sementara itu, penunjuk FRAMA diperkenalkan sebagai penghakiman tambahan. Penunjuk FRAMA adalah garis purata bergerak adaptif yang diperbaiki berdasarkan hipotesis pasaran fraktal. Dengan mengira kadar perubahan logaritma amplitud turun naik harga dalam tempoh yang berbeza, ia menganggarkan dimensi fraktal pasaran dalam masa nyata untuk menyesuaikan kelancaran purata bergerak secara dinamik. Apabila penunjuk FRAMA melintasi di bawah harga penutupan, ia menunjukkan isyarat pembalikan trend. Digabungkan dengan isyarat persilangan purata bergerak, ia meningkatkan ketepatan penghakiman.

Analisis Kelebihan

Strategi ini menggabungkan crossover purata bergerak berganda dan penunjuk FRAMA, yang secara berkesan dapat menapis isyarat pecah palsu dan meningkatkan kualiti isyarat perdagangan.

Berbanding dengan satu penunjuk dan model, strategi ini dapat meningkatkan kualiti isyarat dengan ketara dan mengurangkan kebarangkalian penilaian yang salah. Sementara itu, menggabungkan purata bergerak cepat dan perlahan, ia boleh mengikuti trend untuk mengelakkan terperangkap.

Analisis Risiko

Risiko utama strategi ini terletak pada bahawa purata bergerak berganda boleh menghasilkan lebih banyak isyarat pecah palsu, dan tetapan parameter penunjuk FRAMA juga akan mempengaruhi keberkesanan.

Untuk mengawal risiko di atas, parameter seperti tempoh purata bergerak boleh diselaraskan dengan sewajarnya, atau disaring dengan penunjuk lain.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Uji lebih banyak kombinasi dan tempoh purata bergerak untuk mencari pasangan parameter yang optimum.

  2. Tambah strategi stop loss untuk mengawal kerugian tunggal.

  3. Menggabungkan penunjuk jumlah dagangan untuk mengelakkan pecah palsu di bawah jumlah yang rendah.

  4. Tambah model pembelajaran mesin untuk menilai status pasaran dalam masa nyata dan menyesuaikan parameter secara dinamik.

  5. Menggabungkan penunjuk sentimen, berita dan pelbagai faktor lain untuk meningkatkan kualiti keputusan.

Kesimpulan

Strategi awal ini menggabungkan penggunaan crossover purata bergerak berganda dan penunjuk FRAMA. Berdasarkan mengekalkan kesederhanaan dan intuisi, ia telah meningkatkan kualiti isyarat dengan berkesan dan bernilai ujian dan pengoptimuman lanjut. Dengan pengoptimuman seperti penyesuaian parameter, pengenalan penunjuk baru, strategi ini dapat dijangka menjadi strategi perdagangan yang stabil dan boleh dipercayai.


/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-16 00:00:00
period: 30m
basePeriod: 15m
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 lanjut