Strategi penjejakan arah aliran salib emas dan salib kematian berganda terobosan


Tarikh penciptaan: 2024-02-22 16:01:12 Akhirnya diubah suai: 2024-02-22 16:01:12
Salin: 1 Bilangan klik: 563
1
fokus pada
1617
Pengikut

Strategi penjejakan arah aliran salib emas dan salib kematian berganda terobosan

Gambaran keseluruhan

Strategi penjejakian trend binari adalah strategi perdagangan kuantitatif untuk menjejaki trend yang menggunakan garis rintangan sokongan dan purata bergerak sebagai isyarat pilihan pilihan. Strategi ini mempertimbangkan secara komprehensif harga pada tahap rintangan sokongan dan isyarat penjernih harga dalam jangka masa yang berbeza. Untuk menangkap sokongan dan rintangan yang penting ketika harga menembusi, ia digabungkan dengan penapis indikator trend untuk membuat banyak peluang kosong.

Prinsip Strategi

Strategi ini terdiri daripada empat bahagian utama:

  1. Garis sokongan 30 hari
  2. Talian rintangan yang ditetapkan pada titik tertinggi dalam 30 minggu
  3. 10 hari purata mudah bergerak untuk mengesahkan trend dan menapis isyarat dagangan
  4. Menembusi modul Identification, mengenal pasti peluang perdagangan di mana harga menembusi tahap rintangan sokongan yang penting

Khususnya, strategi pertama menggunakan fungsi Keamanan permintaan untuk mendapatkan harga tertinggi dan terendah dalam 30 hari dan 30 minggu, masing-masing untuk menetapkan garis sokongan dan garis rintangan yang dinamik. Kemudian menggabungkan isyarat garpu emas dan garpu mati dari purata bergerak 10 hari untuk menyaring peluang perdagangan yang pecah.

Strategi ini mempertimbangkan sokongan dan rintangan pada garis pendek dan panjang untuk menangkap peluang trend yang lebih besar. Dalam kombinasi dengan purata bergerak, ia dapat menyaring isyarat yang salah dalam trend yang bergoyang.

Analisis kelebihan

Strategi ini mempunyai beberapa kelebihan:

  1. Pada masa yang sama, ia menggunakan sokongan rintangan garis pendek dan panjang untuk menangkap penembusan yang lebih besar.
  2. Menambah penapis untuk garis purata bergerak yang berkesan mengawal kehilangan dan mengelakkan isyarat yang salah dalam gegaran.
  3. Pembaharuan dinamik menyokong tahap rintangan dan menangkap arah baru dalam masa yang tepat.
  4. Mempunyai mekanisme hentian kerugian yang terhad kepada pengurusan risiko membantu memastikan keuntungan.

Analisis risiko

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. Strategi jenis terobosan mempunyai keperluan yang lebih tinggi terhadap pengendalian masa perdagangan, mudah mengalami masalah ke hadapan atau ketinggalan.
  2. Apabila sokongan rintangan gagal, ia boleh menyebabkan isyarat yang salah dan kerugian yang besar.
  3. Rata-rata bergerak sendiri ketinggalan harga dan mungkin terlepas titik peralihan trend.
  4. Tidak sesuai untuk pelabur yang mempunyai modal kecil.

Penyelesaian:

  1. Sesuai dengan logik pengenalan penembusan, memperkenalkan lebih banyak syarat penapisan.
  2. Meningkatkan parameter kitaran purata bergerak untuk memastikan isyarat hanya dihasilkan apabila trend stabil.
  3. Tetapkan titik hentian yang munasabah untuk mengawal kerugian tunggal.

Arah pengoptimuman

Strategi ini masih boleh dioptimumkan lagi:

  1. Cuba untuk menentukan stop loss yang lebih munasabah dengan menggunakan indikator kadar turun naik seperti ATR.
  2. Menambah model pembelajaran mesin untuk menilai ketidaksempurnaan titik-titik rintangan sokongan utama.
  3. Menggunakan purata bergerak beradaptasi untuk menangkap pembalikan trend lebih awal.
  4. Pengesuaian dan pengoptimuman untuk parameter yang berbeza.

ringkaskan

Strategi pengesanan trend yang menyelubungi garpu emas dan garpu mati mengambil kira tahap rintangan sokongan garpu panjang dan garpu panjang dan indikator purata bergerak sebagai isyarat perdagangan, dapat menyaring kebisingan dengan berkesan dalam konteks trend yang besar untuk mencapai keuntungan, merupakan strategi perdagangan kuantitatif yang lebih matang. Strategi ini masih mempunyai ruang yang besar untuk pengoptimuman, dapat diperbaiki dari segi mekanisme henti rugi, parameter penyesuaian diri, dan lain-lain, juga boleh mencuba memperkenalkan kaedah baru seperti pembelajaran mesin untuk meningkatkan ketahanan strategi.

Kod sumber strategi
/*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)