Ejemplo n.º 1
0
 public StarterConfigView(Execute execute, StarterConfig vm)
 {
     log          = Factory.SysLog.GetLogger(typeof(StarterConfig));
     trace        = log.IsTraceEnabled;
     this.vm      = vm;
     this.execute = execute;
     InitializeComponent();
 }
Ejemplo n.º 2
0
 public StarterConfigView(Execute execute, StarterConfig vm)
 {
     log          = Factory.SysLog.GetLogger(typeof(StarterConfig));
     this.vm      = vm;
     this.execute = execute;
     InitializeComponent();
     execute.OnUIThreadLoop(ProcessMessages);
 }
Ejemplo n.º 3
0
 public void WaitForEngine(StarterConfig config)
 {
     while (!config.IsEngineLoaded)
     {
         Thread.Sleep(1);
         Application.DoEvents();
     }
 }
Ejemplo n.º 4
0
        private StarterConfig CreateSimulateConfig()
        {
            var config = new StarterConfig("test");

            //config.ServiceConfig = "WarehouseTest.config";
            //config.ServicePort = servicePort;
            //config.ProviderAssembly = "TickZoomCombinedMock";

            WaitForEngine(config);
            return(config);
        }
Ejemplo n.º 5
0
        public static void Pause(this StarterConfig config, int seconds)
        {
            long end = Factory.TickCount + (seconds * 1000);
            long current;

            while ((current = Factory.TickCount) < end)
            {
                Application.DoEvents();
                config.Catch();
                Thread.Sleep(1);
            }
        }
Ejemplo n.º 6
0
        public static void WaitComplete(this StarterConfig config, int seconds, Func <bool> onCompleteCallback)
        {
            long end = Factory.TickCount + (seconds * 1000);

            while (Factory.TickCount < end)
            {
                config.Catch();
                if (onCompleteCallback != null && onCompleteCallback())
                {
                    return;
                }
                Thread.Sleep(1);
            }
        }
Ejemplo n.º 7
0
 static void Main()
 {
     try {
         DebugWriter d = new DebugWriter();
         System.Console.SetOut(d);
         Application.EnableVisualStyles();
         Application.SetCompatibleTextRenderingDefault(false);
         var vm      = new StarterConfig();
         var execute = Execute.Create();
         var form    = new StarterConfigView(execute, vm);
         AutoModelBinder.Bind(vm, form, execute);
         Application.Idle += execute.MessageLoop;
         Application.Run(form);
     } catch (Exception ex) {
         Console.WriteLine(ex.GetType() + ": " + ex.Message + Environment.NewLine + ex.StackTrace);
         System.Diagnostics.Debug.WriteLine(ex.GetType() + ": " + ex.Message + Environment.NewLine + ex.StackTrace);
     }
 }
Ejemplo n.º 8
0
        private void StartGUI(StarterConfig config, out StarterConfigView outForm)
        {
            WaitForEngine(config);
            var isRunning          = false;
            StarterConfigView form = null;

            guiThread = new Thread(() => {
                Thread.CurrentThread.Name = "GUIThread";
                execute = Execute.Create();
                form    = new StarterConfigView(execute, config);
                AutoModelBinder.Bind(config, form, execute);
                Application.Idle += execute.MessageLoop;
                form.Visible      = false;
                isRunning         = true;
                Application.Run();
            });
            guiThread.Start();
            config.WaitComplete(30, () => { return(isRunning); });
            outForm = form;
        }
Ejemplo n.º 9
0
        public void TestGUIIteration()
        {
            var appData = Factory.Settings["PriceDataFolder"];

            File.Delete(appData + @"\ServerCache\IBM.tck");
            var config             = new StarterConfig();
            StarterConfigView form = null;

            StartGUI(config, out form);
            try {
                config.WaitComplete(2);
                config.SymbolList = "IBM";
                StrategyBaseTest.CleanupFiles(config.SymbolList, null);
                config.DefaultPeriod  = 10;
                config.DefaultBarUnit = BarUnit.Second.ToString();
                config.ModelLoader    = "Example: Breakout Reversal";
                config.StarterName    = "Realtime Operation (Demo or Live)";
                config.Start();
                config.WaitComplete(30, () => { return(form.PortfolioDocs.Count > 0); });
                Assert.Greater(form.PortfolioDocs.Count, 0);
                var chart = form.PortfolioDocs[0].ChartControl;
                config.WaitComplete(30, () => { return(chart.IsDrawn); });
                var pane = chart.DataGraph.MasterPane.PaneList[0];
                Assert.IsNotNull(pane.CurveList);
                config.WaitComplete(30, () => { return(pane.CurveList.Count > 0); });
                Assert.Greater(pane.CurveList.Count, 0);
                var chartBars = (OHLCBarItem)pane.CurveList[0];
                config.WaitComplete(60, () => { return(chartBars.NPts >= 3); });
                Assert.GreaterOrEqual(chartBars.NPts, 3);
                config.Stop();
                config.WaitComplete(30, () => { return(!config.CommandWorker.IsBusy); });
                Assert.IsFalse(config.CommandWorker.IsBusy, "ProcessWorker.Busy");
            } catch (Exception ex) {
                log.Error("Test failed with error: " + ex.Message, ex);
                Environment.Exit(1);
            } finally {
                execute.Exit();
                guiThread.Join();
            }
        }
Ejemplo n.º 10
0
 public static void WaitComplete(this StarterConfig config, int seconds)
 {
     config.WaitComplete(seconds, null);
 }