public Arranger(IMatcherDataContainer dc, Action <Order, Order, decimal> saveDeal, Action <Order, bool> matched, Action <Order, int> pmatched, Func <Order, bool> redo, Market m, Action <Order, int, bool> pmatchedTrue) { pa = new PriceArrange(dc, saveDeal, matched, pmatched, redo, pmatchedTrue); mioc = new MarketIocArrange(dc, saveDeal, matched, pmatched, redo, pmatchedTrue); mpa = new MIocThenPriceArrange(dc, saveDeal, matched, pmatched, redo, pmatchedTrue); pfok = new PriceFokArrange(dc, saveDeal, matched, pmatched, redo, pmatchedTrue); mfok = new MarketFokArrange(dc, saveDeal, matched, pmatched, redo, pmatchedTrue); pa.Market = mioc.Market = mpa.Market = pfok.Market = mfok.Market = m; }
public ArrangeChecker(IMatcherDataContainer container, Action <Order> match, TextLog log) { this.container = container; this.Handle = match; this.log = log; t = new Timer(); t.Interval = 1000 * 5; t.Elapsed += t_Elapsed; }
public OrderMatcher(Market m) { matchLock = new object(); this.m = m; Container = new OrderContainer(this.RaiseOnFinish); arranger = new Arranger(Container, SaveDeal, Matched, PartialMatched, Redo, m, PartialMatchedTrue); arrangeChecker = new ArrangeChecker(Container, (o) => { //因为是合约是从容器中取出来的,所以不需要重新引发开始撮合和撮合结束事件 DoHandle(o, false); }, log); arrangeChecker.Start(); }
public void Dispose() { if (log != null) { log.Dispose(); log = null; } if (Container != null) { Container.Orders.Clear(); Container = null; } if (arrangeChecker != null) { arrangeChecker.Dispose(); arrangeChecker = null; } }
public MarketFokArrange(IMatcherDataContainer dc, Action <Order, Order, decimal> saveDeal, Action <Order, bool> matched, Action <Order, int> pmatched, Func <Order, bool> redo, Action <Order, int, bool> pmatchedTrue) { this.Container = dc; this.SaveDeal = saveDeal; this.Matched = matched; this.PartialMatched = pmatched; this.Redo = redo; this.PartialMatchedTrue = pmatchedTrue; }
public DeepDataPool2(IOptionModel model, IMatcherDataContainer container) { this.model = model; this.container = container; }