Strategi ini menggunakan dua set penunjuk rawak dengan set parameter yang berbeza untuk membuat keputusan dalam keadaan kosong, dan merupakan sistem persilangan rata-rata yang tipikal. Menggunakan penunjuk cepat untuk menentukan trend jangka pendek dan masa masuk, penunjuk perlahan menentukan arah trend besar, kedua-duanya digabungkan untuk membentuk isyarat perdagangan.
Indikator K acak cepat menunjukkan arah trend jangka pendek, dengan garis K melintasi rata-rata bergerak SM1 yang membentuk isyarat masuk.
Indikator K acak perlahan mencerminkan keadaan trend besar. Apabila penunjuk pantas menunjukkan isyarat pembalikan, lihat kelayakan penunjuk perlahan untuk menentukan arah besar.
K pantas di SM1 dianggap sebagai isyarat yang baik; apabila K perlahan lebih besar daripada 50, menunjukkan kecenderungan besar ke atas, memenuhi banyak syarat.
Apabila K turun dengan cepat melalui SM1, ia dianggap sebagai isyarat penurunan; apabila K perlahan kurang daripada 50, ia menunjukkan trend besar ke bawah, memenuhi syarat melakukan pembiayaan.
Tetapkan titik hentian hentian untuk hentian hentian pada kadar tetap.
Penapisan bunyi dengan dua penunjuk rawak meningkatkan kadar kejayaan. Kerjasama cepat dan perlahan mengurangkan risiko tersandung.
SM1 mempunyai parameter yang lebih kecil, dan K-indikator sensitif, sesuai untuk menangkap peluang garis pendek.
Kitaran besar menilai trend besar, kitaran kecil menangkap pembalikan. Strategi banyak ruang sesuai dengan kebanyakan keadaan pasaran.
Titik hentian pegangan tetap, risiko dan keuntungan boleh dikawal, tidak mudah berubah-ubah terlalu besar.
Apabila terdapat penyimpangan antara penunjuk, peluang perdagangan akan hilang atau isyarat yang salah akan dihasilkan.
Stop loss tetap tidak fleksibel dan tidak boleh disesuaikan dengan perubahan pasaran.
Parameter penunjuk lbl memerlukan ujian pengoptimuman berulang, dan tidak semestinya akan gagal.
Perdagangan kitaran pendek memerlukan frekuensi transaksi yang lebih tinggi dan meningkatkan kos transaksi.
Tambah penunjuk lain atau syarat penapisan untuk memastikan kualiti isyarat penunjuk.
Uji kombinasi parameter yang berbeza untuk mencari konfigurasi parameter terbaik.
Gabungan penunjuk kadar turun naik dan lain-lain, membolehkan penangguhan berhenti untuk menyesuaikan tahap dinamik.
Menggunakan penapisan tempoh masa, mengelakkan peristiwa penting, mengawal turun naik yang tidak rasional.
Mengoptimumkan strategi pengurusan wang, mengurangkan kedudukan apabila perlu, dan meningkatkan kecekapan penggunaan wang.
Strategi ini mengintegrasikan indikator acak perlahan-lahan untuk membentuk sistem perdagangan berbilang ruang. Tetapi perlu menetapkan parameter pengoptimuman lebih lanjut, dan ditambah dengan indikator seperti trend, kadar turun naik sebagai syarat penapis. Dalam keadaan risiko terkawal dengan ketat, strategi ini dapat memperoleh keuntungan tambahan yang agak 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")