ORB
ORB
0 at
https://mozilla.org/MPL/2.0/
// © VEMO0020
//@version=4
if is_first //newbar
orbl:=low
orbh:=high
plot(orbh,color=color.blue,style=plot.style_circles,linewidth=2)
plot(orbl,color=color.red,style=plot.style_circles,linewidth=2)
strategy.risk.max_intraday_filled_orders(count=2)
//**********************************
//Algobaba Integration START
//Declare your Buy and Sell conditions don't change the variable name
//**********************************
buySignal = crossover(high,orbh)
sellSignal = crossunder(low,orbl)
bsym=syminfo.ticker
// SETTING UP VARIABLES //
tlg=input(defval=true,title="Long ",inline="tdir",group="Trade Setup:")
tst=input(defval=false,title="Short <<||>> Trade in: ",inline="tdir",group="Trade
Setup:")
stag=input(title="Strategy
Type:",defval="BNOPTIONS",type=input.string,inline="hpar2",group="Trade Setup:")
qty=input(title="Quantity:",type=input.integer,defval=1,minval=1,
maxval=10,inline="hpar2",group="Trade Setup:",tooltip="Qty in Lots")
//trade_side = tst?"Short":"Long"
trade_side=tlg and tst?"Both":tlg?"Long":"Short"
csym= otype=="Futures"?bsym:bsym+stype+"CE"
psym= otype=="Futures"?bsym:bsym+stype+"PE"
//csym= bsym+stype+"CE"
//psym= bsym+stype+"PE"
if otype=="Hedge"
lx := "TYPE: LX :SYMBOL:"+bsym+":QTY:"+tostring(qty)+":STAG:"+stag+";\n"+"TYPE:
LX :SYMBOL:"+bsym+stype+"PE"+":QTY:"+tostring(qty)+":STAG:"+stag //NIFTYCALL
sx := "TYPE: SX :SYMBOL:"+bsym+":QTY:"+tostring(qty)+":STAG:"+stag+";\n"+"TYPE:
LX :SYMBOL:"+bsym+stype+"CE"+":QTY:"+tostring(qty)+":STAG:"+stag //NIFTYPUT
le := "TYPE: LE :SYMBOL:"+bsym+":QTY:"+tostring(qty)+":STAG:"+stag+";\n"+"TYPE:
LE :SYMBOL:"+bsym+stype+"PE"+":QTY:"+tostring(qty)+":STAG:"+stag //NIFTYCALL
se := "TYPE: SE :SYMBOL:"+bsym+":QTY:"+tostring(qty)+":STAG:"+stag+";\n"+"TYPE:
LE :SYMBOL:"+bsym+stype+"CE"+":QTY:"+tostring(qty)+":STAG:"+stag //NIFTYPUT
else
lx:= "TYPE: LX :SYMBOL:"+csym+":QTY:"+tostring(qty)+":STAG:"+stag //NIFTYCALL
sx:= (otype=="Futures"? "TYPE: SX :SYMBOL:":"TYPE: LX :SYMBOL:")
+psym+":QTY:"+tostring(qty)+":STAG:"+stag //NIFTYPUT
le:= "TYPE: LE :SYMBOL:"+csym+":QTY:"+tostring(qty)+":STAG:"+stag //NIFTYCALL
se:= (otype=="Futures"? "TYPE: SE :SYMBOL:":"TYPE: LE :SYMBOL:")
+psym+":QTY:"+tostring(qty)+":STAG:"+stag //NIFTYPUT
// ****************
// Adding Stoploss and Target selection
// ****************
ut=input(defval=true,title="",inline="sltgtpts",group="Define SL & TGT in Points:")
tar1=input(defval=10.0,title="Target:",inline="sltgtpts",group="Define SL & TGT in
Points:")
us=input(defval=true,title="",inline="sltgtpts",group="Define SL & TGT in Points:")
stop1=input(defval=5.0,title="Stop Loss:",inline="sltgtpts",group="Define SL & TGT
in Points:")
customBuffer = input(defval=0,title="SL Buffer in Pts.",type=input.integer)
tar=tar1/syminfo.mintick
stop=stop1/syminfo.mintick
symbol=syminfo.ticker
// ****************
// INTRA DAY TRADE SESSION Initialization
// ****************
s=input(title="Start Session:",type=input.session,defval="0915-
1515",group="Intraday Session")
st=time(timeframe.period,s)
e=input(title="End Session:",type=input.session,defval="1515-1530",group="Intraday
Session")
et=time(timeframe.period,e)
// ****************
// ***************
// Algobaba ORDER Placement Section
//for long entry conditions store in buySignal variable and for short entry store
in sellSignal variables
// ***************
if otype=="Hedge"
buycond:= (buySignal and st)
sellcond:= (sellSignal and st)
// *****************************************
// Send signals to IAB based on user selection
// *****************************************
// BUY or SELL when condtions are met and within the Intraday Trading session and
backtesting date and time
// if(buycond and strategy.position_size==-1)
// strategy.entry("BUY", strategy.long,qty=qty, when = st,comment=sx+";"+le)
if(buycond and strategy.position_size==0)
strategy.entry("BUY", strategy.long,qty=qty, when = st ,comment=le)
//Send Exit signals to IAB for the open position if Target or Stop loss hit on
BANKNIFTY Future price
if(ut==true and us==false)
strategy.exit(id="LongExit",from_entry="BUY",profit=tar,stop=(orbl-
customBuffer),comment=lx)
strategy.exit(id="ShortExit",from_entry="SELL",profit=tar,stop=(orbh+customBuffer),
comment=sx)
if(us==true and ut==false)
strategy.exit(id="LongExit",from_entry="BUY",loss=stop,comment=lx)
strategy.exit(id="ShortExit",from_entry="SELL",loss=stop,comment=sx)
// *****************************************
//ADDING SQUAREOFF TIME or Manul close all open positions
// *****************************************
strategy.close(id="BUY", when=et, comment=lx)
strategy.close(id="SELL", when=et, comment=sx)