
Strategi ini dilaksanakan berdasarkan jumlah dagangan yang berpusat pada purata bergerak jangka panjang. Ia menggunakan EMA untuk mengira trend jangka panjang dalam jumlah dagangan dalam tempoh yang berbeza, dan dengan perbezaan nilai, ia membina penunjuk guncangan.
Penunjuk utama strategi ini adalah penunjuk kejutan jumlah dagangan (Volume Oscillator). Ia mencerminkan trend perubahan jumlah dagangan melalui perbezaan purata bergerak indeks jumlah dagangan jangka panjang. Rumus pengiraan khusus adalah sebagai berikut:
Volume Oscillator = (ShortEMA - LongEMA) / LongEMA * 100
Di antaranya, ShortEMA dan LongEMA mewakili purata bergerak indeks jangka pendek dan jangka panjang. Apabila ShortEMA melintasi LongEMA, indikatornya positif, yang bermaksud jumlah perdagangan sedang berkembang; apabila ShortEMA melintasi LongEMA, indikatornya negatif, yang bermaksud jumlah perdagangan sedang menyusut.
Selepas mengira indikator getaran, strategi ini menggunakan persimpangan dengan sumbu sifar untuk menghasilkan isyarat perdagangan. Apabila indikator bertukar negatif, iaitu melalui sumbu sifar, lakukan lebih banyak; apabila indikator bertukar negatif, iaitu melalui sumbu sifar, lakukan kosong. Ini mencerminkan peralihan momentum jumlah perdagangan.
Di samping itu, strategi ini juga menggabungkan titik tinggi dan rendah terdahulu untuk menilai arah operasi tertentu. Iaitu, apabila penunjuk berjalan di atas sumbu sifar, jika titik tinggi terdahulu lebih besar daripada nilai mutlak titik rendah terdahulu, lihatlah lebih banyak; sebaliknya, lihatlah lebih rendah.
Strategi ini mempunyai beberapa kelebihan:
Menggunakan jumlah urus niaga sebagai petunjuk asas, ia adalah sangat berguna untuk menentukan kehendak peserta pasaran.
Bersama-sama dengan EMA jangka panjang, ia dapat menangkap trend jangka panjang dan jangka pendek.
Sinyal perdagangan yang dihasilkan oleh penunjuk dan penyambung pada paksi sifar adalah mudah dan jelas.
Untuk menentukan arah operasi yang tepat, anda boleh menggunakan jumlah dagangan dengan baik.
Pemikiran strategik jelas, parameter yang disesuaikan dengan fleksibiliti, dan adaptasi yang kuat.
Strategi ini juga mempunyai risiko yang perlu diperhatikan:
Indeks jumlah dagangan mudah terjejas oleh pasaran palsu, yang mungkin menghasilkan isyarat yang salah. Anda boleh menetapkan stop loss untuk mengawal risiko.
Dalam keadaan yang tidak menentu, jumlah transaksi yang bercampur-campur mungkin kerap berlaku, dan perlu dipastikan bahawa penukaran indikator berlaku.
Puncak-puncak tinggi dan rendah yang terdahulu hanya mencerminkan perkembangan terkini, dan tidak dapat menentukan tahap kekukuhan yang berterusan.
Parameter untuk pelbagai varieti dan tempoh masa perlu dioptimumkan secara berasingan dan tidak cukup umum.
Indeks jumlah dagangan bertindak balas lambat terhadap perdagangan berprogram frekuensi tinggi, dan mungkin terlepas masa masuk terbaik.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Menambah syarat penapisan untuk mengelakkan isyarat palsu, seperti pengesahan penambahan indikator harga.
Mengoptimumkan parameter kitaran EMA jangka panjang dan jangka pendek untuk menjadikannya lebih sesuai dengan ciri-ciri pelbagai jenis.
Tetapkan parameter kitaran untuk harga tertinggi dan terendah sebelumnya, menggunakan harga tertinggi dan terendah untuk tempoh masa.
Tetapkan kawasan penukaran penunjuk sebagai julat untuk mengelakkan perdagangan yang kerap.
Tambah strategi hentikan kerugian dan kawal kerugian tunggal.
Gabungan dengan penunjuk harga VRP dan penunjuk harga teknikal lain.
Mengoptimumkan parameter secara automatik menggunakan kaedah pembelajaran mesin.
Secara keseluruhan, strategi silang garis panjang dan pendek berdasarkan indikator pergerakan jumlah perdagangan memanfaatkan sepenuhnya ciri-ciri pembalikan jumlah perdagangan, mempunyai kebijaksanaan yang kuat, dan mempunyai deteksi yang baik pada awal perkembangan trend. Pada masa yang sama, menggabungkan titik tinggi dan rendah sebelumnya untuk menentukan arah tertentu, menjadikan keputusan perdagangan lebih tepat. Tetapi juga perlu berhati-hati dalam mengawal risiko, untuk mengelakkan kehilangan dari isyarat palsu.
/*backtest
start: 2022-12-05 00:00:00
end: 2023-03-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("SB_Volume_oscillator_Prev_high_low", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
shortlen = input(5, minval=1)
longlen = input(10, minval=1)
short = ema(volume, shortlen)
long = ema(volume, longlen)
osc = 100 * (short - long) / long
//hline(0, title="Zero")
//plot(osc)
zero=input(0.0)
low_val=input(0.0)
high_val=input(0.0)
prev_high_val=input(0.0)
prev_low_val=input(0.0)
where=input(0)
where:=nz(where[1])
low_val:=nz(low_val[1])
high_val:=nz(high_val[1])
prev_high_val:=nz(prev_high_val[1])
prev_low_val:=nz(prev_low_val[1])
if(crossover(osc,zero))
high_val:=osc
where:=1
prev_low_val:=low_val
low_val:=osc
if(crossunder(osc,zero))
low_val:=osc
where:=-1
prev_high_val:=high_val
high_val:=osc
if(where==1)
if(high_val<osc)
high_val:=osc
if(where==-1)
if(low_val>osc)
low_val:=osc
if (crossover(osc,zero))
if(prev_high_val<=abs(prev_low_val))
strategy.entry("My Long Entry Id", strategy.long)
if(prev_high_val>abs(prev_low_val))
strategy.entry("My Short Entry Id", strategy.short)
if (crossunder(osc,zero))
if(prev_high_val<=abs(prev_low_val))
strategy.entry("My Long Entry Id", strategy.long)
if(prev_high_val>abs(prev_low_val))
strategy.entry("My Short Entry Id", strategy.short)