
A estratégia utiliza o Stochastic RSI e os dois indicadores MFI para identificar o fenômeno de sobrecompra e sobrevenda, para tomar decisões de compra e venda. O conceito básico é considerar a venda quando o preço da ação é sobrecomprado; considerar a compra quando o preço da ação é sobrevendido.
O Stochastic RSI combina as vantagens do indicador aleatório ((KDJ) e o indicador relativamente forte ((RSI)). Ele calcula o valor do RSI durante um período de tempo através do RSI e, em seguida, aplica o método do indicador aleatório para calcular os valores de stochastics K e D deste conjunto de RSI, para determinar se o RSI está sobrecomprado ou sobrevendido.
O Money Flow Index (MFI), por sua vez, baseia-se na mudança no volume de transações e no preço para julgar a relação de oferta e demanda no mercado e a sobrevenda. O indicador considera que o aumento dos preços é a manifestação de forças múltiplas mais fortes do que as forças no ar. Quando a flutuação aumenta, as forças múltiplas são mais fortes do que as forças no ar, portanto, o aumento do volume de transações indica que as forças múltiplas impulsionam o aumento dos preços.
Esta estratégia define as linhas de compra e venda do Stochastic RSI, bem como as linhas de compra e venda do MFI. Um sinal de compra é gerado quando a linha K do Stochastic RSI atravessa a linha de venda de baixo para cima ou quando o MFI atravessa a linha de venda de baixo para cima; um sinal de venda é gerado quando a linha K do Stochastic RSI atravessa a linha de compra de cima para baixo ou quando o MFI atravessa a linha de compra de cima para baixo.
Esta estratégia, combinada com o Stochastic RSI e os indicadores MFI, permite identificar com mais confiança os fenômenos de sobrecompra e sobrevenda no mercado, evitando a produção de sinais errados.
Em primeiro lugar, o indicador Stochastic RSI em si tem maior confiabilidade e sensibilidade, e é mais capaz de julgar com precisão os casos de sobrecompra e sobrevenda em comparação com o indicador aleatório comum. Em segundo lugar, o indicador MFI julga os casos de sobrecompra e sobrevenda do ponto de vista do volume de transação e da mudança de preço, fornecendo uma outra dimensão de referência, evitando o erro de julgar apenas de um ponto de vista.
Finalmente, o RSI estocástico e o indicador MFI são complementares. O RSI estocástico está mais focado em julgar a mudança no preço em si, enquanto o MFI está mais focado na mudança no volume de transação e no volume de transação. Usando ambos, pode-se julgar o estado do mercado de uma perspectiva mais abrangente e tomar decisões comerciais mais precisas e confiáveis.
A estratégia apresenta os seguintes riscos:
O risco de um indicador emitir um sinal errado. Embora o Stochastic RSI e o indicador MFI tenham uma alta confiabilidade, ainda há a possibilidade de um erro de compra ou venda em um determinado cenário de mercado, resultando em perdas de negociação.
O risco de overbought e oversold é que os parâmetros do indicador estão mal definidos. Os parâmetros dos indicadores Stochastic RSI e MFI podem ter um grande impacto nos sinais de negociação, e se os parâmetros estiverem mal definidos, isso pode enfraquecer a eficácia do indicador.
Risco de sinais de atraso nos indicadores. Os indicadores Stochastic RSI e MFI podem ter um atraso, podendo perder o melhor momento de compra e venda.
Risco de liquidação durante o período de vazio. Durante o período de vazio em que o indicador não emite sinais, se ocorrer uma liquidação horizontal, isso levará a uma perda de custo de oportunidade.
As soluções para o risco incluem: ajuste dos parâmetros do indicador, configuração de stop loss, redução de posições, combinação com outros indicadores, etc.
A estratégia pode ser melhorada em vários aspectos:
Em combinação com os indicadores de quantidade dinâmica, adicione os critérios de julgamento com base nos sinais do indicador Stochastic RSI e MFI, evitando a negociação durante a liquidação. Por exemplo, adicione o julgamento de ruptura do preço de liquidação / volume de transação.
Adicionar um mecanismo de stop loss. Aumentar o stop loss móvel para as posições de linha longa, ou definir um ponto de stop loss específico para a negociação de linha curta, controlando a perda individual.
Ajustar a duração dos parâmetros do RSI estocástico e do MFI, a localização da linha de superaquecimento e superaquecimento, etc., para que a configuração dos parâmetros seja mais adequada ao mercado.
Estratégias de ajuste dinâmico de acordo com a situação do mercado. Identificar a tendência e a tendência de liquidação, seguir a estratégia de operação da tendência em situações de tendência, desligar a estratégia de evitar a negociação em situações de liquidação.
Combinação de algoritmos de aprendizagem de máquina com otimização automática. Aplicação de algoritmos de aprendizagem de reforço para ajustar dinamicamente os parâmetros e as regras de acordo com os resultados da avaliação, para realizar a otimização automática da estratégia.
/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 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/
// © carterac
//@version=5
strategy("MFI and Stoch RSI Bot", overlay=true)
// Stochastic RSI settings
length = input(14, title="Stochastic RSI Length")
smoothK = input(3, title="Stochastic RSI K")
smoothD = input(3, title="Stochastic RSI D")
// Stochastic RSI overbought and oversold levels
stochRSIOverbought = input(70, title="Stochastic RSI Overbought Level")
stochRSIOversold = input(20, title="Stochastic RSI Oversold Level")
// Money Flow Index (MFI) settings
mfiLength = input(14, title="MFI Length")
mfiOverbought = input(70, title="MFI Overbought Level")
mfiOversold = input(20, title="MFI Oversold Level")
// Calculate RSI
rsiValue = ta.rsi(close, 11)
// Calculate Stochastic RSI
rsiHigh = ta.highest(rsiValue, 11)
rsiLow = ta.lowest(rsiValue, 7)
k = ta.sma(100 * (rsiValue - rsiLow) / (rsiHigh - rsiLow), 3)
d = ta.sma(k, 3)
// Calculate MFI
mfiValue = ta.mfi(volume, mfiLength)
// Determine buy and sell signals
buyCondition = ta.crossover(k, stochRSIOversold) or ta.crossover(mfiValue, mfiOversold)
sellCondition = ta.crossunder(k, stochRSIOverbought) or ta.crossunder(mfiValue, mfiOverbought)
// Plotting signals
plotshape(buyCondition, location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(sellCondition, location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)