Strategi mengikut arah aliran berdasarkan Kama dan purata bergerak


Tarikh penciptaan: 2024-02-06 09:53:22 Akhirnya diubah suai: 2024-02-06 09:53:22
Salin: 5 Bilangan klik: 788
1
fokus pada
1617
Pengikut

Strategi mengikut arah aliran berdasarkan Kama dan purata bergerak

Gambaran keseluruhan

Idea teras strategi ini adalah untuk mengenal pasti trend pasaran dengan menggabungkan penunjuk garis rata-rata Kama dan penunjuk garis rata-rata, untuk mencapai trend. Apabila garis rata-rata Kama dan garis rata-rata berlaku persilangan emas, dinilai sebagai masuk ke dalam trend naik, lakukan lebih banyak; Apabila garis rata-rata Kama dan garis rata-rata berlaku persilangan mati, dinilai sebagai masuk ke dalam trend menurun, lakukan kosong.

Prinsip Strategi

  1. Kaedah Pengiraan Kama. Kama adalah indikator trend yang lebih sensitif terhadap bunyi pasaran dan boleh digunakan untuk menentukan trend harga.
  2. Mengira purata. Di sini, dua purata dikira, yang pertama adalah purata bergerak indeks ganda yang lebih cepat, dan yang kedua adalah purata bergerak bertimbangan biasa.
  3. Apabila garisan pantas dari arah bawah menembusi garisan perlahan, lakukan lebih banyak; apabila garisan pantas dari arah atas jatuh menembusi garisan perlahan, lakukan kosong. Dengan cara ini, penilaian dan pengesanan trend selesai.
  4. Selepas masuk, keluar dari kedudukan apabila harga menembusi garis rata-rata Kama, untuk mencapai trend track exit.

Kelebihan Strategik

  1. Strategi ini digabungkan dengan garis rata-rata Kama dan penunjuk garis rata-rata, yang dapat membuat penilaian yang lebih tepat mengenai trend pasaran, dan dapat mengesan trend, dan mempunyai keupayaan yang lebih kuat untuk mengawal pengunduran.
  2. Garis rata-rata Kama lebih sensitif terhadap bunyi pasaran dan dapat mengesan titik perubahan trend lebih awal.
  3. Kombinasi garis rata membuat penghakiman yang jelas, prosedur operasi, dan mudah difahami.
  4. Ruang untuk mengoptimumkan parameter strategi adalah luas, dan parameter boleh disesuaikan untuk mengoptimumkan mengikut pelbagai jenis dan jenis perdagangan.

Analisis risiko

  1. Garis rata-rata Kama dan gabungan garis rata-rata juga boleh menyebabkan kesalahan dalam menilai trend pasaran. Ia perlu digabungkan dengan petunjuk lain untuk mengesahkan penilaian.
  2. Tetapan tanpa kerosakan, dalam keadaan yang tidak normal, mungkin membawa kerugian yang lebih besar.
  3. Tetapan parameter yang tidak tepat pada masa yang tepat juga boleh menyebabkan kesalahan penghakiman, perlu menyesuaikan parameter mengikut varieti yang berbeza.

Cadangan Optimasi

  1. Anda boleh pertimbangkan untuk menambah parameter ATR untuk menetapkan hentian kerugian.
  2. Anda boleh menguji kesan parameter yang berbeza terhadap kadar pulangan strategi, memilih parameter yang paling sesuai.
  3. Anda boleh mempertimbangkan untuk menyertakan pengesahan dengan penunjuk lain, seperti penunjuk gegaran, untuk meningkatkan ketepatan penilaian.
  4. Rangka kerja untuk penyesuaian parameter dan pengoptimuman dinamik boleh dibina, yang membolehkan parameter dasar dioptimumkan secara automatik.

ringkaskan

Strategi ini mempunyai konsep yang jelas, menggunakan garis rata-rata karma dan penunjuk garis rata-rata untuk menilai dan mengesan trend, kawalan penarikan balik yang kuat, dengan penyesuaian dan pengoptimuman parameter, kesan yang lebih baik dapat dicapai. Namun, terdapat ruang untuk penambahbaikan tertentu, jika ditambah lebih banyak penunjuk pengesahan dan modul henti rugi, dapat meningkatkan kestabilan dan kemampuan keuntungan strategi.

Kod sumber strategi
/*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)