订单选择功能问题 - 页 4

 
boopa26:

static int a; sits above start(){ GLOBAL VALUE

1或0没有区别,真或假。

我正在增加条件生效后的a值


当你向别人寻求帮助时,你应该使你的代码尽可能地易于阅读,这包括使用true或false的bools。

使用数字会导致这样的错误


   bool a=1;
   bool b=-1;
   if(a+b==0)
      Print("a+b equals 0");
   else
      Print("a+b does not equal 0");
  


你只是在OrderSelect失败时才增加a,那么它在哪里被重置?

你的代码中没有一个循环,它是在哪里循环处理订单的?

 
Keith Watford:


当你向别人寻求帮助时,你应该使你的代码尽可能的容易阅读,这包括使用true或false的bools。

使用数字会导致这样的错误


   bool a=1;
   bool b=-1;
   if(a+b==0)
      Print("a+b equals 0");
   else
      Print("a+b does not equal 0");
  


如果OrderSelect失败,你只增加了a,它在哪里被重置?

你的代码中没有一个循环,它在哪里循环处理订单?

你只是在增加a,如果OrderSelect失败,它在哪里被重置?

a不会被重置

你的代码中没有一个循环,它在哪里对订单进行循环?

写循环是个错误,但代码并不重要。

 

嗯,你显然什么都知道。

你为什么要寻求帮助

 
Keith Watford:

嗯,你显然知道一切。

你为什么要寻求帮助

我可以做到

if(OrdersHistoryTotal()>0&&
   OrderProfit()<0)

但我想知道如何选择最后的历史订单,然后确定最后的历史订单是亏损还是盈利

 
boopa26:

我可以做到

if(OrdersHistoryTotal()>0&&
   OrderProfit()<0)

但我想知道如何选择最后的历史订单,然后确定它是损失还是盈利。

这是不可行的,因为你没有选择一个订单。我想不出有什么理由在没有OrderSelect()的情况下将这两个测试放在同一个if()中。
 
Keith Watford:
因为你没有选择一个订单,所以这不起作用。我想不出有什么理由在没有OrderSelect()的情况下将这两个测试放在同一个if()中。

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

if(OrdersHistoryTotal()>0&&OrderProfit()<0)

现在阅读
 

你为什么要显示

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

的评论,以回应

if(OrdersHistoryTotal()>0&&
   OrderProfit()<0)

?

他们之间显然没有任何关系

 
Keith Watford:

你为什么要显示

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

的评论,以回应

if(OrdersHistoryTotal()>0&&
   OrderProfit()<0)

?

他们之间显然没有任何关系

那么,为什么它做什么呢? 它在我的mt4终端内工作
 
boopa26:
它在我的mt4终端中工作,那么它为什么能做到呢?

它很可能会做一些事情,但我非常怀疑它是否能达到你的期望。

否则,你为什么要发一个问题?

以合理的方式重写代码,使各个区块之间相互配合。使用一个循环来循环处理订单,不要使用一个全局声明的变量来处理订单指数/。

 
Keith Watford:

它很可能会做一些事情,但我非常怀疑它是否能达到你的期望。

否则你为什么要发一个问题?

以合理的方式重写代码,使各个模块相互配合。使用一个循环来循环处理订单,不要使用一个全局声明的变量来处理订单指数/。

好的,谢谢你