Overall Statistics
import numpy as np
from datetime import datetime

class williams(QCAlgorithm):

    def Initialize(self):
        
        self.SetStartDate(2017,12,10)  #Set Start Date
        self.SetEndDate(2017,12,17)    #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.AfterMarketOpen(self.spy, -15), \
        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-1:])
        lowest_low = min(hist['low'][-lookback-1:])
        close = float(self.Securities[self.spy].Close)
        
        self.will = (highest_high - close) / (highest_high - lowest_low) * - 100
        
        self.Debug('will {}'.format(self.will))
        
        #self.Plot('Trade Plot', 'Williams%R:', self.will)