Sumber dimuat naik... memuat...

Strategi Dagangan semula jadi gabungan MACD dan RSI

Penulis:ChaoZhang, Tarikh: 2024-06-03 17:22:03
Tag:MACDRSIWMAMAEMASMMARMAVWMA

img

Ringkasan

Strategi ini menggabungkan dua penunjuk teknikal, MACD dan RSI, menggunakan isyarat persilangan MACD dan isyarat overbought / oversold RSI untuk menentukan masa perdagangan. Sementara itu, strategi ini juga memperkenalkan Purata Bergerak Bertimbang (WMA) sebagai penilaian tambahan untuk meningkatkan kebolehpercayaan strategi. Strategi ini berjalan pada jangka masa 1 jam, membuka kedudukan panjang apabila MACD membentuk salib emas dan RSI di atas 50, dan membuka kedudukan pendek apabila MACD membentuk salib kematian dan RSI di bawah 50. Pada masa yang sama, ia menutup kedudukan panjang apabila RSI di atas 70 dan menutup kedudukan pendek apabila RSI di bawah 30. Di samping itu, strategi menetapkan beberapa pembolehubah untuk jangka masa untuk menilai perubahan trend pada skala masa yang berbeza.

Prinsip Strategi

Inti strategi ini adalah penggunaan gabungan dua penunjuk teknikal, MACD dan RSI. MACD terdiri daripada perbezaan antara garisan pantas (purata bergerak jangka pendek) dan garis perlahan (purata bergerak jangka panjang), yang dapat mencerminkan perubahan trend pasaran. Apabila garisan pantas melintasi di atas garis perlahan, ia membentuk salib emas, menunjukkan trend menaik; sebaliknya, ia membentuk salib kematian, menunjukkan trend menurun. RSI adalah penunjuk yang mengukur keadaan pasar yang terlalu banyak dibeli dan terlalu banyak dijual. Apabila RSI melebihi 70, ia menunjukkan bahawa pasaran terlalu banyak dibeli dan mungkin menghadapi risiko pulback; apabila RSI di bawah 30, ia menunjukkan bahawa pasaran terlalu banyak dijual dan mungkin membawa peluang pemulihan.

Strategi ini menggabungkan MACD dan RSI, menggunakan penghakiman trend MACD dan penghakiman overbought / oversold RSI untuk memahami masa perdagangan dengan lebih tepat. Pada masa yang sama, strategi ini juga memperkenalkan Purata Bergerak Bertimbang (WMA) sebagai penghakiman tambahan. WMA memberi lebih banyak penekanan pada harga baru-baru ini berbanding dengan purata bergerak biasa, dan dapat mencerminkan perubahan harga dengan lebih sensitif.

Di samping itu, strategi menetapkan pembolehubah untuk pelbagai jangka masa (seperti 15 minit, 30 minit, 1 jam, 2 jam, dan lain-lain) untuk menilai perubahan trend pada skala masa yang berbeza.

Analisis Kelebihan

  1. Ia menggabungkan dua penunjuk teknikal yang berkesan, MACD dan RSI, yang dapat memahami lebih baik trend pasaran dan keadaan overbought / oversold, meningkatkan ketepatan keputusan perdagangan.
  2. Ia memperkenalkan Purata Bergerak Bertimbang (WMA) sebagai penilaian tambahan. WMA memberi lebih banyak penekanan kepada harga baru-baru ini dan dapat mencerminkan perubahan harga dengan lebih sensitif, meningkatkan kesesuaian strategi.
  3. Ia menetapkan pembolehubah untuk pelbagai kerangka masa, merealisasikan analisis bersama pelbagai kerangka masa, yang dapat memahami lebih komprehensif trend pasaran dan meningkatkan kebolehpercayaan keputusan.
  4. Ia berjalan dalam jangka masa 1 jam, dengan kekerapan dagangan yang sederhana, yang dapat mengimbangi kos dagangan dan pulangan dengan lebih baik.
  5. Ia menetapkan syarat pembukaan dan penutupan yang jelas, seperti MACD golden cross/death cross, RSI overbought/oversold, dan lain-lain, yang mudah difahami dan dilaksanakan.

Analisis Risiko

  1. Kedua-dua MACD dan RSI adalah penunjuk yang ketinggalan. Apabila pasaran berubah dengan cepat, mungkin terdapat hubungan antara isyarat penunjuk dan harga, yang membawa kepada isyarat palsu.
  2. Strategi ini berjalan pada satu jangka masa (1 jam), yang mungkin tidak sepenuhnya menangkap perubahan trend pada skala masa yang berbeza, dan mempunyai batasan tertentu.
  3. Strategi ini tidak mempunyai langkah-langkah kawalan risiko, seperti penghentian kerugian dan pengurusan kedudukan, yang mungkin menghadapi risiko pengeluaran yang lebih besar apabila pasaran turun naik dengan ganas.
  4. Tetapan parameter strategi (seperti tempoh garis cepat dan perlahan MACD, tempoh masa RSI, dll.) mungkin perlu disesuaikan mengikut keadaan pasaran yang berbeza.

Arah pengoptimuman

  1. Memperkenalkan lebih banyak penunjuk teknikal, seperti Bollinger Bands, ATR, dan lain-lain, untuk membina isyarat perdagangan yang lebih kukuh dan meningkatkan kebolehpercayaan strategi.
  2. Mengoptimumkan pemilihan jangka masa strategi, seperti menambah jangka masa peringkat tinggi seperti carta harian untuk memahami lebih baik trend besar, sambil menetapkan titik masuk khusus pada jangka masa peringkat rendah (seperti 15 minit, 5 minit, dll.) untuk meningkatkan ketepatan strategi.
  3. Tambah langkah-langkah kawalan risiko, seperti menetapkan kedudukan stop-loss yang munasabah dan mengehadkan saiz kedudukan, untuk mengawal risiko pengambilan.
  4. Mengoptimumkan parameter strategi. Pembelajaran mesin dan kaedah lain boleh digunakan untuk mencari kombinasi parameter optimum secara automatik berdasarkan data sejarah, mengurangkan kesan penilaian subjektif.
  5. Pertimbangkan untuk memperkenalkan faktor lain seperti sentimen pasaran, jumlah dagangan, minat terbuka, dan lain-lain, untuk memahami keadaan pasaran dengan lebih komprehensif dan meningkatkan kebolehan penyesuaian strategi.

Ringkasan

Strategi ini menggabungkan dua penunjuk teknikal yang berkesan, MACD dan RSI, sambil memperkenalkan WMA sebagai penilaian tambahan untuk membuat keputusan dagangan pada jangka masa 1 jam. Logik strategi jelas, mudah difahami dan dilaksanakan, dan dapat memahami lebih baik trend pasaran dan keadaan overbought / oversold, dengan kelayakan tertentu. Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan dan risiko, seperti lag, jangka masa tunggal, kekurangan kawalan risiko, dll. Pada masa akan datang, strategi ini boleh dipertingkatkan dari segi memperkenalkan lebih banyak penunjuk, jangka masa yang berterusan, memperkukuh kawalan risiko, pengoptimuman parameter, dll., untuk meningkatkan ketahanan dan keuntungan. Secara keseluruhan, strategi ini menyediakan cara berfikir untuk perdagangan kuantitatif, tetapi masih perlu dioptimumkan dan disempurnakan secara praktikal.


/*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")


Berkaitan

Lebih lanjut