Strategi Indikator Kuat Berganda

Penulis:ChaoZhang, Tarikh: 2023-11-20 09:47:41
Tag:

img

Ringkasan

Strategi ini menggabungkan penunjuk Moving Average Convergence Divergence (MACD) dan penunjuk Relative Strength Index (RSI) untuk menetapkan syarat beli dan jual untuk menangkap peluang pembalikan.

Logika Strategi

  1. Mengira penunjuk MACD, termasuk garis pantas, garis perlahan dan garis isyarat.

  2. Mengira penunjuk RSI dan menetapkan nilai ambang overbought dan oversold. penunjuk RSI boleh menentukan keadaan overbought dan oversold.

  3. Gabungkan isyarat silang dari MACD dan bacaan overbought/oversold dari RSI untuk merumuskan syarat beli dan jual:

    • Keadaan beli: Garis cepat MACD melintasi di atas garis perlahan (salib emas) manakala penunjuk RSI hanya jatuh kembali dari zon overbought, menandakan pembalikan.

    • Keadaan jual: Garis cepat MACD melintasi di bawah garis perlahan (salib kematian) sementara penunjuk RSI memasuki zon overbought, menandakan pembalikan.

  4. Ini membolehkan menggunakan kekuatan kedua-dua penunjuk yang kuat untuk membeli dan menjual dengan tepat pada titik pembalikan.

Analisis Kelebihan

  1. MACD boleh mengenal pasti trend dan peluang perdagangan. RSI mengukur keadaan overbought / oversold. Menggunakan kedua-duanya meningkatkan ketepatan.

  2. Menggunakan dua penunjuk menapis isyarat palsu yang boleh berlaku dengan satu penunjuk.

  3. MACD digabungkan dengan RSI membolehkan membeli sebelum pembalikan dan menjual selepas pembalikan untuk menangkap giliran.

  4. Strategi ini mempunyai kekerapan yang sederhana, mengesan trend dan menangkap pembalikan dengan fleksibel.

Analisis Risiko

  1. MACD boleh memberikan isyarat palsu dalam pasaran bergolak. Parameter RSI perlu dioptimumkan untuk mengelakkan isyarat palsu.

  2. Volatiliti jangka pendek boleh menghentikan kedudukan, menyebabkan kerugian.

  3. RSI dan parameter MACD memerlukan pengoptimuman untuk mengelakkan terlalu banyak atau terlalu sedikit isyarat.

  4. Pengurusan risiko dan wang yang ketat adalah penting untuk perdagangan langsung.

Arahan pengoptimuman

  1. Mengoptimumkan parameter garis MACD pantas / perlahan untuk kombinasi terbaik.

  2. Mengoptimumkan ambang overbought / oversold RSI untuk mengelakkan isyarat palsu.

  3. Tambah stop loss untuk mengawal risiko perdagangan tunggal.

  4. Pertimbangkan untuk menambah penapis seperti Bollinger Bands atau KDJ untuk pengesahan tambahan.

  5. Uji pelbagai strategi masuk/keluar seperti breakout atau trend berikut.

Ringkasan

Strategi ini menggabungkan kekuatan MACD dan RSI untuk pembalikan. Tetapi penyesuaian parameter, kawalan risiko dan pengurusan wang adalah kunci untuk prestasi langsung. Fleksibiliti menjadikannya sesuai untuk keadaan pasaran yang berbeza dan bernilai ujian dan penjejakan langsung.


/*backtest
start: 2022-11-13 00:00:00
end: 2023-11-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// © sabirt
strategy(title='MACD and RSI', overlay=true, shorttitle='MACD&RSI')
//MACD Settings
fastMA = input.int(title='Fast moving average', defval=12, minval=1)
slowMA = input.int(title='Slow moving average', defval=26, minval=1)
signalLength = input.int(9, minval=1)

//RSI settings
RSIOverSold = input.int(35, minval=1)
RSIOverBought = input.int(80, minval=1)
src = close
len = input.int(14, minval=1, title='Length')
up = ta.rma(math.max(ta.change(src), 0), len)
down = ta.rma(-math.min(ta.change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought



[currMacd, _, _] = ta.macd(close[0], fastMA, slowMA, signalLength)
[prevMacd, _, _] = ta.macd(close[1], fastMA, slowMA, signalLength)
signal = ta.ema(currMacd, signalLength)

avg_1 = math.avg(currMacd, signal)
crossoverBear = ta.cross(currMacd, signal) and currMacd < signal ? avg_1 : na
avg_2 = math.avg(currMacd, signal)
crossoverBull = ta.cross(currMacd, signal) and currMacd > signal ? avg_2 : na

strategy.entry('buy', strategy.long, when=crossoverBull and wasOversold)
strategy.close('buy', when=crossoverBear and wasOverbought)



Lebih lanjut