初学者的问题 MQL5 MT5 MetaTrader 5 - 页 382

 
请告诉我计算新订单手数的公式,以便在10点的情况下,它可以将一个亏损的订单撤回到0,并赚取所需的10点。
 

应该用哪个运算符来指定订单类型

将2种算法合二为一。(合并它们,这样就不会出现 "OrdersTotal "的冲突,事实证明,它将打开1个订单,而我需要在每个方向上都有一个订单)

提前感谢))。

开始()。

{

如果(OrdersTotal() == 0 )

OrderSend("EURUSD",OP_BUY,Lots,Ask,0,0, "11",MagicNumb,0,Red)。

}

开始()。

{

如果(OrdersTotal() == 0 )

OrderSend("EURUSD",OP_SELL,Lots,Bid,0,0, "11",MagicNumb,0,Red)。

}

 
le0nid2014:

应该用哪个运算符来指定订单类型

将2种算法合二为一。(合并它们,这样就不会出现 "OrdersTotal "的冲突,事实证明,它将打开1个订单,而我需要在每个方向上都有一个订单)

提前感谢))。

开始()。

{

如果(OrdersTotal() == 0 )

OrderSend("EURUSD",OP_BUY,Lots,Ask,0,0, "11",MagicNumb,0,Red)。

}

开始()。

{

如果(OrdersTotal() == 0 )

OrderSend("EURUSD",OP_SELL,Lots,Bid,0,0, "11",MagicNumb,0,Red)。

}

一个一个地打开。
 
Artyom Trishkin:
要逐一打开。

如果我有0个订单,它将打开我需要的东西。

我希望它在没有买入订单 的情况下打开买入 反之亦然(在没有1方向的时候,2方向会打开,买入订单不会开始)。

 
le0nid2014:

它不会那样工作--当有0个订单时,它会打开我需要的东西。

我需要它在没有买入订单 的情况下打开买入 反之亦然(虽然没有1个方向,但会有2个方向,并且不会发出启动命令)。

我必须数一数有多少,如果没有就打开。

 
new-rena:

计算有多少个,如果缺少正确的一个,就打开

我不知道如何向专家顾问解释哪些订单要买,哪些要卖。
 
//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ РАСЧЕТА КОЛИЧЕСТВА ОРДЕРОВ
//+------------------------------------------------------------------+
   int Calc_Orders(string Symbols,string TYPE)
      {
         int Res=0; int calc;       
         for (calc=OrdersTotal()-1; calc>=0; calc--)
            {
               if (OrderSelect(calc,SELECT_BY_POS,MODE_TRADES))
                  {
                     if (TYPE=="BUY" && OrderType()==OP_BUY && OrderSymbol()==Symbols)
                        {
                           Res=Res+1;
                        }                        
                     if (TYPE=="SELL" && OrderType()==OP_SELL && OrderSymbol()==Symbols)
                        {
                           Res=Res+1;
                        }
                  }
            }
         return(Res);
      }
在那个帖子里放不下,我试着编辑了两次...
 
le0nid2014:

它不会那样工作--当有0个订单时,它会打开我需要的东西。

我希望它在没有买入订单 的情况下打开买入 反之亦然(在没有1个方向的时候,会有2个,买入订单不会开始)。

我不明白你想要什么。有什么办法能让它更清楚吗?
 
Artyom Trishkin:
我不明白你想要什么。有什么办法可以解释得更清楚吗?

如果市场上没有卖出或买入 订单,无论有多少个买入订单,它都会打开这样一个订单。

反之亦然。

 
le0nid2014:

如果市场上没有卖出或买入 订单,无论有多少个买入订单,它都会打开这样一个订单。

反之亦然。

我们在OnTick函数中设置了两个bool类型的局部变量:buyExist = false和sellExist = false。

当一个新的刻度线到来时,你检查是否有任何属于给定EA的订单。如果有卖出订单,sellExist = true,买入订单的情况也是如此。然后你检查是否buyExist = true - 不要打开一个买入订单。卖出的情况也是如此。这就是全部。

原因: