Сочетание индикаторов MACD и RSI для торговли на нестабильных рынках


Дата создания: 2023-09-13 15:14:43 Последнее изменение: 2023-09-13 15:14:43
Копировать: 0 Количество просмотров: 749
1
Подписаться
1617
Подписчики

Эта стратегия называется “Стратегия торговли на шоковых рынках с комбинацией MACD и RSI”. Эта стратегия разработана специально для недавно более расширенного криптовалютного шокового рыночного замыкания, чтобы сформировать торговый сигнал путем сочетания трендового индикатора MACD и динамического индикатора RSI.

MACD является индикатором разрыва в движущихся средних, который позволяет определить рыночные тенденции и обратные тенденции. Когда MACD пересекает медленную линию на быстрой линии, он создает сигнал покупки; а когда он пересекает медленную линию ниже быстрой линии, он создает сигнал продажи.

RSI является относительно сильным и слабым индикатором, который определяет, что рынок перекупил или перепродал. RSI выше 50 означает перекуп, а ниже 50 означает перепродажу. Эта стратегия использует индикатор RSI, чтобы отфильтровать частичный шум, генерируемый индикатором MACD.

Конкретные торговые стратегии:

когда MACD пересекает медленную линию на быстрой линии, которая представляет собой краткосрочную тенденцию от переворота в сторону падения, но должна быть подтверждена при низком уровне RSI ((ниже заданного параметра), чтобы избежать убытков при перевороте в зоне перекупа);

Когда MACD пересекает медленную линию под быстрой линией, это означает, что краткосрочная тенденция перевернулась в сторону падения, но для подтверждения сигнала продажи она должна быть на высоком уровне RSI (выше заданного параметра), чтобы избежать обратного убытка в зоне перепродажи.

Эта стратегия применяется в последнее время в более развитом криптовалютном рынке, чтобы воспользоваться возможностью получить прибыль от переворота высоких и низких уровней. Однако необходимо принять меры по ограничению убытков. Кроме того, MACD и RSI параметры должны быть скорректированы в соответствии с рынком, чтобы создать более надежный торговый сигнал.

В целом, совместное использование MACD и RSI может улучшить эффективность торговой стратегии в условиях шокирующего рынка. Однако ни один технический индикатор не может совершенно прогнозировать рынок, и трейдеру необходимо сохранять рассудительность по отношению к рыночным тенденциям и гибкость при корректировке стратегии.

Исходный код стратегии
/*backtest
start: 2022-09-06 00:00:00
end: 2023-03-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Range Strat - MACD/RSI", 
     overlay=true,
     default_qty_type=strategy.percent_of_equity,
     default_qty_value=100, precision=2, initial_capital=100,
     pyramiding=2,
     commission_value=0.05)

// Make input options that configure backtest date range
startDate = input(title="Start Date", defval=13)
startMonth = input(title="Start Month", defval=6)
startYear = input(title="Start Year", defval=2022)

endDate = input(title="End Date", defval=1)
endMonth = input(title="End Month", defval=7)
endYear = input(title="End Year", defval=2200)

// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,
         startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

// RSI Settings
length = input( 14 )
overSold = input( 55 )
overBought = input( 50 )
price = open
vrsi = ta.rsi(price, length)
cu = (vrsi <= overSold)
co = (vrsi >= overBought)

//MACD Settings
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ta.ema(open, fastLength) - ta.ema(open, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD
MACDco = ta.crossover(delta, 0)
MACDcu = ta.crossunder(delta, 0)

// Strategy Entry
if (not na(vrsi))
	if (inDateRange and MACDco and cu)
		strategy.entry("LONG", strategy.long, comment="LONG")
	if (inDateRange and MACDcu and co)
		strategy.entry("SHORT", strategy.short, comment="SHORT")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)