Strategi Level Penembusan Ganda lintas Jangka Waktu

Penulis:ChaoZhang, Tanggal: 2023-11-15 17:27:36
Tag:

img

Gambaran umum

Ini adalah strategi yang memanfaatkan tingkat kunci pada kerangka waktu yang berbeda untuk menghasilkan sinyal perdagangan double breakout. Ini dapat memasuki posisi panjang atau pendek ketika harga tren menerobos tingkat dukungan atau resistensi kunci untuk menangkap tren jangka menengah hingga panjang.

Logika Strategi

Strategi ini menganalisis aksi harga secara bersamaan pada dua kerangka waktu yang berbeda (tf dan tf2), dengan tf adalah kerangka waktu yang lebih panjang yang mencerminkan tren jangka menengah hingga panjang, dan tf2 adalah kerangka waktu yang lebih pendek yang mencerminkan pergerakan jangka pendek.

  1. Ketika harga pecah di atas tingkat (tingkat) pada jangka waktu tf, catat up1=true
  2. Ketika harga pecah di bawah tingkat pada jangka waktu tf, catat dn1=benar
  3. Ketika harga pecah di atas level (level2) pada jangka waktu tf2, rekam up2=true
  4. Ketika harga pecah di bawah tingkat pada jangka waktu tf2, catat dn2=benar

Sinyal perdagangan terbentuk ketika up1 dan up2 benar bersama, menunjukkan jangka panjang dan jangka pendek baik bullish, pergi panjang; ketika dn1 dan dn2 benar, menunjukkan jangka panjang dan pendek baik bearish, pergi pendek.

Strategi ini juga menggabungkan beberapa filter seperti scalping terbalik dan lilin warna untuk menghindari sinyal yang salah dari breakout non-trend.

Secara keseluruhan, strategi ini memanfaatkan sepenuhnya analisis multi-frame waktu, memastikan tren jangka menengah hingga panjang memenuhi harapan sambil menghindari gangguan dari kebisingan pasar jangka pendek, menghasilkan sinyal perdagangan berkualitas tinggi.

Analisis Keuntungan

  1. Menangkap tren jangka menengah hingga panjang dengan memecahkan tingkat kunci

    Dengan memantau key level breakout di dua kerangka waktu, dapat menangkap sinyal masuk yang jelas pada tahap awal tren.

  2. Konfirmasi ganda secara signifikan mengurangi sinyal palsu

    Membutuhkan penyebaran bersamaan pada dua kerangka waktu yang berbeda sangat mengurangi sinyal palsu dari fluktuasi acak, meningkatkan kualitas sinyal.

  3. Filter seperti scalps terbalik dan candlesticks warna

    Menambahkan scalping terbalik dan filter lilin warna dapat menghilangkan beberapa sinyal breakout berkualitas rendah dan mencegah kerugian besar.

  4. Pengaturan parameter sederhana

    Strategi hanya membutuhkan dua parameter kerangka waktu untuk berfungsi, menawarkan penyesuaian fleksibel untuk produk yang berbeda.

  5. Mudah dipahami dan dioptimalkan

    Struktur yang jelas membuatnya mudah untuk memahami logika, dan parameter dapat disesuaikan berdasarkan kondisi pasar untuk optimasi.

Analisis Risiko

  1. Penundaan masuk karena dua kali keluar

    Dibandingkan dengan single breakout, double breakout dapat menyebabkan beberapa penundaan masuk, kehilangan awal kuat trend keuntungan.

  2. Pemilihan tingkat kunci

    Memilih tingkat kunci yang tepat untuk produk dan siklus pasar yang berbeda sangat penting, jika tidak, hal itu dapat menghasilkan sinyal palsu.

  3. Gagalnya penembusan

    Bahkan dengan kabur ganda, masih ada kemungkinan kegagalan kabur dan mundur cepat, menyebabkan kerugian.

  4. Kerugian dari pembalikan tren

    Entri tren akhir mungkin menghadapi pembalikan tiba-tiba, tidak dapat keluar tepat waktu melalui stop loss dan mengalami kerugian besar.

  5. Optimasi parameter yang sulit

    Meskipun sederhana, menemukan set parameter optimal masih membutuhkan pengujian ekstensif, dengan kesulitan pengoptimalan yang tinggi.

Arahan Optimasi

  1. Tambahkan strategi stop loss

    Bisa mengatur trailing stop atau time stop untuk menghentikan kerugian sebelum kerugian menjadi terlalu besar.

  2. Optimalkan filter

    Dapat menguji parameter amplitudo kulit kepala terbalik yang berbeda atau metode filter lainnya.

  3. Tingkat kunci dinamis

    Membuat tingkat kunci berubah secara dinamis dengan pergeseran pasar daripada tingkat statis.

  4. Optimasi parameter multi-produk

    Gunakan pembelajaran mesin untuk mengoptimalkan set parameter terbaik untuk produk yang berbeda.

  5. Tambahkan konfirmasi volume

    Masukkan konfirmasi volume untuk menghindari sinyal pecah palsu tanpa volume.

Ringkasan

Secara keseluruhan, ini adalah strategi trend berikut yang sederhana dan praktis. Dengan menganalisis dua kerangka waktu, ini masuk pada kesesuaian arah jangka menengah hingga panjang untuk menyaring kebisingan secara efektif. Sinyalnya jelas dan mudah ditafsirkan, dengan pengaturan parameter yang intuitif. Tetapi juga memiliki masalah seperti entri yang salah, kesulitan memilih tingkat kunci. Singkatnya, strategi ini bekerja lebih baik sebagai alat validasi tren untuk dikombinasikan dengan faktor lain, tetapi masih memiliki banyak ruang untuk optimasi sebagai sistem perdagangan mandiri.


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

//Noro
//2018

//@version=2
strategy(title = "Noro's Levels Strategy v1.0", shorttitle = "Levels str 1.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, %")
tf = input('W',  title = "timeframe 1")
tf2 = input('D',  title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
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")

//Signals
level = request.security(syminfo.tickerid, tf, src[1])
level2 = request.security(syminfo.tickerid, tf2, src[1])
plot(level, linewidth = 3, color = silver)
plot(level2, linewidth = 3, color = gray)
up1 = close > level and ap == false ? true : low > level ? true : false
dn1 = close < level and ap == false ? true : high < level ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false

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

if up1 and up2 and (close < open or cf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if dn1 and dn2 and (close > open or cf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

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

Lebih banyak