Strategi MACD, RSI dan EMA

Penulis:ChaoZhang, Tanggal: 2024-03-01 12:23:38
Tag:

img

Gambaran umum

Strategi ini menggabungkan Simple Moving Average (SMA), Average True Range (ATR), Commodity Channel Index (CCI) dan Bollinger Bands untuk mengidentifikasi tren harga jangka pendek dan menengah dan memberikan dukungan untuk keputusan perdagangan.

Prinsip Strategi

Strategi ini menggunakan empat garis SMA dengan periode yang berbeda untuk mengenali arah tren harga, termasuk garis 5 hari, 10 hari, 50 hari dan 200 hari. ATR digunakan untuk mengukur volatilitas pasar dan menetapkan titik stop-loss. CCI digunakan untuk mengidentifikasi kondisi overbought dan oversold. Rel atas dan bawah Bollinger Bands dapat berfungsi sebagai level support/resistance.

Pergi panjang ketika SMA jangka pendek (garis 5 hari dan 10 hari) melintasi SMA jangka panjang (garis 50 hari dan 200 hari). Pergi pendek ketika SMA jangka pendek melintasi SMA jangka panjang. Jual ketika CCI lebih besar dari 100; Beli ketika CCI kurang dari -100. Atur stop loss berdasarkan nilai ATR.

Analisis Keuntungan

Dengan menggabungkan penilaian tren garis rata-rata bergerak dan penilaian overbought / oversold CCI, strategi ini dapat secara efektif merebut peluang pasar. Ini bekerja sangat baik untuk perdagangan jangka menengah dan pendek. Selain itu, pengendalian risiko relatif ilmiah, yang dapat memaksimalkan penghindaran kerugian.

Analisis Risiko

Strategi ini relatif konservatif dan cenderung melewatkan sinyal perdagangan. Ketika ada pasar yang terikat rentang atau pembalikan tren, pengambilan keuntungan dapat dipicu lebih awal. Selain itu, pengaturan parameter yang tidak tepat juga dapat mempengaruhi kinerja.

Arahan Optimasi

Cobalah untuk mengoptimalkan parameter SMA agar lebih dekat dengan kondisi pasar saat ini. deviasi standar Bollinger Band juga dapat disesuaikan untuk kinerja yang lebih baik sebagai level support/resistance. Selain itu, pertimbangkan untuk menambahkan indikator lain untuk membantu penilaian, seperti KDJ, MACD dll. Ini dapat meningkatkan tingkat kemenangan strategi.

Ringkasan

Mengintegrasikan berbagai alat analisis untuk menilai pasar, strategi ini dapat menghasilkan laba investasi yang memuaskan ketika parameter ditetapkan dengan tepat. Aturan stop loss juga membuat risiko terkendali.


/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © maizirul959

//@version=4
strategy("MACD,RSI & EMA strategy with MA+PSAR by MAM", overlay=true)

//Input Data
_ema_len1 = input(5, title="EMA1 length")
_ema_len2 = input(20, title="EMA2 length")

_macd_fast = input(12, title="MACD Fast")
_macd_slow = input(26, title="MACD Slow")
_macd_signal_len = input(20, title="MACD Signal length")

//MAM add SMA
_sma_len1 = input(5, title="SMA1 Length")
_sma_len2 = input(10, title="SMA2 Length")
_sma_len3 = input(50, title="SMA3 Length")
_sma_len4 = input(200, title="SMA4 Length")

lineWidth = input(1, minval=1, title="Line width")

src = input(close, title="Source")

SMA1 = if _sma_len1 != 0
    sma(src, _sma_len1)
SMA2 = if _sma_len2 != 0
    sma(src, _sma_len2)
SMA3 = if _sma_len3 != 0
    sma(src, _sma_len3)
SMA4 = if _sma_len4 != 0
    sma(src, _sma_len4)


//__________________________________________________________________________

_rsi_len = input(14, title="RSI length")
_rsi_signal_len = input(20, title="RSI signal length")

//_________________________________________________________________________
//MAM Add PSAR
PSAR_start = input(0.02)
PSAR_increment = input(0.02)
PSAR_maximum = input(0.2)

psar = sar(PSAR_start, PSAR_increment, PSAR_maximum)
//_________________________________________________________________________

_ema1 = ema(close, _ema_len1)
_ema2 = ema(close, _ema_len2)

//_________________________________________________________________________
//MAM add SMA
//_sma1 = ema(close, _sma_len1)
//_sma2 = ema(close, _sma_len2)
//_________________________________________________________________________

_macd = ema(close, _macd_fast) - ema(close, _macd_slow)
_macd_signal = ema(_macd, _macd_signal_len)

_rsi = rsi(close, _rsi_len)
_rsi_signal = ema(_rsi, _rsi_signal_len)


//PLOT SMA
plot(SMA1, color=#B71C1C, title="SMA1", linewidth=lineWidth)
plot(SMA2, color=#FFFF00, title="SMA2", linewidth=lineWidth)
plot(SMA3, color=#5b34ff, title="SMA3", linewidth=lineWidth)
plot(SMA4, color=#d7d7d7, title="SMA4", linewidth=lineWidth)


//PLOT PSAR
plot(psar, "ParabolicSAR", style=plot.style_cross, color=#3A6CA8)

//plot(_rsi, color=color.yellow)
//plot(_rsi_signal, color=color.green)
//plot(_macd, color=color.blue)
//plot(_macd_signal, color=color.red)


longCondition = close > _ema1 and close > _ema2 and _macd > _macd_signal and _rsi > _rsi_signal 
if (longCondition)
    strategy.entry("Buy",strategy.long)
    
shortCondition = close < _ema1 and close <_ema2 and _macd < _macd_signal and _rsi < _rsi_signal
if (shortCondition)
    strategy.entry("Sell",strategy.short)


Lebih banyak