ARGOレンジブレークアウト戦略は,チャネルブレークアウト原理にインスピレーションを受けた4時間のレンジ取引システムである.重要な価格動きを捕捉するために4時間のタイムフレーム内で取引信号を生成する.
この戦略は,最初にチャネル範囲を形成するために,定義された期間中の最高高値 (upBound) と最低低値 (downBound) を計算する.その後,ボリンジャーチャネルのミッドライン,上帯,下帯を計算する.チャネル方向が変化すると購入・販売信号が起動する.
具体的には,この戦略は,N 期間にわたってアップバウンドとダウンバウンドを計算する (デフォルト47).その後,比率点 (デフォルト1) とトレランストール (デフォルト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)