Strategi mengikut arah aliran berdasarkan sisihan piawai volum


Tarikh penciptaan: 2023-11-21 11:11:51 Akhirnya diubah suai: 2023-11-21 11:11:51
Salin: 0 Bilangan klik: 706
1
fokus pada
1617
Pengikut

Strategi mengikut arah aliran berdasarkan sisihan piawai volum

Gambaran keseluruhan

Strategi ini menggunakan purata bergerak dan perbezaan piawai untuk membina model jumlah urus niaga, menilai arah trend dengan purata bergerak harga, dan menghantar isyarat perdagangan jika jumlah urus niaga normal. Strategi ini juga menetapkan had tinggi dan rendah untuk jumlah urus niaga, yang dapat mengelakkan isyarat yang salah jika jumlah urus niaga tidak normal.

Prinsip Strategi

Logik utama adalah untuk membina model jumlah transaksi dan trend harga.

  1. Membina model jumlah transaksi
    • Mengira jumlah dagangan dengan purata bergerak 40 kitaran panjangvavg sebagai asas jumlah dagangan
    • Hitung jumlah dagangan dengan selisih standard 40 kitaran vsd sebagai julat pergerakan normal dalam jumlah dagangan
    • Mengira jumlah dagangan dengan purata bergerak sepanjang 5 kitaranvavgn sebagai tahap jumlah dagangan terkini
    • Tetapkan jumlah transaksi yang terhad ke bawah untuk vvg dikurangkan 1 kali ganda vsd
    • Tetapkan uplimit maksimum perdagangan sebagaivavg ditambah 2xvsd
  2. Mencari trend harga
    • Pengiraan purata bergerak 20 kitaran harga mavg sebagai penunjuk trend harga
  3. Isikan isyarat perdagangan
    • Apabila mavg naik ke hari sebelumnya, lakukan lebih banyak jikavavgn melebihi had rendah
    • Apabila mavg di bawah menembusi hari sebelumnya, kosongkan jikavavgn lebih tinggi daripada had rendah
    • Jika trend mavg berbalik, ia akan berkurangan.

Strategi ini menggabungkan model jumlah urus niaga dan trend harga untuk mengelakkan trend harga yang tidak normal dalam jumlah urus niaga, dan boleh menyaring beberapa isyarat palsu.

Analisis kelebihan strategi

  1. Menggabungkan perubahan dalam jumlah dagangan dengan trend harga, ia boleh menyaring beberapa isyarat palsu dan menjadikan isyarat lebih dipercayai
  2. Menggunakan perbezaan piawaian jumlah urus niaga untuk membina model jumlah urus niaga untuk mengelakkan kesan perubahan jumlah urus niaga yang melampau
  3. Parameter purata bergerak boleh disesuaikan untuk menyesuaikan diri dengan perubahan harga dalam tempoh yang berbeza

Analisis risiko strategi

  1. Jumlah transaksi dan harga yang mungkin menyimpang dalam jangka masa pendek, menyebabkan kehilangan trend harga
  2. Tetapan parameter jumlah transaksi yang tidak betul boleh menyebabkan model gagal
  3. Strategi itu sendiri tidak mempunyai tetapan stop loss yang boleh menyebabkan kerugian yang lebih besar

Penyelesaian risiko:

  1. Menyesuaikan parameter purata bergerak, model optimum
  2. Menambah logik stop loss untuk mengawal kerugian tunggal

Arah pengoptimuman strategi

  1. Tambah lebih banyak indikator untuk menilai trend harga, menjadikan isyarat lebih tepat dan boleh dipercayai
  2. Menambah modul pembelajaran mesin, parameter berdasarkan model jumlah transaksi dan harga latihan data
  3. Menambah logik stop loss untuk mengelakkan kerugian tunggal yang berlebihan
  4. Mengoptimumkan logik masuk untuk memastikan kemungkinan yang lebih tinggi untuk menangkap trend
  5. Gabungan dengan penunjuk seperti ATR untuk menyesuaikan jarak henti secara automatik

ringkaskan

Strategi ini mempunyai pemikiran keseluruhan yang jelas, menggunakan jumlah dagangan untuk mengelakkan trend palsu, dan isyarat masuknya lebih dipercayai. Tetapi strategi itu sendiri lebih mudah, ruang untuk diperluaskan adalah besar, dengan menambah modul seperti indikator, pembelajaran mesin, dan hentikan kerugian, anda boleh mengoptimumkan lebih lanjut untuk meningkatkan kestabilan dan keupayaan untuk menangkap trend.

Kod sumber strategi
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © dongyun

//@version=4
strategy("交易量底部标准差系统", overlay=true)

options = input(1,'')
length = input(40,'')
nlow = input(5,'')
factor = input(1.0,'')

vavg = 0.0
vavgn = 0.0
vsd = 0.0
lowlimit = 0.0
uplimit = 0.0
mavg = 0.0
aror = 0.0
adjvol = 0.0
savevol = 0.0


//Find average volume, replacing bad values
adjvol := volume

if (volume != 0)
	savevol := volume
else
	savevol := savevol[1]
	adjvol := savevol


// Replace high volume days because they distort standard deviation
if (adjvol > 2 * factor * nz(vsd[1]))
	adjvol := savevol
else
	adjvol := adjvol[1]

vavg := sma(adjvol,length)
vsd := stdev(adjvol,length)
vavgn := sma(adjvol,nlow)

// Extreme volume limits
lowlimit := vavg - factor * vsd
uplimit := vavg + 2 * factor * vsd

// System rules based on moving average trend
mavg := sma(close,length/2)

// Only enter on new trend signals
if (options == 2)
	if (mavg > mavg[1] and mavg[1] <= mavg[2])
		strategy.entry("Long", strategy.long)
	if (mavg<mavg[1] and mavg[1]>=mavg[2])
		strategy.entry("Short", strategy.short)
else
	if (mavg > mavg[1] and vavgn > lowlimit)
		strategy.entry("Long", strategy.long)
	if (mavg < mavg[1] and vavgn > lowlimit)
		strategy.entry("Short", strategy.short)

// Exit on low volume
if (options != 1)
	if (mavg<mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit))
		strategy.close("Long")
	if (mavg>mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit))
		strategy.close("Short")
else
	if (mavg < mavg[1])
		strategy.close("Long")
	if (mavg > mavg[1])
		strategy.close("Short")