Strategi Mengikuti Trend Berbilang Penunjuk dan Pengurusan Risiko Dinamik

EMA RSI MACD BB RRR SL TP
Tarikh penciptaan: 2025-02-10 15:05:40 Akhirnya diubah suai: 2025-02-10 15:05:40
Salin: 5 Bilangan klik: 379
1
fokus pada
1617
Pengikut

Strategi Mengikuti Trend Berbilang Penunjuk dan Pengurusan Risiko Dinamik

Gambaran keseluruhan

Strategi ini adalah sistem trend-tracking yang menggabungkan pelbagai petunjuk teknikal untuk membina kerangka keputusan perdagangan yang lengkap dengan mengintegrasikan indikator seperti moving averages (EMA), relative strength indicators (RSI), moving averages convergence dispersion indicators (MACD) dan Boll bands (BB). Strategi ini menggunakan pendekatan pengurusan risiko yang dinamik, termasuk peratusan stop loss dan setup stop loss berdasarkan risiko untuk mendapatkan keuntungan yang disesuaikan dengan risiko.

Prinsip Strategi

Strategi ini adalah berdasarkan kepada analisis pasaran pelbagai peringkat:

  1. Pengesahan trend: menggunakan EMA 200 hari untuk menentukan arah trend jangka panjang, pengesahan silang perubahan trend jangka menengah EMA cepat ((20 hari) dan EMA perlahan ((50 hari)
  2. Pengesahan momentum: Menggunakan indikator RSI dan MACD untuk mengesahkan pergerakan pasaran, yang memerlukan RSI berada di atas 50 (multicore) atau di bawah 50 (blank), sementara jalur isyarat MACD menyokong arah yang sesuai
  3. Kawalan turun naik: pengendalian tepat masa untuk berdagang melalui Brin Belt, mencari peluang untuk melakukan lebih banyak pada kedudukan sokongan di bawah landasan, mencari peluang untuk melakukan shorting pada kedudukan rintangan di atas landasan
  4. Pengurusan risiko: Menggunakan 2% setup stop-loss dan 1.5 kali ganda tahap stop-stop untuk memastikan risiko dalam setiap urus niaga boleh dikawal

Kelebihan Strategik

  1. Analisis pelbagai dimensi: mengurangkan kesan isyarat palsu dengan menggabungkan trend, momentum dan indikator turun naik
  2. Kawalan risiko yang sempurna: tahap berhenti dan hentian yang ditetapkan memastikan risiko perdagangan dapat dikawal
  3. Kebolehsuaian: parameter strategi boleh disesuaikan dengan keadaan pasaran yang berbeza
  4. Ketepatan pelaksanaan: Syarat kemasukan dan keluar jelas, mudah dilaksanakan dan dipantau
  5. Pengurusan dana yang munasabah: Menggunakan peratusan hak milik akaun untuk mengawal kedudukan, mengelakkan risiko yang berlebihan

Risiko Strategik

  1. Risiko turun naik pasaran: boleh mencetuskan penangguhan yang kerap semasa turun naik yang tinggi
  2. Risiko trend reversal: Kemunduran yang lebih besar mungkin berlaku pada titik perubahan trend
  3. Risiko pengoptimuman parameter: Pengoptimuman yang berlebihan boleh menyebabkan pemasangan berlebihan
  4. Risiko slippage: mungkin menghadapi slippage yang lebih besar apabila kurang kecairan
  5. Risiko kos komisen: Perdagangan yang kerap boleh menyebabkan kos dagangan yang lebih tinggi

Arah pengoptimuman strategi

  1. Penyesuaian parameter dinamik: parameter penunjuk boleh disesuaikan secara automatik mengikut turun naik pasaran
  2. Meningkatkan penunjuk sentimen pasaran: pengenalan penunjuk seperti jumlah transaksi meningkatkan kebolehpercayaan isyarat
  3. Optimumkan mekanisme henti rugi: capaian henti rugi dan meningkatkan keupayaan perlindungan keuntungan
  4. Memperkenalkan penapis masa: penapisan tambahan untuk tetingkap masa dagangan
  5. Tambah penapis kadar turun naik: Kurangkan kedudukan atau hentikan dagangan semasa turun naik yang berlebihan

ringkaskan

Strategi ini membangunkan sistem perdagangan yang lengkap untuk mengesan trend dengan menggunakan pelbagai petunjuk teknikal secara bersepadu. Strategi ini mempunyai daya serap dan kestabilan yang baik melalui pengurusan risiko yang ketat dan analisis pasaran pelbagai dimensi. Walaupun terdapat ruang untuk pengoptimuman, kerangka kerja keseluruhan dirancang dengan baik dan sesuai sebagai asas strategi perdagangan jangka menengah dan panjang.

Kod sumber strategi
/*backtest
start: 2025-01-10 00:00:00
end: 2025-02-09 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Altcoin Long/Short Strategy", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1)

// —————— Inputs ——————
emaFastLength = input.int(20, "Fast EMA")
emaSlowLength = input.int(50, "Slow EMA")
rsiLength = input.int(14, "RSI Length")
bbLength = input.int(20, "Bollinger Bands Length")
riskRewardRatio = input.float(1.5, "Risk/Reward Ratio")
stopLossPerc = input.float(2, "Stop Loss %") / 100

// —————— Indicators ——————
// Trend: EMAs
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
ema200 = ta.ema(close, 200)

// Momentum: RSI & MACD
rsi = ta.rsi(close, rsiLength)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Volatility: Bollinger Bands
basis = ta.sma(close, bbLength)
dev = ta.stdev(close, bbLength)
upperBand = basis + 2 * dev
lowerBand = basis - 2 * dev

// —————— Strategy Logic ——————
// Long Conditions
longCondition = 
  close > ema200 and // Long-term bullish
  ta.crossover(emaFast, emaSlow) and // EMA crossover
  rsi > 50 and // Momentum rising
  close > lowerBand and // Bounce from lower Bollinger Band
  macdLine > signalLine // MACD bullish

// Short Conditions
shortCondition = 
  close < ema200 and // Long-term bearish
  ta.crossunder(emaFast, emaSlow) and // EMA crossunder
  rsi < 50 and // Momentum weakening
  close < upperBand and // Rejection from upper Bollinger Band
  macdLine < signalLine // MACD bearish

// —————— Risk Management ——————
stopLoss = strategy.position_avg_price * (1 - stopLossPerc)
takeProfit = strategy.position_avg_price * (1 + (riskRewardRatio * stopLossPerc))

// —————— Execute Trades ——————
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=stopLoss, limit=takeProfit)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", stop=stopLoss, limit=takeProfit)

// —————— Plotting ——————
plot(emaFast, "Fast EMA", color=color.blue)
plot(emaSlow, "Slow EMA", color=color.orange)
plot(ema200, "200 EMA", color=color.gray)
plot(upperBand, "Upper Bollinger", color=color.red)
plot(lowerBand, "Lower Bollinger", color=color.green)