A estratégia Fusion combina uma estratégia de padrão de reversão 123 e uma estratégia de alta e baixa ruptura num sistema de negociação quantitativo.
A estratégia de fusão consiste em dois componentes:
123 Estratégia de reversão
Esta estratégia tem origem na ideia da página 183 do livro
Estratégia de alta e baixa ruptura Esta estratégia identifica sinais de negociação detectando quebras de preços além dos níveis altos/baixos anteriores em diferentes períodos de tempo. Ela calcula o mais alto e o mais baixo baixo nos períodos atual e anterior e gera sinais de compra quando o preço ultrapassa o máximo e sinais de venda quando o preço ultrapassa o mínimo. A vantagem desta estratégia é sua capacidade de identificar mudanças no padrão de tendência em prazos mais longos, permitindo uma entrada mais cedo.
A estratégia de fusão combina os sinais das duas estratégias acima, e gera sinais de negociação reais apenas quando as direções do sinal se alinham.
A síntese multi-temporal melhora a precisão do sinal A integração de padrões diários e de prazos mais longos aumenta a precisão da geração de sinais de negociação, evitando a distração por ruídos de mercado de curto prazo.
Utiliza plenamente o julgamento sobrecomprado/supervendido do Stochastic O uso do indicador Stochastic Slow impede a compra ansiosa em zonas de sobrecompra. O indicador Stochastic Fast impede a venda ansiosa em zonas de sobrevenda. As perdas desnecessárias são reduzidas.
Detecta a tempo padrões de tendência, reduzindo oportunidades perdidas A estratégia de alta e baixa ruptura identifica o início da tendência em prazos mais longos mais cedo, reduzindo oportunidades de negociação perdidas.
Optimização flexível com múltiplas sub-estratégias Com múltiplas sub-estratégias, o enorme espaço de otimização permite ajustar os parâmetros das sub-estratégias ou introduzir novas para tornar a estratégia mais estável e confiável.
Lógica simples e clara A estrutura e a lógica simples tornam a estratégia fácil de compreender, modificar e manter no futuro.
A síntese de quadros de tempo múltiplos causa atraso no sinal. Embora a precisão seja melhorada, a combinação de sinais em diferentes prazos induz um atraso e pode perder oportunidades de negociação de curto prazo.
123 padrões não conseguem identificar inversões de tendência de prazo mais longo A estratégia de reversão 123 só analisa os dias recentes e omite pontos-chave de reversão em prazos mais longos.
Configurações erradas de parâmetros podem causar sinais falsos A má regulação dos parâmetros dos períodos estocástico e de ruptura pode resultar em sinais falsos excessivos.
Puro técnico, fraca adaptabilidade a eventos extremos Sem considerar os fundamentos, a estratégia se adapta mal aos eventos do cisne negro.
Soluções correspondentes:
Reduzir adequadamente os períodos de cálculo para reduzir o atraso.
Tente introduzir indicadores ou padrões de longo prazo como filtros.
Otimizar os parâmetros e testar a robustez de forma completa nos backtests.
Considere incorporar fatores fundamentais para a filtragem de sinal.
Teste e otimize os parâmetros das sub-estratégias de robustez.
Incorporar sinais adicionais como fundamentos, fluxo de caixa, etc.
Introduzir stop loss para limitar a perda máxima por negociação.
Parâmetros de ajuste fino para produtos específicos para melhorar a adaptabilidade.
Ajudar com modelos de aprendizagem de máquina.
Em resumo, a estratégia Fusion combina as vantagens dos indicadores técnicos de vários prazos, visando a geração de sinal mais precisa e oportuna. Em comparação com as estratégias de indicador único, ela tem capacidade superior de detecção de tendência e produção de sinal mais robusta. Mas também sofre de lags e adaptabilidade inadequada a eventos extremos. Melhorias futuras poderiam vir de mais ferramentas auxiliares, melhor otimização de parâmetros e atualização da estabilidade e lucratividade.
/*backtest start: 2023-10-10 00:00:00 end: 2023-11-09 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 25/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 // This script shows a high and low period value. // Width - width of lines // SelectPeriod - Day or Week or Month and etc. // LookBack - Shift levels 0 - current period, 1 - previous and etc. // // 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 HLL(LookBack, SelectPeriod) => pos = 0.0 xHigh = security(syminfo.tickerid, SelectPeriod, high[LookBack]) xLow = security(syminfo.tickerid, SelectPeriod, low[LookBack]) vS1 = xHigh vR1 = xLow pos := iff(close > vR1, 1, iff(close < vS1, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & High and Low Levels", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- SelectPeriod = input(title="Resolution", type=input.resolution, defval="D") LookBack = input(1, minval=0) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posHLL = HLL(LookBack, SelectPeriod) pos = iff(posReversal123 == 1 and posHLL == 1 , 1, iff(posReversal123 == -1 and posHLL == -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 )