Dual Trendlines Breakout Golden Cross Death Cross Trend Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2024-02-22 16:01:12
Tag:

img

Gambaran umum

Dual Trendlines Breakout Golden Cross Death Cross Trend Following Strategy adalah strategi perdagangan kuantitatif yang memanfaatkan kedua garis tren support/resistance dan moving average sebagai sinyal alternatif untuk mengikuti tren. Strategi ini memperhitungkan tingkat harga pada kerangka waktu yang berbeda, menggabungkan sinyal breakout melalui level support dan resistance utama dengan sinyal golden cross dan death cross dari indikator tren, untuk membuka posisi selama perubahan tren awal untuk target keuntungan melacak tren jangka menengah hingga panjang.

Prinsip Strategi

Strategi ini terdiri dari empat komponen utama:

  1. Garis dukungan digambarkan dengan titik terendah selama 30 hari terakhir
  2. Garis resistensi digambarkan dengan tertinggi tertinggi selama 30 minggu terakhir
  3. Rata-rata bergerak sederhana 10 periode, digunakan untuk mengkonfirmasi tren untuk menyaring sinyal perdagangan
  4. Modul Identifikasi Breakout untuk mendeteksi peluang perdagangan ketika harga melewati level support/resistance kritis

Secara khusus, strategi ini pertama-tama menggunakan fungsi permintaan Keamanan untuk mendapatkan tertinggi dan terendah tertinggi selama 30 hari dan 30 minggu terakhir masing-masing, memetakan garis dukungan dan resistensi dinamis. Kemudian menggabungkan sinyal salib emas dan salib kematian dari SMA 10 periode untuk menyaring peluang keluar. Sinyal panjang dihasilkan ketika harga melanggar di atas level dukungan 30 hari dan SMA 10 periode, sementara sinyal pendek dihasilkan ketika harga melanggar di bawah level resistensi 30 minggu dan SMA 10 periode.

Strategi ini mempertimbangkan tingkat support/resistance jangka menengah dan jangka panjang, yang memungkinkan untuk menangkap peluang tren yang lebih besar.

Analisis Keuntungan

Keuntungan utama dari strategi ini meliputi:

  1. Memanfaatkan dukungan / resistensi jangka menengah dan jangka panjang untuk menangkap penyebaran yang lebih besar.
  2. Filter MA mengendalikan kerugian dengan menghindari sinyal palsu selama pasar berkisar.
  3. Pembaruan dinamis dari level support/resistance memungkinkan menangkap arah tren baru secara tepat waktu.
  4. Mekanisme manajemen risiko stop loss dan take profit membantu mengamankan keuntungan.

Analisis Risiko

Ada juga beberapa risiko yang harus diperhatikan untuk strategi ini:

  1. Strategi breakout membutuhkan waktu yang tepat, dengan masalah overshoot atau lag.
  2. Penembusan yang tidak valid dapat terjadi ketika level support/resistance gagal, menyebabkan kerugian besar.
  3. Sifat lambat dari rata-rata bergerak dapat menyebabkan sinyal terlambat untuk pembalikan tren.
  4. Risiko penarikan yang tinggi membuatnya tidak cocok untuk akun kecil.

Solusi:

  1. Perbaiki logika identifikasi dan tambahkan filter.
  2. Gunakan periode MA yang lebih panjang untuk memastikan sinyal hanya terjadi setelah tren stabil.
  3. Atur tingkat stop loss yang tepat untuk membatasi penurunan pada perdagangan tunggal.

Arahan Optimasi

Ada ruang untuk perbaikan lebih lanjut:

  1. Menggabungkan langkah-langkah volatilitas seperti ATR untuk stop loss yang lebih cerdas dan mengambil profitsizing.
  2. Tambahkan model pembelajaran mesin untuk mendeteksi kegagalan dukungan / resistensi.
  3. Gunakan rata-rata bergerak adaptif untuk menangkap pembalikan yang lebih cepat.
  4. Parameter pengaturan halus untuk produk yang berbeda.

Kesimpulan

Strategy Breakout Dual Trendlines Golden Cross Death Cross Trend Following secara efektif menggabungkan indikator support/resistance jangka menengah hingga panjang dan moving average untuk menyaring sinyal menguntungkan selama tren utama, menjadikannya strategi trading kuantitatif yang relatif matang.


/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
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/
// © neosaid

//@version=5
strategy("Support and resistant Strategy", overlay=true)

// Function to check for breakout
f_breakoutCondition(closingPrice, highestHigh, lowestLow) =>
    closingPrice > highestHigh or closingPrice < lowestLow

// Step 1: 30 Days Trend Line (Lower Lows)
low30Days = request.security(syminfo.tickerid, "D", low)

// Step 2: 30 Weeks Upper Trend Line (Higher Highs)
high30Weeks = request.security(syminfo.tickerid, "W", high)

// Step 3: Trend Line for Lowest Low within the Last Month
var float lowestLowLastMonth = na
for i = 0 to 29
    lowestLowLastMonth := na(lowestLowLastMonth) ? low[i] : math.min(lowestLowLastMonth, low[i])

lowestLowLastMonthValue = lowestLowLastMonth[1]

// Breakout Strategy
highestHighLast3Candles = request.security(syminfo.tickerid, "D", ta.highest(close, 3))
lowestLowLast3Candles = request.security(syminfo.tickerid, "D", ta.lowest(close, 3))

// Additional conditions to filter signals
buyCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close > low30Days

sellCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close < high30Weeks

// Additional filters to reduce the number of orders
buyFilter = ta.crossover(close, ta.sma(close, 10)) // Buy only when price crosses above a 10-period SMA
sellFilter = ta.crossunder(close, ta.sma(close, 10)) // Sell only when price crosses below a 10-period SMA

buyCondition := buyCondition and buyFilter
sellCondition := sellCondition and sellFilter

// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Strategy entries
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)


Lebih banyak