public UpdateTimer(GlobalObjects.TimeInterval interval)
 {
     _Businessday = CheckBusinessDay();
     _interval = interval;
     _timer.Interval = 500;
     _timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
     _UpdateStatus.Elapsed += new ElapsedEventHandler(_UpdateStatus_Elapsed);
     _UpdateStatus.Interval = 5000;
     _UpdateStatus.Start();
     if (_Businessday) _timer.Start();
     service = new WebUpdate();
 }
Beispiel #2
0
 public UpdateTimer(GlobalObjects.TimeInterval interval)
 {
     _Businessday           = CheckBusinessDay();
     _interval              = interval;
     _timer.Interval        = 500;
     _timer.Elapsed        += new ElapsedEventHandler(_timer_Elapsed);
     _UpdateStatus.Elapsed += new ElapsedEventHandler(_UpdateStatus_Elapsed);
     _UpdateStatus.Interval = 5000;
     _UpdateStatus.Start();
     if (_Businessday)
     {
         _timer.Start();
     }
     service = new WebUpdate();
 }
Beispiel #3
0
        public void SendOrderToMarket(Trade trade)
        {
            if (trade.BuyorSell != Trade.BuySell.None)
            {
                double price = WebSettings.TradeApproach.AdjustPriceToStrategy(trade, HiSat.LivePrice.Bid, HiSat.LivePrice.Offer);

                ExcelLink.xlTradeOrder o = new xlTradeOrder()
                {
                    BS       = trade.BuyorSell,
                    Price    = price,
                    Volume   = trade.TradeVolume,
                    Contract = trade.InstrumentName,
                };

                try
                {
                    if (ManualTrade.CanCloseTrade(trade))
                    {
                        WebUpdate.SetManualTradeTrigger(false);
                        e.Connect();
                        e.WriteOrder(o);
                        e.Disconnect();
                        OrderSendEvent oe = new OrderSendEvent();
                        oe.Success = true;
                        oe.Trade   = trade;
                        onOrderSend(this, oe);
                        e.StartCheckWhenOrderCompletedTimer(10000);
                    }
                }
                catch (Exception ex)
                {
                    OrderSendEvent oe = new OrderSendEvent();
                    oe.Success = false;
                    oe.Trade   = trade;
                    onOrderSend(this, oe);
                }
            }
        }
        private void MainForm_Load(object sender, EventArgs e)
        {
            WebSettings.GetSettings();
            var start = new LoadingStartupEvent();
            start.Progress = 10;
            onStartupLoad(this, start);

            CheckForIllegalCrossThreadCalls = false;
           //  Debug.WriteLine("Time Synched " + DoStuff.SynchronizeTime());
            _Interval = GlobalObjects.TimeInterval.Minute_5;

            start.Progress = 10;
            onStartupLoad(this, start);
            PopulateControls();

            start.Progress = 20;
            onStartupLoad(this, start);

            U5 = new UpdateTimer(_Interval);
            p = new PrepareForTrade(_Interval, WebSettings.General.HISAT_INST, GetParameters(), WebSettings.General.LIVE_START_DATE);
            marketOrder = new MarketOrder();


            p.onPriceSync += new PrepareForTrade.PricesSynced(p_onPriceSync);
            U5.onStartUpdate += new UpdateTimer.StartUpdate(U5_onStartUpdate);
            U5.OnManualCloseTrigger += new UpdateTimer.ManualCloseTrigger(U5_OnManualCloseTrigger);
            U5.OnConnectionExpired += new UpdateTimer.ConnectionExpired(U5_OnConnectionExpired);
            marketOrder.onOrderSend += new MarketOrder.OrderSend(marketOrder_onOrderSend);
            marketOrder.onOrderMatch += new MarketOrder.OrderMatch(marketOrder_onOrderMatch);
            _Stats.OnStatsCaculated += new Statistics.StatsCalculated(_Stats_OnStatsCaculated);


            start.Progress = 30;
            onStartupLoad(this, start);

            feed = new AlsiTrade_Backend.HiSat.LiveFeed(WebSettings.General.HISAT_INST);

            start.Progress = 60;
            onStartupLoad(this, start);

            BuildListViewColumns();

            start.Progress = 70;
            onStartupLoad(this, start);


            p._LastTrade = DoStuff.GetLastTrade(GetParameters(), _Interval);

            start.Progress = 80;
            onStartupLoad(this, start);


          
            Debug.WriteLine("LAST TRADE : " + p._LastTrade.TimeStamp + "   " + p._LastTrade);
            service = new WebUpdate();


            start.Progress = 100;
            onStartupLoad(this, start);

            WebUpdate.SetManualTradeTrigger(false);


            //test
            comboBox1.Items.Add(Trade.Trigger.None);
            comboBox1.Items.Add(Trade.Trigger.OpenLong);
            comboBox1.Items.Add(Trade.Trigger.OpenShort);
            comboBox1.Items.Add(Trade.Trigger.CloseLong);
            comboBox1.Items.Add(Trade.Trigger.CloseShort);

            comboBox2.Items.Add(Trade.BuySell.None);
            comboBox2.Items.Add(Trade.BuySell.Buy);
            comboBox2.Items.Add(Trade.BuySell.Sell);

           //Genetic plugin
            gb = GeneticBackend.GetSingletonGB();
            gb.Mf = this;
            gb.onUpdate += gb_onUpdate;
            gf.Show();
        }