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 |
""" /* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ """ from QuantConnect.Data.Market import TradeBar from datetime import timedelta from datetime import datetime from System import * from QuantConnect import * from QuantConnect.Algorithm import * from QuantConnect.Indicators import * import decimal as d class MyAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2018, 5, 6) # Set Start Date self.SetEndDate(2018, 5, 14) # Set End Date self.SetCash(100000) # Strategy Cash self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage) self.symbol = self.AddEquity("SPY", Resolution.Second).Symbol # consolidate 60 seconds to for minute bars consolidator_minute = TradeBarConsolidator(60) consolidator_minute.DataConsolidated += self.OnMinuteData self.SubscriptionManager.AddConsolidator(self.symbol, consolidator_minute) # setup Rolling Window self.minute_rw = RollingWindow[TradeBar](2) # Schedule def to run 1 min after self.symbol opens self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.AfterMarketOpen(self.symbol, 1), Action(self.x_minute_after_open_market)) def OnMinuteData(self, sender, bar): self.minute_rw.Add(bar) def x_minute_after_open_market(self): if not (self.minute_rw.IsReady): return currBar1 = self.minute_rw[0] # Current bar has index 0. pastBar1 = self.minute_rw[1] # Past bar has index 1. self.Log("Script fired at (s/b 09:31) : {0}".format(self.Time)) self.Log("Past Bar Time on 1 min s/b FINAL 1 min of prior day") self.Log("Past Bar Price: Time: {0} Open: {1} High: {2} Low: {3} Close: {4}".format(pastBar1.Time, pastBar1.Open, pastBar1.High, pastBar1.Low, pastBar1.Close)) self.Log("Current Bar Time on 1 min s/b FIRST 1 min of current day") self.Log("Current Bar Price: Time: {0} Open: {1} High: {2} Low: {3} Close: {4}".format(currBar1.Time, currBar1.Open, currBar1.High, currBar1.Low, currBar1.Close))