Trend Momentum Mengikuti Strategi Dagangan Pengesahan Berganda MACD-RSI

MACD RSI TS MA DUAL
Tarikh penciptaan: 2024-12-12 16:16:54 Akhirnya diubah suai: 2024-12-12 16:16:54
Salin: 0 Bilangan klik: 353
1
fokus pada
1617
Pengikut

Trend Momentum Mengikuti Strategi Dagangan Pengesahan Berganda MACD-RSI

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan jenis trend-tracking yang menggabungkan kedua-dua petunjuk teknikal MACD dan RSI. Ia menangkap perubahan trend harga melalui petunjuk MACD, sambil menggunakan petunjuk RSI untuk mengesahkan overbought dan oversold, untuk mengesahkan isyarat ganda.

Prinsip Strategi

Logik teras strategi adalah berdasarkan elemen utama berikut:

  1. Sistem isyarat MACD menggunakan tetapan dengan kitaran yang lebih pendek ((6,13,5), meningkatkan kepekaan terhadap tindak balas pasaran. Apabila MACD melintasi garis isyarat, ia menunjukkan kemungkinan trend ke atas.
  2. Penunjuk RSI berfungsi sebagai alat pengesahan tambahan, menetapkan 30 sebagai paras oversold. Ia akan mencetuskan isyarat beli hanya apabila nilai RSI lebih besar atau sama dengan 30, untuk mengelakkan perdagangan yang kerap di kawasan oversold.
  3. Pengurusan wang menggunakan strategi jumlah tetap, dengan 110 mata wang harga dimasukkan dalam setiap urus niaga, dan jumlah pegangan dikira berdasarkan pergerakan harga semasa.
  4. MOS yang ditetapkan pada jarak pengesanan 2%, berkesan mengunci keuntungan dan mengawal risiko penarikan balik.

Kelebihan Strategik

  1. Mekanisme pengesahan indikator teknologi ganda meningkatkan kebolehpercayaan isyarat perdagangan dan mengurangkan gangguan isyarat palsu.
  2. Dengan menggunakan seting MACD dengan kitaran yang lebih pendek, ia meningkatkan kepekaan dan tindak balas strategi terhadap perubahan pasaran.
  3. Perdagangan dengan jumlah tetap memudahkan pengurusan dana, kawalan risiko dan pengiraan keuntungan.
  4. MOS mampu menyesuaikan kedudukan stop secara automatik, memberikan ruang yang cukup untuk harga turun naik sambil melindungi keuntungan.
  5. Strategi logiknya jelas dan mudah difahami dan dipelihara, dan mempunyai kebolehlaksanaan yang baik.

Risiko Strategik

  1. Pengaturan kitaran pendek MACD boleh menyebabkan terlalu banyak isyarat perdagangan di pasaran yang bergolak, meningkatkan kos perdagangan.
  2. RSI oversold yang ditetapkan pada 30 mungkin terlepas beberapa peluang penting untuk memulakan trend.
  3. Kaedah berdagang dengan jumlah tetap mungkin tidak dapat menggunakan dana akaun sepenuhnya dan mempengaruhi kadar pulangan keseluruhan.
  4. Jarak berhenti bergerak 2% mungkin terlalu dekat dalam pasaran yang bergelombang tinggi dan mudah terguncang.
  5. Strategi ini hanya menyokong perdagangan berganda dan tidak dapat menghasilkan keuntungan dalam trend menurun.

Arah pengoptimuman strategi

  1. Cadangan untuk menyesuaikan parameter MACD mengikut dinamik kitaran pasaran yang berbeza untuk meningkatkan fleksibiliti strategi.
  2. Indikator kadar turun naik (seperti ATR) boleh diperkenalkan untuk menyesuaikan jarak henti bergerak secara dinamik, meningkatkan keberkesanan hentian.
  3. Pertimbangkan untuk menambah mekanisme shorting supaya strategi dapat menghasilkan keuntungan dalam keadaan dua hala.
  4. Ia boleh digabungkan dengan penunjuk jumlah transaksi pasaran untuk meningkatkan kebolehpercayaan pengesahan isyarat.
  5. Mencadangkan untuk menambah mekanisme pengurusan kedudukan dinamik yang secara automatik menyesuaikan saiz urus niaga mengikut nilai bersih akaun dan risiko pasaran.

ringkaskan

Ini adalah strategi trend-pengesanan berdasarkan petunjuk teknikal klasik, dengan penggunaan gabungan MACD dan RSI, mewujudkan mekanisme penjanaan isyarat perdagangan yang lebih dipercayai. Strategi ini direka bentuk secara keseluruhan ringkas dan praktikal, dengan nilai pertempuran yang lebih baik. Dengan pengoptimuman parameter yang munasabah dan pengembangan fungsi, strategi ini dijangka dapat memperoleh prestasi perdagangan yang stabil dalam keadaan pasaran yang berbeza.

Kod sumber strategi
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-11 00:00:00
period: 4h
basePeriod: 4h
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/
// © cryptohitman09

//@version=6
strategy("MACD + RSI 交易系统 - 110 美金买入", overlay=true)

// MACD 設定
fastLength = input.int(6, title="MACD Fast Length")
slowLength = input.int(13, title="MACD Slow Length")
signalSmoothing = input.int(5, title="MACD Signal Smoothing")
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// RSI 設定
rsiLength = input.int(14, title="RSI Length")  // RSI 計算週期
rsiValue = ta.rsi(close, rsiLength)  // 計算 RSI 值
rsiThresholdHigh = input.int(70, title="RSI 超買閾值")  // RSI 超買閾值
rsiThresholdLow = input.int(30, title="RSI 超賣閾值")  // RSI 超賣閾值

// 做多信号条件:MACD 線突破信号線,且 RSI 不低於 30
buySignal = (macdLine > signalLine) and (rsiValue >= rsiThresholdLow) // 只有 RSI 大於或等於 30 時才觸發買入

// 计算每次交易的仓位(每次交易目标为 110 美金的买入金额)
tradeAmount = 20010  // 每次买入110 美金
orderSize = tradeAmount / close  // 根据当前价格计算仓位大小

// 移动止损(Trailing Stop)
enableTrailingStop = input.bool(true, title="启用移动止损")
trailingStopDistance = input.float(2, title="移动止损距离 (%)") / 89500  // 增加移动止损的距离
longTrailingStop = strategy.position_avg_price * (1 - trailingStopDistance)

// 交易逻辑:仅做多
if buySignal
    strategy.entry("买入", strategy.long, qty=orderSize)
    if enableTrailingStop
        strategy.exit("卖出", from_entry="买入", trail_price=longTrailingStop, trail_offset=trailingStopDistance * close)                                                                               

// 绘制 MACD 指标
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")

// 绘制 RSI 值
plot(rsiValue, color=color.orange, title="RSI Value")
hline(rsiThresholdHigh, "RSI 超买", color=color.red)
hline(rsiThresholdLow, "RSI 超卖", color=color.green)

// 绘制买入信号
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="买入信号", text="BUY")

// 如果触发买入信号,则发送警报
if buySignal
    alert('{"secret": "eyJhbGciOiJIUzI1NiJ9.eyJzaWduYWxzX3NvdXJjZV9pZCI6MTAwMDAyfQ.G1wLNjNyUPlTqYWsIqXSWnn_M4pRCKerBm7eTpyCiH8", "max_lag": "300", "timestamp": "{{timenow}}", "trigger_price": "{{close}}", "tv_exchange": "{{exchange}}", "tv_instrument": "{{ticker}}", "action": "{{strategy.order.action}}", "bot_uuid": "493b76f0-8a3c-4633-8b2b-90c02659dd4d", "strategy_info": {"market_position": "{{strategy.market_position}}", "market_position_size": "{{strategy.market_position_size}}", "prev_market_position": "{{strategy.prev_market_position}}", "prev_market_position_size": "{{strategy.prev_market_position_size}}"}, "order": {"amount": "{{strategy.order.contracts}}", "currency_type": "base"}}', alert.freq_once_per_bar_close)