Strategi penunjuk gabungan stokastik berganda dan purata bergerak bertingkat jumlah

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

img

Ringkasan

Ini adalah strategi yang menggunakan gabungan dua penunjuk Stochastic dan Purata Bergerak Bertimbang Volume untuk mengenal pasti trend.

Logika Strategi

Strategi ini terutamanya melaksanakan pengenalan trend melalui bahagian-bahagian berikut:

  1. Mengira penunjuk Stochastics jangka pendek dengan input panjang tempoh ((30) dan parameter lancar 2

  2. Mengira penunjuk Stochastics jangka panjang dengan input panjang tempoh ((90) dan parameter lancar 2

  3. Tambah Stochastics jangka pendek dan jangka panjang bersama-sama untuk mendapatkan gabungan Stochastics lengkung ts

  4. Mengira purata bergerak bertimbang volum kurva ts dengan input panjang tempoh ((30)

  5. Bandingkan nilai tsl semasa dengan nilainya 1 tempoh lalu, apabila tsl naik, ia menunjukkan aliran naik, apabila tsl jatuh, ia menunjukkan aliran turun

  6. Gabungkan dengan kedudukan kurva Stochastics untuk mengenal pasti isyarat menaik atau menurun

  • Apabila TSL naik dan TS berada di zon tengah, ia adalah isyarat menaik
  • Apabila tsl jatuh dan ts berada di zon tengah, ia adalah isyarat penurunan

Analisis Kelebihan

Strategi ini menggabungkan pengenalan trend dan analisis overbought-oversold, yang dapat mengenal pasti arah trend dengan cukup boleh dipercayai.

  1. Stochastics berganda boleh mencerminkan kedua-dua jangka pendek dan jangka panjang situasi overbought / oversold, mengelakkan kehilangan beberapa isyarat

  2. Purata bergerak beratkan jumlah boleh menapis beberapa isyarat pecah palsu

  3. Kedudukan lengkung stokastik mengesahkan semula kebolehpercayaan isyarat trend

  4. Parameter yang boleh diselaraskan sesuai dengan pasaran yang berbeza

  5. Logik yang jelas dan mudah, mudah difahami dan diubahsuai

Risiko dan Penambahbaikan

Terdapat juga beberapa risiko yang perlu diperhatikan untuk strategi ini:

  1. Stochastics boleh memberikan isyarat palsu, keperluan penapisan dengan penunjuk tempoh yang lebih lama

  2. Tempoh tetap mungkin tidak sesuai untuk semua pasaran, pengoptimuman dinamik boleh membantu

  3. Berdasarkan penunjuk teknikal semata-mata, asas boleh meningkatkan ketepatan

  4. Data jumlah yang tidak tepat mempengaruhi hasil, perlu mengesahkan kualiti data

  5. Sejarah backtesting yang tidak mencukupi, lebih banyak data diperlukan untuk pengesahan

  6. Titik-titik masuk boleh dipertingkatkan, dan bukannya terus panjang pada salib di bawah yang paling rendah

Kesimpulan

Ringkasnya, strategi ini mengenal pasti trend menggunakan Stochastics dan VWMA berganda, yang dapat mengenal pasti pembalikan trend secara boleh dipercayai dalam teori. Tetapi penyesuaian parameter diperlukan untuk pasaran tertentu, dan risiko isyarat palsu wujud.


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