Strategi Pelacakan Tren Ganda Klasik

Penulis:ChaoZhang, Tanggal: 2023-11-01 16:54:29
Tag:

img

Gambaran umum

Strategi ini melacak tren ganda saham dengan menghitung Pivot Point klasik dan menggunakan indikator RSI untuk menentukan arah tren saat ini.

Prinsip Strategi

Strategi ini terutama mengikuti langkah-langkah berikut untuk mencapai pelacakan tren ganda:

  1. Menghitung Pivot Point klasik termasuk Pivot, S1, R1, S2, R2 dll.

  2. Gunakan indikator RSI untuk menentukan arah tren harga. RSI di atas 80 adalah zona overbought dan di bawah 20 adalah zona oversold.

  3. Jika harga penutupan lebih besar dari hari sebelumnya R2, itu adalah tren yang kuat. Jika harga penutupan lebih kecil dari hari sebelumnya S2, itu adalah tren yang lemah.

  4. Membuat keputusan perdagangan hari ini berdasarkan arah tren harian, menggabungkan Pivot Points dan indikator RSI.

    • Jika tren harian kuat (dekat > R2), cari titik pembelian mundur di bawah Pivot atau beli di bawah S1.

    • Jika tren harian lemah (dekat < S2), cari titik jual mundur di atas Pivot atau jual di atas R1.

  5. Setel titik stop loss. Untuk tren yang kuat, stop loss adalah hari sebelumnyas S1. Untuk tren yang lemah, stop loss adalah hari sebelumnyas R1.

Strategi ini menilai tren jangka menengah-panjang dengan Pivot Points, dan menggunakan RSI dll untuk menentukan tren jangka pendek dan titik masuk. Ini memungkinkan pelacakan dua tren harga, cocok untuk perdagangan jangka menengah.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Mampu melacak tren jangka menengah dan jangka pendek, beradaptasi secara fleksibel dengan perubahan pasar.

  2. Titik Pivot memiliki beberapa kemampuan menilai tren dan dapat secara efektif menentukan tren jangka menengah dan panjang.

  3. RSI dll dapat menilai tingkat overbought / oversold jangka pendek, membantu dalam menentukan titik masuk tertentu.

  4. Aturan strategi jelas dan sederhana, mudah dipahami.

  5. Pengendalian risiko dilakukan dengan titik stop loss yang jelas.

Analisis Risiko

Risiko utama dari strategi ini adalah:

  1. Titik Pivot mungkin gagal dalam memprediksi tren jangka menengah dan panjang.

  2. RSI dll dapat memberikan sinyal palsu. Parameter dapat disesuaikan atau digunakan bersama dengan indikator lain.

  3. Titik stop loss mungkin terlalu sewenang-wenang, tidak dapat sepenuhnya menghindari stop loss.

  4. Pengambilan strategi mungkin lebih besar, membutuhkan persiapan psikologis dan dukungan modal yang cukup.

  5. Ada risiko overtrading. Kondisi pembukaan dapat disesuaikan untuk menghindari overtrading.

Arahan Optimasi

Strategi dapat dioptimalkan di bidang-bidang berikut:

  1. Cobalah kombinasi parameter yang berbeda seperti menyesuaikan parameter RSI, mengoptimalkan perhitungan Pivot Point dll untuk menemukan parameter optimal.

  2. Tambahkan atau gabungkan indikator lain seperti KDJ, MACD dll untuk membuat sinyal lebih akurat dan dapat diandalkan.

  3. Mengoptimalkan strategi stop loss misalnya trailing stop loss, exit stop loss dll untuk mengurangi risiko stop loss terkena.

  4. Mengoptimalkan ukuran posisi untuk membatasi dampak kerugian posisi tunggal.

  5. Mengoptimalkan kondisi masuk untuk menghindari perdagangan yang berlebihan. Filter dapat ditambahkan.

  6. Uji efektivitas pada produk yang berbeda dan sesuaikan parameter.

  7. Tambahkan strategi mengambil keuntungan otomatis untuk mengunci keuntungan.

Ringkasan

Strategi ini menilai tren jangka menengah-panjang dengan Pivot Points dan menggunakan RSI dll untuk membantu menentukan tren jangka pendek dan titik masuk, mencapai pelacakan tren ganda harga. Logika keseluruhan jelas dan wajar, bekerja dengan baik untuk perdagangan jangka menengah. Tetapi beberapa risiko sinyal palsu ada, yang memerlukan optimasi lebih lanjut dari parameter, kontrol stop loss yang ketat untuk mengurangi risiko, dan kontrol ukuran posisi yang tepat untuk mengelola kemungkinan penarikan yang lebih besar. Dengan optimasi dan perbaikan berkelanjutan, pengembalian investasi yang stabil dapat dicapai.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="swing trade", shorttitle="vinay_swing", overlay=true)
pf = input(false,title="Show Filtered Pivots")
sd = input(true, title="Show Daily Pivots?")

//moving average
len = input(50, minval=1, title="Length")
src = input(close, title="Source")
out = ema(src, len)

//RSI INPUT
length = input( 7 )
overSold = input( 20 )
overBought = input( 80 )
price = close
vrsi = rsi(price, length)


// Classic Pivot
pivot = (high + low + close ) / 3.0
// Filter Cr
bull= pivot > (pivot + pivot[1]) / 2 + .0025
bear= pivot < (pivot + pivot[1]) / 2 - .0025
// Classic Pivots
r1 = pf and bear ? pivot + (pivot - low) : pf and bull ? pivot + (high - low) : pivot + (pivot - low)
s1 = pf and bull ? pivot - (high - pivot) : pf and bear ? pivot - (high - low) : pivot - (high - pivot)
r2 = pf ? na : pivot + (high - low)
s2 = pf ? na : pivot - (high - low)
BC = (high + low) / 2.0
TC = (pivot - BC) + pivot

//Pivot Average Calculation
smaP = sma(pivot, 3)

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1])
dtime_pivotAvg = request.security(syminfo.tickerid, 'D', smaP[1])
dtime_r1 = request.security(syminfo.tickerid, 'D', r1[1]) 
dtime_s1 = request.security(syminfo.tickerid, 'D', s1[1]) 
dtime_r2 = request.security(syminfo.tickerid, 'D', r2[1]) 
dtime_s2 = request.security(syminfo.tickerid, 'D', s2[1])
dtime_BC = request.security(syminfo.tickerid, 'D', BC[1])
dtime_TC = request.security(syminfo.tickerid, 'D', TC[1])

offs_daily = 0
plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",style=circles, color=fuchsia,linewidth=1) 
plot(sd and dtime_r1 ? dtime_r1 : na, title="Daily R1",style=circles, color=#DC143C,linewidth=1) 
plot(sd and dtime_s1 ? dtime_s1 : na, title="Daily S1",style=circles, color=lime,linewidth=1) 
plot(sd and dtime_r2 ? dtime_r2 : na, title="Daily R2",style=circles, color=maroon,linewidth=1) 
plot(sd and dtime_s2 ? dtime_s2 : na, title="Daily S2",style=circles, color=#228B22,linewidth=1)
plot(sd and dtime_BC ? dtime_BC : na, title="Daily BC",style=circles, color=black,linewidth=1)
plot(sd and dtime_TC ? dtime_TC : na, title="Daily TC",style=circles, color=black,linewidth=1)

bull1=  (close > dtime_r2)
bull2= (low < dtime_pivot) or (low < dtime_s1) 
bull3= dtime_pivot > dtime_pivot[1]
bullishenglufing=bull2 and bull3
bullishenglufing1=bull1 and (close > out) and (crossover(vrsi, overBought))
longCondition = bull1[1] and ((low < dtime_TC) or (low < dtime_BC) or (low < dtime_s1))

bear1=  (close < dtime_s2)
bear2= (high > dtime_pivot) or (high < dtime_r1) 
bear3= dtime_pivot < dtime_pivot[1]
bearishenglufing=bear2 and bear3
bearishenglufing1=bear1 and (close < out) and (crossunder(vrsi, overSold))
shortCondition = bear1[1] and ((high > dtime_BC) or (high > dtime_TC) or (high > dtime_r1))

plotshape(bullishenglufing, style = shape.triangleup, location = location.belowbar, color = green, size = size.tiny)
plotshape(bearishenglufing, style = shape.triangledown, location = location.abovebar, color = red, size = size.tiny)

if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)


Lebih banyak