La estrategia de reversión de doble sombra es una estrategia de comercio a corto plazo basada en patrones de velas. Identifica oportunidades potenciales de reversión mediante la detección del patrón especial de velas donde dos velas consecutivas no tienen sombras. La estrategia es simple y directa de implementar, pero también tiene ciertos riesgos a tener en cuenta.
La lógica central de esta estrategia es identificar el patrón de
Según la teoría del análisis técnico, este patrón de doble sombra a menudo sugiere una inminente inversión de tendencia.
Al detectar el patrón de doble sombra, la estrategia entrará en largo o corto en la próxima vela abierta basándose en el cierre anterior y cerrará la posición después de un determinado número de barras.
La lógica de la estrategia es sencilla y fácil de entender, con un simple reconocimiento de patrones que es fácil de implementar.
Utiliza el patrón clásico de inversión de doble sombra que tiene alguna lógica de análisis técnico.
El comercio poco frecuente ayuda a reducir los costes y los riesgos.
Fácil de añadir características de backtesting y optimizar parámetros.
El comercio de patrones se basa en estadísticas y probabilidades históricas de gráficos, y pueden ocurrir desviaciones.
Aunque las sombras dobles sugieren una reversión, la reversión real puede no ocurrir o sostenerse.
La zona de ganancia fija puede no adaptarse bien a los mercados de rápido movimiento.
Mirar la información limitada de las velas puede llevar a entradas demasiado ansiosas.
Incorporar indicadores de tendencia para evitar operaciones contra tendencia.
Utilice las entradas de espera de confirmación para confirmar la reversión real.
Establecer un stop loss dinámico basado en ATR en lugar de una duración fija.
Utilice el aprendizaje automático para determinar qué patrones de doble sombra son más confiables.
La estrategia de inversión de doble sombra aprovecha el concepto clásico de negociación de patrones de una manera simple e intuitiva, adecuada para principiantes y que también sirve como un componente modular para algos.
/*backtest start: 2023-10-30 00:00:00 end: 2023-11-06 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("No Shadow Candles", overlay=true) //set inputs bars_until_close_trade = input(1,"Bars Until Close", minval = 1) backtest_option = input(true,"Backtest on Twice alert?", bool) //set conditions up = close > close[1] and low >= open and high <= close down = close < close[1] and low >= close and high <= open up2 = (close > close[1] and low >= open and high <= close) and (close[1] > close[2] and low[1] >= open[1] and high[1] <= close[1]) down2 = (close < close[1] and low >= close and high <= open) and (close[1] < close[2] and low[1] >= close[1] and high[1] <= open[1]) close_trade = barssince(up or down) == bars_until_close_trade close_trade2 = barssince(up2 or down2) == bars_until_close_trade //plot indicators plotshape(up,"Up Marker", shape.triangleup, location.belowbar, color = olive, size = size.tiny, transp = 50) plotshape(down,"Down Marker", shape.triangledown, location.abovebar, color = orange, size = size.tiny, transp = 50) plotshape(up2,"Up Twice Marker", shape.triangleup, location.belowbar, color = white, size = size.small) plotshape(down2,"Down Twice Marker", shape.triangledown, location.abovebar, color = white, size = size.small) plotshape(close_trade,"Close Trigger", shape.circle, location.belowbar, color = fuchsia, size = size.tiny, transp = 50) plotshape(close_trade2,"Close Trigger2 (After Twice Alert)", shape.circle, location.belowbar, color = red, size = size.small) //Strategy Testing // Component Code Start // Example usage: // if testPeriod() // strategy.entry("LE", strategy.long) testStartYear = input(2017, "Backtest Start Year") testStartMonth = input(01, "Backtest Start Month") testStartDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(7, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => true // Component Code Stop //Entry and Close settings if testPeriod() and backtest_option == true strategy.entry("up2", true, when = up2, limit = close) strategy.close("up2", when = close_trade) if testPeriod() and backtest_option == false strategy.entry("up", true, when = up, limit = close) strategy.close("up", when = close_trade)