Overall Statistics
Total Trades
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Net Profit
0%
Sharpe Ratio
0
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
0
Tracking Error
0
Treynor Ratio
0
Total Fees
$0.00
import numpy as np
from datetime import datetime

class williams(QCAlgorithm):

    def Initialize(self):
        
        self.SetStartDate(2017,12,1)  #Set Start Date
        self.SetEndDate(2017,12,14)    #Set End Date
        self.SetCash(100000)           #Set Strategy Cash
        self.AddEquity("SPY", Resolution.Minute)
        self.spy = self.AddEquity("SPY", Resolution.Minute).Symbol
        
        # at market close
        self.Schedule.On(self.DateRules.EveryDay(self.spy), \
        self.TimeRules.BeforeMarketClose(self.spy, -5), \
        Action(self.EveryDayAtMarketClose))
        
        
    def OnData(self,data):
        pass
    
    def EveryDayAtMarketClose(self):
        
        lookback = 14
        hist = self.History(self.spy, lookback, Resolution.Daily)
        
        highest_high = max(hist['high'][-lookback:])
        lowest_low = min(hist['low'][-lookback:])
        close = float(self.Securities[self.spy].Close)
        
        self.will = (highest_high - close) / (highest_high - lowest_low) * - 100
        
        self.Log('will {}'.format(self.will))
        
        self.Plot('Trade Plot', 'Williams%R:', self.will)