Esta estratégia combina três indicadores de classificação: RSI, CCI e Williams%R para gerar sinais de negociação eficazes. Ela emitirá sinais de compra ou venda quando todos os três indicadores exibirem simultaneamente sinais de sobrecompra ou sobrevenda.
A estratégia é denominada
A estratégia baseia-se principalmente nos seguintes indicadores para as decisões de negociação:
Quando o RSI está abaixo de 25, ele sinaliza estado de sobrevenda. Quando o RSI está acima de 75, ele sinaliza estado de sobrecompra. A mesma lógica se aplica aos parâmetros CCI e Williams%R.
Quando todos os três indicadores exibem simultaneamente sinais de compra, ou seja, RSI < 25, CCI < -130, Williams %R < -85, a estratégia será longa.
Isso evita sinais falsos de um único indicador e melhora a confiabilidade.
Combinação de múltiplos indicadores filtra sinais falsos
Ao combinar RSI, CCI e Williams%R, a estratégia filtra alguns sinais falsos de indicadores individuais, melhorando a precisão.
Auto-stop de perdas/benefícios gerencia riscos As funções de stop loss e take profit integradas definem automaticamente os preços de saída para cada negociação, limitando efetivamente as perdas dentro de limites toleráveis.
Negociação a médio prazo A estratégia funciona melhor para negociações de médio prazo, identificando claramente os pontos de inflexão de médio prazo através da combinação de indicadores.
Dados sólidos de backtest
A estratégia utiliza barras de 45 minutos do EUR/USD, um importante par de divisas com abundante liquidez e dados, reduzindo os riscos de excesso de dados insuficientes.
Identificação de tendências fracas a longo prazo
A estratégia baseia-se mais em sinais contrários. Suas capacidades para avaliar e seguir tendências de longo prazo são limitadas. Durante mercados unidirecionais de longa duração, o potencial de lucro é limitado.
Ausência de oscilações de curto prazo Com barras de 45 minutos, a estratégia perde oportunidades lucrativas de flutuações de preço mais frequentes a curto prazo.
Riscos sistémicos
A estratégia aplica-se principalmente ao EUR/USD. Em tempos de grave crise econômica que abalou o mercado global de divisas, suas regras de negociação podem falhar, incorrendo em enormes perdas.
Adição de indicadores de tendência
Tente incorporar métricas de tendência como MA, Boll etc. para ajudar no reconhecimento de tendências de longo prazo.
Optimização dos parâmetros stop loss/profit Reexamine mais dados históricos para avaliar o impacto de vários parâmetros de stop loss/lucro na rentabilidade final, a fim de encontrar a configuração ideal.
Produtos em expansão
Atualmente aplica-se principalmente ao EUR/USD. Podemos tentar implementá-lo em outros pares de moedas importantes como GBP, JPY, AUD para examinar sua estabilidade e transferibilidade.
A
/*backtest start: 2024-01-16 00:00:00 end: 2024-01-23 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI CCI Williams %R Strategy with TP and SL", overlay=true) // Input parameters for indicators rsi_period = input(14, title="RSI Period") cci_period = input(20, title="CCI Period") williams_period = input(14, title="Williams %R Period") // Thresholds for overbought and oversold conditions rsi_oversold = input(25, title="RSI Oversold Level") rsi_overbought = input(75, title="RSI Overbought Level") cci_oversold = input(-130, title="CCI Oversold Level") cci_overbought = input(130, title="CCI Overbought Level") williams_oversold = input(-85, title="Williams %R Oversold Level") williams_overbought = input(-15, title="Williams %R Overbought Level") // Take profit and stop loss levels as a percentage take_profit_pct = input(1.2, title="Take Profit (%)") / 100 stop_loss_pct = input(0.45, title="Stop Loss (%)") / 100 // Indicator calculations rsi = ta.rsi(close, rsi_period) cci = ta.cci(close, cci_period) highestHigh = ta.highest(high, williams_period) lowestLow = ta.lowest(low, williams_period) williamsR = (highestHigh - close) / (highestHigh - lowestLow) * -100 // Entry conditions longCondition = rsi < rsi_oversold and cci < cci_oversold and williamsR < williams_oversold and strategy.position_size == 0 shortCondition = rsi > rsi_overbought and cci > cci_overbought and williamsR > williams_overbought and strategy.position_size == 0 // Execute strategy entry orders if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit or Stop Loss Long", "Long", limit=close * (1 + take_profit_pct), stop=close * (1 - stop_loss_pct)) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit or Stop Loss Short", "Short", limit=close * (1 - take_profit_pct), stop=close * (1 + stop_loss_pct)) // Plot the signals on the chart plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL") // Plot the indicators for visualization plot(rsi, title="RSI", color=color.blue) plot(cci, title="CCI", color=color.purple) plot(williamsR, title="Williams %R", color=color.orange)