private void ParseTransactionCommon(Commands.AddAutoCloseTransactionCommandBase command)
        {
            this.ParseCommon(command);
            command.CreateTransaction();
            TradeOption tradeOption = command.OrderType == OrderType.Limit ? TradeOption.Better : TradeOption.Stop;
            var         addAutoCloseOrderCommand = command.AddOrderCommandFactory.CreateByAutoClose(command.Result, command.OpenOrder, command.ClosePrice, tradeOption);

            addAutoCloseOrderCommand.Execute();
        }
Ejemplo n.º 2
0
 public void ShowTradeOptionDialog(object obj)
 {
     if (lastSelectedOption != null)
     {
         var newWindow = new TradeOption();
         var viewModel = new TradeOptionViewModel(portfolioList, lastSelectedOption);
         viewModel.RequestClose += newWindow.Close;
         newWindow.DataContext   = viewModel;
         newWindow.Show();
     }
 }
Ejemplo n.º 3
0
        private static Transaction InnerClose(Order order, Price price, OrderType orderType)
        {
            DateTime    baseTime    = MarketManager.Now;
            TradeOption tradeOption = orderType == OrderType.Limit ? TradeOption.Better : TradeOption.Stop;
            var         account     = order.Owner.Owner;
            var         tran        = order.Owner;
            var         closeTran   = OrderAutoCloser.CreateTran(tran, orderType, baseTime);
            Order       closeOrder  = OrderAutoCloser.CreateOrder(order, price, tradeOption);

            OrderAutoCloser.CreateOrderRelation(closeOrder, order, order.LotBalance);
            return(closeTran);
        }
Ejemplo n.º 4
0
    public bool GetTradeOptionForItem(string itemName, out TradeOption  selected)
    {
        foreach(TradeOption option in tradeOptions) {
            if(option.itemName == itemName) {
                selected = option;
                return true;
            }
        }

        selected = new TradeOption();
        return false;
    }
Ejemplo n.º 5
0
    public bool GetTradeOptionForItem(string itemName, out TradeOption selected)
    {
        foreach (TradeOption option in tradeOptions)
        {
            if (option.itemName == itemName)
            {
                selected = option;
                return(true);
            }
        }

        selected = new TradeOption();
        return(false);
    }
Ejemplo n.º 6
0
        private static Order CreateOrder(Order order, Price price, TradeOption tradeOption)
        {
            OrderConstructParams orderConstructParams = new OrderConstructParams
            {
                Id           = Guid.NewGuid(),
                Phase        = OrderPhase.Executed,
                IsOpen       = false,
                IsBuy        = !order.IsBuy,
                SetPrice     = price,
                ExecutePrice = price,
                Lot          = order.LotBalance,
                OriginalLot  = order.LotBalance,
                TradeOption  = tradeOption
            };

            return(OrderFacade.Default.CreateOrder(order.Owner, orderConstructParams));
        }
Ejemplo n.º 7
0
 internal AddDoneOrderParameter(Order openOrder, Price closePrice, TradeOption tradeOption)
     : base(AddDoneOrderCommandVisitor.Default)
 {
     this.CloseInfo = new CloseInfo(openOrder, closePrice, tradeOption);
 }
Ejemplo n.º 8
0
 internal CloseInfo(Order openOrder, Price closePrice, TradeOption tradeOption)
 {
     this.OpenOrder   = openOrder;
     this.ClosePrice  = closePrice;
     this.TradeOption = tradeOption;
 }
Ejemplo n.º 9
0
 internal AddPhysicalDoneOrderCommand(Transaction tran, Physical.PhysicalOrder openOrder, Price closePrice, TradeOption tradeOption)
     : base(tran, AddPhysicalOrderCommandService.Default, openOrder, closePrice, tradeOption)
 {
 }
Ejemplo n.º 10
0
 protected AddDoneOrderCommandBase(Transaction tran, AddOrderCommandServiceBase commandService, Order openOrder, Price closePrice, TradeOption tradeOption)
     : base(tran, Visitors.AddDoneOrderCommandVisitor.Default, commandService)
 {
     this.OpenOrder   = openOrder;
     this.ClosePrice  = closePrice;
     this.TradeOption = tradeOption;
 }
Ejemplo n.º 11
0
 internal AddAutoCloseOrderCommand(Transaction tran, Order openOrder, Price closePrice, TradeOption tradeOption)
     : base(tran, AddOrderCommandService.Default, openOrder, closePrice, tradeOption)
 {
 }
Ejemplo n.º 12
0
 internal override AddOrderCommandBase CreateDoneOrder(Transaction tran, Order openOrder, Price closePrice, TradeOption tradeOption)
 {
     return(new AddDoneOrderCommand(tran, openOrder, closePrice, tradeOption));
 }
Ejemplo n.º 13
0
 internal abstract AddOrderCommandBase CreateDoneOrder(Transaction tran, Order openOrder, Price closePrice, TradeOption tradeOption);
Ejemplo n.º 14
0
 internal override AddOrderCommandBase CreateDoneOrder(Transaction tran, Order openOrder, Price closePrice, TradeOption tradeOption)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 15
0
 internal override AddOrderCommandBase CreateByAutoClose(Transaction tran, Order openOrder, Price closePrice, TradeOption tradeOption)
 {
     return(new AddAutoClosePhysicalOrderCommand(tran, (Physical.PhysicalOrder)openOrder, closePrice, tradeOption));
 }