Strategi ini menggunakan dua set indikator acak dengan pengaturan parameter yang berbeda, untuk mencapai penilaian kondisi multi-ruang, dan merupakan sistem persilangan rata-rata yang khas. Indikator cepat digunakan untuk menentukan tren jangka pendek dan waktu masuk, dan indikator lambat menentukan arah tren besar, keduanya digabungkan untuk membentuk sinyal perdagangan.
Indikator K acak cepat menunjukkan arah tren jangka pendek, dengan garis K yang melintasi rata-rata bergerak SM1 membentuk sinyal masuk.
Indikator K acak lambat mencerminkan situasi tren besar. Ketika indikator cepat menunjukkan sinyal pembalikan, periksa apakah indikator lambat menilai arah besar secara rasional.
K cepat di atas SM1 dianggap sebagai sinyal bullish; ketika K lambat lebih besar dari 50, menunjukkan kecenderungan besar ke atas, memenuhi kondisi multitasking.
K turun dengan cepat melalui SM1 dianggap sebagai sinyal bearish; ketika K turun dengan lambat kurang dari 50, menunjukkan tren besar ke bawah, memenuhi kondisi shorting.
Tetapkan titik stop loss untuk stop loss dalam proporsi tetap.
Filter kebisingan dengan indikator acak ganda meningkatkan tingkat keberhasilan.
Parameter SM1 lebih kecil, K-index sensitif, cocok untuk menangkap peluang garis pendek.
Siklus besar menilai tren besar, siklus kecil menangkap pembalikan. Strategi multi ruang sesuai dengan sebagian besar situasi pasar.
Stop Loss Fixed Stop Loss, Risk Gain Controllable, tidak mudah bergelombang terlalu besar.
Jika ada deviasi antara indikator, peluang perdagangan akan hilang atau sinyal yang salah akan dihasilkan.
Stop loss tetap tidak cukup fleksibel untuk disesuaikan dengan perubahan pasar.
Parameter indikator lbl membutuhkan pengujian optimasi berulang, dan tidak tepat akan gagal.
Periode transaksi yang pendek membutuhkan frekuensi transaksi yang lebih tinggi dan meningkatkan biaya transaksi.
Tambahkan indikator lain atau kondisi penyaringan untuk memastikan kualitas sinyal indikator.
Uji kombinasi parameter yang berbeda untuk menemukan konfigurasi parameter yang optimal.
Tergabung dengan indikator fluktuasi, stop loss dapat disesuaikan secara dinamis dengan level stop loss.
Menggunakan filter periode waktu untuk menghindari peristiwa penting dan mengendalikan fluktuasi irasional.
Mengoptimalkan strategi pengelolaan dana, meningkatkan atau mengurangi posisi, dan meningkatkan efisiensi penggunaan dana.
Strategi ini mengintegrasikan indikator acak dan cepat untuk membentuk sistem perdagangan multi-saluran. Namun, parameter yang harus dioptimalkan lebih lanjut harus ditetapkan, dan dibantu dengan indikator seperti tren dan volatilitas sebagai kondisi penyaringan. Dengan risiko yang dikontrol ketat, strategi ini dapat memperoleh keuntungan tambahan 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")