Strategi MACD, RSI dan EMA


Tarikh penciptaan: 2024-03-01 12:23:38 Akhirnya diubah suai: 2024-03-01 12:23:38
Salin: 1 Bilangan klik: 691
1
fokus pada
1617
Pengikut

Strategi MACD, RSI dan EMA

Gambaran keseluruhan

Strategi ini menggabungkan purata bergerak (SMA), purata julat sebenar (ATR), indikator pergerakan (CCI) dan Brinks untuk mencari trend harga jangka pendek dan pertengahan untuk menyokong keputusan perdagangan.

Prinsip Strategi

Strategi ini menggunakan kurva SMA dari empat kitaran yang berbeza untuk mengenal pasti arah trend harga, termasuk garis 5, 10, 50 dan 200 hari. ATR digunakan untuk mengukur turun naik pasaran dan menetapkan titik berhenti. CCI digunakan untuk mengenal pasti keadaan overbought dan oversold.

Apabila memakai SMA jangka pendek (SMA 5 dan 10 hari) pada SMA jangka panjang (SMA 50 dan 200 hari), buat lebih banyak. Apabila memakai SMA jangka panjang di bawah SMA jangka pendek, buat kosong. CCI lebih besar daripada 100 untuk dijual, lebih kecil daripada 100 untuk dibeli.

Analisis kelebihan

Strategi ini digabungkan dengan penilaian trend rata-rata bergerak dan penilaian overbought dan oversold CCI, yang dapat memanfaatkan peluang pasaran dengan berkesan. Terutama, perdagangan jangka pendek dan menengah lebih berkesan. Di samping itu, kawalan risiko lebih ilmiah dan dapat mengelakkan kerugian sebanyak mungkin.

Analisis risiko

Strategi ini lebih konservatif dan mudah menghasilkan isyarat yang terlewat. Apabila terdapat pasaran yang bergolak atau pembalikan trend, hentian mungkin akan dicetuskan lebih awal. Selain itu, parameter yang tidak betul juga akan mempengaruhi kesannya.

Arah pengoptimuman

Anda boleh cuba mengoptimumkan parameter SMA agar lebih dekat dengan keadaan pasaran semasa. Anda juga boleh menyesuaikan standard deviasi Brinband untuk menjadikannya lebih sesuai untuk menyokong tahap rintangan. Selain itu, anda boleh mempertimbangkan untuk memasukkan penilaian tambahan indikator lain, seperti KDJ, MACD, dll.

ringkaskan

Strategi ini mengintegrasikan pelbagai alat analisis untuk menilai pasaran, dan dengan parameter yang betul, anda boleh mendapatkan pulangan pelaburan yang baik. Peraturan stop-loss juga membuat risiko terkawal. Ia patut diuji dan dioptimumkan di lapangan.

Kod sumber strategi
/*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)