Triple Moving Average Fan Pin Corak Risiko Dinamik Strategi Perdagangan Kuantitatif

SMA EMA ATR PIN BAR Trailing Stop Dynamic Leverage
Tarikh penciptaan: 2025-05-14 11:07:47 Akhirnya diubah suai: 2025-05-14 11:07:47
Salin: 2 Bilangan klik: 266
2
fokus pada
319
Pengikut

Triple Moving Average Fan Pin Corak Risiko Dinamik Strategi Perdagangan Kuantitatif Triple Moving Average Fan Pin Corak Risiko Dinamik Strategi Perdagangan Kuantitatif

Gambaran keseluruhan

Strategi perdagangan kuantitatif risiko dinamik dalam bentuk tiga pin yang bergerak adalah sistem perdagangan komprehensif yang menggabungkan analisis teknikal dan pengurusan risiko. Inti strategi ini adalah berdasarkan sistem pengesahan trend yang dibentuk oleh tiga rata-rata bergerak ((EMA cepat, EMA sederhana, dan SMA perlahan), yang menggabungkan bentuk pin klasik ((Pin Bar) sebagai isyarat masuk, dan mengintegrasikan mekanisme kawalan risiko bertingkat. Strategi ini menggunakan teknologi anti-gambar semula, memastikan semua isyarat dihasilkan berdasarkan data K-line yang telah disahkan, meningkatkan kebolehpercayaan isyarat dengan berkesan.

Prinsip Strategi

Prinsip perdagangan strategi ini adalah berdasarkan beberapa komponen utama:

  1. Sistem pengesahan trend purata bergerak tiga kaliStrategi: Menggunakan tiga purata bergerak dari tiga kitaran yang berbeza untuk membina persekitaran trend, yang memerlukan EMA cepat (default 6 kitaran), EMA sederhana (default 18 kitaran) dan SMA perlahan (default 50 kitaran) untuk membentuk barisan trend yang jelas. Keperluan trend berbilang: EMA cepat > EMA sederhana > SMA perlahan; Keperluan trend kosong: EMA cepat < EMA sederhana < SMA perlahan.

  2. Pengenalan isyarat bentuk pinStrategi: Setelah menetapkan arah trend, cari bentuk pin yang selaras dengan arah trend ((Pin Bar) sebagai titik masuk tertentu. Bentuk pin memerlukan K-line shadow line lebih daripada 66% dari keseluruhan panjang, memastikan ada cukup kekuatan pembalikan.

  3. Mekanisme pengesahan isyarat tertundaUntuk mengelakkan masalah pemetaan semula, strategi menggunakan data K-line yang telah terbentuk sepenuhnya (confirmedClose, confirmedOpen, dan lain-lain) untuk menghasilkan isyarat, dan isyarat pengesahan ditunda 1 K-line untuk memastikan perdagangan berdasarkan tindakan pasaran yang telah disahkan.

  4. Sistem pengurusan risiko dinamik

    • Kawalan risiko dana: jumlah risiko dikira berdasarkan peratusan risiko yang ditetapkan oleh pengguna ((usr_risk) dan kelipatan leverage
    • Rumus untuk mengira kedudukan: jumlah risiko = jumlah modal × peratusan risiko × kelipatan leverage
    • Unit dagangan tertentu yang dikira mengikut pergerakan jarak berhenti: unit = jumlah risiko ÷ jarak berhenti
  5. Perlindungan double stop

    • Hentian tetap: perlindungan awal berdasarkan ATR ganda ((atr_mult)
    • Tracking Stop Loss: Pelindung keuntungan dengan parameter slPoints dan slOffset
  6. Kawalan tetingkap masa

    • Mekanisme tamat tempoh isyarat: membatalkan isyarat lewat masa secara automatik melalui parameter ent_canc
    • Fungsi penutupan automatik setiap hari Jumaat untuk mengelakkan risiko kekurangan hujung minggu

Kelebihan Strategik

  1. Reka bentuk anti-penggambaranStrategi ini sepenuhnya berdasarkan data K-Line yang telah disahkan, mengelakkan masalah penggambaran semula indikator yang biasa, meningkatkan kesesuaian hasil pengukuran dengan prestasi cakera.

  2. Sistem kawalan risiko yang baik

    • Mendukung penyesuaian leverage halus 0.1 hingga 100 kali ganda untuk pelbagai pilihan risiko
    • Mengendalikan peratusan risiko dana, secara automatik meningkatkan kedudukan apabila dana meningkat, secara automatik mengurangkan kedudukan apabila dana ditarik balik
    • Mekanisme penangguhan ganda menyediakan pelbagai tahap perlindungan kewangan
  3. Penapisan isyarat berkualiti tinggi

    • Mekanisme pengesahan trend tiga mengelakkan perdagangan dalam trend yang tidak jelas
    • Penampilan pin memerlukan 66% daripada nisbah garis bayangan, menapis isyarat lemah
    • Keperluan untuk memadankan isyarat dengan arah trend, mengurangkan risiko perdagangan berlawanan arah
  4. Pengurusan masa yang fleksibel

    • Menyingkirkan isyarat tamat tempoh secara automatik untuk mengelakkan kemasukan pada masa yang tidak sesuai
    • Penutupan automatik pada hari Jumaat untuk mengelakkan risiko hujung minggu
    • Fungsi EMA silang automatik yang menembusi, bertindak balas dengan cepat terhadap perubahan trend
  5. Pengurusan kedudukan yang beradaptasiSistem akan menyesuaikan saiz kedudukan secara automatik mengikut turun naik pasaran (ATR), mengurangkan kedudukan apabila turun naik tinggi, meningkatkan kedudukan apabila turun naik, mencapai keseimbangan dinamik risiko.

Risiko Strategik

  1. Terlalu bergantung pada keadaan trendStrategi ini boleh menghasilkan isyarat palsu yang kerap dalam pasaran penyusunan horizontal, yang menyebabkan hentian berturut-turut. Penyelesaian: Anda boleh menambah penapis kekuatan trend, seperti penunjuk ADX, dan hanya berdagang apabila kekuatan trend mencukupi.

  2. Batasan Mod Pin Bar: Walaupun Pin Bar adalah isyarat pembalikan yang kuat, ia mungkin muncul dengan kerap dalam pasaran yang bergelombang tinggi dan tidak mempunyai makna praktikal. Penyelesaian: Anda boleh menambah pengesahan jumlah transaksi atau menambah keperluan nisbah garis bayangan Pin Bar.

  3. Risiko LeverageWalaupun strategi menyokong leverage hingga 100 kali ganda, terlalu tinggi boleh menyebabkan pergerakan akaun yang teruk dan bahkan pecah kedudukan. Penyelesaian: Gunakan dengan berhati-hati, disyorkan untuk menetapkan awal tidak lebih dari 5 kali ganda, dan menyesuaikan dengan hasil pengukuran sejarah.

  4. Optimasi parameter dan risiko kecocokan kurvaMengandungi pelbagai parameter yang boleh disesuaikan (seperti kitaran EMA, kitaran ATR, dan lain-lain) menyebabkan strategi menghadapi risiko pengoptimuman berlebihan. Penyelesaian: Uji kestabilan parameter dalam pelbagai tempoh masa dan pasaran, menggunakan analisis langkah demi langkah (seperti Walk Forward) untuk mengesahkan parameter.

  5. Setup risiko stop lossPenyelesaian: Berdasarkan ciri-ciri pasaran dan kitaran dagangan, cari titik keseimbangan dalam tetapan berhenti, disarankan untuk menguji pelbagai tetapan yang digabungkan dengan had risiko dana.

Arah pengoptimuman strategi

  1. Menambah penapisan persekitaran pasaran

    • Menambah syarat penapisan kadar turun naik, seperti menilai pasaran sesuai untuk diperdagangkan berdasarkan nisbah ATR / harga
    • Mempunyai fungsi pengenalan corak kawasan pasaran, membezakan antara trend dan persekitaran yang bergolak
    • Pengoptimuman ini dapat mengelakkan perdagangan dalam keadaan pasaran yang tidak sesuai dengan strategi ini dan meningkatkan peluang kemenangan.
  2. Kualiti isyarat dipertingkatkan

    • Meningkatkan keperluan pengesahan jumlah transaksi untuk memastikan isyarat Pin Bar mempunyai penyertaan pasaran yang mencukupi
    • Menambah bukti sokongan rintangan pada harga utama, memberi keutamaan kepada isyarat yang berdekatan dengan harga penting
    • Optimasi ini dapat meningkatkan kualiti dan kebolehpercayaan isyarat dengan ketara.
  3. Parameter dinamik menyesuaikan diri

    • Membuat penyesuaian adaptasi kepada kitaran EMA, menyesuaikan parameter secara automatik mengikut turun naik pasaran
    • Membangunkan sistem henti rugi pintar untuk menyesuaikan jarak henti rugi mengikut dinamik struktur pasaran
    • Pengoptimuman ini dapat menjadikan strategi lebih sesuai untuk pelbagai peringkat pasaran dan meningkatkan kestabilan jangka panjang.
  4. Penyelarasan kitaran masa

    • Tambah syarat penapis trend untuk tempoh masa yang lebih tinggi
    • Mekanisme pengesahan sinkronisasi isyarat untuk tempoh masa yang berbeza
    • Synchronization dengan kitaran masa dapat mengurangkan bunyi bising dan meningkatkan kebolehpercayaan isyarat
  5. Pengurusan wang yang lebih baik

    • Membangunkan sistem kedudukan dinamik berdasarkan kadar keuntungan dan kerugian, menyesuaikan kadar risiko mengikut kadar keuntungan dan kerugian yang dijangkakan
    • Mempunyai model risiko komposit yang mengambil kira turun naik pasaran, kekuatan trend dan kualiti isyarat secara menyeluruh
    • Ini membolehkan anda mengawal risiko dengan lebih tepat dalam keadaan pasaran yang berbeza

ringkaskan

Triple Moving Average Fan Pin Bolt Dynamic Risk Quantified Trading Strategy adalah sistem perdagangan kuantitatif profesional yang menggabungkan analisis pelbagai teknik dan pengurusan risiko. Dengan gabungan pengesahan trend triple moving averages dengan pengenalan bentuk Pin Bar, strategi ini dapat menangkap peluang perdagangan berkualiti tinggi di pasaran trend yang kuat. Kelebihan utamanya adalah sistem kawalan risiko yang sempurna, reka bentuk anti-pementasan dan mekanisme penapisan isyarat yang fleksibel, yang menjadikannya mempunyai ciri strategi kuantitatif profesional.

Strategi ini paling sesuai untuk digunakan dalam persekitaran pasaran yang jelas trend, dan sangat berkesan untuk produk kewangan yang lebih bergelombang. Walau bagaimanapun, pengguna perlu berhati-hati dengan batasan strategi dalam menyusun pasaran secara mendatar, dan potensi risiko penggunaan leverage dan parameter. Strategi ini masih mempunyai banyak ruang untuk peningkatan dengan arah pengoptimuman yang disyorkan, seperti meningkatkan penapisan persekitaran pasaran, meningkatkan kualiti isyarat, dan mewujudkan penyesuaian parameter.

Secara keseluruhannya, ini adalah strategi perdagangan kuantitatif yang tersusun dengan baik, berisiko dan logik yang jelas, yang sesuai untuk digunakan oleh peniaga yang berpengalaman setelah diuji dengan baik. Dengan parameter yang disetel dengan munasabah dan penggunaan leveraj yang berhati-hati, strategi ini berpotensi menjadi alat yang kuat dalam senjata peniaga.

Kod sumber strategi
/*backtest
start: 2024-05-14 00:00:00
end: 2025-05-12 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5

strategy("Rich Harvester", overlay=true, 
  initial_capital=200, 
  commission_type=strategy.commission.percent, 
  commission_value=0.1,
  slippage=2,
  default_qty_type=strategy.cash)

// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// 抗重绘核心修改(使用已确认K线数据)
// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
confirmedClose = close[1]
confirmedOpen = open[1]
confirmedHigh = high[1]
confirmedLow = low[1]

// User Input (新增参数)
leverage = input.float(title='杠杆倍数', minval=0.1, maxval=100.0, step=0.1, defval=1.0, group="★ 风险控制")

// User Input (原有参数完全保留)
usr_risk = input.int(title='Equity Risk (%)', minval=1, maxval=100, step=1, defval=3, confirm=false)
atr_mult = input.float(title='Stop Loss (x*ATR, Float)', minval=0.1, maxval=100, step=0.1, defval=0.5, confirm=false)
slPoints = input.int(title='Stop Loss Trail Points (Pips)', minval=1, maxval=1000, step=1, defval=1, confirm=false)
slOffset = input.int(title='Stop Loss Trail Offset (Pips)', minval=1, maxval=1000, step=1, defval=1, confirm=false)
sma_slow = input.int(title='Slow SMA (Period)', minval=1, maxval=500, step=1, defval=50, confirm=false)
ema_medm = input.int(title='Medm EMA (Period)', minval=1, maxval=500, step=1, defval=18, confirm=false)
ema_fast = input.int(title='Fast EMA (Period)', minval=1, maxval=500, step=1, defval=6, confirm=false)
atr_valu = input.int(title='ATR (Period)', minval=1, maxval=500, step=1, defval=14, confirm=false)
ent_canc = input.int(title='Cancel Entry After X Bars (Period)', minval=1, maxval=500, step=1, defval=3, confirm=false)

// Create Indicators (使用确认数据)
slowSMA = ta.sma(confirmedClose, sma_slow)
medmEMA = ta.ema(confirmedClose, ema_medm)
fastEMA = ta.ema(confirmedClose, ema_fast)
atr = ta.atr(atr_valu)[1]  // 使用前值

// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// 信号系统优化(延迟信号确认)
// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
bullishPinBar = (confirmedClose > confirmedOpen and (confirmedOpen - confirmedLow) > 0.66 * (confirmedHigh - confirmedLow)) or
              (confirmedClose < confirmedOpen and (confirmedClose - confirmedLow) > 0.66 * (confirmedHigh - confirmedLow))

bearishPinBar = (confirmedClose > confirmedOpen and (confirmedHigh - confirmedClose) > 0.66 * (confirmedHigh - confirmedLow)) or
               (confirmedClose < confirmedOpen and (confirmedHigh - confirmedOpen) > 0.66 * (confirmedHigh - confirmedLow))

// 趋势过滤条件(使用确认数据)
fanUpTrend = fastEMA > medmEMA and medmEMA > slowSMA
fanDnTrend = fastEMA < medmEMA and medmEMA < slowSMA

// 延迟信号确认(等待K线闭合)
longCondition = fanUpTrend and bullishPinBar[1]  // 延迟1根K线
shortCondition = fanDnTrend and bearishPinBar[1]

// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// 交易执行系统(仅修改风险计算部分)
// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
enterlong() =>
    risk = usr_risk * 0.01 * strategy.equity * leverage  // 添加杠杆影响
    stopLoss = confirmedLow - atr * atr_mult
    entryPrice = confirmedHigh
    units = risk / (entryPrice - stopLoss)
    strategy.entry('long', strategy.long, units, stop=entryPrice)
    strategy.exit('exit long', from_entry='long', trail_points=slPoints, trail_offset=slOffset)

entershort() =>
    risk = usr_risk * 0.01 * strategy.equity * leverage  // 添加杠杆影响
    stopLoss = confirmedHigh + atr * atr_mult
    entryPrice = confirmedLow
    units = risk / (stopLoss - entryPrice)
    strategy.entry('short', strategy.short, units, stop=entryPrice)
    strategy.exit('exit short', from_entry='short', trail_points=slPoints, trail_offset=slOffset)



// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// 交易执行系统
// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
if longCondition 
    enterlong()

if shortCondition 
    entershort()
strategy.cancel('long', ta.barssince(longCondition) > ent_canc)
strategy.cancel('short', ta.barssince(shortCondition) > ent_canc)

strategy.close_all(when=hour == 16 and dayofweek == dayofweek.friday, comment='exit all, market-closed')
strategy.close_all(when=ta.crossunder(fastEMA, medmEMA), comment='exit long, re-cross')
strategy.close_all(when=ta.crossover(fastEMA, medmEMA), comment='exit short, re-cross')

plot(fastEMA, "快EMA", color.new(#FF6B00, 0), 2)
plot(medmEMA, "中EMA", color.new(#0096FF, 0), 2)
plot(slowSMA, "慢SMA", color.new(#00C800, 0), 2)

plotshape(longCondition, "多信号", shape.labelup, location.belowbar, color=#00FF00, text="▲", textcolor=#FFFFFF)
plotshape(shortCondition, "空信号", shape.labeldown, location.abovebar, color=#FF0000, text="▼", textcolor=#FFFFFF)