Esta é uma estratégia combinada que combina a estratégia 123 Reversal e a estratégia Fractal Chaos Oscillator para obter sinais de negociação mais confiáveis.
A estratégia consiste em duas partes:
123 Estratégia de reversão
Esta estratégia é do livro
Ir longo quando o preço de fechamento é maior do que o fechamento anterior por 2 dias consecutivos, e o Stoch lento de 9 dias está abaixo de 50.
Vá curto quando o preço de fechamento for menor do que o fechamento anterior por 2 dias consecutivos, e o Stoch rápido de 9 dias estiver acima de 50.
Estratégia do oscilador do caos fractal
O FCO calcula a diferença entre os movimentos mais sutis no mercado. Seu valor flutua entre -1 e 1. Quanto maior o valor, mais forte a tendência, independentemente da tendência de alta ou de baixa.
O indicador é adequado para negociação intradiária.
Quando os sinais de ambas as estratégias concordarem, uma troca será feita nessa direcção.
A combinação de estratégias de reversão e tendência ajuda a filtrar sinais falsos e melhora a confiabilidade.
A estratégia de reversão detecta oportunidades de reversão a curto prazo, enquanto a estratégia do FCO detecta tendências a médio e longo prazo.
Os parâmetros de Stoch otimizados filtram efetivamente sinais falsos em mercados de intervalo.
O FCO é sensível a flutuações sutis do mercado e pode detectar precocemente mudanças de tendência.
As estratégias de reversão podem ser sobrecarregadas por grandes reversões de tendência.
As estratégias de indicadores podem gerar sinais excessivos. Ajustar parâmetros ou adicionar indicadores de filtragem.
Otimizar os parâmetros com base nos resultados dos backtests para melhorar a cooperação.
Adicionar stop loss para controlar a perda de uma única transação.
Teste diferentes combinações de parâmetros de inversão para encontrar o ideal.
Teste diferentes parâmetros do FCO para encontrar o melhor.
Tente diferentes métodos de otimização de parâmetros como algoritmos genéticos, floresta aleatória etc.
Adicionar mais indicadores auxiliares a sinais de filtro adicionais.
Adicionar modelos de aprendizagem de máquina para melhorar a precisão do sinal.
Introduzir mecanismos de gestão de riscos, como stop loss, dimensionamento de posições, etc.
Esta estratégia combina os pontos fortes das estratégias de reversão e FCO através do uso do portfólio e melhora a qualidade do sinal. Ele mostra bom desempenho em backtests. Outras otimizações como ajuste de parâmetros, adição de indicadores, gerenciamento de riscos, etc. podem melhorar seu desempenho ao vivo.
/*backtest start: 2023-10-02 00:00:00 end: 2023-10-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 07/10/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 // The value of Fractal Chaos Oscillator is calculated as the difference between // the most subtle movements of the market. In general, its value moves between // -1.000 and 1.000. The higher the value of the Fractal Chaos Oscillator, the // more one can say that it follows a certain trend – an increase in prices trend, // or a decrease in prices trend. // // Being an indicator expressed in a numeric value, traders say that this is an // indicator that puts a value on the trendiness of the markets. When the FCO reaches // a high value, they initiate the “buy” operation, contrarily when the FCO reaches a // low value, they signal the “sell” action. This is an excellent indicator to use in // intra-day trading. // // 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 fractalUp(pattern) => p = high[pattern+1] okl = 1 okr = 1 res = 0.0 for i = pattern to 1 okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0) for i = pattern+2 to pattern*2+1 okr := iff(high[i] < high[i-1] and okr == 1, 1, 0) res := iff(okl == 1 and okr == 1, p, res[1]) res fractalDn(pattern) => p = low[pattern+1] okl = 1 okr = 1 res = 0.0 for i = pattern to 1 okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0) for i = pattern+2 to pattern*2+1 okr := iff(low[i] > low[i-1] and okr == 1, 1, 0) res := iff(okl == 1 and okr == 1, p, res[1]) res FCO(Pattern) => pos = 0.0 xUpper = fractalUp(Pattern) xLower = fractalDn(Pattern) xRes = iff(xUpper != xUpper[1], 1, iff(xLower != xLower[1], -1, 0)) pos := iff(xRes == 1, 1, iff(xRes == -1, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Fractal Chaos Oscillator", shorttitle="Combo", overlay = true) Length = input(15, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Pattern = input(1, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posFCO = FCO(Pattern) pos = iff(posReversal123 == 1 and posFCO == 1 , 1, iff(posReversal123 == -1 and posFCO == -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 )