Sumber daya yang dimuat... Pemuatan...

Manajemen Posisi Dinamis Strategi Trading Harian

Penulis:ChaoZhang, Tanggal: 2024-05-28 11:21:52
Tag:

img

Gambaran umum

Strategi ini menggunakan pendekatan perdagangan harian yang konsisten, berfokus pada penangkapan target keuntungan kecil sambil mempertahankan manajemen risiko yang ketat. Strategi ini telah diuji kembali dari tahun 2021, menunjukkan kinerja yang kuat dengan tingkat kemenangan 100%. Ide utama dari strategi ini adalah membuka posisi panjang atau pendek baru pada awal setiap hari perdagangan berdasarkan kondisi pasar hari sebelumnya. Parameter utama termasuk target keuntungan 0,3% dan stop loss 0,2%, dengan modal awal $ 1000 dan komisi 0,1% per perdagangan.

Prinsip Strategi

Prinsip inti dari strategi ini adalah membuka posisi panjang atau pendek baru pada awal setiap hari perdagangan berdasarkan tren pasar pada hari perdagangan sebelumnya. Secara khusus, jika tidak ada posisi pada hari sebelumnya, strategi akan membuka posisi panjang pada awal hari baru. Jika sudah ada posisi panjang, strategi memeriksa apakah target keuntungan 0,3% telah tercapai dan menutup posisi jika sudah. Untuk posisi pendek, strategi memeriksa apakah stop loss 0,2% telah tercapai, dan jika demikian, strategi menutup posisi pendek dan secara bersamaan membuka posisi panjang baru untuk menggantinya. Ini memastikan bahwa strategi selalu mempertahankan eksposur ke pasar.

Keuntungan Strategi

Strategi perdagangan harian ini memiliki beberapa keuntungan penting:

  1. 100% tingkat kemenangan: Lebih dari 36 perdagangan tertutup, strategi mencapai tingkat kemenangan 100%, menyoroti kinerja yang konsisten.
  2. Manajemen posisi dinamis: Dalam kasus posisi pendek stop-loss, posisi panjang baru segera dibuka untuk menggantinya, memastikan eksposur pasar yang berkelanjutan.
  3. Manajemen risiko yang ketat: Strategi menetapkan target keuntungan 0,3% dan stop loss 0,2%, secara efektif mengendalikan risiko.
  4. Partisipasi pasar yang teratur: Strategi membuka posisi pada awal setiap hari, memastikan partisipasi pasar yang teratur.
  5. Hasil backtesting yang kuat: Backtesting dari tahun 2021 menunjukkan kinerja yang kuat, dengan laba bersih 22,2% dan penarikan maksimum 13,75%.

Risiko Strategi

Meskipun kinerja yang mengesankan dan pengendalian risiko yang ditunjukkan oleh strategi, ada beberapa risiko potensial yang harus dipertimbangkan:

  1. Kemungkinan kerugian berturut-turut: Meskipun hasil backtesting mengesankan, kinerja masa lalu tidak menjamin hasil di masa depan.
  2. Black Swan Events: Strategi dapat rentan terhadap peristiwa tak terduga dan volatilitas pasar yang ekstrim, yang menyebabkan kerugian melebihi harapan.
  3. Risiko leverage: Strategi ini menggunakan leverage 200% pada setiap perdagangan, yang memperkuat potensi pengembalian tetapi juga meningkatkan risiko.

Untuk mengurangi risiko ini, diversifikasi dapat dipertimbangkan dengan menerapkan strategi yang sama di berbagai pasar dan kelas aset.

Arah Optimasi Strategi

  1. Optimalisasi parameter: Target laba, stop loss, dan parameter kunci lainnya dapat disempurnakan melalui pengujian dan optimalisasi tambahan untuk mencapai kinerja optimal dalam kondisi pasar yang berbeda.
  2. Diversifikasi: Memperluas strategi ke pasar dan kelas aset lainnya dapat meningkatkan hasil keseluruhan dan mengurangi risiko.
  3. Dimensi posisi dinamis: Penyesuaian ukuran posisi secara dinamis berdasarkan volatilitas pasar atau faktor lain dapat lebih mengoptimalkan pengembalian yang disesuaikan risiko.
  4. Filter tambahan: Memperkenalkan indikator teknis tambahan atau indikator sentimen pasar sebagai filter dapat meningkatkan kualitas sinyal perdagangan.

Kesimpulan

Secara keseluruhan, strategi perdagangan harian ini menawarkan pendekatan yang seimbang untuk perdagangan intraday dengan penekanan yang kuat pada manajemen risiko dan profitabilitas yang konsisten. Ini cocok untuk pedagang yang mencari metodologi perdagangan yang sistematis dan disiplin. Strategi ini telah menunjukkan hasil backtesting yang mengesankan, dengan tingkat kemenangan 100% dan pengembalian yang disesuaikan dengan risiko yang kuat. Namun, penting untuk mengakui bahwa kinerja masa lalu tidak menjamin hasil masa depan, dan mengelola risiko dan beradaptasi dengan perubahan pasar sangat penting. Dengan optimasi dan peningkatan lebih lanjut, strategi ini bisa menjadi tambahan yang berharga untuk kotak alat setiap pedagang.


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Daily AUD-JPY Trading", overlay=true, initial_capital=1000, currency="AUD", default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1)

// Input parameters
profit_target = input(0.3, title="Profit Target (%)") / 100
loss_target = input(0.2, title="Loss Target (%)") / 100
start_year = input(2021, title="Start Year")

// Calculate daily open and close
new_day = ta.change(time("D"))

var float entry_price_long = na
var float entry_price_short = na
var bool position_long_open = false
var bool position_short_open = false

// Date check
trade_start = timestamp(start_year, 1, 1, 0, 0)

if new_day and time >= trade_start
    // If there was a previous long position, check for profit target
    if position_long_open
        current_profit_long = (close - entry_price_long) / entry_price_long
        if current_profit_long >= profit_target
            strategy.close("AUD Trade Long", comment="Take Profit Long")
            position_long_open := false
    
    // If there was a previous short position, check for profit target
    if position_short_open
        current_profit_short = (entry_price_short - close) / entry_price_short
        if current_profit_short >= profit_target
            strategy.close("AUD Trade Short", comment="Take Profit Short")
            position_short_open := false

    // Check for daily loss condition for short positions
    if position_short_open
        current_loss_short = (close - entry_price_short) / entry_price_short
        if current_loss_short <= -loss_target
            strategy.close("AUD Trade Short", comment="Stop Loss Short")
            position_short_open := false
            
            // Open a new long position to replace the stopped short position
            strategy.entry("AUD Trade Long Replacement", strategy.long)
            entry_price_long := close
            position_long_open := true

    // Open a new long position at the start of the new day if no long position is open
    if not position_long_open and not position_short_open
        strategy.entry("AUD Trade Long", strategy.long)
        entry_price_long := close
        position_long_open := true

    // Open a new short position at the start of the new day if no short position is open
    if not position_short_open and not position_long_open
        strategy.entry("AUD Trade Short", strategy.short)
        entry_price_short := close
        position_short_open := true

// Check for continuous profit condition for long positions
if position_long_open
    current_profit_long = (close - entry_price_long) / entry_price_long
    if current_profit_long >= profit_target
        strategy.close("AUD Trade Long", comment="Take Profit Long")
        position_long_open := false

// Check for continuous profit condition for short positions
if position_short_open
    current_profit_short = (entry_price_short - close) / entry_price_short
    if current_profit_short >= profit_target
        strategy.close("AUD Trade Short", comment="Take Profit Short")
        position_short_open := false

// Plot the entry prices on the chart
plot(position_long_open ? entry_price_long : na, title="Entry Price Long", color=color.green, linewidth=2)
plot(position_short_open ? entry_price_short : na, title="Entry Price Short", color=color.red, linewidth=2)

// Display current profit/loss percentage for long positions
var label profit_label_long = na
if position_long_open and not na(entry_price_long)
    current_profit_long = (close - entry_price_long) / entry_price_long * 100
    label.delete(profit_label_long)
    profit_label_long := label.new(x=time, y=high, text="Long P/L: " + str.tostring(current_profit_long, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)

// Display current profit/loss percentage for short positions
var label profit_label_short = na
if position_short_open and not na(entry_price_short)
    current_profit_short = (entry_price_short - close) / entry_price_short * 100
    label.delete(profit_label_short)
    profit_label_short := label.new(x=time, y=high, text="Short P/L: " + str.tostring(current_profit_short, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)

Lebih banyak