Strategi pembalikan perlanggaran pelbagai penunjuk

Penulis:ChaoZhang, Tarikh: 2024-01-04 18:02:12
Tag:

img

Ringkasan

Strategi ini direka sebagai strategi pembalikan yang cekap dengan menggabungkan isyarat dua penunjuk. Ia mengintegrasikan isyarat pembalikan berdasarkan penunjuk stokastik dan sistem yang mengesan bilangan hari yang berturut-turut. Strategi ini hanya akan meletakkan pesanan apabila kedua-dua isyarat mencetuskan beli atau jual secara serentak. Mekanisme perlanggaran pelbagai penunjuk ini dapat menapis beberapa isyarat yang tidak sah dan meningkatkan kadar kemenangan.

Prinsip

Strategi ini terdiri daripada dua bahagian. Bahagian pertama adalah sistem pembalikan 123, yang memerhatikan perubahan harga penutupan selama dua hari yang lalu, serta nilai penunjuk stokastik perlahan 3 tempoh. Khususnya, apabila penutupan semalam lebih rendah daripada 2 hari sebelumnya dan penutupan hari ini lebih tinggi daripada semalam, dan stokastik perlahan 9 tempoh di bawah 50, pergi panjang; sebaliknya, apabila penutupan hari ini di bawah semalam dan stokastik cepat di atas 50, pergi pendek.

Indikator kedua mengesan bilangan hari berturut-turut naik baru-baru ini selama n hari. Jika n hari terakhir semua meningkat, ia keluar 1, sebaliknya 0. Indikator ini digunakan untuk mengenal pasti pembentukan trend.

Akhirnya, strategi hanya akan melaksanakan perdagangan apabila isyarat pembalikan 123 dan bilangan hari naik berturut-turut menunjukkan status beli atau jual secara serentak. Pendekatan bertimbalan perlanggaran pelbagai penunjuk ini dapat menapis beberapa isyarat yang tidak sah dan meningkatkan kestabilan keseluruhan strategi.

Analisis Kelebihan

Kelebihan terbesar strategi gabungan pelbagai penunjuk ini adalah bahawa ia dapat meningkatkan kebolehpercayaan isyarat dengan menapis beberapa yang tidak sah.

  1. Pembalikan 123 itu sendiri mempunyai beberapa keupayaan skrining untuk mengelakkan gangguan bunyi. Digabungkan dengan penghitung hari berturut-turut, ia dapat mengenal pasti lagi trend dan mengelakkan pantulan pembalikan.

  2. Parameter stokastik perbandingan garis cepat dan perlahan 9 hari dan 3 hari dapat meratakan perubahan parameter dan mengelakkan turun naik jangka pendek dan meningkatkan kestabilan.

  3. Parameter yang boleh disesuaikan termasuk stok, bilangan parameter hari yang meningkat membolehkan penyesuaian dengan pasaran yang berbeza.

  4. Berdagang kedua-dua arah memberikan lebih banyak peluang pendek.

Analisis Risiko

Terdapat juga beberapa risiko untuk strategi ini:

  1. Kombinasi pelbagai penunjuk, sementara meningkatkan ketepatan isyarat, juga mungkin kehilangan beberapa peluang dan mengehadkan keuntungan.

  2. Isyarat pembalikan mempunyai risiko tersendiri untuk terperangkap, yang memerlukan stop loss untuk mengawal risiko.

  3. Tetapan parameter yang tidak betul boleh menjejaskan prestasi yang memerlukan penyesuaian antara pasaran.

  4. Menyimpan kedudukan jangka panjang tanpa menghentikan kerugian tepat pada masanya atau mengejar pembalikan saham juga membawa risiko.

Oleh itu, langkah-langkah berikut boleh diambil untuk mengurangkan risiko:

  1. Meredakan keadaan parameter dengan sewajarnya untuk mengekalkan lebih banyak peluang perdagangan.

  2. Tetapkan titik stop loss untuk mengehadkan kerugian setiap perdagangan.

  3. Mengoptimumkan parameter dan menetapkan peraturan parameter untuk pasaran yang berbeza.

  4. Elakkan menyimpan stok tunggal untuk jangka panjang dan mengekalkan kecairan.

Arahan pengoptimuman

Masih ada potensi besar untuk mengoptimumkan strategi pembalikan pelbagai penunjuk ini, terutamanya dari aspek berikut:

  1. Uji lebih banyak kombinasi penunjuk untuk mencari perlawanan yang lebih baik.

  2. Gunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter.

  3. Tambah syarat stop loss dan mengambil keuntungan untuk lebih kukuh.

  4. Uji jangka masa yang berbeza dalam bahagian penunjuk trend.

  5. Menilai penerapan di seluruh indeks saham, forex, komoditi, mata wang kripto.

  6. Merancang strategi gabungan yang secara dinamik menyesuaikan peruntukan di pelbagai pasaran secara serentak.

Ringkasan

Strategi ini dengan mahir menggabungkan pelbagai penunjuk untuk merancang strategi perdagangan pembalikan yang cekap namun stabil. Berbanding dengan penunjuk tunggal, mekanisme perlanggaran multi-penunjuk menapis isyarat palsu dengan berkesan. Sementara itu, strategi ini juga mengemas kini kaedah pembalikan tradisional dengan menambahkan penunjuk trend baru untuk pengesahan isyarat. Dengan pengoptimuman parameter, hentian kerugian, penyesuaian di seluruh pasaran, dan banyak lagi, ini menjadi alat perdagangan kuantitatif yang kuat.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/03/2021
// 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
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBU(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] >= open[1], nz(nCounter[1],0)+1,
                  iff(close[1] < open[1], 0, nCounter))
    C1 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, 1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Up", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- N Bars Up ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBU = NBU(nLength)
pos = iff(posReversal123 == 1 and posNBU == 1 , 1,
	   iff(posReversal123 == -1 and posNBU == -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