La estrategia Big Surge Big Fall detecta grandes velas alcistas y bajistas para entrar en posiciones. Se corta cuando se detecta una gran velas alcista y se hace larga cuando se detecta una gran velas bajista. La stop loss se coloca por debajo del mínimo de la velas de señal (lo contrario para largo), y el take profit se establece en 1 veces la stop loss. Los usuarios pueden definir el tamaño mínimo de las velas alcistas / bajistas y el múltiplo del rango de barras promedio durante ciertos períodos.
La lógica central de esta estrategia es la siguiente:
Calcular el rango de candlestick actual (alto - bajo) y el tamaño del cuerpo del candlestick (positivo si se cierra > abierto, negativo si se cierra < abierto)
Calcular el rango promedio durante los últimos N candeleros
Compruebe si el candelabro actual satisface: rango >= rango medio x múltiplo Y tamaño del cuerpo >= rango x coeficiente de tamaño del cuerpo min
Si se cumplen las condiciones anteriores, se activa una señal: ir corto en candelero alcista, ir largo en candelero bajista
Opción para habilitar el stop loss y el take profit: stop loss a bajo precio más coeficiente de stop loss x rango; take profit a 1 x stop loss
El filtro del tamaño del cuerpo excluye el doji. El rango promedio dinámico se adapta a los cambios del mercado. El stop loss y take profit permite un control razonable de la caída.
La mayor ventaja de esta estrategia es la captura de señales de inversión de tendencia de alta calidad, basadas en dos juicios:
El enorme candelero alcista / bajista probablemente indica que una tendencia se ha agotado después de un movimiento extendido
El intervalo anormalmente amplio que supera la media dinámica confirma la importancia de la
Además, los ajustes de stop loss y take profit son razonables, lo que permite un control efectivo de pérdidas sin perseguir.
En general, esta estrategia logra identificar puntos de inflexión estructurales de alta calidad, lo que permite una ejecución eficiente.
Los principales riesgos provienen de dos aspectos:
Las barras enormes podrían ser la caza de pérdidas, creando señales falsas
El límite de pérdida puede ser demasiado amplio para controlar eficazmente la pérdida
Para el primer riesgo, la adición de filtros de tamaño mínimo puede reducir las señales falsas, pero también perder oportunidades.
Para el segundo riesgo, ajustar el coeficiente de stop loss puede optimizar las paradas cerca de los soportes sin ser demasiado apretadas.
Esta estrategia puede mejorarse de varias maneras:
Añadir un filtro de dirección de tendencia para evitar operaciones contra tendencia
Optimiza los parámetros mediante backtesting para encontrar la mejor combinación
Añadir un filtro de volumen para garantizar un alto volumen en los candelabros enormes
Considere filtros adicionales como promedio móvil, bandas de Bollinger para reducir las señales falsas
Parámetros de ensayo en diferentes productos para su optimización
Añadir pérdida de parada de seguimiento para el ajuste dinámico basado en la acción del precio
Considerar las oportunidades de reingreso después de la parada inicial de pérdida
Con las mejoras anteriores, esta estrategia puede ser mucho más efectiva y mejorar la probabilidad de ganancia.
La estrategia Big Surge Big Fall se beneficia de enormes inversiones de velas con gestión de pérdidas y ganancias. Identifica con éxito puntos de inflexión estructurales de alta calidad, proporcionando información valiosa para los operadores de tendencias. Con el parámetro y la optimización lógica, esta estrategia puede convertirse en una herramienta de decisión práctica. Su lógica simple y economía intuitiva también la hace fácil de entender y aplicar. En general, esta estrategia proporciona un marco sólido que vale la pena investigar e implementar.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tweakerID // This strategy detects and uses big bars to enter a position. When the Big Bar // is bearish (red candle) the position will be long and viceversa // for short positions. The stop loss (optional) is placed on the low of the // candle used to trigger the position and user inputs allow you to modify the // size of the SL. Take profit is placed on a reward ratio of 1. User can also modify // the size of the bar body used to determine if we have a real Big Bar and // filter out Doji bars. Big Bars are determined relative to the previous X period size, // which can also be modified, as well as the required size of the Big Bar relative to this period average. //@version=4 strategy("Big Bar Strategy", overlay=false) direction = input(0, title = "Direction (Long=1, Both=0, Short=-1 ", type=input.integer, minval=-1, maxval=1) strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long)) //Inputs barsizemult=input(1, step=.1, title="SL Mult") TPbarsizemult=input(1, step=.1, title="TP Mult") barsizeThreshold=input(.5, step=.1, minval=.5, maxval=.9, title="Bar Body Size") period=input(10) mult=input(2, step=.2, title="Big Size Avg Mult to determine Big Bar") i_reverse=input(false, title="Reverse Trades") SLon=input(false, title="Use SL / TP") //Calculations barsize=high-low barbodysize=close>open?(open-close)*-1:(open-close) barsizeavg=sum(barsize, period)/period bigbar=barsize >= barsizeavg*mult and barbodysize>barsize*barsizeThreshold //Entry Logic longCondition = close < open and bigbar //and strategy.position_size==0 shortCondition = close > open and bigbar //and strategy.position_size==0 //SL & TP Calculations longTP=strategy.position_avg_price + (valuewhen(longCondition,barsize,0)*TPbarsizemult) longSL=strategy.position_avg_price - (valuewhen(longCondition,barsize,0)*barsizemult) shortTP=strategy.position_avg_price - (valuewhen(shortCondition,barsize,0)*TPbarsizemult) shortSL=strategy.position_avg_price + (valuewhen(shortCondition,barsize,0)*barsizemult) TP=strategy.position_size>0?longTP:shortTP SL=strategy.position_size>0?longSL:shortSL //Entries if (longCondition) strategy.entry("long", long=not i_reverse?true:false) alert("Big Bar") if (shortCondition) strategy.entry("short", long=not i_reverse?false:true) alert("Big Bar") if SLon strategy.exit("SL & TP", "long", stop=SL, limit=TP) strategy.exit("SL & TP", "short", stop=SL, limit=TP) // Plots barcolor(bigbar ? color.white : na) plot(barsizeavg, transp=100, title="Barsize Avg") plot(barsize, transp=100, title="Bar Size") plot(barbodysize, transp=100, title="Bar Body Size") plot(SLon?TP:na, color=color.green, style=plot.style_cross, title="TP") plot(SLon?SL:na, color=color.red, style=plot.style_cross, title="SL") plotshape(longCondition ? 1 : na, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Setup") plotshape(shortCondition ? 1 : na, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Setup")