示例#1
0
        protected override void engine_Complete(RunWorkerCompletedEventArgs e)
        {
            string[] r = _messageBuilder.ToString().Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            foreach (string l in r)
            {
                //_activityModel.Messages.Add(new ObservableMessage {Message = l});
                Messages.Add(new ObservableMessage {
                    Message = l
                });
            }
            IndicatorTable = _indicatorTable;
            TickTable      = _tickCollection;
            OrderTable     = _orderCollection;
            FillTable      = _fillCollection;
            PositionTable  = _positionCollection;

            Plots = new ObservableCollection <TimePlot>(_plotMap.Values);
            //_updatePlots();

            string responseName    = _engineInfo.ResponseName;
            string prettyTickFiles = _engineInfo.PrettyTickFiles;
            var    name            = responseName + "." + prettyTickFiles;
            var    resultInstance  = DarkLightResults.GetDarkLightResults(name, _tradeList, engine_MessageUpdate, 0.0001m, 0.0012m);

            ResultsList = new ObservableCollection <KeyValuePair <string, string> >(PlottingUtilities.GetFieldAndPropertyValueList(resultInstance));
            Results     = resultInstance;

            _activityModel.NumberTestsCompleted = _activityModel.NumberTestsCompleted + 1;
            if (e.Error != null)
            {
                engine_MessageUpdate(e.Error.Message + e.Error.StackTrace);
                engine_StatusUpdate("Terminated because of an Exception.  See messages.");
            }
            else if (e.Cancelled)
            {
                engine_StatusUpdate("Canceled play.");
            }
            else
            {
                string playToString = _engineInfo.PlayToString;
                engine_StatusUpdate("Reached next " + playToString + " at time " + KadTime);
            }
        }
 public DarkLightResults(Results results)
 {
     PlottingUtilities.CopyParameters(results, this);
     NetProfitOrLoss = GrossPL - (HundredLots * 100 * ComPerShare);
     NetPerShare     = SharesTraded != 0 ? NetProfitOrLoss / SharesTraded : 0.0m;
 }