Idea utama strategi ini adalah untuk mengenal pasti trend pasaran dengan menggabungkan rata-rata bergerak Kama dan indikator rata-rata bergerak untuk mencapai trend berikut. Apabila rata-rata bergerak Kama dan rata-rata bergerak Kama mempunyai salib emas, ia dinilai bahawa trend menaik telah bermula dan kedudukan panjang diambil. Apabila rata-rata bergerak Kama dan rata-rata bergerak Kama mempunyai salib kematian, ia dinilai bahawa trend menurun telah bermula dan kedudukan pendek diambil.
Mengira purata bergerak Kama. purata bergerak Kama adalah penunjuk trend yang lebih sensitif terhadap bunyi pasaran dan boleh digunakan untuk menentukan trend harga.
Hitung purata bergerak. Dua purata bergerak dikira di sini, satu adalah purata bergerak eksponensial ganda yang lebih cepat, yang lain adalah purata bergerak normal.
Apabila garisan pantas menembusi garisan perlahan dari bawah, pergi panjang. Apabila garisan pantas menembusi garisan perlahan dari atas, pergi pendek. Jadi penilaian trend dan penjejakan selesai.
Selepas mengambil kedudukan, keluar apabila harga menembusi garis Kama untuk mencapai trend selepas keluar.
Strategi ini menggabungkan penunjuk purata bergerak Kama dan purata bergerak untuk membuat penilaian yang agak tepat mengenai trend pasaran dan mencapai trend berikut dengan keupayaan kawalan pengeluaran yang kuat.
Rata-rata bergerak Kama lebih sensitif terhadap bunyi pasaran dan dapat mengesan titik pembalikan trend terlebih dahulu.
Penghakiman gabungan purata bergerak adalah jelas dan mudah difahami.
Strategi ini mempunyai ruang pengoptimuman parameter yang besar dan parameter boleh diselaraskan dan dioptimumkan untuk pelbagai jenis dan instrumen perdagangan.
Masih ada kemungkinan penilaian yang salah apabila gabungan purata bergerak Kama dan purata bergerak menilai trend pasaran.
Tiada tetapan stop loss boleh membawa kepada kerugian yang lebih besar dalam keadaan pasaran yang melampau.
Tetapan parameter yang tidak sesuai juga boleh menyebabkan kesilapan penilaian. Parameter perlu diselaraskan mengikut pelbagai jenis.
Pertimbangkan untuk menambah penunjuk ATR untuk tetapan stop loss.
Uji kesan nilai parameter yang berbeza pada pulangan strategi untuk mencari parameter yang optimum.
Pertimbangkan untuk menambah penunjuk lain untuk pengesahan, seperti penunjuk osilator, untuk meningkatkan ketepatan penilaian.
Membina kerangka parameter yang menyesuaikan diri dan dinamik untuk pengoptimuman parameter automatik.
Idea keseluruhan strategi ini jelas, menggunakan Kama moving average dan moving average golden cross dan death cross untuk menentukan dan mengikuti trend dengan keupayaan kawalan penarikan yang kuat. Melalui penyesuaian parameter dan pengoptimuman, hasil yang baik dapat diperoleh. Tetapi masih ada ruang untuk peningkatan. Dengan menambah lebih banyak penanda pengesahan dan modul kehilangan berhenti, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-05 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //synapticex.com kamaPeriod = input(8, minval=1) ROCLength=input(4, minval=1) kama(length)=> volatility = sum(abs(close-close[1]), length) change = abs(close-close[length-1]) er = iff(volatility != 0, change/volatility, 0) sc = pow((er*(0.666666-0.064516))+0.064516, 2) k = nz(k[1])+(sc*(hl2-nz(k[1]))) n=input(title="period",defval=7) n2ma=2*wma(close,round(n/2)) nma=wma(close,n) diff=n2ma-nma sqn=round(sqrt(n)) n2ma1=2*wma(close[1],round(n/2)) nma1=wma(close[1],n) diff1=n2ma1-nma1 sqn1=round(sqrt(n)) n1=wma(diff,sqn) n2=wma(diff1,sqn) c=n1>n2?lime:red ma=plot(n1,color=c, linewidth = 3) plot(cross(nma, nma1) ? nma : na, style = cross, color = c, linewidth = 5) kamaEntry = request.security(syminfo.tickerid,timeframe.period,kama(kamaPeriod)) plot(kamaEntry, color=gray, title="Kama",transp=0, trackprice=false, style=line) strategy("Kama VS HeikinAshi", overlay=true, pyramiding=0, calc_on_every_tick=true, calc_on_order_fills=true) buyEntry = n1 > n2 sellEntry = close < kamaEntry and n1 < n2 buyExit = close < kamaEntry and n1 < n2 sellExit = n1 > n2 if (buyEntry) strategy.entry("KAMAL", strategy.long, comment="KAMAL") else strategy.close("KAMAL", when=buyExit) if (sellEntry) strategy.entry("KAMAS", strategy.short, comment="KAMAS") else strategy.close("KAMAS", when = sellExit)