Penjejakan arah aliran adaptif dan strategi kawalan risiko dinamik

PSAR EMA RSI ATR TP SL
Tarikh penciptaan: 2025-02-19 11:26:56 Akhirnya diubah suai: 2025-02-19 11:26:56
Salin: 0 Bilangan klik: 422
1
fokus pada
1617
Pengikut

Penjejakan arah aliran adaptif dan strategi kawalan risiko dinamik

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan garis pendek yang menggabungkan pelbagai petunjuk teknikal, terutamanya berdasarkan petunjuk peralihan garis paralisis ((PSAR) sebagai isyarat teras, dan menggabungkan penyaringan perdagangan garis rata, indikator dinamik, dan menggunakan kaedah pengurusan risiko yang digabungkan dengan hentian dinamik dan hentian tetap. Reka bentuk strategi mempertimbangkan sepenuhnya trend dan turun naik pasaran, sesuai untuk perdagangan garis pendek dalam persekitaran pasaran yang bergelombang.

Prinsip Strategi

Strategi ini menggunakan indikator PSAR sebagai alat utama untuk menentukan trend, menghasilkan isyarat perdagangan apabila harga menembusi PSAR. Untuk meningkatkan kebolehpercayaan isyarat, syarat penapisan berikut ditambahkan:

  1. Indeks Pergerakan Rata-rata 50 Periode ((EMA50) berfungsi sebagai penapis trend untuk memastikan arah perdagangan selaras dengan trend jangka menengah
  2. Indeks Relatif Lemah ((RSI) digunakan untuk menyaring pasaran yang bergolak, RSI diperlukan untuk memegang lebih banyak daripada 40, dan RSI diperlukan untuk memegang lebih sedikit daripada 60
  3. Menggunakan ATR (Average True Range) untuk mengira kedudukan hentian secara dinamik, memberikan kawalan risiko yang lebih fleksibel
  4. Menggunakan sasaran penghentian tetap 0.7% untuk memastikan keuntungan yang tepat pada masanya
  5. Menetapkan mekanisme pemeriksaan simpanan untuk mengelakkan pembukaan simpanan berulang

Kelebihan Strategik

  1. Sistem isyarat lengkap: menggabungkan trend tracking dan indikator momentum untuk menyediakan isyarat dagangan yang lebih dipercayai
  2. Fleksibiliti kawalan risiko: Stop loss dinamik boleh disesuaikan mengikut turun naik pasaran
  3. Mencegah penembusan palsu: Keadaan penapisan berganda dapat mengurangkan kesan isyarat palsu
  4. Objektif pendapatan jelas: nisbah penangguhan tetap membantu mengawal masa pegangan dan meningkatkan kecekapan penggunaan dana
  5. Logik transaksi yang jelas: tanggungjawab setiap komponen jelas, memudahkan pengoptimuman dan penyesuaian seterusnya

Risiko Strategik

  1. Risiko Terlalu Rendah: Keadaan Berganda Boleh Melewatkan Peluang Dagangan Berkualiti
  2. Hentian pegangan tetap: Hentian pegangan tetap 0.7% mungkin keluar awal dari trend yang kuat
  3. Sensitiviti parameter: tetapan parameter untuk indikator seperti PSAR, EMA, RSI mempunyai kesan yang lebih besar terhadap prestasi strategi
  4. Ketergantungan kepada keadaan pasaran: mungkin kurang baik dalam pasaran yang tidak menentu atau bergolak
  5. Kesan Slip Point: Perdagangan yang kerap boleh menyebabkan kos transaksi yang lebih tinggi

Arah pengoptimuman strategi

  1. Mekanisme penangguhan dinamik: kadar penangguhan boleh diselaraskan mengikut turun naik pasaran
  2. Pengoptimuman pengurusan kedudukan: memperkenalkan sistem pengurusan kedudukan dinamik berdasarkan kadar turun naik
  3. Pengenalan keadaan pasaran: menambah modul penilaian keadaan pasaran, menyesuaikan parameter strategi dalam keadaan pasaran yang berbeza
  4. Pengoptimuman parameter penunjuk: memperkenalkan mekanisme penyesuaian parameter penyesuaian untuk meningkatkan kebolehsuaian strategi
  5. Kawalan kos urus niaga: mengoptimumkan frekuensi pembukaan kedudukan kosong, mengurangkan kos urus niaga

ringkaskan

Strategi ini membina sistem perdagangan yang lengkap dengan menggabungkan beberapa petunjuk teknikal, dengan pertimbangan yang baik dalam penilaian trend, kawalan risiko dan pelaksanaan perdagangan. Kelebihan utama strategi ini adalah mekanisme kawalan risiko yang fleksibel dan sistem isyarat yang lengkap, tetapi juga perlu memperhatikan pengoptimuman parameter dan kesesuaian pasaran. Dengan pengoptimuman dan penambahbaikan yang berterusan, strategi ini dijangka dapat mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran.

Kod sumber strategi
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-17 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("妮可百分百", overlay=true)

// 📌 設定 Parabolic SAR 參數
start = input.float(0.02, "起始 AF")
increment = input.float(0.02, "加速因子")
maximum = input.float(0.2, "最大 AF")

// 📌 計算 Parabolic SAR
SAR = ta.sar(start, increment, maximum)

// 📌 ATR 計算(用於動態止損)
atrLength = input.int(14, "ATR 計算週期")
atrMultiplier = input.float(1.3, "ATR 係數")  // 2倍 ATR 作為止損範圍
ATR = ta.atr(atrLength)

// 📌 固定 0.5% 止盈計算
takeProfitPercent = 0.007  // 0.7% 固定止盈
takeProfitLong = close * (1 + takeProfitPercent)  // 多單止盈
takeProfitShort = close * (1 - takeProfitPercent) // 空單止盈

// 📌 **50 EMA 過濾**
ema50 = ta.ema(close, 50)

// 📌 **RSI 過濾(防止震盪進場)**
rsiLength = input.int(14, "RSI 週期")
rsi = ta.rsi(close, rsiLength)
longFilter = rsi > 40  // 只在 RSI > 31 時做多
shortFilter = rsi < 60 // 只在 RSI < 69 時做空

// 📌 **檢查是否已經有持倉**
isFlat = strategy.position_size == 0  // **無持倉時,才能開新單**

// 🔼 **多頭進場條件**
longCondition = ta.crossover(close, SAR) and close > ema50 and longFilter and isFlat  

// 🔽 **空頭進場條件**
shortCondition = ta.crossunder(close, SAR) and close < ema50 and shortFilter and isFlat  

// 📌 **進場策略**
if (longCondition)
    strategy.entry("B", strategy.long, comment="B")

if (shortCondition)
    strategy.entry("S", strategy.short, comment="S")

// 📌 **止盈 & 止損**
stopLossLong = close - (ATR * atrMultiplier)  // 多單 ATR 止損
stopLossShort = close + (ATR * atrMultiplier) // 空單 ATR 止損

strategy.exit("Exit Long", from_entry="B", stop=stopLossLong, limit=takeProfitLong, comment="TP Long")
strategy.exit("Exit Short", from_entry="S", stop=stopLossShort, limit=takeProfitShort, comment="TP Short")

// 📌 **標記進出場點**
plotshape(series=longCondition, location=location.belowbar, style=shape.triangleup, size=size.small, title="B")
plotshape(series=shortCondition, location=location.abovebar, style=shape.triangledown, size=size.small, title="S")

// 📌 **繪製 50 EMA**
plot(ema50, color=color.blue, title="50 EMA")