
Strategi ini pertama-tama mengira purata bergerak cepat ma_fast dan purata bergerak perlahan ma_slow, kemudian menggabungkan FRAMA dengan purata bergerak beradaptasi, melakukan lebih banyak apabila memakai ma_slow pada ma_fast, dan melakukan kedudukan yang lebih rendah apabila memakai ma_fast di bawah ma_slow atau FRAMA di bawah harga penutupan.
Hitung purata bergerak mudah 13 hari ma_fast dan purata bergerak mudah 26 hari ma_slow.
Formula pengiraan FRAMA lebih rumit, idea utamanya adalah untuk meluruskan garis purata berdasarkan nilai tertinggi, terendah dan pergerakan pergerakan harga α.
Apabila anda memakai ma_slow pada ma_fast, anda perlu melakukan lebih banyak. Ini menunjukkan bahawa garis purata jangka pendek mula naik dan menang pada garis purata jangka panjang, sesuai dengan ciri-ciri trend.
Pada masa yang sama, anda boleh meletakkan harga pada masa yang sama. Jika anda meletakkan harga pada masa yang sama, anda boleh meletakkan harga pada masa yang sama.
Menggabungkan kelebihan sistem dua hala dan sistem dua hala yang beradaptasi. Sistem dua hala yang baik menangkap trend, sistem dua hala yang beradaptasi dapat menapis bunyi lebih baik.
Penunjuk FRAMA boleh menyesuaikan parameter secara automatik, mengelakkan subjektiviti parameter pilihan buatan tangan.
Dengan menggunakan dua isyarat keluar pada masa yang sama, anda dapat menangkap pembalikan trend tepat pada masanya.
Kemungkinan terdapat salah kedudukan di persimpangan dua garis sejajar, yang mungkin menyebabkan kerugian sesekali.
Adaptasi kepada purata bergerak akan meningkatkan parameter strategi, yang boleh menyebabkan pengoptimuman berlebihan.
Jika anda hanya mempertimbangkan faktor harga dan tidak menapis jumlah transaksi, anda mungkin akan terlepas peluang.
Anda boleh menguji kombinasi garis rata-rata untuk tempoh yang berbeza untuk mencari parameter terbaik.
Pengesahan jumlah transaksi boleh dimasukkan untuk mengelakkan isyarat tidak sah. Contohnya, menambah syarat peningkatan jumlah transaksi.
Anda boleh mengoptimumkan keadaan kedudukan terbuka dan kedudukan, menjadikan strategi lebih stabil. Sebagai contoh, hanya buka kedudukan apabila bentuk berterusan pecah.
Strategi ini menggabungkan dua persimpangan linear dan FRAMA linear penyesuaian diri, menyesuaikan parameter secara automatik kepada keadaan pasaran melalui penyesuaian parameter secara dinamik. Dua linear sangat baik dalam menangkap trend, FRAMA dapat membasmi kebisingan.
/*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())