I found what was missing, and keeping question/answer in case somebody else will need it as well. Basically "Instrument" property has to be fileld as well in order to have valid Execution object and then later on valid(for my case) Trade object.
--------------------------
Hello guys,
before my question I'll put a bit of context:
- I need to create valid instance of virtual Trade object by filling minimum required properties
- I do NOT expect it executed/shown/participated in any of the NinjaTrader execution pipeline
- I want just to be able to pass it to methods which require ICollection<Trade> as parameter (sorry for abstraction here)
Here is what I tried so far:
TimeSpan barTime = Time[0] - Time[1]; Execution entryExecution = new Execution(); entryExecution.Price = Open[0]; entryExecution.Time = Time[0].Add(-barTime); entryExecution.StatementDate = entryExecution.Time.Date; entryExecution.IsEntry = true; entryExecution.Id = 11; entryExecution.ExecutionId = Guid.NewGuid().ToString(); Execution exitExecution = new Execution(); exitExecution.Price = Close[0]; exitExecution.Time = Time[0]; exitExecution.StatementDate = exitExecution.Time.Date; exitExecution.IsExit = true; exitExecution.Id = 22; exitExecution.ExecutionId = Guid.NewGuid().ToString(); Trade t = new Trade(entryExecution, exitExecution, 1); var virtualTrades = new List<Trade>(new Trade[]{ t });
Comment