Esta estratégia usa o indicador MACD para avaliar a tendência do indicador RSI, gerando assim um sinal de negociação. Pertence ao tipo de estratégia que utiliza uma combinação de indicadores para filtragem.
A estratégia baseia-se em dois indicadores:
Indicador RSI Calcule o valor do RSI de 14 ciclos.
MACD do RSI O MACD é calculado para o indicador RSI, com 12 ciclos de linha rápida por padrão, 26 ciclos de linha lenta e 9 ciclos de linha de sinal.
Quando o MACD do RSI é corrigido por uma inversão negativa, ou seja, quando o MACD está em uma curva lenta, é considerado uma tendência de múltiplas cabeças e é comprado.
Quando o MACD do RSI é avaliado como uma tendência de cabeça para baixo por uma inversão negativa positiva, ou seja, o MACD é avaliado como uma tendência de cabeça para baixo, a venda é feita.
O MACD é usado para determinar a direção da tendência do RSI em longo prazo, gerando um sinal de negociação mais preciso.
As medidas a seguir podem reduzir o risco:
A estratégia pode ser melhorada em vários aspectos:
Testar combinações de parâmetros do RSI e do MACD
Adicionar uma segunda condição de confirmação quando o sinal MACD é emitido
Por exemplo, considerar a forma de uma linha K, o volume de transações ou a localização da faixa de Bryn.
Optimizar a estratégia de stop loss em vez de rastrear o stop loss
Reincorporar-se ao mecanismo de reentrada
Depois de um stop loss exit, se a tendência continuar, a posição pode ser reestabelecida
Reduzir posições em alta volatilidade e aumentar posições em baixa volatilidade
Esta estratégia pode aumentar a precisão e a estabilidade dos sinais através da combinação de dois indicadores RSI e MACD, que verificam mutuamente a direção da tendência. No entanto, os parâmetros de otimização e a confirmação adicional de outros indicadores técnicos ou regras de negociação são necessários para reduzir a possibilidade de serem afetados por eventos inesperados. Ao mesmo tempo, deve-se concentrar na melhoria da otimização da estratégia de parada de perdas e na gestão de fundos para ajustar dinamicamente as posições.
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "MACD of RSI", overlay = false)
//////////////////////// RSI ///////////////////////////
src = close, len = input(14, minval=1, title="Length")
up = sma(max(change(src), 0), len)
down = sma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//////////////////////// RSI //////////////////////////
//////////////// MACD ////////////////////////////
sourcemacd = rsi
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)
fastMA = ema(sourcemacd, fastLength)
slowMA = ema(sourcemacd, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
delta=macd-signal
swap1 = delta>0?green:red
plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)
p1 = plot(macd,color=blue,title='MACD Line')
p2 = plot(signal,color=red,title='Signal')
fill(p1, p2, color=blue)
hline(0)
/////////////////////////MACD //////////////////////////
// Conditions
longCond = na
sellCond = na
longCond := crossover(delta,0)
sellCond := crossunder(delta,0)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( longCond )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( sellCond )
strategy.close("BUY")