private void DisplayOrderStatus(OrderError errorCode) { if (errorCode != OrderError.None) { Debug(String.Format("{0} Order status {1} ", Time.ToString("HH:mm:ss.ffffff"), errorCode.ToString())); } }
private OrderTicket PlaceMarketOrder(TradeBar bar) { Debug("Sending market order"); var marketTicket = MarketOrder(Symbol(BIST_SYMBOL), 10, asynchronous: false); if (marketTicket.Status != OrderStatus.Filled) { Log("Synchronous market order was not filled synchronously!"); //Quit(); } int code = marketTicket; //int code = Order(BIST_SECURITY_NAME, 1,OrderType.Limit);//SetHoldings("SPY", 1); _openMarketOrders.Add(marketTicket); if (code >= 0) { //Notify.Email("*****@*****.**", "Test Subject", "Test Body: " + Time.ToString("u"), "Test Attachment"); Debug("Market Order sent" + Time.ToString("HH:mm:ss.ffffff")); } else { Debug("Market Order send failed " + Time.ToString("HH:mm:ss.ffffff")); OrderError errorCode = (OrderError)code; DisplayOrderStatus(errorCode); } return(marketTicket); }
private void CancelOrder(OrderTicket limitTicket) { int code = limitTicket; if (code >= 0) { Debug("Canceling order"); if (CheckOrdersForFill(limitTicket)) { Debug(limitTicket.OrderType + " order is already filled."); //_openLimitOrders.Clear(); //return; } else { var response = limitTicket.Cancel("Attempt to cancel async order"); if (response.IsSuccess) { Log("Successfully canceled async limit order: " + limitTicket.OrderId); } else { Log("Unable to cancel async limit order: " + response.ErrorCode); } } } else { Debug("Order cancel failed"); OrderError errorCode = (OrderError)code; DisplayOrderStatus(errorCode); } }
public async Task <IActionResult> Update(UpdateInputOrderViewModel inputModel) { if (!this.User.IsInRole(GlobalConstants.AdministratorRoleName)) { return(this.Redirect("/Identity/Account/AccessDenied")); } if (!this.ModelState.IsValid) { var error = new OrderError { ErrorMessage = GlobalConstants.OrderModelValidationMessege }; return(this.RedirectToAction("Error", "Order", error)); } var isOrderUpdated = await this.orderService.UpdateAsync(inputModel.Id, inputModel.OrderStatusName); if (!isOrderUpdated) { var error = new OrderError { ErrorMessage = GlobalConstants.OrderSameMessage }; return(this.RedirectToAction("Error", "Order", error)); } return(this.Redirect("/Order/Index")); }
private string zipCode; // that is, "00999". #endregion Fields #region Constructors public Workflow() { invalidOrder = new OrderError(); invalidZipCodeErrorCollection = new OrderErrorCollection(); invalidItemNumErrorCollection = new OrderErrorCollection(); invalidOrdersCollection = new OrderErrorCollection(); InitializeComponent(); }
public async Task <IActionResult> Last(LastOrderParamViewModel model) { if (model.OrderId > 0) { var lastOrder = await this.orderService.GetLastOrderAsync(model.OrderId); var orverViewModel = OrderLastMapper.Map(lastOrder); return(this.View(orverViewModel)); } var error = new OrderError { ErrorMessage = GlobalConstants.OrderLastMessage }; return(this.RedirectToAction("Error", "Order", error)); }
private void UpdateOrder(OrderTicket limitTicket) { int code = limitTicket; if (code >= 0) { Debug("Updating order"); if (CheckOrdersForFill(limitTicket)) { Debug(limitTicket.OrderType + " order is already filled."); //_openLimitOrders.Clear(); //return; } else { var newLimitPrice = limitTicket.Get(OrderField.LimitPrice) + 0.1m; Debug("Updating limits : " + newLimitPrice.ToString("0.00")); var response = limitTicket.Update(new UpdateOrderFields { LimitPrice = newLimitPrice, Tag = "Update #" + (limitTicket.UpdateRequests.Count + 1) }); if (response.IsSuccess) { Log("Successfully updated async limit order: " + limitTicket.OrderId); } else { Log("Unable to updated async limit order: " + response.ErrorCode); } } } else { Debug("Order update failed "); OrderError errorCode = (OrderError)code; DisplayOrderStatus(errorCode); } }
private OrderTicket PlaceLimitOrder(TradeBar bar) { Debug("Sending limit order"); OrderTicket limitTicket = LimitOrder(Symbol(BIST_SYMBOL), quantity, price); //int code = LimitOrder(BIST_SECURITY_NAME, 1, 9); int code = limitTicket; //int code = Order(BIST_SECURITY_NAME, 1,OrderType.Limit);//SetHoldings("SPY", 1); _openLimitOrders.Add(limitTicket); if (code >= 0) { //Notify.Email("*****@*****.**", "Test Subject", "Test Body: " + Time.ToString("u"), "Test Attachment"); Debug("Limit Order sent" + Time.ToString("HH:mm:ss.ffffff")); } else { Debug("Limit Order send failed " + Time.ToString("HH:mm:ss.ffffff")); OrderError errorCode = (OrderError)code; DisplayOrderStatus(errorCode); } return(limitTicket); }
private void SendLimitOrder(TradeBar bar) { int quantity = 1; decimal price = 9; //bar.Price; OrderTicket ticket = LimitOrder(BIST_SECURITY_NAME, quantity, price); //int code = LimitOrder(BIST_SECURITY_NAME, 1, 9); int code = ticket; //int code = Order(BIST_SECURITY_NAME, 1,OrderType.Limit);//SetHoldings("SPY", 1); //_openLimitOrders.Add(ticket); if (code >= 0) { Debug("Purchased complete " + Time.ToString("HH:mm:ss.ffffff")); //Notify.Email("*****@*****.**", "Test Subject", "Test Body: " + Time.ToString("u"), "Test Attachment"); WriteTicketInfo(ticket); WriteBarInfo(bar); WritePortfolioInfo(); if (CheckOrdersForFill(ticket)) { Debug(ticket.OrderType + " order is filled."); //_openLimitOrders.Clear(); //return; } else { var newLimitPrice = ticket.Get(OrderField.LimitPrice) + 0.1m; Debug("Updating limits : " + newLimitPrice.ToString("0.00")); var response = ticket.Update(new UpdateOrderFields { LimitPrice = newLimitPrice, Tag = "Update #" + (ticket.UpdateRequests.Count + 1) }); if (response.IsSuccess) { Log("Successfully updated async limit order: " + ticket.OrderId); } else { Log("Unable to updated async limit order: " + response.ErrorCode); } response = ticket.Cancel("Attempt to cancel async order"); if (response.IsSuccess) { Log("Successfully canceled async limit order: " + ticket.OrderId); } else { Log("Unable to cancel async limit order: " + response.ErrorCode); } } } else { Debug("Purchased failed " + Time.ToString("HH:mm:ss.ffffff")); OrderError errorCode = (OrderError)code; WriteOrderStatus(errorCode); } }
public IActionResult Error(OrderError orderError) { return(this.View(orderError)); }