A estratégia de reversão dupla é uma estratégia quantitativa que combina o padrão de reversão 123 e o padrão de reversão de três barras para melhorar a qualidade do sinal e reduzir o risco.
A estratégia de reversão dupla reúne dois tipos diferentes de estratégias de negociação. A primeira é a estratégia de reversão 123, que emprega indicadores de diferencial de preço e desencadeia quando os preços se revertem em dois dias consecutivos e os indicadores estocásticos cruzam os valores de limiar. A segunda é a estratégia de padrão de reversão de três barras, que analisa um gráfico de velas de três dias e desencadeia quando o meio do dia publica o mínimo mais baixo e o último dia fecha acima do máximo do dia anterior. A estratégia entra em uma posição longa ou curta quando ambas as estratégias emitem simultaneamente um sinal na mesma direção.
Especificamente, a estratégia de reversão 123 usa um oscilador estocástico de 9 dias para identificar condições de sobrecompra e sobrevenda. Gerar um sinal de compra quando os preços caem por dois dias consecutivos e as leituras estocásticas caem abaixo de 50, e um sinal de venda quando os preços aumentam por dois dias consecutivos e o estocástico supera 50.
A estratégia de reversão dupla requer sinais concordantes de ambas as estratégias antes de tomar quaisquer posições.
Em comparação com os sistemas de estratégia única, a estratégia de inversão dupla tem as seguintes vantagens:
O principal risco da estratégia de reversão dupla é perder algumas oportunidades lucrativas. Devido aos seus rigorosos requisitos de sinal, algumas oportunidades de negociação identificadas por indicadores individuais serão ignoradas. Isso pode ser mitigado ajustando parâmetros para relaxar as condições de um indicador e aumentar a frequência de negociação.
Outro risco é que ambos os indicadores falhem simultaneamente em condições de mercado extremas, produzindo uma maior taxa de sinais falsos. Para tais casos, mecanismos de stop-loss podem ser adicionados para desligar rapidamente as posições e limitar as perdas.
Outras otimizações para a estratégia de reversão dupla incluem:
A estratégia de reversão dupla combina com sucesso os princípios de reversão média com a análise de padrões de velas, capturando completamente a ciclicidade nos preços.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 17/04/2019 // This is combo strategies for get // a cumulative signal. Result signal will return 1 if two strategies // is long, -1 if all strategies is short and 0 if signals of strategies is not equal. // // 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. // // Secon strategy // This startegy based on 3-day pattern reversal described in "Are Three-Bar // Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in // January,2000 issue of Stocks&Commodities magazine. // That pattern conforms to the following rules: // - It uses daily prices, not intraday or weekly prices; // - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed; // - The last day must have a close above the prior day's high, with no ties allowed; // - Each day must have a nonzero trading range. // // 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 BarReversalPattern() => pos = 0.0 pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1, iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0))) pos strategy(title="Combo Strategies 123 Reversal and 3-Bar-Reversal-Pattern", shorttitle="Combo Backtest", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) pos3BarReversalPattern = BarReversalPattern() pos = iff(posReversal123 == 1 and pos3BarReversalPattern == 1 , 1, iff(posReversal123 == -1 and pos3BarReversalPattern == -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 ? red: possig == 1 ? green : blue )