Strategi Ujian Balik Titik Pivot Dinamik

Penulis:ChaoZhang, Tarikh: 2023-12-29 15:50:57
Tag:

img

Ringkasan

Strategi ini membuat kedudukan panjang atau pendek berdasarkan tahap sokongan dan rintangan yang dikira dari harga tertinggi, terendah dan penutupan hari dagangan sebelumnya.

Prinsip Strategi

  1. Mengira tahap sokongan S1, tahap rintangan R1 dan titik pivot vPP hari semasa berdasarkan harga tertinggi xHigh, harga terendah xLow dan harga penutupan xClose pada hari dagangan sebelumnya.

    vPP = (xHigh+xLow+xClose) / 3

    vR1 = vPP+(vPP-xLow)

    vS1 = vPP-(xHigh - vPP)

  2. Tentukan sama ada harga menembusi vR1 atau vS1. pergi panjang jika harga menembusi vR1 dan pergi pendek jika harga menembusi di bawah vS1. POS merakam arah panjang atau pendek.

    pos = iff(dekat > vR1, 1, jika dekat < vS1, -1, nz(pos[1], 0)))

  3. possig merakam arah perdagangan sebenar. Jika perdagangan terbalik diaktifkan dengan reverse=true, isyarat perdagangan terbalik.

  4. Pergi panjang apabila vR1 rosak dan pergi pendek apabila vS1 rosak mengikut isyarat possig.

Kelebihan Strategi

  1. Strategi ini menggunakan tahap sokongan dan rintangan dinamik untuk menangkap pergerakan trend.
  2. Tahap sokongan dan rintangan dikemas kini setiap hari, menjadikannya dinamik.
  3. Kedua-dua perdagangan panjang dan pendek boleh dikonfigurasikan untuk memenuhi persekitaran pasaran yang berbeza.
  4. Logik strategi adalah mudah dan bersih untuk mudah difahami dan dilaksanakan.
  5. Visualisasi tahap sokongan dan rintangan membolehkan pengesanan perubahan trend yang intuitif.

Analisis Risiko

  1. Isyarat beli dan jual yang tidak perlu boleh dicetuskan jika pasaran adalah berkisar.
  2. Jika pergerakan trend yang melampau berlaku, sokongan / rintangan yang terputus boleh meluas secara berterusan yang mengakibatkan kerugian.
  3. Titik pivot dan pengiraan sokongan / rintangan adalah mudah dan memerlukan pengoptimuman lanjut.

Pengurusan Risiko:

  1. Sesuaikan saiz kedudukan untuk menghadkan kerugian perdagangan tunggal.
  2. Tetapkan stop loss untuk mengelakkan kerugian melebihi jumlah maksimum yang boleh diterima.
  3. Tambah penapis berdasarkan penunjuk lain untuk mengelakkan perdagangan berlebihan di pasaran pelbagai.

Peluang Peningkatan

  1. Mengoptimumkan pengiraan sokongan dan rintangan untuk meningkatkan kebolehjangkauan.
  2. Sertakan penunjuk trend dan momentum untuk mengelakkan perdagangan yang tidak perlu.
  3. Tambah strategi stop loss untuk mengawal kerugian tunggal dan maksimum.
  4. Menggunakan pembelajaran mesin untuk mengoptimumkan tahap sokongan / rintangan secara dinamik.

Ringkasan

Strategi ini membuat perdagangan panjang atau pendek berdasarkan paras sokongan dan rintangan dinamik pemecahan harga. Logiknya mudah difahami dan dilaksanakan sambil dapat mengenal pasti pembalikan trend dengan berkesan. Walau bagaimanapun, risiko ada dan pengoptimuman lanjut dengan penunjuk tambahan diperlukan untuk menjana isyarat perdagangan yang lebih boleh dipercayai. Secara keseluruhan, strategi ini berfungsi dengan baik sebagai penunjuk bantuan atau blok bangunan asas dalam sistem perdagangan kuantitatif.


//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid,"D", high[1])
xLow   = request.security(syminfo.tickerid,"D", low[1])
xClose = request.security(syminfo.tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1)
plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)

Lebih lanjut