ARGO 범위 브레이크아웃 전략은 채널 브레이크아웃 원칙에 영감을 받은 4시간 범위 거래 시스템이다. 중요한 가격 움직임을 포착하기 위해 4시간 시간 내에 거래 신호를 생성한다.
이 전략은 먼저 채널 범위를 형성하기 위해 정의된 기간 동안 가장 높은 최고 (upBound) 및 가장 낮은 최저 (downBound) 를 계산합니다. 그 다음 볼링거 채널의 중간선, 상위 대역 및 하위 대역을 계산합니다. 채널 방향이 변경되면 구매 및 판매 신호가 유발됩니다.
구체적으로, 전략은 N 기간 동안의 상향 및 하향을 계산합니다. 그 다음 비율 포인트 (디폴트 1) 및 허용 Tol (디폴트 1000) 를 설정하여 채널의 상위 한계 BoundUp 및 하위 한계 BoundDown를 계산합니다. 가격이 하위 한계를 넘을 때 구매 신호가 유발됩니다. 가격이 상위 한계를 넘을 때 판매 신호가 유발됩니다.
또한 스톱 로즈 및 트레이프 조건이 구성되어 있습니다. 긴 트레이드의 스톱 로즈는 하위 한계 근처에, 짧은 트레이드의 경우 상위 한계 근처에 설정되어 있습니다. 트레이프 수익은 입력 목표 이익/손실 비율에 기반합니다.
ARGO 범위 브레이크아웃 전략은 볼링거 채널과 브레이크아웃 원리에 기반한 4시간 중장기 거래 시스템이다. 단기 거래와 비교하면 중장기 시간 프레임에서 트렌드 반전을 잡는데 더 초점을 맞추고 있다. 적절한 최적화와 함께, 다양한 시장 환경에 적응하고 위험을 조절하면서 상당한 이윤을 얻을 수 있다. 전략은 트렌드 추종과 위험 관리를 균형 잡는다. 그것은 권장 중장기 브레이크아웃 거래 시스템이다.
/*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)