Estrategia de ruptura de la banda ARGO


Fecha de creación: 2023-10-07 16:04:16 Última modificación: 2023-10-07 16:04:16
Copiar: 2 Número de Visitas: 712
1
Seguir
1617
Seguidores

Descripción general

La estrategia ARGO es una estrategia de negociación de bandas de 4 horas basada en una ruptura de canal. La estrategia combina el canal de Brin y el principio de ruptura para formar una señal de negociación en un período de 4 horas para capturar grandes fluctuaciones de precios.

Principio de estrategia

La estrategia comienza por calcular el rango de los precios más altos y más bajos en un determinado período para formar un canal. Luego, calcula la línea media del canal y la línea de browning de la subida y bajada del canal. Cuando la dirección del canal cambia, se forman señales de compra y venta.

Concretamente, la estrategia primero calcula el precio máximo upBound y el precio mínimo downBound en N ciclos (default 47 ciclos) para formar el límite superior y inferior de la vía. Luego se establece un punto de desviación (default 1) y tol de diferencia (default 1000) para calcular el límite superior y inferior de la vía. Se genera una señal de compra cuando el precio sube y baja por debajo de la vía.

Además, la estrategia también establece condiciones de stop loss. Comprar un stop loss cerca de la vía inferior y vender un stop loss cerca de la vía superior. El stop loss se establece como el porcentaje de pérdidas y ganancias objetivo de la entrada.

Análisis de las ventajas

  • Utilizando el principio de los canales de Brin, se puede ajustar el alcance de los canales en función de las fluctuaciones del mercado para evitar la influencia de las operaciones de ruido
  • Operaciones en ciclos de 4 horas, que permiten capturar las fluctuaciones de precios más grandes y generar mayores ganancias.
  • La combinación de estrategias de ruptura puede formar señales de negociación en los puntos de cambio de tendencia para capturar los saltos de precios a tiempo
  • Configuración de un Stop Loss para controlar el riesgo/beneficio por cada operación

Riesgos y soluciones

  • El portal de Brin es un lugar donde se pueden crear falsas brechas y se corre el riesgo de ser encerrado.
  • Operaciones de gran ciclo, propensas al riesgo de expansión de pérdidas
  • La configuración para dejar de rastrear no es razonable y puede generar pérdidas mayores de lo que se puede soportar.
  • La solución:
    • Configuración razonable de los parámetros de acceso para evitar falsas brechas
    • Determina con cuidado las posiciones y los puntos de parada
    • Optimización de las estrategias de stop-loss y control estricto del riesgo de una sola operación

Dirección de optimización

  • Optimización de los parámetros del canal de Brin para acercarlo a las fluctuaciones del mercado
  • Optimización de las estrategias de stop loss para lograr un ajuste dinámico de la relación riesgo-beneficio
  • Aumentar las condiciones de filtración de las transacciones para evitar que se encuentren en las altas.
  • Aumentar el juicio multifactorial para evitar que las falsas brechas generen señales erróneas
  • Mejora de la precisión de la toma de decisiones en combinación con indicadores de tendencias y volatilidad
  • Optimizar las estrategias de gestión de capital y ajustar las posiciones en función de las diferentes condiciones del mercado

Resumir

La estrategia ARGO es una estrategia de negociación de la línea media larga de 4 horas que utiliza el canal de Brin y el principio de la ruptura. En comparación con la negociación de la línea corta, la estrategia pone más énfasis en capturar los puntos de inflexión de la tendencia de la línea media larga en los precios.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-06 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

// strategy("ARGO_BAND-STRATEGY", overlay=true,default_qty_value=10000,scale=true,initial_capital=100,currency=currency.USD)

// A 4hours Breakout Strategy work in progres..it's  a starting point, thanks to all tradingview community
//How to use: test it only on gbpjpy 240 min, wait the end of the candle to place next order, red and blue dots are short and long stop orders, Targets are Upper and lowerBands. Test it and enjoy but use at your own risk..
//2016 © F.Peluso


risk=input(title="Risk", defval=1)
length = input(title="Length",  minval=1, maxval=1000, defval=47)
stopBound=input(title="Previous",defval=10)
upBound = highest(high, length)
downBound = lowest(low, length)
point=1
tol=1000
stopT=input(title="Stop", defval=5,minval=1, maxval=5)
dev =input(title="Tolerance",defval=2,minval=1, maxval=5)
limitBoundUp=( highest(high, length))*(point-(dev/tol))
limitBoundDown=downBound/(point-(dev/tol))
plot(limitBoundUp[1],linewidth = 3,style = circles, color = navy,trackprice=true),transp=0
plot(limitBoundDown[1],linewidth = 3,style = circles, color = red,trackprice=true,transp=0)
mezzalinea=((upBound+downBound)/2)

// Color Bands

colo = ((close>limitBoundUp[1]) ? blue : (close<upBound[1]) ? white : na)
UpB = plot(upBound[1], title="Upper Bound", style=linebr, linewidth=1, color=colo)
DownB = plot(limitBoundUp[1] ,title="Lower Bound", style=linebr, linewidth=2, color=colo)
fill(UpB, DownB, color=colo, transp=90)

plot(limitBoundUp[2]/(point+(stopT/tol)),color=colo)

coloS = ((close<limitBoundDown[1]) ? red : (close>downBound[1]) ? white : na)
DB = plot(downBound[1], title="Upper Bound", style=linebr, linewidth=1, color=coloS)
DoB = plot(limitBoundDown[1] ,title="Lower Bound", style=linebr, linewidth=2, color=coloS)
fill(DB, DoB, color=coloS, transp=90)

plot(limitBoundDown[2]*(point+(stopT/tol)),color=coloS)

// Strategy

past=input(title="Past", defval=5)
buy=(crossover(close,limitBoundUp))
closebuy=cross(high[past],upBound[0])
stopbuy = limitBoundUp[2]/(point+(stopT/tol))

sell=crossunder(close,limitBoundDown)
closesell=cross(low[past],downBound[0])


if (not na(close[length]))
    if (buy)
        strategy.entry("ChBrkLE", strategy.long,stop=limitBoundUp - syminfo.mintick,comment="Long I")   

strategy.close("ChBrkLE",when=closebuy)

if (not na(close[length]))
    if (sell)
        strategy.entry("ChBrkSE", strategy.short,stop=limitBoundDown + syminfo.mintick,comment="Short I")   

strategy.close("ChBrkSE",when=closesell)

Target =input(0) * 10 
Stop = input(90) * 10 
Trailing = input(40) * 10
CQ = 100
TPP = (Target > 0) ? Target : na
SLP = (Stop > 0) ? Stop : na
TSP = (Trailing > 0) ? Trailing : na
strategy.exit("Out Short", "ChBrkSE", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Out Long", "ChBrkLE", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)