Strategi Dagangan Kuantitatif Pembalikan Dua Arah

Penulis:ChaoZhang, Tarikh: 2024-02-22 13:46:51
Tag:

img

Strategi ini menggunakan mekanisme penjejakan dua arah, digabungkan dengan isyarat pembalikan harga dan penunjuk jumlah, untuk merealisasikan perdagangan kuantitatif automatik. Kelebihannya terbesar terletak pada kawalan risiko yang boleh dipercayai dengan mengesan stop loss untuk mengunci keuntungan dan mengelakkan pengembangan kerugian. Sementara itu, isyarat perdagangan pembalikan meningkatkan kadar kemenangan strategi.

Prinsip Strategi

Strategi ini terdiri daripada dua sub-strategi. Sub-strategi pertama menggunakan penunjuk stokastik untuk menentukan isyarat pembalikan harga. Logik tertentu adalah:

Jika harga penutupan meningkat selama dua hari berturut-turut, dan garis Slow K 9 hari adalah lebih rendah daripada 50, pergi panjang; Jika harga penutupan jatuh selama dua hari berturut-turut, dan garis Fast K 9 hari lebih tinggi daripada 50, pergi pendek.

Sub-strategi kedua menggabungkan penunjuk jumlah dagangan untuk menilai kekuatan momentum. Khususnya, jumlah dagangan semasa dibandingkan dengan jumlah dagangan purata 40 hari. Jika jumlah dagangan semasa lebih besar daripada purata, ia dianggap sebagai jumlah agresif, yang tergolong dalam isyarat pembalikan untuk pergi pendek. Jika jumlah dagangan semasa kurang daripada purata, ia dianggap sebagai jumlah turun, yang tergolong dalam isyarat pembalikan untuk pergi panjang.

Isyarat perdagangan akhir adalah persimpangan isyarat dari kedua-dua sub-strategi. iaitu, kedudukan akan dibuka hanya apabila kedua-dua sub-strategi memberikan isyarat secara serentak. Dengan menggunakan kaedah Intersection Targets ini, beberapa perdagangan bising dapat disaring dan kualiti isyarat dapat ditingkatkan.

Kelebihan Strategi

  1. Kualiti isyarat yang lebih baik dengan pengesahan berganda menggunakan penunjuk berganda
  2. Kelebihan masa tertentu dengan model perdagangan pembalikan
  3. Menghakimi pergerakan harga masa depan digabungkan dengan analisis jumlah
  4. Mekanisme stop loss yang boleh dipercayai untuk mengawal kerugian tunggal dengan berkesan

Risiko Strategi

  1. Kegagalan isyarat pembalikan untuk menapis sepenuhnya bunyi bising pasaran
  2. Volume dagangan yang tidak normal yang membawa kepada penilaian momentum volum yang tidak sah
  3. Tetapan stop loss yang tidak betul, menyebabkan stop loss awal atau stop loss yang terlalu besar
  4. Kekurangan mekanisme kawalan pengeluaran, berpotensi memendekkan jangka hayat strategi

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Tambah peraturan penilaian trend untuk mengelakkan perdagangan terhadap trend
  2. Mengoptimumkan logik Stop Loss untuk merealisasikan pemantauan Stop Loss dan Stop Loss bertahap
  3. Tambahkan had pengeluaran maksimum untuk strategi penutupan untuk mengelakkan kerugian besar
  4. Menggabungkan algoritma pembelajaran mesin untuk membina model kawalan stop loss dan kedudukan dinamik

Ringkasnya, strategi ini berdasarkan terutamanya pada penjejakan dua arah dan pembalikan harga, ditambah analisis momentum jumlah untuk meningkatkan kualiti isyarat dengan pengesahan berganda. Dalam aplikasi sebenar, ujian dan pengoptimuman lanjut masih diperlukan, terutama untuk melindungi daripada risiko kehilangan berhenti dan pengurusan modal, untuk mengelakkan pengeluaran berlebihan yang membawa kepada penghapusan. Tetapi secara umum, strategi ini menggunakan pelbagai teknik perdagangan kuantitatif dengan logika yang jelas, dan bernilai penyelidikan mendalam.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Volume and SMA
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

    
VSAVol(Length) =>
    pos = 0.0
    xSMA_vol = sma(volume, Length)
    pos := iff(volume > xSMA_vol, -1,
    	     iff(volume < xSMA_vol, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Volume SMA", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_MAVol = input(40, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posVSAVol = VSAVol(Length_MAVol)
pos = iff(posReversal123 == 1 and posVSAVol == 1 , 1,
	   iff(posReversal123 == -1 and posVSAVol == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Lebih lanjut