Estrategia de inversión del patrón de doble sombra


Fecha de creación: 2023-11-07 17:00:52 Última modificación: 2023-11-07 17:00:52
Copiar: 1 Número de Visitas: 664
1
Seguir
1617
Seguidores

Estrategia de inversión del patrón de doble sombra

Descripción general

La estrategia de reversión de la forma de doble sombra es una estrategia de negociación de líneas cortas basada en la forma de la línea K. La estrategia se basa en la identificación de la aparición de formas especiales de la línea K en las que no existen líneas de sombra en dos líneas K consecutivas para juzgar las posibles oportunidades de reversión. Las ventajas de la estrategia son simples y fáciles de implementar, pero también existen ciertos riesgos a tener en cuenta.

El principio

La lógica central de la estrategia es identificar las formas de las columnas de doble sombra. Concretamente, la estrategia determina si la línea K actual satisface la condición de que el precio de apertura es igual al precio mínimo y el precio de cierre es igual al precio máximo, es decir, que no hay una línea de sombra inferior y una línea de sombra superior, esta línea K se llama línea de la sombra. Si la línea K anterior también satisface esta condición, se considera que hay dos líneas de sombra consecutivas, es decir, la forma de las columnas de doble sombra.

Según la teoría del análisis técnico, esta forma de doble sombra suele indicar que la tendencia actual está a punto de revertirse. Como los precios de las dos líneas K consecutivas fluctúan dentro de un rango muy estrecho, indica que las fuerzas de los compradores y los vendedores se están equilibrando, lo que indica la posibilidad de una reversión.

Después de determinar la forma de doble sombra, la estrategia entrará en la dirección de hacer más o hacer menos al abrir la siguiente línea K al precio de cierre. Y después de la cantidad de barras establecidas, saldrá de la posición.

Las ventajas

  • La estrategia es clara y fácil de entender, la forma es sencilla de juzgar y es fácil de implementar.

  • Utilizando la clásica forma de doble sombra invertida, tiene una base de análisis técnico.

  • La baja frecuencia de operaciones es favorable para reducir los costos y riesgos de las transacciones.

  • Se puede agregar una función de retroalimentación para optimizar los parámetros.

El riesgo

  • Las transacciones de forma dependen de la probabilidad estadística de los gráficos históricos y no pueden evitarse completamente.

  • Aunque las dos sombras indican una reversión, esta no tiene por qué ocurrir o mantenerse.

  • El establecimiento de un intervalo de parada fijo es difícil de manejar en situaciones en las que las cosas funcionan rápidamente.

  • El hecho de ver solo una o dos líneas de K puede provocar una entrada demasiado radical.

Optimización de las ideas

  • Se puede combinar con indicadores de tendencia para evitar operaciones de reversión.

  • En el caso de que el vehículo se encuentre en una situación de emergencia, se puede esperar la señal de confirmación.

  • La suspensión de ganancias y pérdidas se puede realizar en función de la configuración dinámica de ATR, en lugar de un número fijo de días.

  • El aprendizaje automático puede ayudar a determinar qué formas de doble sombra son más fiables.

Resumir

La estrategia de inversión de doble sombra utiliza el concepto clásico de comercio de formas. La idea es simple e intuitiva, adecuada tanto para el aprendizaje de principiantes como para ser uno de los módulos del robot. Sin embargo, se debe tener en cuenta el control de riesgos, que se puede mejorar mediante la optimización de la sincronización y la detención.

Código Fuente de la Estrategia
/*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)