Prediksi pembalikan dan strategi kombinasi osilator


Tanggal Pembuatan: 2023-10-10 10:39:44 Akhirnya memodifikasi: 2023-10-10 10:39:44
menyalin: 1 Jumlah klik: 651
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini merupakan kombinasi dari strategi reversal dan strategi oscillator untuk mendapatkan sinyal perdagangan yang lebih andal. Strategi ini menggabungkan strategi prediksi reversal dan strategi oscillator prediksi Chande untuk melakukan perdagangan ketika kedua strategi tersebut mengirimkan sinyal beli atau jual secara bersamaan.

Prinsip Strategi

  1. Strategi Prediksi Terbalik

    • Menggunakan indikator Stochastic oscillator untuk menilai fenomena overbought dan oversold

    • Operasi reversal dilakukan ketika dua bar harga berturut-turut berbalik, dan sinyal stochastic oscillator menunjukkan sinyal overbought atau oversold

  2. Chande memprediksi strategi pendorong

    • Prediksi harga menggunakan analisis regresi linier

    • Kurva osilator sama dengan selisih harga penutupan dengan harga perkiraan

    • Sinyal perdagangan dihasilkan ketika ada perbedaan yang jelas antara harga aktual dan harga yang diprediksi

  3. Logika Strategi

    • Simultaneous computation of the reversal prediction strategy and the Chande prediction oscillator strategy signal (Signal untuk memprediksi strategi pendorong dan strategi pendorong)

    • Sinyal perdagangan yang sebenarnya hanya dihasilkan jika kedua strategi tersebut sesuai, yaitu untuk sinyal beli atau jual

    • Peningkatan reliabilitas sinyal dengan mengkombinasikan penyaringan terhadap sinyal palsu yang mungkin muncul dari strategi tunggal

Analisis Keunggulan Strategi

  1. Menggabungkan berbagai strategi, menilai pasar secara menyeluruh, dan lebih dapat diandalkan

  2. Menyingkirkan sinyal palsu yang mungkin muncul dari satu indikator teknis

  3. Strategi prediksi reversal dapat menangkap peluang reversal jangka pendek

  4. Chande memprediksi bahwa oscillator akan akurat dalam menentukan tren jangka panjang.

  5. Stochastic oscillator indikator parameter yang dapat disesuaikan, adaptif

  6. Mengintegrasikan berbagai metode analisis untuk menangkap peluang perdagangan dalam berbagai dimensi

Analisis risiko

  1. Strategi kombinasi meningkatkan keandalan, tetapi mengurangi frekuensi sinyal yang dihasilkan

  2. Optimalisasi parameter strategi secara bersamaan, lebih kompleks

  3. Di sisi lain, ada risiko kerugian karena waktu yang tidak tepat untuk terjadinya perubahan.

  4. Perkiraan Regresi Linear tidak berlaku untuk pasar dengan harga yang sangat berfluktuasi

  5. Perhatikan apakah harga saham menyimpang dari osilator stokastik

  6. Data deteksi tidak cukup, efek disk diragukan

Arah optimasi strategi

  1. Mengoptimalkan parameter stochastic oscillator, mempersingkat K-line dan D-line periode

  2. Sesuaikan siklus regresi linier, uji lebih banyak parameter siklus

  3. Meningkatkan strategi stop loss dan mengurangi kerugian tunggal

  4. Memodifikasi logika posisi terbuka, menunggu indikator Stochastic oscillator sepenuhnya memasuki zona overbought dan oversold

  5. Menambahkan analisis karakteristik statistik untuk varietas yang diperdagangkan

  6. Dengan lebih banyak indikator, seperti MACD dan lain-lain, memberikan lebih banyak dimensi penilaian

Meringkaskan

Strategi ini mengintegrasikan beberapa metode analisis, meningkatkan kualitas sinyal melalui kombinasi, sekaligus mengakomodasi dua aspek: menemukan pembalikan jangka pendek dan menilai tren besar, untuk menangkap peluang perdagangan yang lebih komprehensif. Tetapi perlu memperhatikan efek disk nyata dan menyesuaikan parameter dengan tepat. Ide strategi ini dapat diperluas ke lebih banyak kombinasi indikator dan strategi, juga dapat digunakan untuk membimbing operasi perdagangan aktual. Secara keseluruhan, strategi ini memiliki beberapa inovasi dan nilai referensi.

Kode Sumber Strategi
/*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 )