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.
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.
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.
/*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)