任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1127 1...112011211122112311241125112611271128112911301131113211331134...1178 新评论 Evgeniy Oshurkevich 2017.02.17 15:00 #11261 Sergey Gritsay:而现在阅读正常的MT5文档,现在一些旧的功能完全按照里面写的那样工作,因为MT4的文档已经过时了,有很多东西还没有修复。最后一个错误返回the_LastError系统变量的内容。intGetLastError()。返回的值返回mql5程序执行过程中发生的最后一个错误的值。注意事项在该函数被调用后,_LastError变量的内容不会被清除。必须调用ResetLastError() 函数,将这个变量重置为零。另见贸易服务器返回代码 所以再说一遍,这是在mql5上。而且我需要它在mql4上。 Evgeniy Oshurkevich 2017.02.17 15:07 #11262 Vitaly Muzichenko:嗯,我从1997年起就开始了)你看,有一个嘀嗒声,随之而来的是一个信号,如果你得到一个错误,它需要被处理。处理后再次查询,但在查询前你可以将有错误的变量清零,然后在下一次查询时,如果有错误,它将再次进入变量,但如果没有错误,它将是 "0"。你不必将变量归零,但如果出现错误,它将返回一个新的值。在任何情况下,你都不应该对上次打钩时出现的错误感兴趣,你应该只处理你 "现在 "的情况。 自1997年以来,这就是时间!)可能是唯一能理解我的人。谢谢你。 Vitalie Postolache 2017.02.17 15:10 #11263 Evgeniy Oshurkevich: 所以再说一遍,这是在mql5上。而且我需要它在mql4上。 就这个功能而言,它没有任何区别。但如果是有原则的,那就读F1。 Vitaly Muzichenko 2017.02.20 16:29 #11264 我在这个线程中重复我的问题,因为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中不起作用。谢谢你! 初学者的问题 MQL5 MT5 MetaTrader Any rookie question, so Questions from Beginners MQL5 Mickey Moose 2017.02.20 20:15 #11265 如何做?以致于当OnDeinit(REASON_CHARTCHANGE) 继续正常操作,不需要重置(完全忽略这个原因,这是一个有水平的信息面板)。 Vitalie Postolache 2017.02.20 20:20 #11266 trader781:如何做?以致于当OnDeinit(REASON_CHARTCHANGE) 继续正常操作,不需要重置(完全忽略这个原因,这是一个有水平的信息面板)。 你不能。 Mickey Moose 2017.02.20 20:21 #11267 Vitalie Postolache: 不可能。嗯,有一些方法可以解决这个问题。我太懒了,懒得在现有的40个工具中为每个工具的代码塞进水平。让它自动进行,按你喜欢的方式点击带有符号的TF,会更容易。 同时,我正在寻找一种方法来指定较高的TF在较低的TF上的muving 值。 Vitalie Postolache 2017.02.20 20:31 #11268 trader781:嗯,有一些方法可以解决这个问题。我太懒了,懒得在现有的40个工具中为每个工具的代码塞进水平。让它自动进行,按你喜欢的方式点击带有符号的TF,会更容易。 同时,我正在寻找一种方法来指定主要TF的muving值。 设置应该被写入一个文件,而inite应该被读取。没有办法绕过deinit,它不问权限。 Mickey Moose 2017.02.20 21:02 #11269 Vitalie Postolache:将 设置写入文件,并在init中读取它们。没有办法绕过deinit,它不要求许可。 如果可能的话,为什么不通过向文件写入的方式绕过去初始化? 例如,在去初始化的情况下,你可以用以前的参数启动 Vitalie Postolache 2017.02.21 00:19 #11270 trader781: 如果可能的话,为什么不通过向文件写入来绕过deinit? 例如,在deinitialisation的情况下,用以前的参数启动运行 这不就是我上面写的吗? 1...112011211122112311241125112611271128112911301131113211331134...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
而现在阅读正常的MT5文档,现在一些旧的功能完全按照里面写的那样工作,因为MT4的文档已经过时了,有很多东西还没有修复。
最后一个错误
返回the_LastError系统变量的内容。
intGetLastError()。
返回的值
返回mql5程序执行过程中发生的最后一个错误的值。
注意事项
在该函数被调用后,_LastError变量的内容不会被清除。必须调用ResetLastError() 函数,将这个变量重置为零。
另见
贸易服务器返回代码
嗯,我从1997年起就开始了)
你看,有一个嘀嗒声,随之而来的是一个信号,如果你得到一个错误,它需要被处理。处理后再次查询,但在查询前你可以将有错误的变量清零,然后在下一次查询时,如果有错误,它将再次进入变量,但如果没有错误,它将是 "0"。
你不必将变量归零,但如果出现错误,它将返回一个新的值。在任何情况下,你都不应该对上次打钩时出现的错误感兴趣,你应该只处理你 "现在 "的情况。
所以再说一遍,这是在mql5上。而且我需要它在mql4上。
我在这个线程中重复我的问题,因为mql5线程帮不上忙--没有人知道答案。
我有这个功能,它在我的专家顾问/脚本中工作
{
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)
继续正常操作,不需要重置(完全忽略这个原因,这是一个有水平的信息面板)。
如何做?
以致于当
OnDeinit(REASON_CHARTCHANGE)
继续正常操作,不需要重置(完全忽略这个原因,这是一个有水平的信息面板)。
不可能。
嗯,有一些方法可以解决这个问题。
我太懒了,懒得在现有的40个工具中为每个工具的代码塞进水平。
让它自动进行,按你喜欢的方式点击带有符号的TF,会更容易。
同时,我正在寻找一种方法来指定较高的TF在较低的TF上的muving 值。嗯,有一些方法可以解决这个问题。
我太懒了,懒得在现有的40个工具中为每个工具的代码塞进水平。
让它自动进行,按你喜欢的方式点击带有符号的TF,会更容易。
同时,我正在寻找一种方法来指定主要TF的muving值。将 设置写入文件,并在init中读取它们。没有办法绕过deinit,它不要求许可。
如果可能的话,为什么不通过向文件写入来绕过deinit? 例如,在deinitialisation的情况下,用以前的参数启动运行