//@version=4 strategy ("Box Theory AlgoJi",overlay=true) boxp=input(5, "BOX LENGTH") LL = lowest(low,boxp) k1 = highest(high,boxp) k2 = highest(high,boxp-1) k3 = highest(high,boxp-2) NH = valuewhen(high>k1[1],high,0) box1 = k3k1[1])==boxp-2 and box1, NH, 0) BottomBox = valuewhen(barssince(high>k1[1])==boxp-2 and box1, LL, 0) plot(TopBox, linewidth=2, color=#00FF00, title="TopBox") plot(BottomBox, linewidth=2, color=#FF0000, title="BottomBox") // if crossover(close,TopBox) // strategy.entry("Long", strategy.long, comment="Long") // if crossunder(close,BottomBox) // strategy.entry("Short", strategy.short, comment="Short") buy_signal = crossover(close,TopBox) sell_signal = crossunder(close,BottomBox) //INTRADAY AlgoJi s=input(title="INTRA DAY TRADE SESSION",type=input.session,defval="0915-1450") st=time(timeframe.period,s) e=input(title="END SESSION",type=input.session,defval="1515-1520") et=time(timeframe.period,e) quant=input(title="Trade Quantity",defval=1) //AlgoJi adding stoploss and target option ut=input(defval=false,title="USE TARGET") us=input(defval=false,title="USE STOPLOSS") tar=input(defval=10.0,title="TARGET IN RS") stop=input(defval=7.0,title="STOP LOSS IN RS") tar:=tar/syminfo.mintick stop:=stop/syminfo.mintick //setting automated alerts required by apibridge lxse="TYPE: LX" + " :SYMBOL: " + syminfo.ticker + " :QTY: " + tostring(quant) + " :TYPE:SE " + " :SYMBOL: " + syminfo.ticker + " :QTY: " + tostring(quant) sxle="TYPE: SX" + " :SYMBOL: " + syminfo.ticker + " :QTY: " + tostring(quant) + " :TYPE:LE " + " :SYMBOL: " + syminfo.ticker + " :QTY: " + tostring(quant) le="TYPE:LE " + " :SYMBOL: " + syminfo.ticker + " :QTY: " + tostring(quant) lx="TYPE:LX " + " :SYMBOL: " + syminfo.ticker + " :QTY: " + tostring(quant) se="TYPE:SE " + " :SYMBOL: " + syminfo.ticker + " :QTY: " + tostring(quant) sx="TYPE:SX " + " :SYMBOL: " + syminfo.ticker + " :QTY: " + tostring(quant) if(buy_signal and st and strategy.position_size==0) strategy.entry("BUY",strategy.long,comment=le) if(sell_signal and st and strategy.position_size==0) strategy.entry("SELL",strategy.short,comment=se) if(buy_signal and st and strategy.position_size!=0) strategy.entry("BUY",strategy.long,comment=sxle) if(sell_signal and st and strategy.position_size!=0) strategy.entry("SELL",strategy.short,comment=lxse) if(ut==true and us==false) strategy.exit(id="LX",from_entry="BUY",profit=tar,comment=lx) strategy.exit(id="SX",from_entry="SELL",profit=tar,comment=sx) if(us==true and ut==false) strategy.exit(id="LX",from_entry="BUY",loss=stop,comment=lx) strategy.exit(id="SX",from_entry="SELL",loss=stop,comment=sx) if(ut==true and us==true) strategy.exit(id="LX",from_entry="BUY",profit=tar,loss=stop,comment=lx) strategy.exit(id="SX",from_entry="SELL",profit=tar,loss=stop,comment=sx) strategy.close(id="BUY",when=et,comment=lx) strategy.close(id="SELL",when=et,comment=sx)