Trend Momentum Berikutan Strategi

Penulis:ChaoZhang, Tarikh: 2023-10-30 11:36:26
Tag:

img

Ringkasan

Strategi ini menggunakan penunjuk VIDYA (Peratus Dinamis Indeks Berubah) untuk mengenal pasti arah trend di pasaran dan perdagangan cryptocurrency berdasarkan trend.

Logika Strategi

Strategi ini mula-mula mengira penunjuk VIDYA. Penunjuk VIDYA berdasarkan momentum harga dan boleh bertindak balas terhadap perubahan trend dengan lebih cepat. Khususnya, ia menggabungkan Chande Momentum Oscillator (CMO) dan Purata Bergerak Sederhana (SMA). CMO mengukur perbezaan antara momentum ke atas dan ke bawah untuk mengukur kekuatan trend. SMA meluruskan data harga. VIDYA secara dinamik menyesuaikan berat SMA berdasarkan nilai CMO, memberikan lebih banyak berat kepada CMO pada awal perubahan trend dan lebih banyak berat kepada SMA setelah trend ditubuhkan. Oleh itu, VIDYA dapat bertindak balas dengan cepat terhadap perubahan trend sambil juga mengekalkan penjejakan trend yang lancar.

Selepas mengira VIDYA, strategi menilai arah trend berdasarkan lengkung VIDYA. Ia pergi lama apabila VIDYA naik dan menutup kedudukan apabila VIDYA jatuh.

Analisis Kelebihan

  • VIDYA bertindak balas dengan cepat dan dapat menangkap perubahan trend lebih awal berbanding dengan penunjuk tradisional seperti SMA.

  • Menggabungkan kekuatan trend dan arah, ia dapat membezakan dengan berkesan trend yang kuat dan lemah dan mengelakkan trend palsu di pasaran yang berbeza.

  • Hanya bergantung pada VIDYA menjadikan strategi mudah. Tiada isyarat yang bertentangan atau mengelirukan dari pelbagai penunjuk.

  • Tetapan VIDYA yang lebih panjang membolehkan mengesan trend jangka panjang dan menangkap arah trend utama.

  • Hasil backtest yang baik dengan pulangan yang diharapkan positif.

Analisis Risiko

  • VIDYA mungkin terlambat bertindak balas terhadap peristiwa pasaran tiba-tiba dan kehilangan peluang perdagangan jangka pendek.

  • Tetapan VIDYA yang panjang menjadikannya kurang sensitif terhadap perubahan trend jangka pendek dan boleh membawa kepada pengeluaran yang lebih besar.

  • Pengikut trend murni berprestasi buruk di pasaran yang berbelit-belit. Penapis tambahan boleh meningkatkan prestasi.

  • Data backtest yang terhad tidak dapat mengesahkan ketahanan sepenuhnya. Parameter memerlukan pengoptimuman dan ujian berulang dalam perdagangan langsung.

  • Volatiliti tinggi di pasaran kripto. Ukuran kedudukan dan stop loss harus dikawal dengan teliti untuk pengurusan risiko yang ketat.

Arahan pengoptimuman

  • Uji tambah jumlah atau penunjuk turun naik untuk meningkatkan kepekaan terhadap perubahan trend.

  • Cuba menggabungkan VIDYA dengan penunjuk trend lain untuk kesan ensemble.

  • Mengoptimumkan strategi stop loss untuk keluar lebih awal apabila trend berbalik.

  • Mengoptimumkan saiz kedudukan secara dinamik berdasarkan keadaan pasaran.

  • Uji ketahanan merentasi mata wang kripto dan jangka masa yang berbeza.

Kesimpulan

Secara keseluruhan, ini adalah trend kuantitatif yang mengikuti strategi. Ia menggunakan penunjuk VIDYA untuk menentukan arah trend, menangkap trend crypto dengan mudah dan berkesan. Tetapi ia juga mempunyai beberapa batasan yang memerlukan pengoptimuman lebih lanjut dalam stop loss, saiz kedudukan dan lain-lain untuk menjadikan strategi lebih kukuh dan praktikal. Secara umum, ia menyediakan rangka kerja dan pendekatan asas untuk membina strategi trend crypto, tetapi penilaian yang berhati-hati masih diperlukan untuk aplikasi dunia nyata.


/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @version=5
// Author = TradeAutomation


strategy(title="VIDYA Trend Strategy", shorttitle="VIDYA Trend Strategy", process_orders_on_close=true, overlay=true, pyramiding=25,  commission_type=strategy.commission.percent, commission_value=.075, slippage = 1, initial_capital = 1000000, default_qty_type=strategy.percent_of_equity, default_qty_value=4)


// Backtest Date Range Inputs // 
StartTime = input(defval=timestamp('01 Jan 2000 08:00'), group="Date Range", title='Start Time')
EndTime = input(defval=timestamp('01 Jan 2099 00:00'), group="Date Range", title='End Time')
InDateRange = true

// Strategy Inputs //
len = input.int(title="VIDYA Length", defval=50, step=5,group="Trend Settings")
src = input.source(title="VIDYA Price Source",defval=ohlc4, group="Trend Settings")

// VIDYA Calculations //
valpha=2/(len+1)
vud1=src>src[1] ? src-src[1] : 0
vdd1=src<src[1] ? src[1]-src : 0
vUD=math.sum(vud1,9)
vDD=math.sum(vdd1,9)
vCMO=nz((vUD-vDD)/(vUD+vDD))
var VIDYA = 0.0
VIDYA := na(VIDYA[1]) ? ta.sma(src, len) : nz(valpha*math.abs(vCMO)*src)+(1-valpha*math.abs(vCMO))*nz(VIDYA[1])
plot(VIDYA, title="VIDYA",color=(VIDYA > VIDYA[1]) ? color.green : (VIDYA<VIDYA[1]) ? color.red : (VIDYA==VIDYA[1]) ? color.gray : color.black, linewidth=2)

// Entry & Exit Signals //
if (InDateRange)
    strategy.entry("Long", strategy.long, when = VIDYA>VIDYA[1])
    strategy.close("Long", when = VIDYA<VIDYA[1])
if (not InDateRange)
    strategy.close_all()
    

Lebih lanjut