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 |
namespace QuantConnect { public class TestFutureTickData : QCAlgorithm { private int contractDOY, tickMinute; FuturesContract contract; public override void Initialize() { Log("Initialize"); SetStartDate(2017, 1, 1); SetEndDate(2017, 1, 30); SetCash(1000000); var futureCL = AddFuture(Futures.Energies.CrudeOilWTI, Resolution.Tick); //AddFuture(Futures.Indices.SP500EMini); futureCL.SetFilter(TimeSpan.Zero, TimeSpan.FromDays(182)); var benchmark = AddEquity("SPY"); SetBenchmark(benchmark.Symbol); } public override void OnData(Slice slice) { if (contractDOY != Time.DayOfYear) { foreach (var chain in slice.FutureChains) { foreach (var c in chain.Value) { if (c != null) { //Log("OnData(Slice slice): contract="+c.Symbol.Value); contract = c; contractDOY = Time.DayOfYear; } } } } } public void OnData(Ticks data) { // Ticks objects are piped into this method. if (contract != null && tickMinute != Time.Minute && Time.Hour > 9 && Time.Hour < 14) { List<Tick> ticks; if (data.TryGetValue(contract.Symbol, out ticks)) { foreach (var tb in ticks) { Log(contract.Symbol.Value + " Bid:" + tb.BidPrice.ToString("#.####") + " Ask:" + tb.AskPrice.ToString("#.####") + "Last:" + tb.LastPrice.ToString("#.##")); tickMinute = Time.Minute; } } } } public override void OnSecuritiesChanged(SecurityChanges changes) { foreach (var change in changes.AddedSecurities) { Log("Securities Added: " + change.Symbol.Value); } foreach (var change in changes.RemovedSecurities) { Log("Securities Removed: " + change.Symbol.Value); } } } }