void AddModifyLimitOrder(int open, int slPIPS, int tp, OrderSide side) { open = MathPrice.RoundToDown(open); tp = MathPrice.RoundToDown(tp); int sl = side == OrderSide.Buy ? open - slPIPS : open + slPIPS; List <Order> limitOrders = SelectMulti(side, OrderOperation.GetLimitOrders()); if (limitOrders.Count != 0) { foreach (Order currOrder in limitOrders) { Meta.OrderModify(currOrder.ID, open, sl, tp, currOrder.Type); } } else if (SelectMulti(side, OrderOperation.GetMarketOrders()).Count == 0) { try { Meta.OrderSend(base.Symbol, OrderType.Limit, side, LotFunction(), open, sl, tp, ""); } catch (Exception exc) { logger.AddMessage(exc.ToString()); } } }
void ModifyMarketOrders(OrderSide side, int tp, int sl) { tp = MathPrice.RoundToDown(tp); IEnumerable <Order> marketOrders = OrderOperation.GetMarketOrders(side); if (marketOrders.Count() != 0) { try { foreach (Order currOrder in marketOrders) { Meta.OrderModify(currOrder.ID, currOrder.OpenPrice, sl == 0?currOrder.SL:sl, tp == 0?currOrder.TP:tp, currOrder.Type); } } catch (Exception exc) { logger.AddMessage(exc.ToString()); } } }
void ModifyMarketOrders(OrderSide side, int tp) { tp = MathPrice.RoundToDown(tp); List <Order> marketOrders = SelectMulti(side, OrderOperation.GetMarketOrders()); if (marketOrders.Count != 0) { try { foreach (Order currOrder in marketOrders) { Meta.OrderModify(currOrder.ID, currOrder.OpenPrice, currOrder.SL, tp, currOrder.Type); } } catch (Exception exc) { logger.AddMessage(exc.ToString()); } } }
void ModifyMarketOrders(OrderSide side, int tp, string comment, string symbol) { tp = MathPrice.RoundToDown(tp); IEnumerable <Order> marketOrders = OrderOperation.GetMarketOrders(side); if (marketOrders.Count() != 0) { try { foreach (Order currOrder in marketOrders) { if ((currOrder.Comment == comment || TralTP <= 0) && symbol.ToLowerInvariant() == currOrder.Symbol.ToLowerInvariant()) { Meta.OrderModify(currOrder.ID, currOrder.OpenPrice, currOrder.SL, tp, currOrder.Type); } } } catch (Exception exc) { logger.AddMessage(exc.ToString()); } } }