Strategi perdagangan semula jadi yang menggabungkan MACD dan RSI

MACD RSI WMA MA EMA SMMA RMA VWMA
Tarikh penciptaan: 2024-06-03 17:22:03 Akhirnya diubah suai: 2024-06-03 17:22:03
Salin: 0 Bilangan klik: 963
1
fokus pada
1617
Pengikut

Strategi perdagangan semula jadi yang menggabungkan MACD dan RSI

Gambaran keseluruhan

Strategi ini menggabungkan kedua-dua indikator teknikal MACD dan RSI, menggunakan isyarat persilangan MACD dan isyarat overbought dan oversold RSI untuk menentukan masa perdagangan. Strategi ini juga memperkenalkan purata bergerak bertimbangan ((WMA) sebagai penilaian tambahan untuk meningkatkan kebolehpercayaan strategi.

Prinsip Strategi

Pusat strategi ini adalah penggunaan gabungan MACD dan RSI dua petunjuk teknikal. MACD terdiri daripada perbezaan garis cepat (rata-rata bergerak jangka pendek) dan garis perlahan (rata-rata bergerak jangka panjang), yang dapat mencerminkan perubahan trend di pasaran. Apabila garis cepat melintasi garis perlahan, membentuk garpu emas, menunjukkan trend naik, sebaliknya membentuk garpu mati, menunjukkan trend menurun.

Strategi ini menggabungkan MACD dan RSI, menggunakan penghakiman trend MACD dan penghakiman overbought dan oversold RSI, untuk menangkap masa perdagangan dengan lebih tepat. Di samping itu, strategi ini juga memperkenalkan purata bergerak bertimbangan ((WMA) sebagai penghakiman tambahan, WMA lebih mementingkan harga terkini berbanding purata bergerak biasa, yang dapat mencerminkan perubahan harga dengan lebih sensitif.

Selain itu, strategi juga menetapkan pembolehubah pelbagai bingkai masa (seperti 15 minit, 30 minit, 1 jam, 2 jam, dan lain-lain) untuk menilai perubahan trend dalam skala masa yang berbeza. Kaedah analisis pelbagai bingkai masa ini dapat membantu strategi untuk memahami trend pasaran dengan lebih menyeluruh dan meningkatkan ketepatan keputusan.

Analisis kelebihan

  1. Gabungan MACD dan RSI, dua penunjuk teknikal yang berkesan, dapat lebih memahami trend pasaran dan keadaan overbought dan oversold, meningkatkan ketepatan keputusan perdagangan.
  2. Dengan pengenalan purata bergerak bertimbangan ((WMA) sebagai penilaian tambahan, WMA lebih memberi perhatian kepada harga terkini, dapat mencerminkan perubahan harga dengan lebih sensitif, meningkatkan fleksibiliti strategi.
  3. Variabel yang ditetapkan untuk pelbagai bingkai masa, analisis gabungan pelbagai bingkai masa, dapat memahami trend pasaran dengan lebih menyeluruh, meningkatkan kebolehpercayaan keputusan.
  4. Beroperasi dalam satu jam, frekuensi dagangan adalah sederhana, dan kos dan keuntungan dagangan dapat diseimbangkan dengan baik.
  5. Ia menyediakan syarat-syarat kedudukan terbuka dan kedudukan yang jelas, seperti MACD Gold Fork Dead Fork, RSI Overbought OverSold, dan sebagainya, mudah difahami dan dilaksanakan.

Analisis risiko

  1. MACD dan RSI adalah penunjuk ketinggalan, dan apabila pasaran berubah dengan cepat, isyarat penunjuk mungkin terputus dari harga, menyebabkan isyarat yang salah.
  2. Strategi ini beroperasi dalam satu bingkai masa (satu jam) dan mungkin tidak dapat menangkap perubahan trend dalam skala masa yang berbeza.
  3. Strategi kekurangan langkah-langkah kawalan risiko, seperti menghentikan kerugian dan pengurusan kedudukan, mungkin menghadapi risiko penarikan balik yang lebih besar ketika pasaran bergolak.
  4. Tetapan parameter strategi (seperti kitaran garis laju MACD, kitaran masa RSI, dan lain-lain) mungkin perlu disesuaikan dengan keadaan pasaran yang berbeza, dengan pilihan parameter yang agak subjektif dan tidak pasti.

Arah pengoptimuman

  1. Memperkenalkan lebih banyak petunjuk teknikal seperti Brinband, ATR dan lain-lain untuk membina isyarat dagangan yang lebih mantap dan meningkatkan kebolehpercayaan strategi.
  2. Pilihan jangka masa untuk mengoptimumkan strategi, seperti menambah garis masa seperti jangka masa yang lebih tinggi, untuk lebih memahami trend besar, sambil menetapkan titik masuk tertentu dalam jangka masa peringkat rendah (seperti 15 minit, 5 minit, dan sebagainya) untuk meningkatkan ketepatan strategi.
  3. Menambah langkah-langkah kawalan risiko, seperti menetapkan tempat berhenti yang munasabah dan sekatan terhadap kedudukan memegang, untuk mengawal risiko penarikan balik.
  4. Untuk mengoptimumkan parameter strategi, kaedah seperti pembelajaran mesin boleh digunakan untuk mencari kombinasi parameter yang optimum secara automatik berdasarkan data sejarah, mengurangkan kesan penilaian subjektif.
  5. Pertimbangkan untuk memasukkan faktor-faktor lain seperti sentimen pasaran, seperti jumlah dagangan, jumlah pegangan, dan lain-lain, untuk lebih memahami keadaan pasaran secara menyeluruh dan meningkatkan fleksibiliti strategi.

ringkaskan

Strategi ini menggabungkan MACD dan RSI, dua petunjuk teknikal yang berkesan, dan memperkenalkan WMA sebagai penilaian tambahan, untuk membuat keputusan perdagangan dalam jangka masa 1 jam. Logik strategi jelas, mudah difahami dan dilaksanakan, dapat lebih memahami trend pasaran dan keadaan overbought dan oversold, mempunyai kebolehan tertentu. Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan dan risiko, seperti keterlambatan, satu jangka masa, kekurangan kawalan risiko, dan seterusnya.

Kod sumber strategi
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved MACD and RSI Trading Strategy", overlay=true, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.01, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// MACD 設置
fast_length = input(12, title="MACD Fast Length")
slow_length = input(26, title="MACD Slow Length")
signal_smoothing = input(9, title="MACD Signal Smoothing")

// RSI 設置
input_rsi_length = input.int(14, title="RSI Length")
input_rsi_source = input(close, "RSI Source")

RSI = ta.rsi(input_rsi_source, input_rsi_length)

// 計算MACD和信號線
[macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_smoothing)

// 自然交易理論:利用MACD和RSI的結合
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

maTypeInput = input.string("SMA", title="Moving Average Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="Moving Average Length", group="MA Settings")

macdMA = ma(macdLine, maLengthInput, maTypeInput)

// 設置交易信號
longCondition = ta.crossover(macdLine, signalLine) and macdLine > macdMA and RSI < 70
shortCondition = ta.crossunder(macdLine, signalLine) and macdLine < macdMA and RSI > 30

// 定義時間框架
tf_15m = ta.change(RSI, 15) > 0 ? 1 : 0
tf_30m = ta.change(RSI, 30) > 0 ? 1 : 0
tf_1h = ta.change(RSI, 60) > 0 ? 1 : 0
tf_2h = ta.change(RSI, 120) > 0 ? 1 : 0
tf_4h = ta.change(RSI, 240) > 0 ? 1 : 0
tf_6h = ta.change(RSI, 360) > 0 ? 1 : 0
tf_8h = ta.change(RSI, 480) > 0 ? 1 : 0
tf_12h = ta.change(RSI, 720) > 0 ? 1 : 0
tf_1d = ta.change(RSI, 1440) > 0 ? 1 : 0

// 設置開倉、平倉和空倉條件
if (longCondition and tf_1h and RSI > 50)
    strategy.entry("Long", strategy.long)
if (shortCondition and tf_1h and RSI < 50)
    strategy.entry("Short", strategy.short)

if (tf_1h and RSI > 70)
    strategy.close("Long")
if (tf_1h and RSI < 30)
    strategy.close("Short")

// 加入其他策略
// 定義加權平均價格
wma(source, length) =>
    wma = 0.0
    sum = 0.0
    sum_wts = 0.0
    for i = 0 to length - 1
        wts = (length - i) * (length - i)
        sum := sum + source[i] * wts
        sum_wts := sum_wts + wts
    wma := sum / sum_wts

wmaLength = input.int(20, title="WMA Length", group="Other Strategies")
wmaValue = wma(close, wmaLength)

// 設置交易信號
longWMACondition = close > wmaValue
shortWMACondition = close < wmaValue

if (longWMACondition and tf_1h and RSI > 50)
    strategy.entry("Long WMA", strategy.long)
if (shortWMACondition and tf_1h and RSI < 50)
    strategy.entry("Short WMA", strategy.short)

if (tf_1h and RSI > 70)
    strategy.close("Long WMA")
if (tf_1h and RSI < 30)
    strategy.close("Short WMA")

// 繪製MACD和RSI
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")