Strategi Stochastic Berganda

Penulis:ChaoZhang, Tarikh: 2023-11-07 15:25:19
Tag:

img

Ringkasan

Strategi Stochastics Dual menilai zon bullish dan bearish dengan mengira penunjuk stochastic dari tempoh semasa dan pelbagai kerangka masa, bertujuan untuk membeli rendah dan menjual tinggi.

Logika Strategi

Strategi ini mengira dua set penunjuk stokastik secara serentak. Set pertama adalah stokastik tempoh semasa, iaitu nilai K dan D. Set kedua adalah stokastik 3 kali tempoh semasa, iaitu MTFK dan MTFD.

Apabila MTFK melintasi di atas 50 dan K semasa lebih besar daripada D, isyarat beli dihasilkan, menunjukkan zon menaik untuk pergi panjang. Apabila MTFD melintasi di bawah 50 dan K semasa kurang daripada D, isyarat jual dihasilkan, menunjukkan zon menurun untuk pergi pendek.

Oleh itu, strategi ini menggunakan penunjuk stokastik ganda untuk menilai zon menaik dan menurun dan mengesan trend harga. Ia pergi panjang di zon menaik dan pergi pendek di zon menurun, mencapai matlamat membeli rendah dan menjual tinggi.

Secara khusus, logik entri panjang adalah:

longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD  

Logik entri ringkas adalah:

shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD

Di mana mtfK adalah nilai K tempoh 3x, dan mtfD adalah nilai D tempoh 3x. Isyarat panjang dihasilkan apabila mtfK melintasi di atas 50 dan k> d. Isyarat pendek dihasilkan apabila mtfD melintasi di bawah 50 dan k < d.

Strategi ini juga menetapkan logik stop loss. Apabila panjang, jika mtfD melintasi band atas, isyarat dekat dihasilkan. Apabila pendek, jika mtfK melintasi band bawah, isyarat dekat dicetuskan.

Analisis Kelebihan

Kelebihan strategi ini ialah:

  1. Menggunakan stokastik berganda memberikan penilaian yang lebih tepat mengenai zon bullish dan bearish. Penunjuk tempoh semasa menilai trend jangka pendek sementara penunjuk tempoh yang lebih besar menilai trend jangka panjang. Menggabungkan keduanya dapat menangkap trend dengan lebih baik.

  2. Perdagangan yang berasaskan persilangan penunjuk jangka masa yang berbeza dapat dengan berkesan mengesan trend dan mencapai membeli rendah dan menjual tinggi.

  3. Logik stop loss membantu mengawal risiko dan mengehadkan kerugian ke tahap tertentu.

  4. Logik strategi adalah mudah dan jelas, mudah difahami dan dilaksanakan untuk perdagangan langsung.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Stokastik berganda boleh menghasilkan isyarat palsu, menyebabkan perdagangan yang tidak perlu. Sebagai contoh, perbezaan antara trend jangka pendek dan jangka panjang yang disebabkan oleh peristiwa tiba-tiba.

  2. Tetapan stop loss yang tidak betul boleh menyebabkan kerugian yang diperbesar. Jarak stop loss yang munasabah harus ditetapkan untuk mengelakkan terperangkap.

  3. Perdagangan kerap yang dihasilkan oleh strategi ini boleh memberi kesan negatif kepada keuntungan kerana komisen. Parameter harus disesuaikan untuk mengurangkan perdagangan yang tidak perlu.

  4. Strategi ini hanya bergantung kepada penunjuk teknikal tanpa mempertimbangkan asas-asas, yang harus dipantau dalam tahap tertentu.

Penyelesaian:

  1. Sesuaikan parameter stokastik dua untuk mengurangkan isyarat palsu.

  2. Mengoptimumkan logik stop loss dan menetapkan jarak stop loss yang munasabah.

  3. Sesuaikan parameter untuk mengurangkan kekerapan perdagangan.

  4. Beri perhatian kepada peristiwa asas yang penting untuk mengelakkan perdagangan subjektif.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter stokastik dua untuk mengurangkan isyarat palsu. Uji kesan nilai K dan D yang berbeza.

  2. Masukkan penunjuk lain untuk menapis isyarat, seperti MACD, purata bergerak dan lain-lain, mengelakkan isyarat palsu.

  3. Mengoptimumkan strategi stop loss dengan menguji titik dan nisbah stop loss yang berbeza untuk mengawal risiko dengan berkesan.

  4. Memasukkan penunjuk jumlah dagangan, seperti pemisahan jumlah, untuk mengelakkan perdagangan yang tidak berkesan semasa penyatuan harga.

  5. Uji tempoh penahan yang berbeza. Tempoh penahan yang terlalu pendek membawa kepada komisen makan keuntungan, terlalu lama gagal untuk menghentikan kerugian pada waktunya.

  6. Sertakan faktor asas, menutup kedudukan di sekitar peristiwa penting untuk mengelakkan kejutan.

Ringkasan

Strategi Stochastics Dual menilai zon bullish dan bearish dengan tempoh semasa dan beberapa indikator stochastic tempoh, mencapai matlamat membeli rendah dan menjual tinggi. Ia mempunyai kelebihan seperti keupayaan penjejakan trend yang kuat, logik mudah, dan perdagangan langsung yang mudah. Tetapi terdapat risiko, yang memerlukan penyesuaian parameter, pengoptimuman kerugian berhenti, dan penggabungan teknikal atau asas lain untuk meningkatkan. Jika dioptimumkan secara komprehensif dan diuji secara ketat, strategi ini boleh menjadi sistem trend berikut yang sangat praktikal.


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

//@version=3
strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

len = input(54, minval=1, title="Length for Main Stochastic") 
smoothK = input(12, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(100,minval=10,title="Trialing step value")

// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)

//mtf stochastic calculation smoothed with period

mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)

plot(k,"current TF k",blue,style=line, linewidth=2)
plot(d,"current TF d",red,style=line, linewidth=2)
plot(mtfK,"MTF TF k",black,style=line)
plot(mtfD,"Multi TF d",green,style=line, linewidth=2)
hline(upLine)
hline(50)
hline(lowLine)

longCondition = crossover(mtfK, 50) and k>50 and  k>d and mtfK>mtfD
if (longCondition)
    strategy.entry("Lungo", strategy.long)

shortCondition = crossunder(mtfD, 50) and k<50 and  k<d and mtfK<mtfD
if (shortCondition)
    strategy.entry("Corto", strategy.short)
    
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)

if (exitlong)
    strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
    strategy.exit("Esci corto","Corto",trail_points=trailStep)
    
showZones   = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule: 
bullishRule = k >= mtfD
// bearish signal rule: 
bearishRule = k <= mtfD
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)



Lebih lanjut