Strategi Stochastic Dual

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

img

Gambaran umum

Strategi Stochastics Dual menilai zona bullish dan bearish dengan menghitung indikator stochastic dari periode saat ini dan beberapa kerangka waktu, bertujuan untuk membeli rendah dan menjual tinggi.

Logika Strategi

Strategi ini menghitung dua set indikator stokastik secara bersamaan. Set pertama adalah stokastik periode saat ini, yaitu nilai K dan D. Set kedua adalah stokastik 3 kali periode saat ini, yaitu MTFK dan MTFD.

Ketika MTFK melintasi di atas 50 dan K saat ini lebih besar dari D, sinyal beli dihasilkan, menunjukkan zona bullish untuk pergi panjang.

Oleh karena itu, strategi ini menggunakan indikator stokastik ganda untuk menilai zona bullish dan bearish dan melacak tren harga.

Secara khusus, logika entri panjang adalah:

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

Logika entri singkat adalah:

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

Di mana mtfK adalah nilai K dari periode 3x, dan mtfD adalah nilai D dari periode 3x. Sinyal panjang dihasilkan ketika mtfK melintasi di atas 50 dan k>d. Sinyal pendek dihasilkan ketika mtfD melintasi di bawah 50 dan k

Strategi ini juga menetapkan logika stop loss. Ketika panjang, jika mtfD melintasi band atas, sinyal dekat dihasilkan. Ketika pendek, jika mtfK melintasi band bawah, sinyal dekat dipicu.

Analisis Keuntungan

Keuntungan dari strategi ini adalah:

  1. Menggunakan stokastik ganda memberikan penilaian yang lebih akurat dari zona bullish dan bearish. Indikator periode saat ini menilai tren jangka pendek sementara indikator periode yang lebih besar menilai tren jangka panjang. Menggabungkan keduanya dapat lebih baik menangkap tren.

  2. Perdagangan berdasarkan crossover dari indikator jangka waktu yang berbeda dapat secara efektif melacak tren dan mencapai pembelian rendah dan penjualan tinggi.

  3. Logika stop loss membantu mengendalikan risiko dan membatasi kerugian sampai batas tertentu.

  4. Logika strategi sederhana dan jelas, mudah dimengerti dan diimplementasikan untuk perdagangan langsung.

Analisis Risiko

Strategi ini juga memiliki beberapa risiko:

  1. Stokastik ganda dapat menghasilkan sinyal palsu, menyebabkan perdagangan yang tidak perlu.

  2. Pengaturan stop loss yang tidak benar dapat menyebabkan kerugian yang diperbesar. Jarak stop loss yang wajar harus diatur untuk menghindari terjebak.

  3. Perdagangan yang sering dihasilkan oleh strategi dapat berdampak negatif pada keuntungan karena komisi. Parameter harus disesuaikan untuk mengurangi perdagangan yang tidak perlu.

  4. Strategi ini hanya didasarkan pada indikator teknis tanpa mempertimbangkan fundamental, yang harus dipantau sampai batas tertentu.

Solusi:

  1. Sesuaikan parameter stokastik ganda untuk mengurangi sinyal palsu.

  2. Optimalkan logika stop loss dan atur jarak stop loss yang wajar.

  3. Sesuaikan parameter untuk mengurangi frekuensi perdagangan.

  4. Perhatikan peristiwa fundamental yang signifikan untuk menghindari perdagangan subjektif.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter stokastik ganda untuk mengurangi sinyal palsu.

  2. Masukkan indikator lain untuk menyaring sinyal, seperti MACD, moving average dll, menghindari sinyal palsu.

  3. Mengoptimalkan strategi stop loss dengan menguji titik dan rasio stop loss yang berbeda untuk mengontrol risiko secara efektif.

  4. Masukkan indikator volume perdagangan, seperti volume breakout, untuk menghindari perdagangan yang tidak efektif selama konsolidasi harga.

  5. Uji periode penyimpanan yang berbeda. periode penyimpanan yang terlalu pendek menyebabkan komisi memakan keuntungan, terlalu lama gagal untuk menghentikan kerugian pada waktunya.

  6. Masukkan faktor-faktor dasar, menutup posisi sekitar peristiwa penting untuk menghindari kejutan.

Ringkasan

Strategi Stochastics Dual menilai zona bullish dan bearish berdasarkan indikator stochastic periode saat ini dan beberapa periode, mencapai tujuan membeli rendah dan menjual tinggi. Strategi ini memiliki keuntungan seperti kemampuan pelacakan tren yang kuat, logika sederhana, dan perdagangan langsung yang mudah. Tetapi ada risiko, yang membutuhkan penyesuaian parameter, pengoptimalan stop loss, dan penggabungan teknis atau fundamental lainnya untuk meningkatkan. Jika dioptimalkan secara komprehensif dan diuji secara ketat, strategi ini dapat menjadi sistem trend berikut yang sangat praktis.


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