
Strategi ini menggunakan indikator VIDA (variable index moving average) untuk mengenal pasti arah trend dalam pasaran cryptocurrency dan berdagang berdasarkan trend. Ia adalah strategi perdagangan teknikal kuantitatif.
Strategi ini mula-mula mengira indikator VIDYA. Indikator VIDYA adalah berdasarkan pergerakan perubahan harga, yang dapat bertindak balas lebih cepat terhadap perubahan trend. Khususnya, ia menggabungkan Chande Momentum Oscillator (CMO) dan purata bergerak sederhana (SMA). CMO mengukur perbezaan pergerakan harga naik dan turun untuk menilai kekuatan trend.
Selepas mengira VIDYA, strategi menilai arah trend dengan arah keluknya. Apabila VIDYA naik, lakukan lebih banyak; apabila VIDYA turun, kosongkan.
Indeks VIDYA bertindak balas dengan cepat, menangkap perubahan trend lebih awal, dan mempunyai kelebihan berbanding dengan indikator tradisional seperti SMA.
Gabungan kekuatan dan arah trend dapat membezakan trend kuat dan lemah dengan berkesan, dan mengelakkan diri daripada tertipu oleh trend palsu di pasaran yang bergolak.
Kesederhanaan strategi dicapai hanya berdasarkan satu indikator VIDYA. Tidak menimbulkan konflik dan penyesatan indikator.
Pengaturan jangka panjang Vidya membolehkan trend jangka panjang dikesan, yang membantu untuk memahami arah trend utama.
Kajian semula strategi telah menunjukkan prestasi yang baik dengan hasil yang dijangka positif.
VIDYA mungkin terlewat dalam bertindak balas terhadap kejutan pasaran dan tidak dapat segera mengambil peluang perdagangan jangka pendek.
TetapanVIDYA jangka panjang tidak sensitif terhadap perubahan trend jangka pendek, dan mungkin terdapat pengunduran yang lebih besar di tengah-tengah.
Strategi trend-following semata-mata, tidak berfungsi dengan baik dalam keadaan gegaran. Ia boleh ditambah dengan syarat penapisan tambahan untuk meningkatkan prestasi.
Data pengesanan tidak mencukupi untuk mengesahkan sepenuhnya kehandalan strategi. Dalam perdagangan sebenar, parameter memerlukan ujian pengoptimuman berulang.
Pasaran kripto berfluktuasi besar, perlu berhati-hati mengawal saiz kedudukan dan syarat-syarat berhenti, pengurusan risiko yang ketat.
Uji penambahan harga kuantitatif atau penunjuk kadar turun naik untuk meningkatkan kepekaan untuk mengenal pasti perubahan trend.
Ujian gabungan antara Vidya dengan indikator trend lain untuk membentuk kesan pengumpulan indikator.
Mengoptimumkan strategi hentian kerugian dan hentikan kerugian secepat mungkin apabila trend berbalik.
Mengoptimumkan strategi pengurusan kedudukan, menyesuaikan kedudukan secara dinamik mengikut keadaan pasaran.
Ujian kestabilan di bawah pelbagai jenis dan parameter kitaran cryptocurrency.
Strategi ini secara keseluruhan adalah strategi pengesanan trend kuantitatif. Ia menggunakan petunjuk VIDYA untuk menentukan arah trend, dengan mudah dan berkesan menangkap trend jangka panjang mata wang kripto. Namun, terdapat beberapa batasan, yang memerlukan pengoptimuman lanjut mengenai halangan, pengurusan kedudukan, dan lain-lain, untuk menjadikan strategi lebih mantap dan praktikal.
/*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()