Example #1
0
        /// <summary>
        /// 秒表事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timer_Tick(object sender, EventArgs e)
        {
            SecurityLatestData newData = new SecurityLatestData();

            SecurityService.GetLatestData(securityCode, ref newData);
            if (!newData.equal(lastData))
            {
                lastData = newData;
                Invalidate();
            }
        }
Example #2
0
 /// <summary>
 /// 秒表事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void thisTimer_Tick(object sender, EventArgs e)
 {
     if (minuteMode)
     {
         if (minuteDatasPos < minuteDatas.Count)
         {
             minuteDatasPos++;
             UpdateDataToGraphMinute(minuteDatas, false);
             Invalidate();
         }
     }
     else
     {
         SecurityLatestData newData = new SecurityLatestData();
         SecurityService.GetLatestData(currentCode, ref newData);
         if (!newData.equal(lastData) && newData.m_volume > 0)
         {
             double close   = newData.m_close;
             double dVolume = 0;
             if (lastData.m_code.Length > 0)
             {
                 dVolume = newData.m_volume - lastData.m_volume;
             }
             SecurityData securityData = new SecurityData();
             securityData.date = (double)((long)newData.m_date / (cycle * 60) * (cycle * 60));
             if (cycle != 1440)
             {
                 securityData.date += (cycle * 60);
             }
             securityData.close = close;
             if (DataSource.RowsCount > 0)
             {
                 if (DataSource.GetXValue(DataSource.RowsCount - 1) == securityData.date)
                 {
                     if (securityData.close > DataSource.Get2(DataSource.RowsCount - 1, COLUMN_HIGH))
                     {
                         securityData.high = close;
                     }
                     else
                     {
                         securityData.high = DataSource.Get2(DataSource.RowsCount - 1, COLUMN_HIGH);
                     }
                     if (securityData.close < DataSource.Get2(DataSource.RowsCount - 1, COLUMN_LOW))
                     {
                         securityData.low = close;
                     }
                     else
                     {
                         securityData.low = DataSource.Get2(DataSource.RowsCount - 1, COLUMN_LOW);
                     }
                     securityData.open = DataSource.Get2(DataSource.RowsCount - 1, COLUMN_OPEN);
                     double oldVolume = DataSource.Get2(DataSource.RowsCount - 1, COLUMN_VOLUME);
                     oldVolume          += dVolume;
                     securityData.volume = oldVolume;
                 }
                 else
                 {
                     securityData.high   = close;
                     securityData.low    = close;
                     securityData.open   = close;
                     securityData.volume = dVolume;
                 }
             }
             else
             {
                 securityData.high   = close;
                 securityData.low    = close;
                 securityData.open   = close;
                 securityData.volume = dVolume;
             }
             List <SecurityData> datas = new List <SecurityData>();
             datas.Add(securityData);
             UpdateDataToGraph(datas, false);
             datas.Clear();
             lastData = newData;
         }
     }
 }