O sistema de acompanhamento da reversão das médias móveis duplas integra a estratégia 123 do padrão de reversão e a estratégia Ichimoku para identificar oportunidades de reversão e rastrear tendências de rendimentos excessivos.
A estratégia consiste em duas sub-estratégias:
Esta estratégia é baseada em padrões de preços.
Vá longo quando o preço de fechamento subir por dois dias consecutivos e o estocástico lento de 9 dias estiver abaixo de 50.
Faça curto quando o preço de fechamento cair por dois dias consecutivos e o estocástico rápido de 9 dias estiver acima de 50.
Ele usa a ruptura dos fechamentos dos dias anteriores para determinar reversões e usa estocástica para filtrar o ruído.
Esta estratégia é baseada no cruzamento de cinco linhas de Ichimoku.
Faça a transação longa quando o preço de fechamento estiver acima da linha de base.
Faça curto quando o preço de fechamento estiver abaixo da linha de conversão.
onde a linha de base é o ponto médio do máximo máximo e do mínimo mínimo nos últimos 26 dias, e a linha de conversão é o ponto médio do máximo máximo e do mínimo mínimo nos últimos 9 dias.
A estratégia final combina os sinais das duas sub-estratégias, entrando quando ambos sinalizam longo ou curto e saindo quando discordam.
Combina inversão e tendência, flexível na captura de inversões e tendências.
O padrão 123 é simples e eficaz na identificação de reversões.
Os parâmetros do Ichimoku estão otimizados, com menor risco de fuga.
A combinação de duas estratégias diferentes pode alcançar a otimização.
As estratégias de reversão são propensas a armadilhas e perdas.
Ichimoku pode experimentar flutuações nos mercados de gama limitada, ajustar parâmetros ou adicionar filtros para reduzir transações desnecessárias.
Parâmetros incompatíveis ao combinar estratégias podem levar a sinais muito frequentes ou escassos.
Teste mais indicadores para melhores filtros, por exemplo, incorporando o volume.
Optimize os parâmetros do Ichimoku para se adequarem às características do instrumento.
Adicionar mecanismos de stop loss, por exemplo, saídas definidas com base no ATR.
Adicionar módulo de gestão de fundos para controlo de riscos.
Coletar mais dados para backtesting robusto, descobrir problemas e iterar.
O sistema de rastreamento de reversão de média móvel dupla combina os pontos fortes das estratégias de reversão e de tendência através da otimização e combinação para geração de alfa. Ele tem méritos comerciais, mas existem riscos como whipssaws e stop loss. Precisamos continuar melhorando a lógica nos backtests e implementar o controle de risco adequado para estabilidade e desempenho no mundo real.
/*backtest start: 2023-10-07 00:00:00 end: 2023-11-06 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 26/11/2020 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // Ichimoku Strategy // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos middleDonchian(Length) => lower = lowest(Length) upper = highest(Length) avg(upper, lower) Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) => pos = 0.0 Tenkan = middleDonchian(conversionPeriods) Kijun = middleDonchian(basePeriods) xChikou = close SenkouA = middleDonchian(laggingSpan2Periods) SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2 pos := iff(close < SenkouA[displacement], -1, iff(close > SenkouB, 1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Ichimoku2c", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- conversionPeriods = input(9, minval=1), basePeriods = input(26, minval=1) laggingSpan2Periods = input(52, minval=1), displacement = input(26, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posIchimoku2c = Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) pos = iff(posReversal123 == 1 and posIchimoku2c == 1 , 1, iff(posReversal123 == -1 and posIchimoku2c == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )