错误、漏洞、问题 - 页 288 1...281282283284285286287288289290291292293294295...3184 新评论 Trolls 2011.01.31 23:34 #2871 以免重复发帖。请看一下https://www.mql5.com/ru/forum/2547/page1#comment_45265我在那里做错了什么? 似乎与文章中的内容相同。我想学习如何与标准类合作。但我似乎做错了(。 Обсуждение статьи "Как использовать торговые классы Стандартной библиотеки при написании советника" www.mql5.com Обсуждение статьи "Как использовать торговые классы Стандартной библиотеки при написании советника". [删除] 2011.02.01 00:50 #2872 Trolls:以免重复发帖。请看一下https://www.mql5.com/ru/forum/2547/page1#comment_45265我在那里做错了什么? 似乎与文章中的内容相同。我想学习如何与标准类合作。但我似乎做错了(。 在那里回答了。 Alexey Rassvetnyy 2011.02.01 10:23 #2873 函数中的一个错误string DoubleToString( double value, // число int digits=8 // кол-во знаков после запятой );如果数字>=12void testDoubleToString() { int i,j,cn=11,digits=DBL_DIG+1; double dblVal,dblValFromStr,pres=0.1; string dblStr; Print("Start testDoubleToString cn=",cn," digits=",digits); for(i=1; i<=digits; i++) { for(j=2; j<cn; j++) { dblVal = 1.0/j; dblStr = DoubleToString(1.0/j, i); dblValFromStr=StringToDouble(dblStr); if(MathAbs(dblValFromStr-dblVal)>pres) { Print("ERROR from function DoubleToString digits: ",i," value: 1/",j," dblVal: ", dblVal," strVal: ",dblStr," dblValFromStr: ",dblValFromStr); } } pres*=0.1; } }//--- void OnStart(){testDoubleToString();}//---它给出了来自函数 DoubleToString的错误 数字:14 值:1/10 dblVal:0.1 strVal:1.0000000000 dblValFromStr:1 ERROR from function DoubleToString digits: 14 value: 1/9 dblVal: 0.1111111111111111 strVal: 1.11111111111111 dblValFromStr: 1.111111111111 来自函数DoubleToString的ERROR 数字:14 值:1/8 dblVal:0.125 strVal:1.2500000000 dblValFromStr:1.25 ERROR from function DoubleToString digits: 14 value: 1/7 dblVal: 0.1428571428571429 strVal: 1.42857142857143 dblValFromStr: 1.42857142857143 ERROR from function DoubleToString digits: 14 value: 1/6 dblVal: 0.166666666667 strVal: 1.666666667 dblValFromStr: 1.66666666667 来自函数DoubleToString的错误 数字:14 值:1/5 dblVal:0.2 strVal:2.0000000000 dblValFromStr:2 来自函数DoubleToString的ERROR 数字:14 值:1/4 dblVal:0.25 strVal:2.50000000000000 dblValFromStr:2.5 ERROR from function DoubleToString digits: 14 value: 1/3 dblVal: 0.333333333333 strVal: 3.333333333 dblValFromStr: 3.333333333333 来自函数DoubleToString的错误 数字:14 值:1/2 dblVal:0.5 strVal:5.0000000000 dblValFromStr:5 来自函数DoubleToString的ERROR 数字:13 值:1/10 dblVal:0.1 strVal:1.0000000000000 dblValFromStr:1 ERROR from function DoubleToString digits: 13 value: 1/9 dblVal: 0.11111111111111 strVal: 1.11111111111 dblValFromStr: 1.11111111111 来自函数DoubleToString的ERROR 数字:13 值:1/8 dblVal:0.125 strVal:1.2500000000000 dblValFromStr:1.25 来自函数DoubleToString的ERROR 数字:13 值:1/7 dblVal:0.1428571428571429 strVal:1.4285714285714 dblValFromStr:1.4285714285714 来自函数DoubleToString的错误 数字:13 值:1/6 dblVal:0.166666666667 strVal:1.6666666667 dblValFromStr:1.6666666667 来自函数DoubleToString的ERROR 数字:13 值:1/5 dblVal:0.2 strVal:2.0000000000000 dblValFromStr:2 来自函数DoubleToString的错误 数字:13 值:1/4 dblVal:0.25 strVal:2.5000000000000 dblValFromStr:2.5 ERROR from function DoubleToString digits: 13 value: 1/3 dblVal: 0.333333333333 strVal: 3.333333333 dblValFromStr: 3.333333333333 来自函数DoubleToString的ERROR 数字:13 值:1/2 dblVal:0.5 strVal:5.0000000000000 dblValFromStr:5 来自函数DoubleToString的ERROR 数字:12 值:1/10 dblVal:0.1 strVal:1.000000000000 dblValFromStr:1 ERROR from function DoubleToString digits: 12 value: 1/9 dblVal: 0.11111111111111 strVal: 1.111111111111 dblValFromStr: 1.111111111111 来自函数DoubleToString的错误 数字:12 值:1/8 dblVal:0.125 strVal:1.250000000000 dblValFromStr:1.25 ERROR from function DoubleToString digits: 12 value: 1/7 dblVal: 0.1428571428571429 strVal: 1.428571428571 dblValFromStr: 1.428571428571 来自函数DoubleToString的错误 数字:12 值:1/6 dblVal:0.166666666667 strVal:1.666666667 dblValFromStr:1.666666667 来自函数DoubleToString的ERROR 数字:12 值:1/5 dblVal:0.2 strVal:2.000000000000 dblValFromStr:2 来自函数DoubleToString的ERROR 数字:12 值:1/4 dblVal:0.25 strVal:2.500000000000 dblValFromStr:2.5 ERROR from function DoubleToString digits: 12 value: 1/3 dblVal: 0.333333333333 strVal: 3.3333333333 dblValFromStr: 3.33333333333333 来自函数DoubleToString的错误 数字:12 值:1/2 dblVal:0.5 strVal:5.000000000000 dblValFromStr:5操作系统: WIN7构建:387 Errors, bugs, questions [ARCHIVE!] Any rookie question, Logging arrays Test Account 2011.02.01 12:02 #2874 BZSP:函数中的一个错误string DoubleToString( double value, // число int digits=8 // кол-во знаков после запятой );当数字>=12时 谢谢你,我们会看一看。 Denis Timoshin 2011.02.01 12:06 #2875 我如何设置图表子窗口的高度? 如果是一个函数?还是只能通过模板? Slava 2011.02.01 12:29 #2876 dentraf: 我如何设置图表子窗口的高度? 如果是一个函数?还是只能通过模板? 所有功能在帮助中都有描述。 通过模板来做。 Mykola Demko 2011.02.01 19:29 #2877 В классе CArray #include <Arrays\Array.mqh> забыли прописать виртуальные методы Reserve()и Resize() vda 2011.02.02 22:23 #2878 这里有一个有趣的事情--当你默认运行STRATEGY TESTER 的时候被设置为低优先级,现在我不得不每次都手动将其改为中等。也许这就是它应该有的样子? Renat Fatkhullin 2011.02.02 23:08 #2879 alexluek:也许这就是它应该有的样子?是的,它是专门为在优化模式下 运行多个本地代理而设计的。重点是,测试者非常密集地使用CPU,并且很容易占用系统中所有核心的100%。如果你把优先级设置为 "中等",CPU将被加载到100%,甚至终端会耗尽资源。单核处理器的情况尤其糟糕。这就是为什么在优化模式下,代理的默认设置是低优先级,这允许其他程序也能工作。如果计算机不忙于其他工作,那么即使在低优先级时,代理也会获得所有的CPU资源(降低CPU优先级并不意味着直接减少资源)。最有可能的是,我们将把优先级从 "低 "改为 "低于平均水平"--这将足以使操作系统在优化模式下的全负荷下保持响应。值得注意的是,当运行一个代理并拥有超过1个核心时,该代理以 "中等 "优先级运行。拥有额外内核的单个代理可能不会对整个系统产生那么大的影响。ps:看看你的截图--即使在低优先级的情况下,CPU负载也有95%。 vda 2011.02.02 23:16 #2880 Renat:是的,这样做是专门为了在优化模式下运行多个本地代理。....ps:看看你的截图--即使在低优先级的情况下,CPU负载也有95%。 请牢记这一点。谢谢 1...281282283284285286287288289290291292293294295...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
以免重复发帖。请看一下https://www.mql5.com/ru/forum/2547/page1#comment_45265
我在那里做错了什么? 似乎与文章中的内容相同。我想学习如何与标准类合作。但我似乎做错了(。
以免重复发帖。请看一下https://www.mql5.com/ru/forum/2547/page1#comment_45265
我在那里做错了什么? 似乎与文章中的内容相同。我想学习如何与标准类合作。但我似乎做错了(。
函数中的一个错误
string DoubleToString(
double value, // число
int digits=8 // кол-во знаков после запятой
);
如果数字>=12
void testDoubleToString()
{
int i,j,cn=11,digits=DBL_DIG+1;
double dblVal,dblValFromStr,pres=0.1;
string dblStr;
Print("Start testDoubleToString cn=",cn," digits=",digits);
for(i=1; i<=digits; i++)
{
for(j=2; j<cn; j++)
{
dblVal = 1.0/j;
dblStr = DoubleToString(1.0/j, i);
dblValFromStr=StringToDouble(dblStr);
if(MathAbs(dblValFromStr-dblVal)>pres)
{
Print("ERROR from function DoubleToString digits: ",i," value: 1/",j," dblVal: ",
dblVal," strVal: ",dblStr," dblValFromStr: ",dblValFromStr);
}
}
pres*=0.1;
}
}
//---
void OnStart(){testDoubleToString();}
//---
它给出了
来自函数 DoubleToString的错误 数字:14 值:1/10 dblVal:0.1 strVal:1.0000000000 dblValFromStr:1
ERROR from function DoubleToString digits: 14 value: 1/9 dblVal: 0.1111111111111111 strVal: 1.11111111111111 dblValFromStr: 1.111111111111
来自函数DoubleToString的ERROR 数字:14 值:1/8 dblVal:0.125 strVal:1.2500000000 dblValFromStr:1.25
ERROR from function DoubleToString digits: 14 value: 1/7 dblVal: 0.1428571428571429 strVal: 1.42857142857143 dblValFromStr: 1.42857142857143
ERROR from function DoubleToString digits: 14 value: 1/6 dblVal: 0.166666666667 strVal: 1.666666667 dblValFromStr: 1.66666666667
来自函数DoubleToString的错误 数字:14 值:1/5 dblVal:0.2 strVal:2.0000000000 dblValFromStr:2
来自函数DoubleToString的ERROR 数字:14 值:1/4 dblVal:0.25 strVal:2.50000000000000 dblValFromStr:2.5
ERROR from function DoubleToString digits: 14 value: 1/3 dblVal: 0.333333333333 strVal: 3.333333333 dblValFromStr: 3.333333333333
来自函数DoubleToString的错误 数字:14 值:1/2 dblVal:0.5 strVal:5.0000000000 dblValFromStr:5
来自函数DoubleToString的ERROR 数字:13 值:1/10 dblVal:0.1 strVal:1.0000000000000 dblValFromStr:1
ERROR from function DoubleToString digits: 13 value: 1/9 dblVal: 0.11111111111111 strVal: 1.11111111111 dblValFromStr: 1.11111111111
来自函数DoubleToString的ERROR 数字:13 值:1/8 dblVal:0.125 strVal:1.2500000000000 dblValFromStr:1.25
来自函数DoubleToString的ERROR 数字:13 值:1/7 dblVal:0.1428571428571429 strVal:1.4285714285714 dblValFromStr:1.4285714285714
来自函数DoubleToString的错误 数字:13 值:1/6 dblVal:0.166666666667 strVal:1.6666666667 dblValFromStr:1.6666666667
来自函数DoubleToString的ERROR 数字:13 值:1/5 dblVal:0.2 strVal:2.0000000000000 dblValFromStr:2
来自函数DoubleToString的错误 数字:13 值:1/4 dblVal:0.25 strVal:2.5000000000000 dblValFromStr:2.5
ERROR from function DoubleToString digits: 13 value: 1/3 dblVal: 0.333333333333 strVal: 3.333333333 dblValFromStr: 3.333333333333
来自函数DoubleToString的ERROR 数字:13 值:1/2 dblVal:0.5 strVal:5.0000000000000 dblValFromStr:5
来自函数DoubleToString的ERROR 数字:12 值:1/10 dblVal:0.1 strVal:1.000000000000 dblValFromStr:1
ERROR from function DoubleToString digits: 12 value: 1/9 dblVal: 0.11111111111111 strVal: 1.111111111111 dblValFromStr: 1.111111111111
来自函数DoubleToString的错误 数字:12 值:1/8 dblVal:0.125 strVal:1.250000000000 dblValFromStr:1.25
ERROR from function DoubleToString digits: 12 value: 1/7 dblVal: 0.1428571428571429 strVal: 1.428571428571 dblValFromStr: 1.428571428571
来自函数DoubleToString的错误 数字:12 值:1/6 dblVal:0.166666666667 strVal:1.666666667 dblValFromStr:1.666666667
来自函数DoubleToString的ERROR 数字:12 值:1/5 dblVal:0.2 strVal:2.000000000000 dblValFromStr:2
来自函数DoubleToString的ERROR 数字:12 值:1/4 dblVal:0.25 strVal:2.500000000000 dblValFromStr:2.5
ERROR from function DoubleToString digits: 12 value: 1/3 dblVal: 0.333333333333 strVal: 3.3333333333 dblValFromStr: 3.33333333333333
来自函数DoubleToString的错误 数字:12 值:1/2 dblVal:0.5 strVal:5.000000000000 dblValFromStr:5
操作系统: WIN7
构建:387
函数中的一个错误
string DoubleToString(
double value, // число
int digits=8 // кол-во знаков после запятой
);
当数字>=12时
我如何设置图表子窗口的高度? 如果是一个函数?还是只能通过模板?
我如何设置图表子窗口的高度? 如果是一个函数?还是只能通过模板?
所有功能在帮助中都有描述。
通过模板来做。
В классе CArray #include <Arrays\Array.mqh> забыли прописать виртуальные методы Reserve()и Resize()这里有一个有趣的事情--当你默认运行STRATEGY TESTER 的时候
被设置为低优先级,现在我不得不每次都手动将其改为中等。
也许这就是它应该有的样子?
alexluek:
也许这就是它应该有的样子?
是的,它是专门为在优化模式下 运行多个本地代理而设计的。
重点是,测试者非常密集地使用CPU,并且很容易占用系统中所有核心的100%。如果你把优先级设置为 "中等",CPU将被加载到100%,甚至终端会耗尽资源。单核处理器的情况尤其糟糕。
这就是为什么在优化模式下,代理的默认设置是低优先级,这允许其他程序也能工作。如果计算机不忙于其他工作,那么即使在低优先级时,代理也会获得所有的CPU资源(降低CPU优先级并不意味着直接减少资源)。
最有可能的是,我们将把优先级从 "低 "改为 "低于平均水平"--这将足以使操作系统在优化模式下的全负荷下保持响应。
值得注意的是,当运行一个代理并拥有超过1个核心时,该代理以 "中等 "优先级运行。拥有额外内核的单个代理可能不会对整个系统产生那么大的影响。
ps:看看你的截图--即使在低优先级的情况下,CPU负载也有95%。
是的,这样做是专门为了在优化模式下运行多个本地代理。
....ps:看看你的截图--即使在低优先级的情况下,CPU负载也有95%。