任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 179

 
Izdesbyll:

请帮助我们!

错误0,订单没有关闭!。有什么问题吗?

而你为什么要把价格正常化为2?到数字 是必要的。写OrderClosePrice()而不是Bid更容易。
 

会不会是它关闭了订单的一部分?

如果你这样试一试,它说什么?

double bylo = OrderLots();
if (OrderClose( OrderTicket(), 0.1, NormalizeDouble(Bid,2), 1 ))    Alert ("  Закрито частину лоту в розмірі 0.1 від ",bylo);
else Alert("Маємо помилку ",GetLastError());
 

artmedia70:
А почему нормализуете цену до двух? До Digits нужно. А проще писать OrderClosePrice() вместо Bid


 OrderClose( OrderTicket(), 0.1, OrderClosePrice(), 1 );  
      Alert("Маємо помилку ",GetLastError());

现在出现错误4051

 
ALXIMIKS:

会不会是它关闭了订单的一部分?

如果你这样试一试,它说什么?



bylo = 0.1,它没有关闭我的订单。
 
现在这一切都成了故障,我写道:
 double p[100];
 p[i+1] = OrderProfit();
 if (p[i+1]>0) 
    {
      Alert("Є прибуток ордер ",i+1);
      OrderSelect(i+1,SELECT_BY_POS,MODE_TRADES); 
      Alert("Маємо помилку ",GetLastError());
      Alert("Вибрали ордер ",i+1);
      OrderClose( OrderTicket(), 0.1,  NormalizeDouble(Bid,Digits), 1 );  
      Alert("Маємо помилку ",GetLastError());
      Alert("Закрили ордер ",i+1); 

I+1=2,到处都是,但三阶开始关闭。

 
Izdesbyll:

请帮助我们!

错误0,订单没有关闭!。有什么问题吗?

这样试一试如何。

    double ld_Price;
    if (OrderType() == 0) ld_Price = NormalizeDouble (Bid, Digits);
    else ld_Price = NormalizeDouble (Ask, Digits);
    OrderClose (OrderTicket(), OrderLots(), ld_Price, 2);

而且别忘了在删除程序之前,要超过相关的顺序!!!。

 
Izdesbyll:
现在完全是个故障,我在写。

i+1=2和各地,但三阶开始关闭。

如果你在一个数组中收集门票,那么顺序应该是由TICKET来选择,而不是由它自己的列表(顺序)来选择。
 
TarasBY:

这样试一试如何。

而且别忘了在删除程序之前将相关的订单剔除!!!。


if (p[i+1]>0) 
    {
      Alert("Є прибуток ордер ",i+1);
      OrderSelect(i+1,SELECT_BY_POS,MODE_TRADES); 
      Alert("Маємо помилку ",GetLastError());
      Alert("Вибрали ордер ",i+1);
      double ld_Price;
      if (OrderType() == 0) ld_Price = NormalizeDouble (Bid, Digits);
      else ld_Price = NormalizeDouble (Ask, Digits);
      OrderClose (OrderTicket(), OrderLots(), ld_Price, 2);  
      Alert("Маємо помилку ",GetLastError());
      Alert("Закрили ордер ",i+1); 

第三笔订单关闭GetLastError=0,i+1=2,OrderProfit()响应SECOND订单的naught。帮助....。我想写(OrderTicket()-1),但我担心这没有帮助

 
Izdesbyll:

第三笔订单关闭 GetLastError = 0, i+1=2, OrderProfit()响应SECOND订单的空头。帮助....我想写(OrderTicket()-1),但我担心这没有帮助

不知道怎么读(当然,除非p[]数组里有票号)!

    OrderSelect (p[i+1], SELECT_BY_TICKET, MODE_TRADES); 

...一般来说,很难从一段代码中捕捉到 "愚蠢 "的东西...:)

 
你好,谁能告诉我,如果所有的订单都有不同的魔法数字,在1-60的范围内,是否有一种阻止关闭所有的订单(包括擦除挂单)。如果有,请公布。如果它不是那么困难,说明它应该插在哪里(因为它在mql中是完全绿色的)。提前感谢。

我忘了告诉你,我想按存款利润的百分比成交。