Strategi Perdagangan Breakout Terbalik


Tanggal Pembuatan: 2023-10-25 12:09:40 Akhirnya memodifikasi: 2023-10-25 12:38:23
menyalin: 0 Jumlah klik: 396
1
fokus pada
1138
Pengikut

Strategi Perdagangan Breakout Terbalik

Ringkasan

Strategi perdagangan reverse breakout adalah strategi perdagangan yang didasarkan pada harga yang terus naik atau turun untuk melakukan operasi reverse. Strategi ini dilakukan dengan mengatur siklus kenaikan atau penurunan harga secara berturut-turut, dan melakukan operasi reverse setelah harga membentuk tren tertentu, untuk mendapatkan keuntungan.

Prinsip Strategi

Strategi ini mencakup beberapa bagian:

  1. Tentukan panjang siklus kenaikan dan penurunan harga berturut-turut, yaitu consecutiveBarsUp dan consecutiveBarsDown, yang memicu sinyal perdagangan setelah tren harga siklus saat ini mencapai panjang yang ditetapkan.

  2. Menghitung harga saat ini relatif terhadap penurunan harga periode sebelumnya. Menghitung panjang siklus kenaikan atau penurunan berturut-turut saat ini berdasarkan pada penurunan ups dan dns.

  3. Tetapkan rentang waktu pengembalian, dengan time_cond untuk membatasi kebijakan hanya beroperasi dalam waktu pengembalian.

  4. Setting trading time per day, dengan limiting trading signal only in the set time period bytimetobuy.

  5. Ketika harga naik secara berturut-turut mencapai panjang yang ditetapkan, sinyal multiply dikirim melalui strategy.long; ketika harga turun secara berturut-turut mencapai panjang yang ditetapkan, sinyal short dikirim melalui strategy.short

  6. Anda dapat mengatur harga stop loss dan stop loss. Anda dapat mengatur stop loss jangka pendek saat melakukan over dan stop loss jangka panjang saat melakukan over. Anda dapat mengatur stop loss jangka panjang saat melakukan over dan stop loss jangka pendek saat melakukan over.

  7. Anda dapat mengatur pemberitahuan saat sinyal perdagangan dikirim.

  8. Berdasarkan parameter di atas dan penilaian harga, sinyal melakukan lebih banyak atau lebih sedikit jika memenuhi syarat.

Analisis Keunggulan

Strategi reverse breakthrough ini memiliki beberapa keuntungan:

  1. Menangkap titik reversal harga, reversal operasi dapat memperoleh keuntungan yang lebih baik. Ketika harga membentuk tren, melakukan reversal operasi, dapat mengambil keuntungan ketika harga reversal.

  2. Parameter yang dapat dikonfigurasi fleksibel, dapat disesuaikan sesuai dengan pasar. Anda dapat mengatur jumlah siklus kenaikan dan penurunan berturut-turut, menyesuaikan titik stop loss, membatasi periode perdagangan, dan mengoptimalkan parameter sesuai dengan situasi aktual.

  3. Anda dapat menambahkan stop loss untuk mengontrol risiko. Anda dapat mengatur stop loss dan stop loss untuk mengontrol risiko trading.

  4. Anda dapat mengatur pesan pesan untuk otomatisasi perdagangan. Anda dapat mengatur pesan pesan untuk mengirim sinyal perdagangan, yang kompatibel dengan sistem perdagangan otomatis.

  5. Anda dapat mengatur jangka waktu pengembalian untuk menguji strategi. Anda dapat menambahkan pengaturan jangka waktu pengembalian untuk melihat bagaimana strategi bekerja dalam kondisi pasar yang berbeda.

Analisis risiko

Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:

  1. Untuk menghindari peristiwa berita penting. Tidak dapat menilai pergerakan harga saat berita penting dirilis, strategi akan secara bersamaan mengirimkan sinyal melakukan banyak shorting, yang mengakibatkan kerugian. Untuk menghindari waktu publikasi berita keuangan penting.

  2. Operasi ini tidak akan bekerja dengan baik jika pembalikan tidak jelas. Operasi pembalikan tidak akan bekerja dengan baik jika tren tidak jelas.

  3. Risiko penyesuaian data retrospektif. Optimasi strategi harus menghindari ketergantungan yang berlebihan pada data retrospektif, karena data retrospektif tidak mewakili tren masa depan. Parameter harus disesuaikan dengan tepat saat real-time.

  4. Frekuensi perdagangan yang terlalu tinggi mudah terganggu. Jika siklus yang ditetapkan terlalu pendek, frekuensi perdagangan terlalu tinggi, tidak menguntungkan untuk keuntungan stabil jangka panjang.

  5. Strategi stop loss dapat dioptimalkan dengan tepat untuk mengurangi risiko. Stop loss tetap yang ada dapat dioptimalkan lebih lanjut untuk menghentikan trend.

Arah optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam beberapa hal:

  1. Meningkatkan mekanisme penilaian tren, menghindari reversal yang tidak tren pasar. Dapat mendeteksi indikator seperti volatilitas harga, saluran, menilai tingkat tren, menghindari kehilangan titik reversal harga.

  2. Optimalkan strategi stop loss sehingga dapat disesuaikan secara otomatis dengan fluktuasi pasar. Metode seperti saldo persentase stop loss, ATR stop loss, dan lainnya dapat digunakan untuk membuat pengaturan stop loss lebih cerdas.

  3. Menambahkan indikator kuantitatif untuk menilai. Menggabungkan indikator seperti perubahan volume transaksi, untuk menghindari sinyal yang salah yang dihasilkan hanya berdasarkan bentuk K-line.

  4. Kombinasi multi-varietas: menerapkan strategi untuk varietas yang berbeda, melakukan kombinasi, dapat menyebarkan risiko varietas tunggal.

  5. Optimasi Parameter dan Pembelajaran Mesin. Mengumpulkan lebih banyak data historis, mengoptimalkan parameter secara otomatis menggunakan metode pembelajaran mesin, membuat strategi lebih stabil.

Meringkaskan

Strategi reverse breakout trading melakukan operasi reverse dengan menangkap titik balik harga, dapat memperoleh sinyal perdagangan yang baik. Keuntungan dari strategi ini adalah konfigurasi yang fleksibel, dapat mengendalikan risiko, cocok untuk perdagangan otomatis. Namun ada juga risiko tertentu, perlu terus mengoptimalkan dan menyempurnakan parameter dan strategi untuk mendapatkan keuntungan yang stabil dalam jangka panjang.

Kode Sumber Strategi
/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Strategy
strategy("Up/Down Strategy - Contrarian", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)

consecutiveBarsUp = input(1, title='Consecutive Bars Up')
consecutiveBarsDown = input(1, title='Consecutive Bars Down')

price = close

ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0

dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0

// Strategy Backtesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time, title='Backtesting Start Date')
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time, title='Backtesting End Date')

time_cond  = true

//Time Restriction Settings
startendtime = input("", title='Time Frame To Enter Trades')
enableclose = input(false, title='Enable Close Trade At End Of Time Frame')
timetobuy = true
timetoclose = true

// Stop Loss & Take Profit Tick Based
enablesltp = input(false, title='Enable Take Profit & Stop Loss')
stopTick = input(5.0, title='Stop Loss Ticks', type=input.float) / 100
takeTick = input(10.0, title='Take Profit Ticks', type=input.float) / 100

longStop = strategy.position_avg_price - stopTick
shortStop = strategy.position_avg_price + stopTick
shortTake = strategy.position_avg_price - takeTick
longTake = strategy.position_avg_price + takeTick

plot(strategy.position_size > 0 and enablesltp ? longStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Fixed SL")
plot(strategy.position_size < 0 and enablesltp ? shortStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Short Fixed SL")
plot(strategy.position_size > 0 and enablesltp ? longTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Long Take Profit")
plot(strategy.position_size < 0 and enablesltp ? shortTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Short Take Profit")

// Alert messages
message_enterlong  = input("", title="Long Entry message")
message_entershort = input("", title="Short Entry message")
message_closelong = input("", title="Close Long message")
message_closeshort = input("", title="Close Short message")

// Strategy Execution
if (dns >= consecutiveBarsDown) and time_cond and timetobuy
    strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_enterlong)
    
if (ups >= consecutiveBarsUp) and time_cond and timetobuy
    strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_entershort)
    
if strategy.position_size < 0 and timetoclose and enableclose
    strategy.close_all(alert_message = message_closelong)
if strategy.position_size > 0 and timetoclose and enableclose
    strategy.close_all(alert_message = message_closeshort)
    
if strategy.position_size < 0 and enablesltp and time_cond
    strategy.exit(id="Close Long", stop=longStop, limit=longTake, alert_message = message_closelong)
if strategy.position_size > 0 and enablesltp and time_cond
    strategy.exit(id="Close Short", stop=shortStop, limit=shortTake, alert_message = message_closeshort)