Strategi Tahap Penembusan Ganda Jangka Masa

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

img

Ringkasan

Ini adalah strategi yang menggunakan tahap utama pada jangka masa yang berbeza untuk menjana isyarat perdagangan pecah berganda. Ia boleh memasuki kedudukan panjang atau pendek apabila harga trend memecahkan tahap sokongan atau rintangan utama untuk menangkap trend jangka menengah hingga panjang.

Logika Strategi

Strategi ini menganalisis tindakan harga secara serentak pada dua jangka masa yang berbeza (tf dan tf2), dengan tf adalah jangka masa yang lebih lama yang mencerminkan trend jangka menengah hingga panjang, dan tf2 adalah jangka masa yang lebih pendek yang mencerminkan pergerakan jangka pendek.

  1. Apabila harga memecahkan di atas tahap (tahap) pada jangka masa tf, rekod up1 = benar
  2. Apabila harga pecah di bawah tahap pada jangka masa tf, rekod dn1 = benar
  3. Apabila harga memecahkan di atas tahap (level2) pada jangka masa tf2, rekod up2 = benar
  4. Apabila harga pecah di bawah tahap pada jangka masa tf2, rekod dn2 = benar

Isyarat perdagangan terbentuk apabila up1 dan up2 benar bersama-sama, menunjukkan jangka panjang dan jangka pendek adalah baik bullish, pergi panjang; apabila dn1 dan dn2 adalah benar, menunjukkan jangka panjang dan pendek kedua-dua bearish, pergi pendek.

Strategi ini juga menggabungkan beberapa penapis seperti scalping terbalik dan candlestick warna untuk mengelakkan isyarat yang salah dari pecah bukan trend.

Secara keseluruhannya, strategi ini mengambil kesempatan penuh daripada analisis pelbagai jangka masa, memastikan trend jangka sederhana hingga panjang memenuhi jangkaan sambil mengelakkan gangguan oleh bunyi pasaran jangka pendek, menghasilkan isyarat perdagangan berkualiti tinggi.

Analisis Kelebihan

  1. Mengesan trend jangka menengah hingga panjang dengan memecahkan tahap utama

    Dengan memantau penembusan tahap utama dalam dua jangka masa, ia dapat menangkap isyarat kemasukan yang jelas pada peringkat permulaan trend.

  2. Pengesahan berganda mengurangkan isyarat palsu dengan ketara

    Menghendaki pecah serentak pada dua bingkai masa yang berbeza sangat mengurangkan isyarat palsu dari turun naik rawak, meningkatkan kualiti isyarat.

  3. Penapis seperti kulit kepala terbalik dan lilin warna

    Menambah scalping terbalik dan penapis lilin warna boleh menghilangkan beberapa isyarat pecah berkualiti rendah dan mengelakkan kerugian besar.

  4. Tetapan parameter mudah

    Strategi ini hanya memerlukan dua parameter jangka masa untuk berfungsi, menawarkan penyesuaian fleksibel untuk produk yang berbeza.

  5. Mudah difahami dan optimum

    Struktur yang jelas menjadikannya mudah untuk memahami logik, dan parameter boleh diselaraskan berdasarkan keadaan pasaran untuk pengoptimuman.

Analisis Risiko

  1. Penutupan masuk disebabkan oleh dua pelarian

    Berbanding dengan pecah tunggal, pecah berganda boleh menyebabkan beberapa kelewatan kemasukan, kehilangan keuntungan trend awal yang kuat.

  2. Pilihan tahap utama

    Memilih tahap kunci yang sesuai untuk produk dan kitaran pasaran yang berbeza adalah sangat penting, jika tidak, ia boleh menghasilkan isyarat palsu.

  3. Kegagalan pecah

    Walaupun dengan pelarian berganda, masih ada kemungkinan kegagalan pelarian dan mundur dengan cepat, menyebabkan kerugian.

  4. Kerugian daripada pembalikan trend

    Pendaftaran trend lewat mungkin menghadapi pembalikan tiba-tiba, tidak dapat keluar tepat pada masanya melalui stop loss dan mengalami kerugian besar.

  5. Pengoptimuman parameter yang sukar

    Walaupun mudah, mencari set parameter optimum masih memerlukan ujian yang luas, dengan kesukaran pengoptimuman yang tinggi.

Arahan pengoptimuman

  1. Tambah strategi stop loss

    Boleh menetapkan hentian atau hentian masa untuk menghentikan kerugian sebelum kerugian menjadi terlalu besar.

  2. Mengoptimumkan penapis

    Boleh menguji pelbagai parameter amplitud kulit kepala terbalik atau kaedah penapis lain.

  3. Tahap kunci dinamik

    Buat tahap utama berubah secara dinamik dengan perubahan pasaran dan bukannya tahap statik.

  4. Pengoptimuman parameter pelbagai produk

    Gunakan pembelajaran mesin untuk mengoptimumkan set parameter terbaik untuk produk yang berbeza.

  5. Tambah pengesahan jumlah

    Masukkan pengesahan jumlah untuk mengelakkan isyarat pecah palsu tanpa jumlah.

Ringkasan

Secara keseluruhan ini adalah strategi trend berikut yang mudah dan praktikal. Dengan menganalisis dua bingkai masa, ia memasuki kesesuaian arah jangka pertengahan hingga panjang untuk menapis bunyi bising dengan berkesan. Isyaratnya jelas dan mudah ditafsirkan, dengan tetapan parameter yang intuitif. Tetapi ia juga mempunyai masalah seperti kemasukan yang salah, kesukaran memilih tahap utama. Ringkasnya, strategi ini berfungsi dengan lebih baik sebagai alat pengesahan trend untuk digabungkan dengan faktor lain, tetapi masih mempunyai banyak ruang untuk pengoptimuman sebagai sistem perdagangan bebas.


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