
Ini adalah strategi yang menggunakan kombinasi kedua-dua indikator Stochastics dan rata-rata bergerak berimbang untuk mengenal pasti trend. Strategi ini menggunakan indikator Stochastics dengan dua kitaran yang berbeza, satu untuk kitaran pendek dan satu untuk kitaran panjang, dan menggabungkan rata-rata bergerak berimbang untuk menentukan arah trend semasa.
Strategi ini menilai trend melalui beberapa bahagian:
Hitung indikator Stochastics untuk satu kitaran pendek, dengan panjang kitaran input 30 dan parameter kelancaran 2
Hitung indikator Stochastics untuk satu kitaran panjang dengan panjang kitaran input (90), parameter kelancaran 2
Tambah indeks stochastics jangka pendek dan jangka panjang untuk mendapatkan kurva stochastics yang komprehensif.
Mengira satu purata bergerak bertimbangan transisi tsl pada kurva tsl, dengan panjang kitaran input 30
Bandingkan nilai tsl semasa dengan nilai sebelum 1 kitaran, apabila tsl naik, dianggap sebagai trend naik, apabila tsl turun, dianggap sebagai trend menurun
Kemudian menggabungkan kedudukan keluk Stochastics untuk menentukan sama ada isyarat berbilang atau kosong
Strategi ini menggabungkan penilaian trend dan penilaian overbought dan oversold untuk mengenal pasti arah trend dengan lebih dipercayai. Kelebihan spesifiknya adalah sebagai berikut:
Penunjuk Dual Stochastics dapat mencerminkan keadaan overbought dan oversold dalam jangka pendek dan jangka panjang, mengelakkan kehilangan beberapa isyarat
Penambahan berat transaksi boleh menyaring beberapa isyarat penembusan palsu
Kedudukan kurva Stochastics sekali lagi mengesahkan kebolehpercayaan isyarat trend
Parameter boleh disesuaikan, boleh menyesuaikan panjang kitaran sesuai dengan pasaran yang berbeza
Strategi yang jelas, ringkas, mudah difahami dan diubah suai
Strategi ini juga mempunyai risiko yang perlu diperhatikan:
Stochastics mudah memberi isyarat palsu dan perlu digabungkan dengan penapisan indikator jangka panjang
Parameter kitaran tetap tidak sesuai untuk semua keadaan pasaran, parameter pengoptimuman dinamik boleh dipertimbangkan
Meningkatkan ketepatan berdasarkan petunjuk teknikal sahaja, digabungkan dengan faktor asas
Data yang tidak tepat juga boleh mempengaruhi keputusan, perlu mengesahkan kualiti data yang diterima.
Tidak cukup masa untuk mengesan dan memerlukan lebih banyak data sejarah untuk mengesahkan kesannya
Penempatan titik masuk yang boleh dioptimumkan, sekarang adalah crosses under nilai minimum secara langsung lebih banyak, boleh menetapkan zon pelindung
Secara keseluruhan, strategi ini menggunakan indikator Stochastics berganda dan purata bergerak berimbang dengan jumlah transaksi untuk membuat penilaian trend, secara teori dapat mengenal pasti titik perubahan trend dengan lebih dipercayai. Tetapi pengaturan parameter perlu dioptimumkan untuk pasaran tertentu, dan terdapat risiko isyarat palsu tertentu.
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Trend Finder V2", shorttitle="TFV2", format=format.price, precision=2, overlay = true)
//----------Indicator------------//
periodK = input(30)
periodD = 3
smoothK = 2
periodK_two = input(90)
periodD_two = 3
smoothK_two = 2
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
k_two = sma(stoch(close, high, low, periodK_two), smoothK_two)
d_two = sma(k, periodD_two)
ts = k + k_two
tsl = vwma(ts, input(30, title = "VWMA Length"))
//--------Label parameter--------//
up_label = tsl[1] < 100 and tsl > 100 ? 1 : 0
down_label = tsl[1] > 100 and tsl < 100 ? 1 : 0
//----------Color Code-----------//
//tsl_col = tsl > 100 and tsl > tsl[1] ? color.aqua : tsl > 100 and tsl < tsl[1] ? color.green : tsl < 100 and tsl > tsl[1] ? color.maroon : tsl < 100 and tsl < tsl[1] ? color.red : color.silver
//tsl_col = tsl > 100 and ts < 100 and ts > ts[1] ? color.aqua : tsl > 100 and ts > 100 and (ts > ts[1] or ts < ts[1]) ? color.green : tsl < 100 and ts > 100 and ts < ts[1] ? color.red : tsl < 100 and ts < 100 and (ts < ts[1] or ts > ts[1]) ? color.maroon : color.purple
tsl_col = ts > ts[1] and tsl > tsl[1] ? color.lime : ts < ts[1] and tsl < tsl[1] ? color.red : color.yellow
ts_col = (tsl_col == color.lime or tsl_col == color.maroon) and (k>k[1] and k < 30) ? color.lime : (tsl_col == color.green or tsl_col == color.red) and (k < k[1] and k > 70) ? color.red : color.silver
//-------------Plots-------------//
buy = tsl_col[1] == color.yellow and tsl_col == color.lime ? 1 : 0
sell = tsl_col[1] == color.yellow and tsl_col == color.red ? -1 : 0
plotcandle(open,high,low,close, color=tsl_col)
strategy.entry("Long", strategy.long,when=buy==1)
strategy.close("Long", when=sell==-1)