
A estratégia de HYE Mean Reversion SMA é uma estratégia de negociação de reversão de média que usa uma média móvel simples e um indicador relativamente forte. A estratégia usa um sinal de filtragem do indicador RSI em combinação com um sinal de compra e venda quando o preço se desvia de uma média móvel de certa amplitude.
A estratégia baseia-se principalmente nas seguintes regras:
Quando a média móvel simples de 2 períodos diminui 3% em relação à média móvel simples de 5 períodos, o preço da ação é considerado um desvio do valor médio, gerando um sinal de compra;
Quando a média móvel simples de 2 períodos atravessa a média móvel simples de 5 períodos, é considerada a média de regressão do preço e gera um sinal de venda;
Combinando a média móvel do indicador RSI de 5 períodos, o RSI só produz um sinal de compra quando está abaixo de 30 e um sinal de venda quando está acima de 70, evitando assim transações desnecessárias.
O principal conceito da estratégia é aproveitar os movimentos de preços no curto prazo para capturar oportunidades de retorno ao valor médio. Comprar quando os preços caem um certo valor, vender quando os preços voltam para perto da linha média e obter lucro.
A estratégia tem as seguintes vantagens:
Operação simples, fácil de implementar e baixo custo de monitorização;
A utilização de características de desvio dos preços das médias móveis para capturar oportunidades de regresso à média das linhas curtas, com bons resultados de retrospectiva histórica;
Os indicadores RSI são capazes de filtrar o ruído das negociações, evitando que as altas e baixas sejam seguidas.
A flexibilidade de ajustar os parâmetros para adaptar-se a diferentes cenários de mercado;
Pode-se fazer apenas mais, apenas fazer forex ou negociar de duas maneiras, para satisfazer diferentes preferências.
A estratégia também apresenta alguns riscos:
A regressão depende da capacidade do preço de regressar à linha média, com maior risco de parada de prejuízos se ocorrer uma mudança drástica no preço;
A configuração inadequada dos parâmetros pode levar a transações excessivamente frequentes ou a oportunidades perdidas;
O desempenho da estratégia é mais correlacionado com o mercado e tem um desempenho mais fraco em mercados horizontais e oscilantes.
Resposta:
Estabelecer de forma razoável o stop loss e controlar as perdas individuais;
Otimizar gradualmente os parâmetros para avaliar a taxa de retirada de receitas;
Adaptabilidade em combinação com estratégias de reforço do índice de ações.
A estratégia pode ser melhorada em vários aspectos:
Testar diferentes combinações de médias móveis para encontrar o melhor parâmetro;
Tentar identificar tendências em combinação com outros indicadores para aumentar a taxa de sucesso da estratégia;
Aumentar os mecanismos de suspensão de prejuízos e reduzir a retirada máxima das estratégias;
Otimizar as regras de compra e venda e aumentar os fatores de lucro;
Parâmetros de construção de auto-adaptação combinados com técnicas de aprendizagem de máquina.
A estratégia de negociação de retorno de média de desvio duplo é uma estratégia de retorno de média de linha curta simples e prática. Ela utiliza o desvio do preço em relação à média móvel para gerar sinais de negociação, enquanto filtra o ruído com o indicador RSI, e tem um excelente desempenho na retrospectiva. A estratégia é simples de operar, fácil de implementar e pode ajustar os parâmetros de acordo com o ambiente de mercado.
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=4
strategy("HYE Mean Reversion SMA [Strategy]", overlay = true )
//Strategy inputs
source = input(title = "Source", defval = close)
tradeDirection = input(title="Trade Direction", type=input.string,
options=["Long Only", "Short Only", "Both"], defval="Long Only")
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)
percentAboveToSell = input(title = "Percent above to sell %", defval = 3)
rsiPeriod = input(title = "Rsi Period", defval = 2)
rsiLevelforBuy = input(title = "Maximum Rsi Level for Buy", defval = 30)
rsiLevelforSell = input(title = "Minimum Rsi Level for Sell", defval = 70)
longOK = (tradeDirection == "Long Only") or (tradeDirection == "Both")
shortOK = (tradeDirection == "Short Only") or (tradeDirection == "Both")
// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
defval=2020, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
defval=31, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
defval=12, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
defval=2021, minval=1800, maxval=2100)
inDateRange = true
//Strategy calculation
rsiValue = rsi(source, rsiPeriod)
rsiEMA = ema(rsiValue, 5)
smallMA = sma(source, smallMAPeriod)
bigMA = sma(source, bigMAPeriod)
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]
sellMA = ((100 + percentAboveToSell) / 100) * sma(source, bigMAPeriod)[0]
if(crossunder(smallMA, buyMA) and rsiEMA < rsiLevelforBuy and inDateRange and longOK)
strategy.entry("BUY", strategy.long)
if(crossover(smallMA, bigMA) or not inDateRange)
strategy.close("BUY")
if(crossover(smallMA, sellMA) and rsiEMA > rsiLevelforSell and inDateRange and shortOK)
strategy.entry("SELL", strategy.short)
if(crossunder(smallMA, bigMA) or not inDateRange)
strategy.close("SELL")