Exemple #1
0
 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;
 }
Exemple #2
0
 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;
 }
Exemple #3
0
 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();
 }
Exemple #4
0
 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;
     }
 }
Exemple #5
0
 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;
 }
Exemple #6
0
 public DeepDataPool2(IOptionModel model,
                      IMatcherDataContainer container)
 {
     this.model     = model;
     this.container = container;
 }