Sumber dimuat naik... memuat...

Pengurusan Posisi Dinamik Strategi Dagangan Harian

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

img

Ringkasan

Strategi ini menggunakan pendekatan dagangan harian yang konsisten, memberi tumpuan kepada menangkap sasaran keuntungan kecil sambil mengekalkan pengurusan risiko yang ketat. Strategi ini telah diuji semula dari tahun 2021, menunjukkan prestasi yang kukuh dengan kadar kemenangan 100%. Idea utama strategi ini adalah untuk membuka kedudukan panjang atau pendek baru pada awal setiap hari dagangan berdasarkan keadaan pasaran hari sebelumnya. Parameter utama termasuk sasaran keuntungan 0.3% dan stop loss 0.2%, dengan modal awal $ 1000 dan komisen 0.1% setiap dagangan.

Prinsip Strategi

Prinsip utama strategi ini adalah untuk membuka kedudukan panjang atau pendek baru pada awal setiap hari dagangan berdasarkan trend pasaran pada hari dagangan sebelumnya. Khususnya, jika tidak ada kedudukan pada hari sebelumnya, strategi akan membuka kedudukan panjang pada awal hari baru. Jika sudah ada kedudukan panjang, strategi memeriksa sama ada sasaran keuntungan 0.3% telah dicapai dan menutup kedudukan jika ia telah. Untuk kedudukan pendek, strategi memeriksa sama ada stop loss 0.2% telah dicapai, dan jika ya, ia menutup kedudukan pendek dan pada masa yang sama membuka kedudukan panjang baru untuk menggantikannya. Ini memastikan bahawa strategi sentiasa mengekalkan pendedahan kepada pasaran.

Kelebihan Strategi

Strategi dagangan harian ini mempunyai beberapa kelebihan yang ketara:

  1. Kadar kemenangan 100%: Lebih daripada 36 perdagangan yang ditutup, strategi ini mencapai kadar kemenangan 100%, yang menyoroti prestasi yang konsisten.
  2. Pengurusan kedudukan dinamik: Sekiranya kedudukan pendek berhenti-kerugian, kedudukan panjang baru segera dibuka untuk menggantikannya, memastikan pendedahan pasaran yang berterusan.
  3. Pengurusan risiko yang ketat: Strategi menetapkan sasaran keuntungan 0.3% dan stop loss 0.2%, mengawal risiko dengan berkesan.
  4. Penyertaan pasaran yang tetap: Strategi membuka kedudukan pada awal setiap hari, memastikan penyertaan pasaran yang tetap.
  5. Hasil pengujian balik yang kukuh: Pengujian balik dari tahun 2021 menunjukkan prestasi yang kukuh, dengan keuntungan bersih sebanyak 22.2% dan penarikan maksimum sebanyak 13.75%.

Risiko Strategi

Walaupun prestasi yang mengagumkan dan kawalan risiko yang ditunjukkan oleh strategi, terdapat beberapa risiko berpotensi untuk dipertimbangkan:

  1. Kemungkinan kerugian berturut-turut: Walaupun hasil backtesting mengagumkan, prestasi masa lalu tidak menjamin hasil masa depan.
  2. Peristiwa angsa hitam: Strategi mungkin terdedah kepada peristiwa yang tidak dijangka dan turun naik pasaran yang melampau, yang membawa kepada kerugian melebihi jangkaan.
  3. Risiko leverage: Strategi ini menggunakan leverage 200% pada setiap perdagangan, yang meningkatkan potensi pulangan tetapi juga meningkatkan risiko.

Untuk mengurangkan risiko ini, kepelbagaian boleh dipertimbangkan dengan menggunakan strategi yang sama di pasaran dan kelas aset yang berbeza. Pemantauan dan penyesuaian parameter strategi yang tetap juga penting untuk menyesuaikan diri dengan keadaan pasaran yang berubah.

Arahan Pengoptimuman Strategi

  1. Pengoptimuman parameter: Sasaran keuntungan, hentian kerugian, dan parameter utama lain boleh disempurnakan melalui pengujian dan pengoptimuman tambahan untuk mencapai prestasi optimum dalam keadaan pasaran yang berbeza.
  2. Pembahagian: Memperluas strategi ke pasaran dan kelas aset lain boleh meningkatkan pulangan keseluruhan dan mengurangkan risiko.
  3. Ukuran kedudukan dinamik: Penyesuaian saiz kedudukan secara dinamik berdasarkan turun naik pasaran atau faktor lain dapat mengoptimumkan pulangan yang disesuaikan dengan risiko.
  4. Penapis tambahan: Memperkenalkan penunjuk teknikal tambahan atau penunjuk sentimen pasaran sebagai penapis boleh meningkatkan kualiti isyarat perdagangan.

Kesimpulan

Secara keseluruhan, strategi perdagangan harian ini menawarkan pendekatan yang seimbang untuk perdagangan intraday dengan penekanan yang kuat pada pengurusan risiko dan keuntungan yang konsisten. Ia sesuai untuk pedagang yang mencari metodologi perdagangan yang sistematik dan berdisiplin. Strategi ini telah menunjukkan hasil pengujian semula yang mengagumkan, dengan kadar kemenangan 100% dan pulangan yang disesuaikan dengan risiko yang kukuh. Walau bagaimanapun, penting untuk menyedari bahawa prestasi masa lalu tidak menjamin hasil masa depan, dan menguruskan risiko dan menyesuaikan diri dengan perubahan pasaran adalah penting. Dengan pengoptimuman dan peningkatan lanjut, strategi ini boleh menjadi tambahan yang berharga kepada kotak alat mana-mana peniaga.


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