新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1417 1...141014111412141314141415141614171418141914201421142214231424...1953 新评论 Alexey Viktorov 2021.03.14 07:16 #14161 而我注意到的有趣的事情是......我没有注意到这种差异。在mql4中,如果你通过StringConcatenate()函数来写这个字符串的加法,那么你会得到 eStr+=StringConcatenate(i,": ",eArray[i],", ");而在mql5中,它只是StringConcatenate(eStr, i, ": ", eArray[i], ", "); 也许我错误地没有使用这个............ Alekseu Fedotov 2021.03.14 07:16 #14162 Alexey Viktorov:我不建议使用这个函数,因为它在MQL5中的工作方式与在MQL4中不同。因此,当你切换到MQL5时,可能很难理解但也许我错了...mql4mql5正如你所看到的,mql5与字符串的简单加法非常相似。 而类型转换在这个函数中进行,没有任何额外的顾虑。 是的,以前也讨论过这个问题。 的三个选项StringAdd()、StringConcatenate()和pluses。 优点是成本较低。 Alexey Viktorov 2021.03.14 07:20 #14163 ANDREY:为什么1.6251不能像i 一样明确地 投给 字符串?在我看来,它更短,而且节省了计算资源.....。谢谢你的解释。 因为这样的转换可以给出一个多达16个(如果我的大脑还没有完全干涸的话)字符的值。而DoubleToString()将字符串 "修剪 "到指定的小数位数。一个整数i不管你怎么转,都是一个整数。 Alexey Viktorov 2021.03.14 07:30 #14164 Alekseu Fedotov:是的,曾经讨论过,我就不找了。的三个选项StringAdd()、StringConcatenate()和pluses。优点是成本较低。 也许......但我不赞成探究这种微小的差异。 Александр 2021.03.14 07:40 #14165 TrederMT5:修改了代码,仍然是在同一个地方的数组超出了范围 检查阵列中是否有N double price[N]; 总是取有效值? Tretyakov Rostyslav 2021.03.15 12:24 #14166 你能告诉我如何使Print(),在值发生变化时打印一次吗? string symbol; long currChart=ChartFirst(); int i=0; while(currChart>=0) { if(ChartGetInteger(currChart,CHART_BRING_TO_TOP,0)==true) { if(ChartSymbol(currChart)!=symbol) { symbol=ChartSymbol(currChart); Print(symbol); } } currChart=ChartNext(currChart); i++; } Vitaly Muzichenko 2021.03.15 14:07 #14167 MakarFX:告诉我如何使Print(),在值改变时打印一次 设置计数器 string symbol; long currChart=ChartFirst(); int i=0; while(currChart>=0) { if(ChartGetInteger(currChart,CHART_BRING_TO_TOP,0)==true) { if(ChartSymbol(currChart)!=symbol) { i++; symbol=ChartSymbol(currChart); if(i==1) Print(symbol); } } currChart=ChartNext(currChart); } Tretyakov Rostyslav 2021.03.15 14:49 #14168 Vitaly Muzichenko:设置仪表 谢谢你 Tretyakov Rostyslav 2021.03.15 17:08 #14169 Vitaly Muzichenko:设置仪表 不起作用( Valeriy Yastremskiy 2021.03.15 20:58 #14170 MakarFX:你能告诉我如何使Print(),在值发生变化时打印一次吗? 我更喜欢布尔型选项 if(Work==false) // Критическая ошибка { if(AlertWork==false) // Если Алерта еще не было { Alert("Critical error. The expert Advisor doesn't work."); AlertWork=true; } return; } 1...141014111412141314141415141614171418141914201421142214231424...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
而我注意到的有趣的事情是......我没有注意到这种差异。
在mql4中,如果你通过StringConcatenate()函数来写这个字符串的加法,那么你会得到
而在mql5中,它只是
也许我错误地没有使用这个............我不建议使用这个函数,因为它在MQL5中的工作方式与在MQL4中不同。因此,当你切换到MQL5时,可能很难理解
但也许我错了...
mql4
mql5
正如你所看到的,mql5与字符串的简单加法非常相似。
而类型转换在这个函数中进行,没有任何额外的顾虑。是的,以前也讨论过这个问题。
的三个选项StringAdd()、StringConcatenate()和pluses。
优点是成本较低。
为什么1.6251不能像i 一样明确地 投给 字符串?在我看来,它更短,而且节省了计算资源.....。
谢谢你的解释。
因为这样的转换可以给出一个多达16个(如果我的大脑还没有完全干涸的话)字符的值。而DoubleToString()将字符串 "修剪 "到指定的小数位数。一个整数i不管你怎么转,都是一个整数。
是的,曾经讨论过,我就不找了。
的三个选项StringAdd()、StringConcatenate()和pluses。
优点是成本较低。
修改了代码,仍然是在同一个地方的数组超出了范围
double price[N];
总是取有效值?
你能告诉我如何使Print(),在值发生变化时打印一次吗?
告诉我如何使Print(),在值改变时打印一次
设置计数器
设置仪表
设置仪表
你能告诉我如何使Print(),在值发生变化时打印一次吗?
我更喜欢布尔型选项