Sumber dimuat naik... memuat...

Osilator Stochastic Gabungan dan Strategi Pembalikan 123

Penulis:ChaoZhang, Tarikh: 2023-10-26 17:00:27
Tag:

img

Ringkasan

Strategi ini menggabungkan corak pembalikan 123 dan osilator Stochastic untuk menjana isyarat beli apabila harga menunjukkan pembalikan bawah dan osilator Stochastic juga terbalik dari bawah.

Logika Strategi

  1. 123 Strategi Pembalikan

    • Isyarat beli dihasilkan jika harga penutupan lebih tinggi daripada harga penutupan 2 hari sebelumnya, dan garis pantas Stochastic 9 hari berada di bawah garis perlahan dan di bawah 50.

    • Isyarat jual dihasilkan jika harga penutupan lebih rendah daripada harga penutupan 2 hari sebelumnya dan garis pantas Stochastic 9 hari berada di atas garis perlahan dan di atas 50.

  2. Strategi Osilator Stochastic

    • Isyarat beli dijana jika garis Stochastic %K melintasi di atas jalur atas (default 20).

    • Isyarat jual dijana jika garis Stochastic % K melintasi di bawah band bawah (default 80).

  3. Pengesahan berganda

    Isyarat beli hanya dihasilkan apabila kedua-dua strategi 123 pembalikan dan Stochastic memberikan isyarat beli. Isyarat jual adalah sama. Pengesahan berganda ini dapat menapis isyarat palsu dan meningkatkan ketepatan.

Kelebihan

  1. Pengesahan berganda menapis bunyi bising dan meningkatkan ketepatan isyarat.

  2. 123 pembalikan menangkap pembalikan bawah dan atas.

  3. Stochastic mengenal pasti overbought dan oversold dengan berkesan, great match dengan 123 pembalikan.

  4. Kecekapan pengoptimuman yang tinggi dengan penyesuaian parameter.

  5. Logik yang mudah, mudah difahami, baik untuk pemula.

Risiko

  1. Pengesahan berganda boleh kehilangan beberapa peluang dan mengurangkan kekerapan perdagangan.

  2. Stochastic boleh menghasilkan isyarat palsu, perlu diperiksa dengan teliti.

  3. Penyesuaian parameter yang betul diperlukan, tetapan yang tidak betul mempengaruhi prestasi.

  4. Hanya berfungsi untuk pasaran dengan corak pembalikan, bukan untuk trend berterusan.

  5. Ikuti dengan ketat isyarat strategi, elakkan bias dari penilaian anda sendiri.

Penyelesaian Risiko: Mengoptimumkan parameter, mengikuti isyarat dengan ketat, menyesuaikan keadaan pasaran yang berlaku.

Arahan pengoptimuman

  1. Mengoptimumkan parameter Stochastic untuk lebih kestabilan.

  2. Tambah strategi stop loss.

  3. Tambah penapis seperti pengesahan jumlah untuk meningkatkan kualiti isyarat.

  4. Uji kombinasi strategi pembalikan yang berbeza dan Stochastic.

  5. Menggunakan pembelajaran mesin untuk melatih dan mengoptimumkan parameter.

  6. Menggunakan strategi di pasaran yang berbeza untuk menguji ketahanan.

  7. Meneroka kombinasi dengan penunjuk lain.

Kesimpulan

Strategi ini menggabungkan pengayun Stochastic dan corak pembalikan 123, yang berkesan menangkap peluang pembalikan bawah. Berbanding dengan penunjuk tunggal, kombinasi pelbagai penunjuk meningkatkan kualiti isyarat dan kadar kemenangan dengan ketara. Walaupun masih ada ruang untuk peningkatan, logik keseluruhan adalah mudah dan mudah difahami, menjadikannya ideal untuk amalan perdagangan langsung pemula. Dengan ujian dan pengoptimuman berulang, parameter boleh menjadi lebih kukuh untuk hasil positif yang konsisten.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/07/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
// This back testing strategy generates a long trade at the Open of the following 
// bar when the %K line crosses up UpBand line.
// It generates a short trade at the Open of the following bar when the %K line 
// crosses down DownBand line.
//
// 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


Stochastic(Length,DLength,UpBand,DownBand) =>
    pos = 0.0
    vFast = stoch(close, high, low, Length)
    vSlow = sma(vFast, DLength)
    pos := iff(vFast > UpBand, 1,
	         iff(vFast < DownBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Stochastic", 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, "---- Stochastic ----")
LengthS = input(7, minval=1)
DLengthS = input(3, minval=1)
UpBand = input(20, minval=1)
DownBand = input(80, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posStochastic = Stochastic(LengthS,DLengthS,UpBand,DownBand)
pos = iff(posReversal123 == 1 and posStochastic == 1 , 1,
	   iff(posReversal123 == -1 and posStochastic == -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