ARGO波段突破戦略は,通路突破に基づく4時間波段の取引戦略である.この戦略は,ブリン通路と突破原理を組み合わせて,4時間間の間に取引信号を形成し,大きな価格変動を捕捉する.
この戦略は,まず,一定の周期における最高値と最低値の形成チャネル範囲を計算する. そして,チャネルの中央線とチャネル上下線のブリン線を計算する. チャネル方向が変化すると,購入と販売の信号が形成される.
具体的には,戦略は最初にNサイクル (デフォルト47サイクル) 内の最高価格upBoundと最低価格downBoundを計算し,チャネルの上下境界を形成する. そして,偏移率point (デフォルト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)