La estrategia de seguimiento de tendencias de reversión de confirmación doble integra la estrategia de patrón de reversión 123 y la estrategia de ruptura de soporte/resistencia para lograr la doble confirmación de las señales de reversión de precios y filtrar algunas señales comerciales ruidosas, mejorando así la tasa de ganancia de la estrategia.
Cuando el precio forma una señal de reversión, detectará si el nivel clave de soporte o resistencia se rompe al mismo tiempo.
La estrategia de seguimiento de tendencias de reversión de la doble confirmación consta de dos partes:
123 estrategia de reversión del patrón
Al comparar los precios de cierre de las dos velas anteriores, determine si el precio ha formado un patrón de reversión.
Estrategia de ruptura de soporte/resistencia
Utilice el precio más alto, el precio más bajo y el precio de cierre del día anterior para calcular los niveles de soporte y resistencia.
Cuando el precio cumple con las señales de negociación de ambas estrategias al mismo tiempo, se considera que la señal de reversión se ha confirmado dos veces y se genera la orden de negociación final.
Los parámetros se pueden optimizar para ajustar el rigor de la confirmación doble y equilibrar la tasa de ganancia y el número de operaciones rentables.
La estrategia de seguimiento de tendencias de reversión de confirmación doble combina con éxito las ventajas de los patrones de reversión y las rupturas de niveles clave. Al tiempo que mejora la calidad de la señal, también garantiza el número de operaciones. Es una estrategia adecuada para el comercio de tendencias a mediano y largo plazo. La adición de estrategias de ajuste de parámetros y stop loss puede mejorar aún más la estabilidad y la viabilidad de la estrategia.
/*backtest start: 2023-12-17 00:00:00 end: 2024-01-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 15/09/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 name ‘Floor-Trader Pivot,’ came from the fact that Pivot points can // be calculated quickly, on the fly using price data from the previous day // as an input. Although time-frames of less than a day can be used, Pivots are // commonly plotted on the Daily Chart; using price data from the previous day’s // trading activity. // // 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 FPP() => pos = 0 xHigh = security(syminfo.tickerid,"D", high[1]) xLow = security(syminfo.tickerid,"D", low[1]) xClose = security(syminfo.tickerid,"D", close[1]) vPP = (xHigh+xLow+xClose) / 3 vR1 = (vPP * 2) - xLow vS1 = (vPP * 2) - xHigh pos := iff(close > vR1, 1, iff(close < vS1, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Floor Pivot Points", shorttitle="Combo", overlay = true) Length = input(15, 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) posFPP = FPP() pos = iff(posReversal123 == 1 and posFPP == 1 , 1, iff(posReversal123 == -1 and posFPP == -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 )