Strategi Perdagangan Pelanggaran

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

img

Ringkasan

Strategi ini berdasarkan teori pecah, membandingkan purata bergerak harga tertinggi dan terendah untuk menentukan sama ada trend itu berbalik, untuk mencari titik pecah yang berpotensi dan berdagang apabila pecah berlaku.

Logika Strategi

Strategi ini mula-mula mengira purata bergerak harga tertinggi dan terendah dalam tempoh yang ditakrifkan oleh pengguna. purata bergerak harga tertinggi mewakili band atas, dan purata bergerak harga terendah mewakili band bawah. Apabila harga menembusi band atas, ia memberi isyarat kenaikan, dan strategi akan membuka kedudukan panjang. Apabila harga menembusi band bawah, ia memberi isyarat penurunan, dan strategi akan membuka kedudukan pendek. Pengguna boleh mengkonfigurasi hanya panjang atau hanya pendek.

Strategi ini juga menyediakan tetapan stop loss dan mengambil keuntungan pilihan. Apabila panjang, stop loss ditetapkan pada band atas; apabila pendek, stop loss ditetapkan pada band bawah. Ini mengurangkan kerugian. Pengguna juga boleh memilih untuk menetapkan stop loss pada titik pecah, iaitu apabila panjang, stop loss adalah band bawah, dan apabila pendek, stop loss adalah band atas. Ini membolehkan potensi keuntungan yang lebih besar.

Kelebihan

Kelebihan strategi ini ialah:

  1. Logiknya mudah dan lurus, mudah difahami dan dilaksanakan.

  2. Ia boleh dengan cepat menangkap titik pembalikan trend dan menyesuaikan kedudukan.

  3. Ia menyediakan tetapan stop loss dan mengambil keuntungan pilihan untuk menyesuaikan keutamaan risiko peribadi.

  4. Isyarat perdagangan jelas, tanpa terlalu banyak isyarat palsu.

  5. Terdapat beberapa parameter yang boleh dikonfigurasi, mudah digunakan.

  6. Fleksibiliti untuk mengkonfigurasi panjang sahaja atau pendek sahaja.

Risiko

Risiko strategi ini termasuk:

  1. Isyarat pecah mungkin pecah palsu dan tidak dapat bertahan.

  2. Penentuan tempoh pecah yang tidak betul mungkin terlepas daripada trend jangka panjang.

  3. Ia tidak mengambil kira jumlah pada breakout, boleh menyebabkan mengejar tinggi dan membunuh rendah.

  4. Ada sedikit kelewatan, mungkin terlepas sebahagian besar langkah.

  5. Dalam pasaran yang tidak menentu, stop loss mungkin terjejas.

  6. Hanya bergantung pada penembusan untuk perdagangan, keuntungan tidak pasti.

Peningkatan

Strategi ini boleh ditingkatkan dalam aspek berikut:

  1. Masukkan penunjuk kelantangan untuk mengelakkan pecah palsu.

  2. Mengoptimumkan parameter purata bergerak tempoh untuk sepadan dengan perubahan trend dalam kitaran yang berbeza.

  3. Tetapkan ambang penarikan balik selepas pecah untuk pengesahan lebih lanjut untuk mengelakkan pecah palsu.

  4. Tambah Bollinger Bands dan lain-lain di atas asas pecah untuk panduan yang lebih arah.

  5. Menggabungkan penunjuk lain seperti RSI, MACD untuk isyarat perdagangan tambahan dan meningkatkan ketepatan.

  6. Mengoptimumkan strategi stop loss dan mengambil keuntungan untuk mengatasi lebih baik turun naik pasaran sambil mengawal risiko.

Ringkasan

Strategi perdagangan breakout mempunyai logik yang jelas untuk mengesan penembusan harga jalur atas dan bawah untuk kemasukan dan keluar. Terdapat ruang yang besar untuk peningkatan, dengan menggabungkan lebih banyak maklumat penunjuk dan mengoptimumkan parameter untuk menguatkan strategi. Setelah membiasakan diri dengan logik asas, peniaga boleh menyesuaikan parameter berdasarkan keperluan mereka dan mendapatkan hasil perdagangan 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 lanjut