Ramalan pembalikan dan strategi gabungan osilator

Penulis:ChaoZhang, Tarikh: 2023-10-10 10:39:44
Tag:

Ringkasan

Strategi ini menggabungkan strategi pembalikan dan osilator untuk mendapatkan isyarat perdagangan yang lebih boleh dipercayai. Ia menggabungkan strategi ramalan pembalikan dan strategi Chande Forecast Oscillator, melaksanakan perdagangan apabila kedua-dua strategi menghasilkan isyarat beli atau jual serentak.

Logika Strategi

  1. Strategi Ramalan Pembalikan

    • Menggunakan pengayun Stochastic untuk mengenal pasti keadaan overbought dan oversold

    • Ambil perdagangan ke arah yang bertentangan apabila harga menutup pembalikan di atas 2 bar manakala osilator Stochastic mencapai tahap overbought atau oversold

  2. Strategi Osilator Ramalan Chande

    • Gunakan analisis regresi linear untuk meramalkan harga

    • Osilator memetakan peratusan perbezaan antara harga penutupan dan harga ramalan

    • Menghasilkan isyarat dagangan apabila harga sebenar menyimpang dengan ketara dari harga ramalan

  3. Peraturan Strategi

    • Pada masa yang sama mengira isyarat dari kedua-dua strategi

    • Hanya menjana isyarat dagangan sebenar apabila kedua-dua strategi bersetuju untuk membeli atau menjual

    • Gabungan menapis isyarat palsu dari strategi individu, meningkatkan kebolehpercayaan

Analisis Kelebihan

  1. Menggabungkan pelbagai strategi memberikan penilaian pasaran yang lebih kukuh

  2. Menyaring isyarat palsu yang mungkin berlaku dalam penunjuk tunggal

  3. Strategi pembalikan menangkap peluang pembalikan jangka pendek

  4. Osilator Chande menilai dengan tepat trend jangka panjang

  5. Parameter pengayun Stochastic yang fleksibel yang dapat disesuaikan dengan pasaran yang berubah

  6. Menggabungkan teknik analisis untuk memanfaatkan pelbagai prospek perdagangan

Analisis Risiko

  1. Walaupun lebih boleh dipercayai, strategi gabungan mengurangkan kekerapan isyarat

  2. Menghendaki pengoptimuman kompleks pelbagai parameter strategi

  3. Sukar untuk membalikkan masa, risiko kerugian wujud

  4. Ramalan regresi linear tidak berkesan apabila harga berubah-ubah

  5. Perhatikan perbezaan harga dari pengayun Stochastic

  6. Data ujian belakang tidak mencukupi, prestasi langsung tidak pasti

Peluang Peningkatan

  1. Mengoptimumkan pengayun Stochastic dengan mengurangkan tempoh K dan D

  2. Uji lebih banyak tempoh regresi linear untuk mencari optimum

  3. Tambah stop loss untuk hadkan kerugian

  4. Tukar logik untuk menunggu Osilator Stochastic mencapai melampau

  5. Menganalisis sifat statistik instrumen dagangan

  6. Menggabungkan lebih banyak penunjuk seperti MACD untuk ketahanan

Ringkasan

Strategi ini menghimpunkan pelbagai teknik analisis dan meningkatkan kualiti isyarat melalui kombinasi, menangkap kedua-dua pembalikan jangka pendek dan trend jangka panjang. Tetapi prestasi langsung perlu disahkan dan parameter disesuaikan dengan itu. Kerangka konsep boleh diperluaskan kepada lebih banyak penunjuk dan strategi, menyediakan panduan perdagangan praktikal. Secara keseluruhan strategi ini menawarkan inovasi dan rujukan yang bermakna.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/08/2019
// 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
// The Chande Forecast Oscillator developed by Tushar Chande The Forecast 
// Oscillator plots the percentage difference between the closing price and 
// the n-period linear regression forecasted price. The oscillator is above 
// zero when the forecast price is greater than the closing price and less 
// than zero if it is below.
//
// 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

ChandeForecastOscillator(Length, Offset) =>
    pos = 0
    xLG = linreg(close, Length, Offset)
    xCFO = ((close -xLG) * 100) / close
    pos := iff(xCFO > 0, 1,
           iff(xCFO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chande Forecast Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCFO = input(14, minval=1)
Offset = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChandeForecastOscillator = ChandeForecastOscillator(LengthCFO, Offset)
pos = iff(posReversal123 == 1 and posChandeForecastOscillator == 1 , 1,
	   iff(posReversal123 == -1 and posChandeForecastOscillator == -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