Strategi pelarasan kedudukan dinamik adaptif jenis pengenalan aliran masa berbilang masa

DEMA ATR supertrend
Tarikh penciptaan: 2025-02-24 09:48:55 Akhirnya diubah suai: 2025-02-27 16:49:07
Salin: 5 Bilangan klik: 433
2
fokus pada
319
Pengikut

Strategi pelarasan kedudukan dinamik adaptif jenis pengenalan aliran masa berbilang masa Strategi pelarasan kedudukan dinamik adaptif jenis pengenalan aliran masa berbilang masa

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan pengesanan trend berdasarkan Supertrend dan DEMA. Strategi ini membina kerangka keputusan perdagangan yang boleh dipercayai dengan menggabungkan keupayaan pengenalan arah trend indikator Supertrend dan fungsi pengesahan trend DEMA. Sistem ini menyokong perdagangan dua hala dan mempunyai mekanisme penyesuaian kedudukan yang dinamik yang dapat beralih ke arah yang banyak.

Prinsip Strategi

Logik teras strategi adalah berdasarkan komponen utama berikut:

  1. Indikator Supertrend: menggunakan kitaran ATR yang ditetapkan sebagai 10, dengan faktor 3.0, untuk menangkap titik perubahan trend harga.
  2. Penunjuk DEMA: Menggunakan purata bergerak indeks ganda 100 kitaran untuk menyaring bunyi pasaran dan kebolehpercayaan trend pengesahan.
  3. Mekanisme penjanaan isyarat dagangan:
    • Isyarat berbilang kepala: dipicu apabila harga melintasi Supertrend dan harga penutupan berada di atas DEMA
    • Isyarat kosong: dipicu apabila harga menembusi Supertrend dan harga penutupan berada di bawah DEMA
  4. Pengurusan Kedudukan: Sistem menyokong penyesuaian kedudukan yang fleksibel, termasuk pembukaan Kedudukan Langsung, Pengendalian Kedudukan dan Pengendalian Kedudukan

Kelebihan Strategik

  1. Mekanisme pengesahan berganda: Meningkatkan kebolehpercayaan isyarat perdagangan dengan menggabungkan kedua-dua petunjuk Supertrend dan DEMA.
  2. Pengurusan kedudukan yang fleksibel: menyokong perdagangan dua hala yang banyak, boleh menyesuaikan arah memegang kedudukan mengikut keadaan pasaran yang dinamik.
  3. Kawalan risiko yang sempurna: Mempunyai mekanisme tindak balas pantas pada titik perubahan trend, dapat menghentikan kerugian tepat pada masanya dan memanfaatkan peluang trend baru.
  4. Parameter boleh disesuaikan: parameter utama seperti kitaran ATR, faktor Supertrend dan kitaran DEMA boleh dioptimumkan mengikut ciri-ciri pasaran yang berbeza.

Risiko Strategik

  1. Pasaran horizontal tidak berfungsi dengan baik: Dalam keadaan pasaran yang tidak mempunyai trend yang jelas, isyarat penembusan palsu yang kerap mungkin berlaku.
  2. Risiko keterlambatan: Menggunakan DEMA sebagai penapis mungkin menyebabkan kelewatan kecil pada masa masuk, yang menjejaskan ruang keuntungan.
  3. Sensitiviti parameter: Kesan strategi lebih sensitif kepada tetapan parameter, dan kombinasi parameter yang berbeza mungkin diperlukan dalam keadaan pasaran yang berbeza.

Arah pengoptimuman strategi

  1. Memperkenalkan mekanisme penyesuaian kadar turun naik:
    • Nilai faktor Supertrend disesuaikan mengikut pergerakan kadar turun naik pasaran
    • Peningkatan penapis valve semasa lonjakan tinggi, kelonggaran yang sesuai semasa lonjakan rendah
  2. Menambah modul untuk mengenalpasti keadaan pasaran:
    • Menambah penunjuk kekuatan trend, mengurangkan frekuensi dagangan di pasaran horizontal
    • Memperkenalkan penunjuk kuantiti yang membantu mengesahkan keberkesanan penembusan
  3. Meningkatkan mekanisme stop loss:
    • Mempunyai hentian dinamik berasaskan ATR
    • Tambah fungsi henti rugi mudah alih untuk melindungi keuntungan

ringkaskan

Strategi ini membina sistem pengesanan trend yang mantap dengan menggabungkan Supertrend dan penunjuk DEMA. Kelebihannya adalah kebolehpercayaan isyarat yang tinggi, kawalan risiko yang sempurna, tetapi masih memerlukan pedagang untuk mengoptimumkan parameter mengikut ciri-ciri pasaran tertentu.

Kod sumber strategi
/*backtest
start: 2025-02-16 00:00:00
end: 2025-02-23 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=6
strategy("Supertrend with DEMA Strategy (Reversal Enabled)", overlay=true)

// ===== Parameters for Supertrend =====
atrPeriod = input.int(10, "ATR Length", minval=1)
factor    = input.float(3.0, "Factor", minval=0.01, step=0.01)

// ===== Parameters for Allowing Trade Directions =====
allowLong  = input.bool(true,  "Allow LONG")
allowShort = input.bool(true,  "Allow SHORT")

// Supertrend Calculation
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
// Set the value to na for the first bar to avoid false signals
supertrend := barstate.isfirst ? na : supertrend

// Plot Supertrend Lines
plot(direction < 0 ? supertrend : na, "Up Trend",   color=color.green, style=plot.style_linebr)
plot(direction < 0 ? na : supertrend, "Down Trend", color=color.red,   style=plot.style_linebr)

// ===== Parameters and Calculation for DEMA =====
demaLength = input.int(100, "DEMA Length", minval=1)
e1 = ta.ema(close, demaLength)
e2 = ta.ema(e1, demaLength)
dema = 2 * e1 - e2

// Plot DEMA
plot(dema, "DEMA", color=#43A047)

// ===== Signal Definitions =====
// Basic Supertrend Trend Change Signals
trendUp   = ta.crossover(close, supertrend)
trendDown = ta.crossunder(close, supertrend)

// Entry Signals considering DEMA
longSignal  = trendUp and (close > dema)
shortSignal = trendDown and (close < dema)

// ===== Entry/Exit Logic =====

// LONG Signal
if (longSignal)
    // If there is an open SHORT position – reverse it to LONG if allowed
    if (strategy.position_size < 0)
        if (allowLong)
            strategy.close("Short")
            strategy.entry("Long", strategy.long)
        else
            // If reversal to LONG is not allowed – just close SHORT
            strategy.close("Short")
    // If there is no position – open LONG if allowed
    else if (strategy.position_size == 0)
        if (allowLong)
            strategy.entry("Long", strategy.long)

// SHORT Signal
if (shortSignal)
    // If there is an open LONG position – reverse it to SHORT if allowed
    if (strategy.position_size > 0)
        if (allowShort)
            strategy.close("Long")
            strategy.entry("Short", strategy.short)
        else
            // If reversal to SHORT is not allowed – just close LONG
            strategy.close("Long")
    // If there is no position – open SHORT if allowed
    else if (strategy.position_size == 0)
        if (allowShort)
            strategy.entry("Short", strategy.short)

// ===== Additional Position Closure on Trend Change without Entry =====
// If Supertrend crosses (trend change) but DEMA conditions are not met,
// close the opposite position if open.
if (trendUp and not longSignal and strategy.position_size < 0)
    strategy.close("Short")

if (trendDown and not shortSignal and strategy.position_size > 0)
    strategy.close("Long")