I have some trouble with the event scheduling system. Im trying to fire 3 events in a specific order but it doenst work.
( I have inserted a "test"-variable to show the problem)
self.test = 0
self.Schedule.On(self.DateRules.EveryDay("AAPL"), self.TimeRules.At(9, 25), self.BeforeOpen)
self.Schedule.On(self.DateRules.EveryDay("AAPL"), self.TimeRules.BeforeMarketClose("AAPL", 5), self.BeforeClose)
self.Schedule.On(self.DateRules.EveryDay("AAPL"), self.TimeRules.At(16, 5), self.AfterClose)
def BeforeOpen(self):
self.Debug(str(self.Time) + " before open // Test value: {} (expected to be 0)".format(self.test))
self.test = 1
def BeforeClose(self):
self.Debug(str(self.Time) + " before close // Test value: {} (expected to be 1)".format(self.test))
self.test = 2
def AfterClose(self):
self.Debug(str(self.Time) + " after close // Test value: {} (expected to be 2)".format(self.test)) # expected to be 2
self.test = 0 # reset the variable after market close
The result is:
https://i.imgur.com/EPyjuVO.png
As u can see the dates and the value of the test-variable get mixed up. Is there a way to fix this?