Strategi Penangkapan Trend dengan Penembusan Garis Horizontal

Penulis:ChaoZhang, Tarikh: 2024-04-26 15:22:06
Tag:

img

Ringkasan

Strategi ini menggunakan garis mendatar sebagai tahap sokongan dan rintangan, dan menghasilkan isyarat perdagangan apabila harga memecahkan garis ini. Idea utama adalah: pertama, lukis garis mendatar berdasarkan syarat-syarat tertentu, pergi lama apabila harga memecahkan di atas garis, dan menutup kedudukan apabila harga memecahkan di bawah garis. Pada masa yang sama, terdapat syarat yang sepadan untuk menghasilkan garis mendatar, seperti harga rendah lilin sebelumnya lebih besar daripada harga penutupan semasa.

Prinsip Strategi

  1. Berdasarkan syarat bahawa harga rendah lilin sebelumnya adalah lebih besar daripada harga penutupan semasa, lukis garis mendatar dengan panjang 20 pada harga rendah lilin sebelumnya, dan selalu simpan hanya 10 baris terkini.
  2. Jika harga semasa melanggar di atas garis mendatar terakhir, tutup semua kedudukan panjang sebelumnya dan buka kedudukan panjang baru.
  3. Apabila menggambar garis mendatar baru, jika terdapat kedudukan, tutup terlebih dahulu dan kemudian buka kedudukan panjang baru.

Kelebihan Strategi

  1. Logik strategi adalah mudah dan jelas, mudah difahami dan dilaksanakan.
  2. Dengan menggunakan kejayaan sokongan garis mendatar dan tahap rintangan untuk menjana isyarat, ia boleh menangkap trend dengan baik.
  3. Apabila garis mendatar baru dihasilkan, ia akan menutup kedudukan sebelumnya dan kemudian membuka yang baru, yang dapat mengurangkan risiko yang boleh dibawa oleh kedudukan sebelumnya.
  4. Strategi ini boleh dioptimumkan dengan menyesuaikan panjang dan bilangan garis mendatar.

Risiko Strategi

  1. Bagi pasaran yang berayun-ayun, terobosan garis mendatar yang kerap boleh membawa kepada overtrading, yang mengakibatkan pergeseran besar dan yuran transaksi.
  2. Definisi garis mendatar strategi adalah agak mudah dan tidak mempunyai pengesahan dari penunjuk lain, yang boleh menghasilkan beberapa isyarat palsu.
  3. Ia hanya pergi lama dan tidak pergi pendek, dan tidak dapat memanfaatkan sepenuhnya trend menurun.

Arahan Pengoptimuman Strategi

  1. Penunjuk lain boleh digabungkan untuk mengesahkan kesahihan garis mendatar, seperti perubahan dalam jumlah dagangan, untuk mengurangkan isyarat palsu.
  2. Untuk pasaran yang berayun, kekerapan dagangan boleh dikurangkan dengan meningkatkan kebesaran terobosan garis mendatar.
  3. Tambahkan mekanisme jualan pendek untuk mendapat keuntungan daripada trend menurun.
  4. Pertimbangkan penyesuaian dinamik panjang dan bilangan garis mendatar untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.

Ringkasan

Strategi ini menggunakan garis mendatar sebagai tahap sokongan dan rintangan yang penting, dan menjana isyarat perdagangan melalui terobosan garis. Kelebihannya adalah bahawa logiknya mudah dan mudah dilaksanakan, dan ia dapat menangkap trend dengan baik. Walau bagaimanapun, kekurangannya adalah bahawa ia mungkin terlalu berdagang, menjana isyarat palsu, dan hanya boleh pergi lama tetapi tidak pendek. Pada masa akan datang, ia boleh dioptimumkan dan ditingkatkan dengan menggabungkan penunjuk lain, mengurangkan kekerapan perdagangan, menambah mekanisme jual pendek, dan menyesuaikan parameter secara dinamik.


/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Traderxprox

//@version=5
strategy("Alarm Trader_ALL", overlay=true)

// Yatay çizgi oluşum
yatayc = low[1] > close[0]

if yatayc
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")


//YATAY ÇİZGİ
int cizgilen = input.int(20, "Çizgi uzunluğu?", group = "Yatay Çizgi Ayarları")
var array<line> lines = array.new<line>()
int numberOfLines = input.int(10, "Son Kaç Çizgi?", 0, group = "Yatay Çizgi Ayarları")
kural22 = low[1] > close[0]
// if kural22
//     newLine = line.new(bar_index-2, low[1], bar_index+cizgilen, low[1] ,color=color.red, width=1, style=line.style_solid)
//     // Push the `newLine` into the `lines` array.
//     lines.push(newLine)
//     // Delete the oldest line when the size of the array exceeds the specified `numberOfLines`.
//     if array.size(lines) > numberOfLines
//         line.delete(lines.shift())
    
// Alarm kırılım için koşul

var float lastLinePrice = na
if not na(close) and array.size(lines) > 0 
    lastLinePrice := line.get_price(array.get(lines, array.size(lines) - 1), bar_index)
if open < lastLinePrice and close > lastLinePrice
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")



Lebih lanjut