Strategi ini menggunakan dua osilator stokastik dengan parameter yang berbeda untuk menentukan kondisi bull/bear. Ini adalah sistem crossover rata-rata bergerak yang khas. osilator yang lebih cepat menilai tren jangka pendek dan sinyal masuk, sementara yang lebih lambat mengkonfirmasi arah tren keseluruhan.
%K cepat menunjukkan arah tren jangka pendek. %K melintasi garis smoothing SM1 menghasilkan sinyal masuk.
Slow %K mencerminkan kondisi tren secara keseluruhan. Ketika osilator cepat memberikan sinyal pembalikan, periksa oscillator lambat untuk validitas tren.
%K crossover cepat di atas SM1 menunjukkan sinyal bullish. %K lambat di atas 50 berarti uptrend, memuaskan kondisi panjang.
%K crossover cepat di bawah SM1 menunjukkan sinyal bearish. %K lambat di bawah 50 berarti downtrend, memuaskan kondisi short.
Tetapkan titik mengambil keuntungan dan stop loss pada persentase tetap.
Dual stochastic filter kebisingan dan meningkatkan akurasi. kombinasi cepat dan lambat mengurangi risiko terjebak.
Parameter SM1 yang lebih kecil membuat %K sensitif untuk menangkap peluang jangka pendek.
Siklus yang lebih besar menilai tren keseluruhan, siklus yang lebih kecil menangkap pembalikan.
Nilai profit dan stop loss tetap membuat risiko terkontrol tanpa perubahan besar.
Perbedaan antara indikator dapat menyebabkan perdagangan yang terlewatkan atau sinyal yang salah.
Fixed profit taking and stop loss points tidak memiliki fleksibilitas dalam menyesuaikan diri dengan pasar.
Parameter stokastik membutuhkan pengoptimalan berulang, pengaturan yang tidak tepat menyebabkan kegagalan.
Frekuensi perdagangan yang tinggi dari perdagangan jangka pendek meningkatkan biaya transaksi.
Tambahkan indikator atau filter lain untuk memastikan kualitas sinyal.
Uji kombinasi parameter yang berbeda untuk menemukan pengaturan yang optimal.
Masukkan langkah-langkah volatilitas untuk membuat tingkat profit taking dan stop loss dinamis.
Gunakan filter waktu untuk menghindari peristiwa kunci dan perubahan harga yang tidak rasional.
Mengoptimalkan strategi manajemen modal seperti ukuran posisi untuk meningkatkan efisiensi modal.
Strategi ini mengintegrasikan osilator stokastik cepat dan lambat ke dalam sistem dua arah. Optimasi parameter lebih lanjut dan menambahkan filter seperti indikator tren dan volatilitas dapat memperbaikinya. Dengan pengendalian risiko yang tepat, strategi ini dapat mencapai hasil kelebihan yang relatif stabil.
/*backtest start: 2023-08-17 00:00:00 end: 2023-09-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Double Stochastic", overlay=true) //-----------------------Stochastics------------------------// c= security(syminfo.tickerid,timeframe.period , close) h= security(syminfo.tickerid, timeframe.period, high) l= security(syminfo.tickerid, timeframe.period, low) c1= security(syminfo.tickerid, timeframe.period, close) h2= security(syminfo.tickerid, timeframe.period, high) l1= security(syminfo.tickerid, timeframe.period, low) K1 = input(5, title="K", minval=1, title="Leading K") SM1 = input(2, title="Smooth", minval=1, title="Leading Smooth ") k = ema(stoch(c, h, l, K1), SM1) K2 = input(97, title="K", minval=1, title="Lagging K") D2 = input(3, title="D", minval=1, title="Lagging D") SM2 = input(1, title="Smooth", minval=1, title="Lagging Smooth") k1 = ema(stoch(c1, h2, l1, K2), SM2) // buy ((k[2] < 40 and k > 40) and bars_up > 0 and k1 > 50) // sell (k[2] > 60 and k < 60) and bars_down > 0 and k1 < 50 //-----------------------Mechanics------------------------// buy = k1 > 50 and k < 30 and k > k[1] ? 1 : 0 sell = k1 < 50 and k > 70 and k < k[1] ? 1 : 0 buy_val = valuewhen(buy == 1, close, 1) sell_val = valuewhen(sell == 1, close, 1) buy_close = buy_val * input(1.20, minval=0.1) sell_close = sell_val / input(1.20, minval=0.1) //------------------------Buy/Sell-------------------------// longCondition = buy == 1 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) close_long = close >= buy_close if (close_long) strategy.close("My Long Entry Id") sellCondition = sell == 1 if (sellCondition) strategy.entry("My Short Entry Id", strategy.short) close_short = close <= sell_close if (close_short) strategy.close("My Short Entry Id")