Strategi penangkapan tren breakout horizontal


Tanggal Pembuatan: 2024-04-26 15:22:06 Akhirnya memodifikasi: 2024-04-26 15:22:06
menyalin: 4 Jumlah klik: 627
1
fokus pada
1617
Pengikut

Strategi penangkapan tren breakout horizontal

Ringkasan

Strategi ini menggunakan garis horisontal sebagai titik dukungan dan resistensi, yang menghasilkan sinyal perdagangan ketika harga menembus garis horisontal. Ide utamanya adalah: pertama, gambar garis horisontal sesuai dengan beberapa kondisi, lakukan lebih banyak ketika harga menembus garis horisontal ke atas, dan lakukan lebih banyak ketika harga menembus garis horisontal ke bawah.

Prinsip Strategi

  1. Berdasarkan kondisi bahwa harga minimum dari garis K sebelumnya lebih besar dari harga penutupan saat ini, gambarkan garis horizontal dengan panjang 20 di posisi harga minimum dari garis K sebelumnya, dan selalu simpan hanya 10 garis terbaru.
  2. Jika harga saat ini telah melampaui batas horizontal baru-baru ini, maka kita harus menebus semua surplus sebelumnya dan melakukan surplus lagi.
  3. Ketika Anda menggambar garis horisontal baru, jika Anda memiliki posisi, maka Anda harus menaikkan posisi terlebih dahulu, dan kemudian melakukan lebih banyak lagi.

Keunggulan Strategis

  1. Strategi logisnya sederhana dan jelas, mudah dipahami dan diterapkan.
  2. Sebuah garis horizontal yang mendukung titik resistensi akan menghasilkan sinyal yang lebih baik untuk menangkap tren.
  3. Ketika garis horisontal baru muncul, posisi sebelumnya akan dihapus dan kemudian posisi baru akan dibuka, sehingga dapat mengurangi risiko yang mungkin ditimbulkan oleh posisi sebelumnya.
  4. Strategi ini dapat dioptimalkan dengan menyesuaikan panjang dan jumlah garis horizontal.

Risiko Strategis

  1. Untuk situasi yang bergejolak, seringnya penembusan garis horisontal dapat menyebabkan overtrading, yang menghasilkan slippage dan biaya yang lebih besar.
  2. Kebijakan untuk definisi garis horisontal yang relatif sederhana, kurangnya validasi dari indikator lain, dapat menghasilkan beberapa sinyal yang salah.
  3. Hanya dengan melakukan lebih banyak dan tidak mengosongkan, kita tidak bisa memanfaatkan sepenuhnya penurunan pasar.

Arah optimasi strategi

  1. Garis horizontal dapat dikombinasikan dengan indikator lain untuk mengkonfirmasi efektivitasnya, seperti perubahan volume lalu lintas, untuk mengurangi sinyal yang salah.
  2. Untuk tren yang bergolak, frekuensi perdagangan dapat dikurangi dengan meningkatkan tingkat penembusan garis horizontal.
  3. Jika Anda bergabung dengan mekanisme shorting, Anda juga bisa mendapatkan keuntungan dari tren turun.
  4. Panjang dan jumlah garis horisontal dapat dipertimbangkan untuk menyesuaikan secara dinamis dengan situasi yang berbeda.

Meringkaskan

Strategi ini menggunakan garis horisontal sebagai titik resistensi pendukung yang penting, menghasilkan sinyal perdagangan dengan menerobos garis horisontal. Kelebihannya adalah logika yang sederhana, mudah dilakukan, dan dapat menangkap tren dengan lebih baik. Namun, kekurangannya adalah kemungkinan perdagangan berlebihan, menghasilkan sinyal yang salah, dan hanya dapat melakukan lebih banyak dan tidak bisa kosong. Selanjutnya dapat dioptimalkan dan diperbaiki dengan menggabungkan indikator lain, mengurangi frekuensi perdagangan, memasukkan mekanisme kosong dan parameter penyesuaian dinamis.

Kode Sumber Strategi
/*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ı")