Beispiel #1
0
 void PlayComplete(object sender, RunWorkerCompletedEventArgs e)
 {
     string[] r = _msg.ToString().Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
     debugControl1.BeginUpdate();
     foreach (string l in r)
     {
         debug(l);
     }
     debugControl1.EndUpdate();
     ig.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells);
     SafeBindingSource.refreshgrid(dg, tbs);
     SafeBindingSource.refreshgrid(ig, ibs);
     SafeBindingSource.refreshgrid(og, obs);
     SafeBindingSource.refreshgrid(fg, fbs);
     c.redraw();
     _tr.Clear();
     _tr.NewResultTrades(resname + "." + PrettyEPF(), _tradelist);
     _tr.Refresh();
     if (e.Error != null)
     {
         debug(e.Error.Message + e.Error.StackTrace);
         status("Terminated because of an Exception.  See messages.");
     }
     else if (e.Cancelled)
     {
         status("Canceled play.");
     }
     else
     {
         status("Reached next " + pt.ToString() + " at time " + KadTime);
     }
 }
Beispiel #2
0
        void HistSource_gotTick(Tick t)
        {
            line++;
            DateTime d     = Util.FT2DT(t.time);
            string   time  = d.ToString("HH:mm:ss");
            string   trade = "";
            string   bid   = "";
            string   ask   = "";
            string   ts    = "";
            string   bs    = "";
            string   os    = "";
            string   be    = "";
            string   oe    = "";
            string   ex    = "";
            string   depth = "";
            string   date  = t.date.ToString();

            if (t.isIndex)
            {
                trade = t.trade.ToString(_dpf);
            }
            else if (t.isTrade)
            {
                trade = t.trade.ToString(_dpf);
                ts    = t.size.ToString();
                ex    = t.ex;
            }
            if (t.hasBid)
            {
                bs    = t.bs.ToString();
                be    = t.be;
                bid   = t.bid.ToString(_dpf);
                depth = t.depth.ToString();
            }
            if (t.hasAsk)
            {
                ask   = t.ask.ToString(_dpf);
                oe    = t.oe;
                os    = t.os.ToString();
                depth = t.depth.ToString();
            }

            _dt.Rows.Add(time, trade, ts, ex, bid, ask, bs, os, be, oe, depth, date);
            if (Math.Abs(_dg.FirstDisplayedScrollingRowIndex - _dt.Rows.Count) < 100)
            {
                SafeBindingSource.refreshgrid(_dg, _bs, false);
            }
            int per = (int)(100 * line / (double)total);

            if (per % 5 == 0)
            {
                bw.ReportProgress(per);
            }
        }
Beispiel #3
0
 void refresh()
 {
     if (_dg.InvokeRequired)
     {
         _dg.Invoke(new VoidDelegate(refresh));
     }
     else
     {
         SafeBindingSource.refreshgrid(_dg, _bs, true);
     }
 }
Beispiel #4
0
        void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            SafeBindingSource.refreshgrid(_dg, _bs, false);
            SecurityImpl s = (SecurityImpl)e.Argument;

            s.HistSource.gotTick += new TickDelegate(HistSource_gotTick);
            line = 0;
            while (s.HistSource.NextTick() && !bw.CancellationPending)
            {
                ;
            }

            status(headline + " (cleaning up)");
            s.HistSource.Close();
        }
Beispiel #5
0
 void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     toolStripProgressBar1.Value = 0;
     if (autoresizebut.Checked)
     {
         status("Resizing columns, please wait...");
         _dg.AutoResizeColumns();
     }
     if (e.Error != null)
     {
     }
     else if (!e.Cancelled)
     {
         status(headline);
     }
     SafeBindingSource.refreshgrid(_dg, _bs, true);
 }
Beispiel #6
0
 void reset(bool reloadcurrentstudy)
 {
     try
     {
         // clear all GUIs
         _msg      = new StringBuilder(10000);
         SimBroker = new Broker();
         debugControl1.Clear();
         dt.Clear();
         ptab.Clear();
         poslist.Clear();
         _tradelist.Clear();
         ot.Clear();
         ft.Clear();
         _tabs.Refresh();
         c = new ChartControl();
         _tr.Clear();
         if (it != null)
         {
             it.Clear();
             it.Columns.Clear();
             ig.Invalidate();
             SafeBindingSource.refreshgrid(ig, ibs, true);
         }
         unbindresponseevents();
         if (reloadcurrentstudy)
         {
             loadsim();
             loadboxname(resname);
         }
         else
         {
             epffiles.Clear();
         }
         nowtime = "0";
     }
     catch (Exception ex)
     {
         status("An error occured, try again.");
         debug("reset error: " + ex.Message + ex.StackTrace);
     }
 }