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

 
Sergey Gritsay:

而现在阅读正常的MT5文档,现在一些旧的功能完全按照里面写的那样工作,因为MT4的文档已经过时了,有很多东西还没有修复。

最后一个错误

返回the_LastError系统变量的内容。

intGetLastError()。

返回的值

返回mql5程序执行过程中发生的最后一个错误的值。

注意事项

在该函数被调用后,_LastError变量的内容不会被清除。必须调用ResetLastError() 函数,将这个变量重置为零。

另见

贸易服务器返回代码

所以再说一遍,这是在mql5上。而且我需要它在mql4上。
 
Vitaly Muzichenko:

嗯,我从1997年起就开始了)

你看,有一个嘀嗒声,随之而来的是一个信号,如果你得到一个错误,它需要被处理。处理后再次查询,但在查询前你可以将有错误的变量清零,然后在下一次查询时,如果有错误,它将再次进入变量,但如果没有错误,它将是 "0"。

你不必将变量归零,但如果出现错误,它将返回一个新的值。在任何情况下,你都不应该对上次打钩时出现的错误感兴趣,你应该只处理你 "现在 "的情况。

自1997年以来,这就是时间!)可能是唯一能理解我的人。谢谢你。
 
Evgeniy Oshurkevich:
所以再说一遍,这是在mql5上。而且我需要它在mql4上。
就这个功能而言,它没有任何区别。但如果是有原则的,那就读F1。
 

我在这个线程中重复我的问题,因为mql5线程帮不上忙--没有人知道答案。

我有这个功能,它在我的专家顾问/脚本中工作

double maxLot(double Percent, string symbol, ENUM_ORDER_TYPE action=ORDER_TYPE_BUY)
  {
   double One_Lot=0.0;
   double price=0.0;
   double volume=0.0;
   double MinLot=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN);
   double Free=AccountInfoDouble(ACCOUNT_FREEMARGIN);
   double Step=SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP);
   if(action==ORDER_TYPE_BUY)price=SymbolInfoDouble(symbol,SYMBOL_ASK);
   if(action==ORDER_TYPE_SELL)price=SymbolInfoDouble(symbol,SYMBOL_BID);
   if(!OrderCalcMargin(action,symbol,1.0,price,One_Lot))return(MinLot);
   if(One_Lot!=0 && Step!=0)volume = MathFloor(Free*Percent/100.0/One_Lot/Step)*Step;
   if(volume!=0)return(volume);
   return(MinLot);
  }

问题:如何在一个指标中获得最大可能的手数OrderCalcMargin 由于某种原因在一个指标中不起作用?我试图使用OrderCalcMargin,但它在mt4中不起作用。

谢谢你!

 

如何做?

以致于当

OnDeinit(REASON_CHARTCHANGE)

继续正常操作,不需要重置(完全忽略这个原因,这是一个有水平的信息面板)。

 
trader781:

如何做?

以致于当

OnDeinit(REASON_CHARTCHANGE)

继续正常操作,不需要重置(完全忽略这个原因,这是一个有水平的信息面板)。

你不能。
 
Vitalie Postolache:
不可能。

嗯,有一些方法可以解决这个问题。

我太懒了,懒得在现有的40个工具中为每个工具的代码塞进水平。

让它自动进行,按你喜欢的方式点击带有符号的TF,会更容易。

同时,我正在寻找一种方法来指定较高的TF在较低的TF上的muving 值。
 
trader781:

嗯,有一些方法可以解决这个问题。

我太懒了,懒得在现有的40个工具中为每个工具的代码塞进水平。

让它自动进行,按你喜欢的方式点击带有符号的TF,会更容易。

同时,我正在寻找一种方法来指定主要TF的muving值。
设置应该被写入一个文件,而inite应该被读取。没有办法绕过deinit,它不问权限。
 
Vitalie Postolache:
设置写入文件,并在init中读取它们。没有办法绕过deinit,它不要求许可。
如果可能的话,为什么不通过向文件写入的方式绕过去初始化? 例如,在去初始化的情况下,你可以用以前的参数启动
 
trader781:
如果可能的话,为什么不通过向文件写入来绕过deinit? 例如,在deinitialisation的情况下,用以前的参数启动运行
这不就是我上面写的吗?