Multi Timeframe Stochastic Crossover Strategy adalah strategi trend berikut yang khas. Strategi ini menghitung nilai standar deviasi di berbagai kerangka waktu (misalnya harian, mingguan, bulanan, dll), membangun beberapa garis K dan D, mengambil rata-rata garis ini untuk membangun rata-rata bergerak, dan pergi panjang ketika garis cepat melintasi di atas garis lambat dan pergi pendek ketika garis cepat melintasi di bawah garis lambat. Dengan menggabungkan garis standar deviasi di berbagai kerangka waktu, strategi ini dapat secara efektif menyaring kebisingan pasar dan menangkap tren dominan.
Logika inti dari strategi ini adalah untuk menghitung standar deviasi di beberapa kerangka waktu dan kemudian mengambil rata-rata untuk menghasilkan sinyal perdagangan.
Pertama, strategi ini menghitung nilai K dari standar deviasi di bawah parameter yang berbeda di lima kelompok, yang sesuai dengan kerangka waktu harian, mingguan dan bulanan:
smoothK = input(55)
SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
smoothK1 = input(89)
SMAsmoothK1 = input(8)
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)
...
smoothK4 = input(377)
SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)
Kemudian menghitung D garis dengan parameter yang berbeda masing-masing:
smoothD = input(34)
d = sma(k, smoothD)
...
smoothD4 = input(233)
d4 = sma(k4, smoothD4)
Selanjutnya, menghitung rata-rata garis K dan D untuk mendapatkan garis cepat Kavg dan garis lambat Davg:
Kavg = avg(k,k1,k2,k3,k4)
Davg = avg(d,d1,d2,d3,d4)
Akhirnya, panjang ketika Kavg melintasi di atas Davg, dan pendek ketika Kavg melintasi di bawah Davg:
long = crossover(Kavg, Davg)
short = crossunder(Kavg, Davg)
Dengan menggabungkan garis deviasi standar di beberapa kerangka waktu, strategi ini dapat menyaring kebisingan pasar dalam kerangka waktu yang lebih besar dan menangkap arah tren yang dominan.
Solusi:
Tambahkan filter untuk menghindari sinyal breakout palsu
Menggunakan periode adaptasi berdasarkan volatilitas pasar
Menggunakan trailing stop untuk keluar perdagangan tepat waktu
Mengoptimalkan periode rata-rata bergerak untuk keseimbangan terbaik
Masukkan lebih banyak indikator untuk meningkatkan ketahanan
Strategi ini dapat ditingkatkan lagi di bidang berikut:
Menggabungkan sinyal indikator lain seperti MACD, Bollinger Bands untuk meningkatkan kualitas sinyal
Tambahkan filter tren seperti arah SMA, ADX untuk menghindari perdagangan kontra-trend
Menggunakan periode adaptasi berdasarkan volatilitas pasar
Mengimplementasikan trailing stop berdasarkan parameter strategi untuk keluar dari perdagangan
Mengoptimalkan periode rata-rata bergerak cepat dan lambat untuk parameter terbaik
Tambahkan filter masuk untuk menghindari sinyal palsu dari kebisingan jangka pendek
Masuknya penembusan uji setelah penyeberangan rata-rata bergerak
Evaluasi strategi keluar yang berbeda seperti Chandelier Exit untuk mengoptimalkan keluar
Multi Timeframe Stochastic Crossover Strategy menggabungkan kemampuan indikator stochastic dan stabilitas strategi moving average. Dengan mengambil rata-rata garis standar deviasi K dan D multi-periode untuk menghasilkan sinyal, strategi ini secara efektif memanfaatkan kekuatan prediktif deviasi standar di berbagai jangka waktu, menyaring kebisingan pasar, dan menangkap tren dominan. Strategi ini memiliki ruang untuk penyesuaian parameter dan peningkatan lebih lanjut seperti filter, stop, dll. Secara keseluruhan, strategi ini mengintegrasikan kekuatan dari beberapa alat analisis teknis dan merupakan strategi trend berikut yang efisien yang layak dijelajahi dan dioptimalkan.
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="Slow Stochastic Multi K&D Average Crossover Strategy", overlay=false, pyramiding=0, calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100) price = input(close) /////////////////////////////// smoothK = input(55) SMAsmoothK = input(13) k = sma(stoch(price, high, low, smoothK), SMAsmoothK) smoothD = input(34) d = sma(k, smoothD) /////////////////////////// smoothK1 = input(89) SMAsmoothK1 = input(8) k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1) smoothD1 = input(55) d1 = sma(k1, smoothD1) ////////////////////////////////////// smoothK2 = input(144) SMAsmoothK2 = input(5) k2 = sma(stoch(price, high, low, smoothK2), SMAsmoothK2) smoothD2 = input(89) d2 = sma(k2, smoothD2) ///////////////////////////////////// smoothK3 = input(233) SMAsmoothK3 = input(3) k3 = sma(stoch(price, high, low, smoothK3), SMAsmoothK3) smoothD3 = input(144) d3 = sma(k3, smoothD3) //////////////////////////////////////////////// smoothK4 = input(377) SMAsmoothK4 = input(2) k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4) smoothD4 = input(233) d4 = sma(k4, smoothD4) ///////////////////////////////////////////////// Kavg = avg(k,k1,k2,k3,k4, k4) plot(Kavg, color=green) Davg = avg(d,d1,d2,d3,d4, d4) plot(Davg, color=red) /////////////////////////////////////// hline(50, color=gray) long = crossover(Kavg, Davg)// and d < 50 short = crossunder(Kavg, Davg)// and d > 50 last_long = long ? time : nz(last_long[1]) last_short = short ? time : nz(last_short[1]) long_signal = crossover(last_long, last_short) short_signal = crossover(last_short, last_long) strategy.entry("Long", strategy.long, when=long_signal) strategy.entry("Short", strategy.short, when=short_signal) //len1 = input(3) //closelong = d[1] < k[len1] //closeshort = d[1] > k[len1] //strategy.close("Long", when=closelong) //strategy.close("Short", when=closeshort)