Strategi Dagangan Pembalikan Dua Faktor

Penulis:ChaoZhang, Tarikh: 2023-12-27 17:22:31
Tag:

img

Ringkasan

Strategi ini mula-mula menggunakan isyarat pembalikan harga untuk perdagangan, kemudian menggabungkan penapis trend untuk menyaring, melaksanakan sistem yang didorong oleh faktor dua.

Logika Strategi

Bahagian pembalikan harga menggunakan sistem pembalikan 123. Sistem ini adalah dari buku How I Tripped My Money In The Futures Market oleh Ulf Jensen, halaman 183. Generasi isyarat perdagangan mempunyai syarat berikut:

  1. Penutupan sebelumnya lebih rendah daripada penutupan 2 hari yang lalu
  2. Penutupan semasa lebih tinggi daripada penutupan sebelumnya
  3. Stochastic perlahan 9 hari adalah lebih rendah daripada 50

Apabila syarat-syarat di atas dipenuhi, isyarat beli dihasilkan.

  1. Penutupan sebelumnya lebih tinggi daripada penutupan 2 hari yang lalu
  2. Penutupan semasa lebih rendah daripada penutupan sebelumnya
  3. Stochastic cepat 9 hari lebih tinggi daripada 50

Isyarat jual dihasilkan.

Matlamat sistem pembalikan ini adalah untuk menangkap pembalikan jangka pendek apabila harga membentuk pembalikan sementara.

Bahagian penapisan trend menggunakan sistem Ekstraksi Trend (ETT). Sistem ETT menilai arah trend melalui gabungan penapisan dan purata bergerak. Dalam strategi ini, fungsi utamanya adalah untuk mengesahkan isyarat pembalikan harga, mengelakkan operasi pembalikan apabila tidak ada trend yang jelas.

Strategi ini menggabungkan isyarat perdagangan dari kedua-dua sub-strategi, akhirnya merealisasikan sistem perdagangan pembalikan yang didorong oleh faktor dua.

Analisis Kelebihan

Strategi perdagangan pembalikan dua faktor mengintegrasikan kelebihan setiap sub-strategi melalui gabungan:

  1. 123 sistem pembalikan boleh menangkap peluang pembalikan jangka pendek
  2. Sistem ETT dapat menapis senario dengan berkesan tanpa trend yang jelas, mengelakkan risiko perdagangan pembalikan
  3. Dual-faktor didorong meningkatkan kualiti isyarat

Oleh itu, strategi ini dapat menapis isyarat pembalikan yang tidak sah dengan berkesan. Dengan penilaian trend yang betul, ia menjalankan operasi pembalikan, dengan itu meningkatkan prestasi keseluruhan sistem perdagangan.

Analisis Risiko

Strategi perdagangan pembalikan dua faktor mempunyai risiko utama berikut:

  1. Risiko harga meneruskan trend asal selepas pembalikan. Penetapan parameter kompilator yang tidak betul boleh menyebabkan penjanaan isyarat pembalikan yang terlalu kerap, sehingga kehilangan peluang trend.
  2. Risiko daripada sistem ETTkesalahan penilaian Sistem ETT itu sendiri juga mempunyai kesilapan penilaian, yang membawa kepada kerugian dalam perdagangan pembalikan.
  3. Walaupun kurang mungkin, masih ada kebarangkalian bahawa kedua-dua isyarat perdagangan membuat penilaian yang salah pada masa yang sama, yang memperkuat kerugian.

Untuk mengurangkan risiko di atas, pertimbangan termasuk menyesuaikan parameter Pengkompiler, mengoptimumkan strategi pembalikan & ETT untuk penilaian yang lebih baik, serta memperluaskan julat stop loss yang sesuai untuk perdagangan pembalikan.

Pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter sistem pembalikan untuk kombinasi parameter yang lebih baik
  2. Mengoptimumkan parameter sistem ETT untuk ketepatan penilaian yang lebih tinggi
  3. Cuba menggabungkan strategi pembalikan harga lain dengan ETT
  4. Tambah mekanisme kawalan saiz kedudukan
  5. Memandu dengan lebih banyak faktor

Dengan logik strategi dan isyarat perdagangan utama tidak berubah, hasil backtest yang lebih baik boleh dijangkakan melalui parameter dan pengoptimuman kombinasi.

Kesimpulan

Strategi perdagangan pembalikan dua faktor secara organik menggabungkan isyarat pembalikan harga dan penapisan trend untuk sistem penghakiman pelbagai faktor. Berbanding dengan strategi isyarat pembalikan tunggal, strategi ini dapat menangkap pembalikan harga jangka pendek dengan lebih baik sambil mengelakkan isyarat palsu apabila tidak ada trend yang jelas, dengan itu meningkatkan kualiti isyarat. Prestasi yang lebih baik dapat diharapkan melalui pengoptimuman parameter dan menambah faktor lain.


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/08/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
// Extracting The Trend
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// 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


ETT(Length,Delta,Trigger) =>
    pos = 0
    xBandpassFilter = 0.0
    xPrice = hl2
    beta = cos(3.1415 * (360 / Length) / 180)
    gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
    alpha = gamma - sqrt(gamma * gamma - 1)
    xBandpassFilter := 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
    xMean = sma(xBandpassFilter, 2 * Length)
    pos :=iff(xMean > Trigger, 1,
	       iff(xMean < Trigger, -1, nz(pos[1], 0)))     
    pos

strategy(title="Combo Backtest 123 Reversal & Extracting The Trend", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthETT = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posETT = ETT(LengthETT,Delta,Trigger)
pos = iff(posReversal123 == 1 and posETT == 1 , 1,
	   iff(posReversal123 == -1 and posETT == -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