Strategi perdagangan indikator RSI yang menggabungkan moving average dan MACD


Tanggal Pembuatan: 2024-02-20 14:28:59 Akhirnya memodifikasi: 2024-02-20 14:28:59
menyalin: 0 Jumlah klik: 880
1
fokus pada
1617
Pengikut

Strategi perdagangan indikator RSI yang menggabungkan moving average dan MACD

Ringkasan

Strategi ini menggunakan kombinasi dari Moving Average, MACD dan RSI untuk mengidentifikasi tren harga saham, dan menghasilkan keuntungan dengan membeli atau menjual. Sebuah sinyal beli dihasilkan ketika Moving Average jangka pendek melintasi Moving Average jangka panjang, dan harga close-out lebih tinggi dari Moving Average 50 hari. Sebuah sinyal jual dihasilkan ketika Moving Average jangka panjang melintasi Moving Average jangka pendek di bawah Moving Average jangka pendek, dan harga close-out lebih rendah dari Moving Average 50 hari.

Prinsip Strategi

Strategi ini terutama bergantung pada strategi moving average ganda, yaitu sinyal beli dihasilkan ketika bergerak rata-rata jangka panjang (EMA 30 hari) di atas bergerak rata-rata jangka pendek (EMA 3 hari) dan sinyal jual dihasilkan ketika bergerak rata-rata jangka panjang (EMA 30 hari) di bawah bergerak rata-rata jangka pendek. Ini adalah teknik yang umum digunakan untuk menilai tren jangka pendek dan jangka panjang harga saham.

Selain itu, strategi ini juga memperkenalkan 50 hari moving average, yang hanya menghasilkan sinyal beli ketika harga berada di atas garis 50 hari, dan sinyal jual ketika harga berada di bawahnya, untuk menghindari perdagangan yang sering dan menyaring beberapa sinyal palsu.

Selain itu, RSI digunakan untuk menilai apakah ada overbought atau oversold. Jika RSI di atas 70 dianggap sebagai overbought, maka bahkan kenaikan jangka pendek yang kuat dapat menghadapi pengetatan. Jika RSI di bawah 30 dianggap sebagai oversold, maka bahkan penurunan jangka pendek yang kuat dapat terjadi.

Akhirnya, MACD diagonal digunakan untuk menentukan tren jangka menengah dan panjang. Jika MACD diagonal > 0, maka garis tengah adalah tren naik, dan sinyal masuk lebih dapat diandalkan; Jika MACD diagonal < 0, maka garis tengah adalah tren turun, dan bahkan sinyal beli dapat disesuaikan dalam jangka pendek.

Keunggulan Strategis

Keuntungan terbesar dari strategi ini adalah kombinasi multi-indikator, yang membuat sinyal masuk dan keluar lebih akurat dan andal. Indikator tunggal mudah menghasilkan sinyal palsu, dan strategi ini menilai tren jangka pendek dengan moving average, RSI menilai overbought oversold, MACD menilai tren jangka menengah, yang secara signifikan meningkatkan probabilitas keberhasilan setiap perdagangan.

Keuntungan lain adalah menggabungkan perdagangan tren dan perdagangan mundur. Mengikuti tren, mengikuti momentum adalah kepercayaan semua pedagang tren. Tetapi strategi canggih tidak akan menahan tren, dan perdagangan mundur yang tepat juga dapat menghasilkan keuntungan tambahan yang besar.

Risiko Strategis

Risiko utama dari strategi ini berasal dari peristiwa yang tidak terduga yang menyebabkan penyesuaian cepat. Strategi kuantitatif apa pun sulit untuk menanggapi fluktuasi harga yang drastis yang disebabkan oleh keuntungan besar atau berita yang menguntungkan. Saat ini titik stop loss dapat ditembus dan menyebabkan kerugian yang lebih besar. Selain itu, risiko kebijakan juga akan memberi dampak pada strategi.

Risiko lain adalah bahwa koreksi jangka pendek dalam pergerakan multi-head menyebabkan stop loss. Bahkan jika garis tengah masih berada di pasar banteng, koreksi jangka pendek dapat dihentikan untuk menutup posisi panjang.

Optimasi Strategi

Strategi ini dapat dioptimalkan dari beberapa dimensi:

  1. Optimalisasi parameter. Anda dapat menguji lebih banyak kombinasi parameter untuk mencari parameter yang optimal.

  2. Tambahkan lebih banyak indikator. Anda dapat menguji tambahan indikator lain seperti Brinline, KDJ, dan lain-lain untuk memperkaya kombinasi multi-indikator dan meningkatkan kualitas sinyal.

  3. Mekanisme penghentian yang dioptimalkan. Metode penghentian yang lebih canggih, seperti tracking stop, break-through stop, dan lain-lain dapat diuji untuk mengurangi kemungkinan terjadinya dampak pada stop.

  4. Beradaptasi dengan lebih banyak lingkungan pasar. Anda dapat mengoptimalkan beberapa parameter dari strategi Anda sehingga Anda dapat memperoleh keuntungan yang stabil di lebih banyak jenis pasar.

Meringkaskan

Strategi ini menggunakan kombinasi dari moving average, RSI, dan MACD untuk menghasilkan sinyal berkualitas tinggi, menghindari keterbatasan satu indikator, dan memberikan kepercayaan diri yang kuat dalam setiap keputusan pembelian dan penjualan. Strategi ini juga mempertimbangkan perdagangan tren dan perdagangan berlawanan, dan memastikan bahwa tren berjalan dengan baik, tetapi juga dapat memilih operasi berlawanan yang efisien pada saat-saat penting. Secara keseluruhan, strategi ini stabil, efisien, dan merupakan strategi kuantitatif yang sangat baik.

Kode Sumber Strategi
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('sachin 3.30 ', overlay=true)

// Input parameters
length = input.int(14, title='RSI Length', minval=1)
overbought = input.int(70, title='RSI Overbought Level', minval=0, maxval=100)
oversold = input.int(30, title='RSI Oversold Level', minval=0, maxval=100)
ema3_length = input(3, title='EMA 3 Length')
ema30_length = input(30, title='EMA 30 Length')
ema50_length = input(50, title='EMA 50 Length')

// Calculate EMAs
ema3 = ta.ema(close, ema3_length)
ema30 = ta.ema(close, ema30_length)
ema50 = ta.ema(close, ema50_length)

// Calculate RSI
rsiValue = ta.rsi(close, length)

// Calculate MACD
[macdLine, signalLine, hist] = ta.macd(close, 12, 26, 9)

var float buyPrice = na

// Buy condition: EMA 3 crosses above EMA 30 and price is above EMA 50
buyCondition = ta.crossover(ema3, ema30) and close > ema50
if (buyCondition)
    buyPrice := close
    strategy.entry('Buy', strategy.long)

// Exit long position when close is below EMA30 and below the low of the previous 3 candles after the buy entry
exitLongCondition = close < ema30 and close < ta.lowest(low, 3) and close < buyPrice
if (exitLongCondition)
    strategy.close('BuyExit')

// Sell condition: EMA 3 crosses below EMA 30 and price is below EMA 50
sellCondition = ta.crossunder(ema3, ema30) and close < ema50
if (sellCondition)
    strategy.entry('Sell', strategy.short)

// Exit short position when close is above EMA30 and above the high of the previous 3 candles after the sell entry
exitShortCondition = close > ema30 and close > ta.highest(high, 3)
if (exitShortCondition)
    strategy.close('SellExit')

// Plot EMAs on the chart
plot(ema3, color=color.new(color.blue, 0), title='EMA 3')
plot(ema30, color=color.new(color.red, 0), title='EMA 30')

// Change color of EMA 50 based on MACD histogram
ema50Color = hist > 0 ? color.new(color.blue, 0) : hist < 0 ? color.new(color.black, 0) : color.new(color.blue, 0)
plot(ema50, color=ema50Color, title='EMA 50 Colored')

// Change color of EMA 30 based on RSI trend
ema30Color = rsiValue > oversold ? color.new(color.green, 0) : rsiValue < overbought ? color.new(color.red, 0) : color.new(color.blue, 0)
plot(ema30, color=ema30Color, title='EMA 30 Colored')

// Highlight Buy and Sell signals on the chart
bgcolor(buyCondition ? color.new(color.green, 90) : na)
bgcolor(sellCondition ? color.new(color.red, 90) : na)

// Plotting Buy and Sell Signals on the Chart until strategy exit
barcolor(strategy.position_size > 0 and rsiValue > overbought ? color.new(color.yellow, 0) : strategy.position_size < 0 and rsiValue < oversold ? color.new(color.black, 0) : na)