# 3 Trading Strategies You Can Code and Backtest on PHI 1 Right Now

(Disclaimer: These strategies were showcased as part of our educational webinar – Trading Strategies: Introduction on 18th September 2020. The purpose of sharing these strategies is purely educational. Please do not consider these for investment purpose)

#### 1. Pairs Trading Strategy (Using Kotak Bank & HDFC Bank using Day Frequency)

Init:

self.val = self.datas[0].close/self.datas[1].close

self.boll = BollingerBands(self.val, period=40, devfactor=2)

—————————————————————————————

Step:

if (self.val[0] < self.boll.lines.bot[0]) and (self.position.size==0):

self.sell(data = self.datas[1])

if (self.val[0] > self.boll.lines.mid[0]) and (self.position.size>0):

self.sell(data = self.datas[0])

#### 2. Trend Following Strategy (TURTLE TREND on Reliance Industries, 1 day)

Init:

class DonchianChannels(bt.Indicator):

lines = (‘dch’, ‘dcl’,)  #dc high, dc low

params = dict(

period=20,

lookback=-1,  # consider current bar or not

)

def _init_(self):

hi, lo = self.data.high, self.data.low

hi, lo = hi(self.p.lookback), lo(self.p.lookback)

self.l.dch = bt.ind.Highest(hi, period=self.p.period)

self.l.dcl = bt.ind.Lowest(lo,  period=self.p.period)

self.donchian = DonchianChannels()

self.count1 = 0

———————————————————————————————

Step:

if (self.data.close[0] > self.donchian.dch[0]) and (self.position.size==0):

order_target_percent(target=1)

if (self.data.close[0] < self.donchian.dcl[0]) and (self.position.size>0):

order_target_percent(target=0)

if (self.data.close[0] < self.donchian.dcl[0]) and (self.position.size==0):

order_target_percent(target=-1)

if (self.data.close[0] > self.donchian.dch[0]) and (self.position.size<0):

order_target_percent(target=0)

#### 3. Mean Reversion Strategy (ONGC Hour frequency; Calendar Selection: Wednesday)

Init:

self.boll = BollingerBands(period=21, devfactor=2)

self.count1 = 0

Step:

curr_date = self.datetime.datetime(ago=0)

if risk_control_window(curr_date):

if (close < self.boll.lines.bot) and (self.position.size==0):

order_target_percent(target=1)

if (self.position.size > 0):

self.count1 = self.count1 + 1

if (close > self.boll.lines.top) and (self.position.size>0) and (close[0] > close[-self.count1]):

order_target_percent(target=0)

self.count1 = 0

if (self.count1 > 4) and (close > self.boll.lines.mid) and (self.position.size>0) and (close[0] > close[-self.count1]):

order_target_percent(target=0)

self.count1 = 0

if (self.count1 > 4) and (close[0]/close[-self.count1] > 1.02) and (self.position.size>0):

order_target_percent(target=0)

self.count1 = 0

if (self.count1 > 4) and (close[0]/close[-self.count1] < 0.98) and (self.position.size>0):

order_target_percent(target=0)

self.count1 = 0

if (self.count1 > 10):

order_target_percent(target=0)

self.count1 = 0

READ :   Popular Momentum Indicators You Should Know

### How to use this code on PHI 1?

1. Copy & Paste the Init code in the – Enter initialize code here section
2. Copy & Paste the Step code in the – Enter step code here section
3. Click Run And Save

If you need any help or have any questions, then please schedule a demo session with us and we will help you out.