Estratégia de ruptura do alcance do ARGO

Autora:ChaoZhang, Data: 2023-10-07 16:04:16
Tags:

Resumo

A estratégia de ruptura de intervalo ARGO é um sistema de negociação de intervalo de 4 horas inspirado nos princípios de ruptura de canal.

Estratégia lógica

A estratégia primeiro calcula a maior alta (upBound) e a menor baixa (downBound) durante um período definido para formar o intervalo do canal.

Especificamente, a estratégia calcula o upBound e downBound ao longo de N períodos (padrão 47). Em seguida, define um ponto de relação (padrão 1) e toleração tol (padrão 1000), para calcular o limite superiorBoundUp e limite inferiorBoundDown do canal. Um sinal de compra é acionado quando o preço ultrapassa o limite inferior. Um sinal de venda é acionado quando o preço ultrapassa o limite superior.

Além disso, as condições de stop loss e take profit são configuradas. O stop loss para transações longas é definido perto do limite inferior, enquanto o de transações curtas está perto do limite superior. O take profit é baseado no índice de lucro/perda de meta de entrada.

Análise das vantagens

  • Utiliza os princípios do canal de Bollinger para se adaptar à volatilidade do mercado
  • O prazo de 4 horas visa capturar oscilações significativas de preços
  • Combinar a estratégia de ruptura ajuda a detectar inversões de tendência
  • O valor do risco/recompensa por operação

Riscos e soluções

  • Vulneráveis a falsas fugas e a serem presos.
  • Grandes prazos podem conduzir a perdas maiores
  • Uma parada de tracção inadequada pode causar perdas inaceitáveis
  • Soluções:
    • Otimizar os parâmetros do canal contra falhas
    • Determine cuidadosamente o dimensionamento da posição e os níveis de stop loss
    • Melhorar o stop loss/take profit para um controlo rigoroso do risco

Orientações de otimização

  • Otimizar os parâmetros dos canais para melhor adaptar-se à volatilidade do mercado
  • Ajuste dinâmico de stop loss/take profit para melhor risco/recompensa
  • Adicionar filtros de comércio para evitar armadilhas e perseguir altos
  • Incluir fatores adicionais para evitar sinais falsos
  • Combinar indicadores de tendência e volatilidade para melhores decisões
  • Otimizar a gestão de capitais para diferentes condições de mercado

Conclusão

A estratégia de ruptura do intervalo ARGO é um sistema de negociação de médio prazo de 4 horas baseado no canal de Bollinger e nos princípios de ruptura. Em comparação com a negociação de curto prazo, ela se concentra mais na captura de inversões de tendência em prazos de médio prazo. Com otimização adequada, ela pode se adaptar a diferentes ambientes de mercado e alcançar lucros significativos enquanto controla o risco. A estratégia equilibra o seguimento da tendência e o gerenciamento de risco.


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

Mais.