Multi Timeframe Stochastic Crossover Strategy adalah strategi trend berikut yang tipikal. Ia mengira nilai-nilai penyimpangan standard di pelbagai jangka masa (contohnya harian, mingguan, bulanan, dll.), Membina pelbagai garis K dan D, mengambil purata garis ini untuk membina purata bergerak, dan pergi lama apabila garis pantas melintasi di atas garis perlahan dan pergi pendek apabila garis pantas melintasi di bawah garis perlahan. Dengan menggabungkan garis penyimpangan standard di pelbagai jangka masa, strategi ini dapat menapis bunyi pasaran dengan berkesan dan menangkap trend yang dominan.
Logik teras strategi ini adalah untuk mengira penyimpangan standard merentasi beberapa bingkai masa dan kemudian mengambil purata untuk menjana isyarat perdagangan.
Pertama, strategi ini mengira nilai K deviasi standard di bawah parameter yang berbeza di lima kumpulan, yang sepadan dengan jangka masa 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 ia mengira D garis dengan parameter yang berbeza masing-masing:
smoothD = input(34)
d = sma(k, smoothD)
...
smoothD4 = input(233)
d4 = sma(k4, smoothD4)
Seterusnya, ia mengira purata garis K dan D untuk mendapatkan garisan pantas Kavg dan garisan perlahan Davg:
Kavg = avg(k,k1,k2,k3,k4)
Davg = avg(d,d1,d2,d3,d4)
Akhirnya, ia menjadi panjang apabila Kavg melintasi di atas Davg, dan menjadi pendek apabila Kavg melintasi di bawah Davg:
long = crossover(Kavg, Davg)
short = crossunder(Kavg, Davg)
Dengan menggabungkan garis penyimpangan piawai di pelbagai jangka masa, strategi ini dapat menapis bunyi pasaran dalam jangka masa yang lebih besar dan menangkap arah trend yang dominan.
Penyelesaian:
Tambah penapis untuk mengelakkan isyarat pecah palsu
Menggunakan tempoh penyesuaian berdasarkan turun naik pasaran
Menggunakan hentian trailing untuk keluar dagangan tepat pada masanya
Mengoptimumkan tempoh purata bergerak untuk keseimbangan terbaik
Memasukkan lebih banyak penunjuk untuk meningkatkan ketahanan
Strategi ini boleh ditingkatkan lagi dalam bidang berikut:
Menggabungkan isyarat penunjuk lain seperti MACD, Bollinger Bands untuk meningkatkan kualiti isyarat
Tambah penapis trend seperti arah SMA, ADX untuk mengelakkan perdagangan kontra-trend
Menggunakan tempoh penyesuaian berdasarkan turun naik pasaran
Melaksanakan penangguhan pengekalan berdasarkan parameter strategi untuk keluar perdagangan
Mengoptimumkan tempoh purata bergerak pantas dan perlahan untuk parameter terbaik
Tambah penapis kemasukan untuk mengelakkan isyarat palsu dari bunyi jangka pendek
Pendaftaran penembusan ujian selepas persilangan purata bergerak
Menilai strategi keluar yang berbeza seperti Chandelier Exit untuk mengoptimumkan keluar
Multi Timeframe Stochastic Crossover Strategy menggabungkan keupayaan trend berikut penunjuk stochastic dan kestabilan strategi purata bergerak. Dengan mengambil purata garis penyimpangan standard K dan D pelbagai tempoh untuk menghasilkan isyarat, ia dengan berkesan menggunakan kuasa ramalan penyimpangan standard merentasi jangka masa yang berbeza, menapis bunyi bising pasaran, dan menangkap trend yang dominan. Strategi ini mempunyai ruang untuk penyesuaian parameter dan peningkatan lanjut seperti penapis, berhenti, dll. Secara keseluruhan, ia mengintegrasikan kekuatan pelbagai alat analisis teknikal dan merupakan strategi trend berikut yang cekap yang patut diterokai dan dioptimumkan.
/*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)