新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1711

 
需要删除其中一个在开盘时间、手数和开盘价(最后两个)相同的订单,强行删除其中一个。谢谢你。
 
Vitaly Muzichenko #:

问题是不同的,要用所需的语言输出 "输入参数"。

正是如此。

有可能通过这种方式进行吗?

#define  LANG(...)
...
#ifdef
...
#else 
...
#endif 
 
Vitaly Muzichenko #:

问题是不同的,要用所需的语言输出 "输入参数"。

只有通过在编译时定义终端语言,并使用#ifdef -- #else -- #endif进行条件性编译,才能实现。

 
Порт-моне тв 开仓时间、手数和开仓价格(最后两个)相同的订单,强行删除其中一个。谢谢你。

将代码从括号内贴到括号内

{
.....
ticket = OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "открыт ордер на покупку", Magic, 0, Blue);
.....
ticket = OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "открыт ордер на продажу", Magic, 0, Red);
}
这个特殊的部分。
 
Artyom Trishkin #:

只有通过在编译时定义终端语言,并使用#ifdef -- #else -- #endif进行条件性编译,才能实现。

这是MQL中的一个疏忽。不幸的是(
 
Порт-моне тв #:

我正在和一个测试员比赛。我不需要灵媒,因为我自己就是心灵感应者。这就是为什么我清楚地知道我需要什么。而你在用无意义的闲聊浪费你和我的时间。

在开仓前检查是否有在这个蜡烛上开的仓位(如果每个柱子有一个仓位),是否有在这个蜡烛上以这个价格开的仓位(不可靠,因为有滑点),是否有在一定秒数前由这个信号开的仓位....

有很多方法可以做到这一点。但在你的代码中,你需要根据这个信号来检查是否存在一个位置。你决定如何做,因为你没有密码。

正是因为缺乏代码,大家都在猜测,最终变成了毫无意义的闲聊。

 
MakarFX #:

将代码从括号内贴到括号内

该特定部分。
   if(sb1 + sb1/100*LotRisk*(DayMultiplicatorProfit/100/2) > AccountBalance()  && TimeCurrent()>TimeCheck_a && TimeCurrent()<TimeCheck_ac && Ogranichitel > 0)
     {

      if(OrderOfSymbol<1)
         if(signal=="buy")
            if(Close[1]>Open[1])
              {
               ticket = OrderSend(Symbol(),OP_BUY, Lot, Ask, 3, SLbuy, TPbuy, "открыт ордер на покупку", Magic, 0, Green);
               Print("OpenOrderSuccess");
              }


      if(OrderOfSymbol<1)
         if(signal=="sell")
            if(Close[1]>Open[1])
              {
               ticket = OrderSend(Symbol(),OP_SELL, Lot, Bid, 3, SLsell, TPsell, "открыт ордер на продажу", Magic, 0, Red);
               Print("OpenOrderSuccess");
              }

     }
 
Порт-моне тв #:
我立刻被
OrderOfSymbol
,你是如何定义的呢?
 
MakarFX #:
我立即感到疑惑,你是如何定义的?
OrderOfSymbol=CounterOrderTradeType(-1);

............


//+------------------------------------------------------------------+
//| Подсчет ордеров потекущему символу                               |
//+------------------------------------------------------------------+
int CounterOrderTradeType(ENUM_ORDER_TYPE order_type)
  {
   int cnt=0;
//----
   for(int pos=OrdersTotal()-1; pos>=0; pos--)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)==false)
         continue;
      if(OrderSymbol()!=_Symbol)
         continue;
      if(order_type == OrderType() || order_type == -1)
         cnt++;
     }
//----
   return(cnt);
  }

//+------------------------------------------------------------------+
你还在努力寻找错误,但我已经要求你做了几个小时的其他事情。这是为什么呢?
 
Порт-моне тв #:

尝试

   if(sb1 + sb1/100*LotRisk*(DayMultiplicatorProfit/100/2) > AccountBalance()  && TimeCurrent()>TimeCheck_a && TimeCurrent()<TimeCheck_ac && Ogranichitel > 0)
     {
      if(OrderOfSymbol<1)
        {
         if(signal=="buy"&&Close[1]> Open[1])
           {
            if(OrderSend(Symbol(),OP_BUY, Lot, Ask, 3, SLbuy, TPbuy, "открыт ордер на покупку", Magic, 0, Green))
              {Print("OpenOrderSuccess");}
           }
         if(signal=="sell"&&Close[1]> Open[1])
           {
            if(OrderSend(Symbol(),OP_SELL, Lot, Bid, 3, SLsell, TPsell, "открыт ордер на продажу", Magic, 0, Red))
              {Print("OpenOrderSuccess");}
           }
        }
     }
它是用黄色突出显示的。它应该是这样的吗?
原因: