Strategi Perdagangan Breakout

Penulis:ChaoZhang, Tanggal: 2023-11-02 16:40:26
Tag:

img

Gambaran umum

Strategi ini didasarkan pada teori breakout, membandingkan rata-rata bergerak harga tertinggi dan terendah untuk menentukan apakah tren sedang berbalik, untuk menemukan titik breakout potensial dan perdagangan ketika terjadi breakout.

Logika Strategi

Strategi ini pertama-tama menghitung moving average dari harga tertinggi dan terendah dalam periode yang ditentukan pengguna. Rata-rata pergerakan harga tertinggi mewakili band atas, dan rata-rata pergerakan harga terendah mewakili band bawah. Ketika harga menembus band atas, itu menandakan uptrend, dan strategi akan membuka posisi panjang. Ketika harga menembus band bawah, itu menandakan downtrend, dan strategi akan membuka posisi pendek. Pengguna dapat mengkonfigurasi hanya panjang atau hanya pendek.

Strategi ini juga menyediakan stop loss opsional dan take profit setting. Ketika panjang, stop loss ditetapkan pada band atas; ketika pendek, stop loss ditetapkan pada band bawah. Ini mengurangi kerugian. Pengguna juga dapat memilih untuk mengatur stop loss pada titik breakout, yaitu ketika panjang, stop loss adalah band bawah, dan ketika pendek, stop loss adalah band atas. Ini memungkinkan potensi keuntungan yang lebih besar.

Keuntungan

Keuntungan dari strategi ini adalah:

  1. Logikanya sederhana dan langsung, mudah dimengerti dan diterapkan.

  2. Hal ini dapat dengan cepat menangkap titik pembalikan tren dan menyesuaikan posisi sesuai.

  3. Hal ini menyediakan pilihan stop loss dan mengambil keuntungan pengaturan untuk menyesuaikan preferensi risiko pribadi.

  4. Sinyal perdagangan jelas, tanpa terlalu banyak sinyal palsu.

  5. Ada beberapa parameter yang dapat dikonfigurasi, mudah digunakan.

  6. Fleksibilitas untuk mengkonfigurasi hanya panjang atau hanya pendek.

Risiko

Risiko dari strategi ini meliputi:

  1. Sinyal breakout mungkin palsu breakout dan tidak dapat bertahan.

  2. Pengaturan periode break-out yang tidak tepat dapat mengabaikan tren jangka panjang.

  3. Ini tidak mempertimbangkan volume pada breakout, dapat menyebabkan mengejar tinggi dan membunuh rendah.

  4. Ada keterlambatan tertentu, mungkin melewatkan sebagian besar gerakan.

  5. Di pasar yang tidak stabil, stop loss mungkin terpukul.

  6. Bergantung hanya pada breakout untuk perdagangan, keuntungan tidak pasti.

Peningkatan

Strategi dapat ditingkatkan dalam aspek berikut:

  1. Masukkan indikator volume untuk menghindari breakout palsu.

  2. Mengoptimalkan parameter periode rata-rata bergerak untuk mencocokkan perubahan tren dalam siklus yang berbeda.

  3. Tetapkan ambang penarikan setelah breakout untuk konfirmasi lebih lanjut untuk menghindari breakout palsu.

  4. Tambahkan Bollinger Bands dll di atas basis breakout untuk panduan yang lebih arah.

  5. Menggabungkan indikator lain seperti RSI, MACD untuk sinyal perdagangan tambahan dan meningkatkan akurasi.

  6. Mengoptimalkan stop loss dan mengambil strategi keuntungan untuk mengatasi fluktuasi pasar dengan lebih baik sambil mengendalikan risiko.

Ringkasan

Strategi trading breakout memiliki logika yang jelas untuk melacak price breakout dari band atas dan bawah untuk masuk dan keluar. Ada ruang yang luas untuk peningkatan, dengan memasukkan lebih banyak informasi indikator dan mengoptimalkan parameter untuk memperkuat strategi. Setelah terbiasa dengan logika dasar, pedagang dapat menyesuaikan parameter berdasarkan kebutuhan mereka dan mendapatkan hasil trading yang baik.


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

//Noro
//2018

//@version=3
strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
bod = input(false, defval = false, title = "Body mode")
rev = input(false, defval = false, title = "Revers")
showlines = input(true, defval = true, title = "Show Lines?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Extremums
min = bod ? min(open, close) : low
max = bod ? max(open, close) : high
upex = highest(max, len) + syminfo.mintick * 10
dnex = lowest(min, len) - syminfo.mintick * 10
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[len])) and rev == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex)
    
if (not na(close[len])) and rev == true
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Lebih banyak