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(); }
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(); }
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(); }