Exemplo n.º 1
0
        /// <summary>
        /// Create the UX.
        /// </summary>
        public LeanWinForm()
        {
            InitializeComponent();

            //Form Setup:
            CenterToScreen();
            WindowState = FormWindowState.Maximized;
            Text        = "QuantConnect Lean Algorithmic Trading Engine: v" + Globals.Version;

            //GECKO WEB BROWSER: Create the browser control
            // https://www.nuget.org/packages/GeckoFX/
            // -> If you don't have IE.
#if !__MonoCS__
            Gecko.Xpcom.Initialize();

            _geckoBrowser = new GeckoWebBrowser {
                Dock = DockStyle.Fill, Name = "browser"
            };
            splitPanel.Panel1.Controls.Add(_geckoBrowser);
#else
            // MONO WEB BROWSER: Create the browser control
            // Default shipped with VS and Mono. Works OK in Windows, and compiles in linux.
            _monoBrowser = new WebBrowser()
            {
                Dock = DockStyle.Fill, Name = "Browser"
            };
            splitPanel.Panel1.Controls.Add(_monoBrowser);
#endif

            _logging = new QueueLogHandler();
        }
        public DesktopView()
        {
            InitializeComponent();
            browser.Loaded += OnLoaded;
            Unloaded       += OnUnloaded;
            _logging        = new QueueLogHandler();

//            Text = "QuantConnect Lean Algorithmic Trading Engine: v" + Globals.Version;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Create the UX.
        /// </summary>
        /// <param name="notificationHandler">Messaging system</param>
        /// <param name="job">Job to use for URL generation</param>
        public LeanWinForm(IMessagingHandler notificationHandler, AlgorithmNodePacket job)
        {
            InitializeComponent();

            //Form Setup:
            CenterToScreen();
            WindowState = FormWindowState.Maximized;
            Text        = "QuantConnect Lean Algorithmic Trading Engine: v" + Globals.Version;

            //Save off the messaging event handler we need:
            _job       = job;
            _liveMode  = job is LiveNodePacket;
            _messaging = (EventMessagingHandler)notificationHandler;
            var url = GetUrl(job, _liveMode);

            //GECKO WEB BROWSER: Create the browser control
            // https://www.nuget.org/packages/GeckoFX/
            // -> If you don't have IE.
#if !__MonoCS__
            Gecko.Xpcom.Initialize();

            _geckoBrowser = new GeckoWebBrowser {
                Dock = DockStyle.Fill, Name = "browser"
            };
            _geckoBrowser.DOMContentLoaded += BrowserOnDomContentLoaded;
            _geckoBrowser.Navigate(url);
            splitPanel.Panel1.Controls.Add(_geckoBrowser);
#else
            // MONO WEB BROWSER: Create the browser control
            // Default shipped with VS and Mono. Works OK in Windows, and compiles in linux.
            _monoBrowser = new WebBrowser()
            {
                Dock = DockStyle.Fill, Name = "Browser"
            };
            _monoBrowser.DocumentCompleted += MonoBrowserOnDocumentCompleted;
            _monoBrowser.Navigate(url);
            splitPanel.Panel1.Controls.Add(_monoBrowser);
#endif
            //Setup Event Handlers:
            _messaging.DebugEvent          += MessagingOnDebugEvent;
            _messaging.LogEvent            += MessagingOnLogEvent;
            _messaging.RuntimeErrorEvent   += MessagingOnRuntimeErrorEvent;
            _messaging.HandledErrorEvent   += MessagingOnHandledErrorEvent;
            _messaging.BacktestResultEvent += MessagingOnBacktestResultEvent;

            _logging = Log.LogHandler as QueueLogHandler;

            //Show warnings if the API token and UID aren't set.
            if (_job.UserId == 0)
            {
                MessageBox.Show("Your user id is not set. Please check your config.json file 'job-user-id' property.", "LEAN Algorithmic Trading", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            if (_job.Channel == "")
            {
                MessageBox.Show("Your API token is not set. Please check your config.json file 'api-access-token' property.", "LEAN Algorithmic Trading", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public void ChecksBothOpenInterestAndQuoteFiles()
        {
            var testHandler = new QueueLogHandler();

            Log.LogHandler = testHandler;
            var symbol = Symbol.CreateFuture("NonExisting", Market.USA, DateTime.UtcNow);
            var result = _provider.GetFutureContractList(symbol, new DateTime(2013, 10, 11)).ToList();

            Assert.IsTrue(testHandler.Logs.Any(entry =>
                                               entry.Message.Contains("BacktestingFutureChainProvider.GetFutureContractList(): Failed, files not found:")));
            Assert.IsEmpty(result);
        }
        public void ChecksBothOpenInterestAndQuoteFiles()
        {
            var testHandler = new QueueLogHandler();

            Log.LogHandler = testHandler;
            var originalValue = Log.DebuggingEnabled;

            Log.DebuggingEnabled = true;
            var symbol = Symbol.CreateFuture("NonExisting", Market.USA, new DateTime(2013, 11, 11));
            var result = _provider.GetFutureContractList(symbol, new DateTime(2013, 10, 11)).ToList();

            Log.DebuggingEnabled = originalValue;
            Assert.IsTrue(testHandler.Logs.Any(entry =>
                                               entry.Message.Contains("found no source of contracts for NONEXISTING 2X for date 20131011 for any tick type", StringComparison.InvariantCultureIgnoreCase)));
            Assert.IsEmpty(result);
        }
Exemplo n.º 6
0
        public void DisposeDoesNotErrorWhenStorageFolderAlreadyDeleted()
        {
            var testHandler = new QueueLogHandler();

            Log.LogHandler = testHandler;

            using (var store = new LocalObjectStore())
            {
                store.Initialize("unused", 0, 0, "", new Controls());

                Directory.Delete("./LocalObjectStoreTests/unused");
            }

            Assert.IsFalse(testHandler.Logs.Any(message =>
                                                message.Message.Contains("Error deleting storage directory.")));
        }