public void AddXYKlineSingle(XYKline k) { lock (m_object) { this.m_singleKline.Add(k); } }
public void AddWholeXYKline(XYKline k) { lock (m_object) { this.m_wholeRealKline.Add(k); } }
/// <summary> /// 往表里添加成交明细记录 /// </summary> /// <param name="KSingle"></param> public void SetTradingItems(XYKline KSingle) { //其他线程调用 if (this.InvokeRequired) { IAsyncResult result = this.BeginInvoke(new Action <XYKline>(SetTradingItems), KSingle); return; } m_kSingle.Add(KSingle); if (EventRecodeChanged != null) { EventRecodeChanged(); } }
/// <summary> /// 收到平仓消息,则获取全局的交易明细计算资金值 /// </summary> public void CalNewQualityValue() { //其他线程调用 if (this.InvokeRequired) { IAsyncResult result = this.BeginInvoke(new Action(CalNewQualityValue)); return; } List <XYKline> kSingleList = KlineHandel.Instance.SINGLEREALKLINE; if (kSingleList == null || kSingleList.Count <= 0) { return; } //最新一笔明细 XYKline newKSingle = KlineHandel.Instance.SINGLEREALKLINE[KlineHandel.Instance.SINGLEREALKLINE.Count - 1]; if (KlineHandel.Instance.SINGLEREALKLINE.Count >= 2) { //倒数第二笔明细 XYKline lastKSingle = KlineHandel.Instance.SINGLEREALKLINE[KlineHandel.Instance.SINGLEREALKLINE.Count - 2]; if (lastKSingle.BUYOrSell == "买入持仓") { m_wholeNet = m_wholeNet + newKSingle.Price - lastKSingle.Price; } if (lastKSingle.BUYOrSell == "卖空持仓") { m_wholeNet = m_wholeNet + lastKSingle.Price - newKSingle.Price; } this.chart1.Series["净值"].Points.AddXY(m_nowCal, m_wholeNet); CalMaxDrowDownRadio(); } }