Prediksi pembalikan dan strategi kombinasi osilator

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

Gambaran umum

Strategi ini menggabungkan strategi pembalikan dan osilator untuk mendapatkan sinyal perdagangan yang lebih andal. Ini menggabungkan strategi prediksi pembalikan dan strategi Chande Forecast Oscillator, mengeksekusi perdagangan ketika kedua strategi menghasilkan sinyal beli atau jual bersamaan.

Logika Strategi

  1. Strategi Prediksi Pembalikan

    • Menggunakan osilator Stochastic untuk mengidentifikasi kondisi overbought dan oversold

    • Ambil perdagangan kontra arah ketika harga menutup pembalikan di atas 2 bar sementara osilator Stochastic mencapai tingkat overbought atau oversold

  2. Strategi Osilator Ramalan Chande

    • Menggunakan analisis regresi linier untuk memprediksi harga

    • Osilator memetakan persentase perbedaan antara harga penutupan dan harga perkiraan

    • Membuat sinyal perdagangan ketika harga aktual menyimpang secara signifikan dari harga yang diprediksi

  3. Aturan Strategi

    • Simultan menghitung sinyal dari kedua strategi

    • Hanya menghasilkan sinyal perdagangan yang sebenarnya ketika kedua strategi setuju untuk membeli atau menjual

    • Kombinasi menyaring sinyal palsu dari strategi individu, meningkatkan keandalan

Analisis Keuntungan

  1. Menggabungkan beberapa strategi memberikan penilaian pasar yang lebih kuat

  2. Menyaring sinyal palsu yang mungkin terjadi pada indikator tunggal

  3. Strategi pembalikan menangkap peluang pembalikan jangka pendek

  4. Osilator Chande secara akurat menilai tren jangka panjang

  5. Parameter osilator stokastik yang fleksibel yang dapat disesuaikan dengan perubahan pasar

  6. Menggabungkan teknik analisis untuk memanfaatkan berbagai prospek perdagangan

Analisis Risiko

  1. Meskipun lebih dapat diandalkan, strategi combo mengurangi frekuensi sinyal

  2. Membutuhkan optimasi kompleks dari beberapa parameter strategi

  3. Sulit untuk membalik waktu, risiko kerugian ada

  4. Ramalan regresi linier tidak efektif ketika harga tidak stabil

  5. Perhatikan perbedaan harga dari osilator Stochastic

  6. Data backtest tidak cukup, kinerja hidup tidak pasti

Peluang Peningkatan

  1. Mengoptimalkan osilator stokastik dengan mengurangi periode K dan D

  2. Uji lebih banyak periode regresi linier untuk menemukan optimal

  3. Tambahkan stop loss untuk membatasi kerugian

  4. Logika tweak untuk menunggu osilator Stochastic mencapai ekstrem

  5. Menganalisis sifat statistik instrumen perdagangan

  6. Masukkan lebih banyak indikator seperti MACD untuk ketahanan

Ringkasan

Strategi ini mensintesis beberapa teknik analisis dan meningkatkan kualitas sinyal melalui kombinasi, menangkap pembalikan jangka pendek dan tren jangka panjang. Namun kinerja langsung perlu divalidasi dan parameter disesuaikan. Kerangka konseptual dapat diperluas ke lebih banyak indikator dan strategi, memberikan panduan perdagangan praktis. Secara keseluruhan strategi menawarkan inovasi dan referensi yang berarti.


/*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 banyak