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 |
using NodaTime; namespace QuantConnect { /* * Demonstration of Problem on data timing when plotting in the "cloud" Vs * desktop */ public class DataTimingProblem : QCAlgorithm { //Initialize the data and resolution you require for your strategy: public override void Initialize() { string _co = "CO"; //Start and End Date range for the backtest: SetStartDate(2016, 07, 26); SetEndDate(2016, 07, 28); //Cash allocation SetCash(25000); //Add as many securities as you like. All the data will be passed into the event handler: AddData<RCL>(_co); // AddData<RCL>(_co, Resolution.Minute); // no effect var stockPlot = new Chart("Market Price Plot"); var assetPrice = new Series("Price", SeriesType.Line, 0); var rcCA1 = new Series("C1"); stockPlot.AddSeries(assetPrice); AddChart(stockPlot); } // public void OnData(TradeBars data) { // } // Event handler public void OnData(RCL data) { Plot("Market Price Plot", "Price", data.Value); Log(string.Format("{0} -> {1}: ${2}", data.Time, data.Symbol, data.Value)); } public class RCL : BaseData { public decimal CL = 0; // only one field public override SubscriptionDataSource GetSource(SubscriptionDataConfig config, DateTime date, bool isLive) { var url = "https://dl.dropboxusercontent.com/u/1049831/For_QC/rcoil20160727to28.csv"; return new SubscriptionDataSource(url, SubscriptionTransportMedium.RemoteFile); } public override BaseData Reader(SubscriptionDataConfig config, string line, System.DateTime date, bool isLive) { var rcBar = new RCL() { Symbol = config.Symbol }; try { var data = line.Split(','); /* * Date/time of imported custom data is in UTC with offset format, * some minor change made here to turn the parse output into UTC, * before feeding to ConvertFromUtc() */ // rcBar.Time = DateTime.ParseExact(data[0], "yyyy-MM-dd HH:mm:sszz", CultureInfo.InvariantCulture) // .ConvertFromUtc(TimeZones.Chicao); rcBar.Time = DateTime.ParseExact(data[0], "yyyy-MM-dd HH:mm:sszz", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal) .ConvertFromUtc(TimeZones.Chicao); // Parse data // For simplicity, only parse one column of data as example rcBar.CL = Convert.ToDecimal(data[4], CultureInfo.InvariantCulture); // rcBar.CL = Convert.ToDecimal(data[4]); // no effect rcBar.Value = rcBar.CL; } catch { } return rcBar; } } } }