private void _t_OnRtnTrade(object sender, TradeArgs e) { // 11:03:27.6670057 _t_OnRtnOrderm1801 Buy Open 2889 1 1089408166 | 1 | 000030001000 10043369 全部成交 // 11:03:27.6689683 _t_OnRtnTrade: m1801 Buy Open 2879 1 Log($"OnRtnTrade 交易成交:{e.Value.InstrumentID}\t{e.Value.Direction}\t{e.Value.Offset}\t{e.Value.Price}\t{e.Value.Volume}"); this.addExecutioins((TradeField)e.Value); }
private void _t_OnRtnTrade(object sender, TradeArgs e) { Log($"trade:{e.Value.InstrumentID}\t{e.Value.Direction}\t{e.Value.Offset}\t{e.Value.Price}\t{e.Value.Volume}"); foreach (var v in _t.DicPositionField.Values) { Log($"posi:{v.InstrumentID}\t{v.Direction}\t{v.Price}\t{v.Position}"); } }
private void TradeExt_OnRtnTrade(object sender, TradeArgs e) { OrderField of; if (!DicOrderField.TryGetValue(e.Value.OrderID, out of)) { return; } if (!of.IsLocal) { return; } }
private void OnTrade(object sender, TradeArgs e) { var t = (Trade)sender; this.Invoke(new Action(() => { _bsTrade.Add(e.Value); var dirPosi = e.Value.Direction; if (e.Value.Offset != OffsetType.Open) { dirPosi = dirPosi == DirectionType.Buy ? DirectionType.Sell : DirectionType.Buy; } var posi = _t.DicPositionField[e.Value.InstrumentID + "_" + dirPosi]; if (_bsPosi.IndexOf(posi) < 0) //持仓0过滤 { _bsPosi.Add(posi); } if (posi.Position <= 0) //条件:Position>0 { _bsPosi.Remove(posi); } //测试一下:filterBindingList只在增减时才会执行 //if (_bsPosi.IndexOf(posi) < 0) // _bsPosi.Add(posi); //var list = _bsPosi.DataSource as SortableBindingList<PositionField>; //var p = list.FirstOrDefault(n => n.InstrumentID == e.Value.InstrumentID && n.Direction == dirPosi); //if (p == null) // _bsPosi.Add(_t.DicPositionField[e.Value.InstrumentID + "_" + dirPosi]); //else if (p.Position == 0) // _bsPosi.Remove(p); })); }
private void _t_OnRtnTrade(object sender, TradeArgs e) { Log($"{e.Value.InstrumentID}\t{e.Value.Direction}\t{e.Value.Offset}\t{e.Value.Price}\t{e.Value.Volume}"); }