コード例 #1
0
ファイル: BOEngine.cs プロジェクト: dreamsql/Outter
        internal void CloseOrder(BO.Order order)
        {
            var account    = order.Owner.Owner;
            var addCommand = AddBOTransactionCommandFactory.Default.CreateByClose(account, order);

            addCommand.Execute();
            var closeTran = addCommand.Result;

            iExchangeEngine.Default.Execute(new OrderExecuteEventArgs(ExecuteContext.CreateExecuteDirectly(account.Id, closeTran.Id, ExecuteStatus.Filled)));
        }
コード例 #2
0
ファイル: HitService.cs プロジェクト: dreamsql/Outter
        private void HitExecutedOrder(Order order, Quotation quotation)
        {
            OrderHitStatus status    = order.HitAutoClosePrice(quotation, MarketManager.Now);
            Transaction    closeTran = null;

            if (status == OrderHitStatus.ToAutoLimitClose)
            {
                closeTran = this.CloseByLimit(order);
            }
            else if (status == OrderHitStatus.ToAutoStopClose)
            {
                closeTran = this.CloseByStop(order);
            }

            if (closeTran != null)
            {
                iExchangeEngine.Default.Execute(new OrderExecuteEventArgs(ExecuteContext.CreateExecuteDirectly(closeTran.Owner.Id, closeTran.Id, ExecuteStatus.Filled)));
            }
        }