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

 

大家好。你能告诉我,在两周前的更新后,MT5的错误该写在哪里吗?


关键是这一点。当我开仓 并将鼠标悬停在SL和TP上时,数据窗口(显示SL和TP事实的窗口)不显示或打开得很慢。我在不同账户的几台电脑上进行了尝试。我觉得只有当我的终端有一个以上的窗口时才会发生这种情况。我以前没有这个问题。

我不知道如何使用它,也不知道用它来做什么。

附加的文件:
 
Artyom Trishkin:

创建一个新的全局变量将输入参数Inp_element_2542795值设为它

并使用 Ctrl + H 将字符串Inp_element_2542795 的整个条目替换为这个新变量g_element_2542795

但问题仍然是一样的。EA正在自己的工作。我不明白这个全局变量会有什么 帮助。我试着改变它,但400的情况仍未改变。我试着改成200,它恒定为200。但我希望EA应该能够决定什么点应该被应用。

 
jaffer wilson :

但问题仍然是一样的。EA正在自己的工作。我不明白这个全局变量会有什么帮助。我试着改变了它,但400的情况仍然没有改变。我试着改成200,它恒定为200。但我希望EA应该能够决定什么点应该被应用。

如果你想让顾问改变一个变量,那么它应该改变g_element_2542795变量。它在初始化时获得变量Inp_element_2542795的值,然后在顾问中你可以随意改变它。

 

为什么它不像那样工作?

int massiv[OrdersTotal()];
 
igrok333:

为什么它不像那样工作?

斯特鲁斯特鲁普和里奇希望这样做。
 
igrok333:

为什么它不工作?

如果是这样,那就太令人惊讶了。

 
igrok333:

为什么它不像那样工作?

使用arrayresize 就可以了
 

请帮助,刚开始的时候...
如何进行基于条件的地段面积确定?我写了这个,但它不起作用。

double lot()
{
if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid >)= L2b1) ||
(Bid >= L5b1) || (Bid >= L8b1))
lot=(NormalizeDouble(Lots, 2)

if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
(Bid >= L5b) || (Bid >= L8b)
lot=(NormalizeDouble((Lots*1.5), 2))

if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >)= L0b3) ||
(投标>= L2b3) || (投标>= L5b3) || (投标>= L8b3))
lot=(NormalizeDouble((Lots*2.5), 2));
return lot;
}

 
wolder1:

请帮助,刚开始的时候...
如何进行基于条件的地段面积确定?写了这个,但有些东西不工作。

double lot()
{
if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid >= L2b1) ||
(出价>=L5b1) || (出价>=L8b1))
lot=(NormalizeDouble(Lots, 2))

if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
(出价>=L5b) || (出价>=L8b))
lot=(NormalizeDouble((Lots*1.5), 2))

if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
(出价>= L2b3) || (出价>= L5b3) || (出价>= L8b3))
lot=(NormalizeDouble((Lots*2.5), 2))
返回的地段。
}

你有一个关于变量和函数的困惑,如果是函数,可以这样试一下。

用ALT+S插入代码

double _LOTS()
  {
   double lot=0;
   if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid > = L2b1) ||
      (Bid >= L5b1) || (Bid >= L8b1))
      {
       lot=(NormalizeDouble(Lots, 2));
       Print(" lot = ", lot); 
       return(lot);
      }
      
    if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
      (Bid >= L5b) || (Bid > = L8b))
      {
       lot=(NormalizeDouble((Lots*1.5), 2));
       Print(" lot = ", lot); 
       return(lot);
      }
     
    

   if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
      (Bid >= L2b3) || (Bid >= L5b3) || (Bid >= L8b3))      
      {
       lot=(NormalizeDouble((Lots*2.5), 2));
       Print(" lot = ", lot); 
       return(lot);
      }
  } 
 
简单的问题。猫头鹰不能编译。 + __FUNCSIG__,代码的最后有一个错误。
+ ": "+Market_Err_To_Str(errIndex).
+ "; 订单票 = " + (string)OrderTicket()
+ "; 订单类型 = " + (string)OrderType()
+ "; 订单止损= " + DoubleToStr(OrderStopLoss(), Digits()
+ "; 新止损 = " + DoubleToStr(newStopLoss, Digits())
+ "; Bid = " + DoubleToStr(Bid, Digits())
+ "; Ask = " + DoubleToStr(Ask, Digits())
);
}
}
lastSetNonlosTryTime = TimeLocal();
}


抛出一个编译时错误。如果可以的话,请帮助我们。谢谢你!

原因: