Strategi Pelacakan Inversi Momentum

Penulis:ChaoZhang, Tanggal: 2024-01-17 15:46:21
Tag:

img

Gambaran umum

Strategi ini menggunakan indikator Parabolic SAR untuk mengidentifikasi titik balik dalam tren harga saham dan memasuki posisi panjang atau pendek ketika terjadi pembalikan.

Logika Strategi

Indikator inti dari strategi ini adalah Parabolic SAR. Indikator ini dapat mengidentifikasi tren naik dan turun dalam harga saham. Ketika harga naik, titik SAR tetap di bawah harga. Ketika harga turun, titik SAR melompat di atas harga. Strategi ini mendeteksi persilangan antara titik harga dan titik SAR sebagai sinyal perdagangan. Secara khusus, ketika garis harga melintasi di atas titik SAR dari bawah, sinyal masuk panjang dihasilkan. Ketika garis harga melintasi di bawah titik SAR dari atas, sinyal masuk pendek dipicu.

Kondisi panjangnya adalah:closedi atassar, yang menunjukkan garis harga telah melintasi di atas titik SAR dari bawah, sinyal panjang.closedi bawahsarJadi logika inti dari strategi ini adalah untuk melacak titik inversi dalam momentum harga dan perdagangan pada crossover.

Keuntungan

Keuntungan terbesar dari strategi ini adalah dapat secara otomatis mengidentifikasi titik balik dalam tren harga tanpa gangguan manual, menghindari kesalahan umum seperti mengejar puncak dan membunuh penurunan.

Selain itu, SAR bereaksi sensitif terhadap perubahan harga, menangkap pullback kecil tepat waktu. Ini penting untuk strategi yang menargetkan tingkat kemenangan tinggi dan perdagangan yang sering. Jadi strategi dapat menyesuaikan posisi secara otomatis untuk menghindari terjebak dalam pullback yang signifikan.

Risiko

Risiko utama adalah SAR dapat bereaksi berlebihan terhadap osilasi harga kecil, menghasilkan sinyal palsu dan menyebabkan perdagangan yang berlebihan, meningkatkan biaya dan tergelincir.

Juga, dalam tren naik atau turun yang kuat, parameter SAR seperti nilai awal dan peningkatan dapat mempengaruhi akurasi dan ketepatan waktu menangkap pembalikan tren.

Ukuran posisi yang tidak tepat, bereaksi berlebihan terhadap sinyal SAR dapat menyebabkan fluktuasi eksposur, meningkatkan kesulitan praktis dalam perdagangan.

Peningkatan

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter SAR untuk akurasi sinyal yang lebih tinggi

  2. Tambahkan filter untuk menghindari sinyal palsu yang disebabkan oleh SAR

  3. Menggunakan ukuran posisi yang tepat dan stop loss untuk mengendalikan risiko

  4. Masukkan filter tren untuk menghindari whipsaws di pasar yang berbeda

  5. Mengoptimalkan harga masuk dan keluar dengan mempertimbangkan biaya dan slippage untuk meningkatkan efisiensi

Kesimpulan

Strategi ini terutama mengandalkan SAR untuk menentukan titik pembalikan tren. Ini memiliki kemampuan identifikasi tren yang dapat diandalkan. Ketika dioptimalkan, ini dapat berfungsi sebagai tren yang efektif mengikuti strategi dengan secara otomatis menyesuaikan posisi untuk menangkap pergerakan harga arah. Tetapi posisi berputar harus dikendalikan dan risiko sinyal palsu harus dikurangi.


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

//@version=5
strategy("Parabolic SAR Strategy", shorttitle="PSAR", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Parabolic SAR settings
start = input(0.02, title="Start")
increment = input(0.02, title="Increment")
maximum = input(0.2, title="Maximum")

// Calculate Parabolic SAR
sar = ta.sar(start, increment, maximum)

// Plot Parabolic SAR on the chart
plot(sar, color=color.red, title="Parabolic SAR")

// Strategy logic
longCondition = ta.crossover(close, sar)
shortCondition = ta.crossunder(close, sar)

// Execute strategy orders
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Plot buy and sell signals on the chart
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar, text="Buy")
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar, text="Sell")

// Calculate equity manually
equity = strategy.equity
equity_str = str.tostring(equity)
equity_plot = plot(equity, title="Equity", color=color.blue, linewidth=2)

// Update equity plot only on bar close to avoid repainting issues
label.new(bar_index, na, text=equity_str, style=label.style_none, color=color.blue, yloc=yloc.abovebar)


Lebih banyak