Strategi Indikator Kombinasi Stokastis Dual dan Rata-rata Gerak Tertimbang Volume

Penulis:ChaoZhang, Tanggal: 2023-10-26 17:18:53
Tag:

img

Gambaran umum

Ini adalah strategi yang menggunakan kombinasi indikator Stochastic ganda dan Volume Weighted Moving Average untuk mengidentifikasi tren.

Logika Strategi

Strategi ini terutama menerapkan identifikasi tren melalui bagian-bagian berikut:

  1. Menghitung indikator Stochastics jangka pendek dengan input panjang periode ((30) dan parameter halus 2

  2. Menghitung indikator Stochastic jangka panjang dengan input panjang periode ((90) dan parameter halus 2

  3. Tambahkan Stochastics jangka pendek dan jangka panjang bersama-sama untuk mendapatkan kurva Stochastics gabungan

  4. Hitung Rata-rata Gerak Tertimbang Volume dari kurva ts dengan input panjang periode ((30)

  5. Bandingkan nilai TSL saat ini dengan nilainya 1 periode lalu, ketika TSL naik, itu menunjukkan tren naik, ketika TSL turun, itu menunjukkan tren turun

  6. Gabungkan dengan posisi kurva Stochastics untuk mengidentifikasi sinyal bullish atau bearish

  • Ketika TSL naik dan TS berada di zona tengah, itu adalah sinyal bullish
  • Ketika tsl jatuh dan ts berada di zona tengah, itu adalah sinyal bearish

Analisis Keuntungan

Strategi ini menggabungkan identifikasi tren dan analisis overbought-oversold, yang dapat mengidentifikasi arah tren dengan cukup dapat diandalkan.

  1. Stochastics ganda dapat mencerminkan situasi overbought / oversold jangka pendek dan jangka panjang, menghindari kehilangan beberapa sinyal

  2. Rata-rata bergerak tertimbang volume dapat menyaring beberapa sinyal pecah palsu

  3. Posisi kurva stokastik menegaskan kembali keandalan sinyal tren

  4. Parameter yang dapat disesuaikan sesuai dengan pasar yang berbeda

  5. Logika yang jelas dan sederhana, mudah dipahami dan dimodifikasi

Risiko dan Peningkatan

Ada juga beberapa risiko yang harus diperhatikan untuk strategi ini:

  1. Stochastics dapat memberikan sinyal palsu, perlu penyaringan dengan indikator jangka panjang

  2. Periode tetap mungkin tidak cocok untuk semua pasar, optimasi dinamis dapat membantu

  3. Berdasarkan indikator teknis murni, fundamental dapat meningkatkan keakuratan

  4. Data volume yang tidak akurat mempengaruhi hasil, perlu memverifikasi kualitas data

  5. Sejarah backtesting yang tidak cukup, lebih banyak data diperlukan untuk validasi

  6. Titik masuk dapat ditingkatkan, daripada langsung panjang pada persimpangan di bawah terendah

Kesimpulan

Secara singkat, strategi ini mengidentifikasi tren menggunakan Stochastics ganda dan VWMA, yang dapat secara teoritis mengidentifikasi pembalikan tren yang dapat diandalkan. Tetapi penyesuaian parameter diperlukan untuk pasar tertentu, dan risiko sinyal palsu ada. Merekomendasikan menggabungkan faktor lain seperti fundamental, tren jangka panjang dll untuk penilaian, untuk meningkatkan faktor keuntungan strategi. Logika sederhana dan jelas, menyediakan templat untuk perdagangan kuantitatif, yang dapat dimodifikasi sesuai kebutuhan. Ini memiliki nilai aplikasi yang besar.


/*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)


Lebih banyak