错误、漏洞、问题 - 页 708 1...701702703704705706707708709710711712713714715...3184 新评论 Andrey Miguzov 2012.04.07 21:11 #7071 你好,OpenCL!在调试模式 下,代码工作得很好....但在测试中,当调用CLContextCreate 时,出现了错误5100...服务台?Terminal CPU: GenuineIntel Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz with OpenCL 1.1 (4 units, 2095 MHz, 5990 Mb, version 2.0)终端GPU:Advanced Micro Devices, Inc.采用OpenCL 1.1的Turks(6个单元,725 MHz,1024 Mb,版本CAL 1.4.1703(VM))。Build 619 Windows 7 SP1 64-x...在PC上用另一个电子游戏重复了一遍--没有帮助......。 附加的文件: Test_OpenCL.mq5 2 kb Vladimir Gomonov 2012.04.07 21:53 #7072 MigVRN:在调试模式 下,代码工作得很好....但在测试中,当CLContextCreate 被调用时,会产生错误5100。服务台? 我不认为这是一个错误,我认为OpenCL在测试器中不工作--支持被禁用。暂时性残疾还是永久性残疾,这是一个开放的问题。 Mykola Demko 2012.04.07 21:55 #7073 MigVRN:你好,OpenCL!在调试模式 下,代码工作得很好....但在测试中,当调用CLContextCreate 时,出现了错误5100...服务台?...在桌面上用不同的电子游戏重复了一遍--没有任何帮助......。我不记得在测试器中宣布启用OpenCL,也许我错过了什么。只要功能是在终端调试的,只要它准备好了,测试器中的支持就会被打开。 也要支持远程测试。 Andrey Miguzov 2012.04.07 22:04 #7074 MetaDriver: 我不认为这是一个错误。 我认为OpenCL在测试器中不工作 - 支持被禁用。暂时性残疾还是永久性残疾,这是一个开放的问题。Urain。我不记得曾宣布在测试器中启用OpenCL,也许我错过了什么。当功能在终端调试时,一旦准备好,测试器中的支持将被打开。 他们也将不得不支持远程测试。 谢谢! :( 我将期待它...我真的已经想试试了。 Вангелис 2012.04.08 00:13 #7075 我决定写一个EA。当我开始从头开始写东西时,我总是检查每个步骤是否有错误,并检查代码的效率。我不喜欢专家顾问的工作方式,如 "新栏 "事件。我找了很久才找到原因--当代码中只有几行时,我才找到了它的底部 //+------------------------------------------------------------------+//|专家勾选功能|//+------------------------------------------------------------------+ void OnTick(){ Alert("New tick",TimeCurrent() );}//+------------------------------------------------------------------+ 结果我得到了100%的模拟质量,模拟了38242987 次,但在测试员的日志中却出现了严重的遗漏(整日),我只计算了13259 次...... 可能的原因是什么? 附加的文件: ri4b7vcv_pvq1xk4.jpg 443 kb 20120408.log 2074 kb Vladimir Gomonov 2012.04.08 02:16 #7076 Renat, Slava, 可以通过(简单)制作一个预处理器 的特殊指令来接近参数化,其作用类似于#include,但允许重复编译同一个insluder。 例如。#define ArrayType double #include "ISTemplate.mqh" #define ArrayType float #include "ISTemplate.mqh" #define ArrayType int #include "ISTemplate.mqh" #define ArrayType uint #include "ISTemplate.mqh" #define ArrayType long #include "ISTemplate.mqh" #define ArrayType ulong #include "ISTemplate.mqh" #define ArrayType short #include "ISTemplate.mqh" #define ArrayType ushort #include "ISTemplate.mqh" #define ArrayType char #include "ISTemplate.mqh" #define ArrayType uchar #include "ISTemplate.mqh" #define ArrayType string #include "ISTemplate.mqh" 现在,它可以编译,但不能工作(或者说只对第一个#include起作用)。 一个特殊的指令(#reinclude,#Include或#template)可以解决这个问题。 顺便说一下,在为标准类型编写函数重载时,它也会为你节省很多时间。而且标准库可以变得紧凑和漂亮。 你可能会接近 "正常的 "可参数化的类--只要给语言添加一个新的语法,并将隐藏的#reinclude自动化。// 工作实例,在这里,这个包容是由我自己的预处理程序部署的。 附加的文件: ISort.mqh 2 kb ISTemplate.mqh 2 kb Vladimir Gomonov 2012.04.08 03:27 #7077 这也是类参数化的一个变种。 #define _MyContainer(name,type,size) class name {public: type array[size]; virtual type At(int i){return array[i];}} #define ASize 8 //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { _MyContainer(MyClass,int,ASize); MyClass MyVar; Print(sizeof(MyVar)); for(int i=0;i<ASize;i++) { MyVar.array[i]=i*i; } for(int i=0;i<ASize;i++) { Print(MyVar.At(i)); } } 它是有效的,你甚至可以增加继承权。;)但为了能够或多或少可靠地使用这个选项,你至少要在宏中移动行。// 而这个噱头(当你不习惯的时候?)看起来相当奇怪。:)) 附加的文件: DefTest.mq5 2 kb Renat Fatkhullin 2012.04.08 06:27 #7078 MetaDriver:Renat, Slava, 你可以通过(简单的)制作一个预处理器 的特殊指令来接近参数化,其作用类似于#include,但允许重复编译同一个insluder。 例如。这个想法很清楚,但最好是立即实施模板。我们以后再来讨论这个问题。 Vladimir Gomonov 2012.04.08 08:46 #7079 Renat:这个想法很清楚,但最好是立即实施模板。我们以后再来讨论这个问题。 耶!!谢谢你。 Alexey 2012.04.09 05:38 #7080 测试器中的这个条目顺利通过,试图将EA附加到图表上时出现了错误。int OnInit() { hPerCros=iCustom(_Symbol,0,"\\Каналы\PercentageCrossoverChannel",Percent,Shift) ; if( hPerCros < 0) Print("Ошибка создания индикатора= ",GetLastError()); return(0); } 1...701702703704705706707708709710711712713714715...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好,OpenCL!在调试模式 下,代码工作得很好....但在测试中,当调用CLContextCreate 时,出现了错误5100...服务台?
Terminal CPU: GenuineIntel Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz with OpenCL 1.1 (4 units, 2095 MHz, 5990 Mb, version 2.0)
终端GPU:Advanced Micro Devices, Inc.采用OpenCL 1.1的Turks(6个单元,725 MHz,1024 Mb,版本CAL 1.4.1703(VM))。
Build 619 Windows 7 SP1 64-x
...
在PC上用另一个电子游戏重复了一遍--没有帮助......。
在调试模式 下,代码工作得很好....但在测试中,当CLContextCreate 被调用时,会产生错误5100。服务台?
你好,OpenCL!在调试模式 下,代码工作得很好....但在测试中,当调用CLContextCreate 时,出现了错误5100...服务台?
...
在桌面上用不同的电子游戏重复了一遍--没有任何帮助......。
我不记得在测试器中宣布启用OpenCL,也许我错过了什么。
只要功能是在终端调试的,只要它准备好了,测试器中的支持就会被打开。
也要支持远程测试。
我不认为这是一个错误。 我认为OpenCL在测试器中不工作 - 支持被禁用。暂时性残疾还是永久性残疾,这是一个开放的问题。
我不记得曾宣布在测试器中启用OpenCL,也许我错过了什么。
当功能在终端调试时,一旦准备好,测试器中的支持将被打开。
他们也将不得不支持远程测试。
我决定写一个EA。当我开始从头开始写东西时,我总是检查每个步骤是否有错误,并检查代码的效率。我不喜欢专家顾问的工作方式,如 "新栏 "事件。我找了很久才找到原因--当代码中只有几行时,我才找到了它的底部
//+------------------------------------------------------------------+
//|专家勾选功能|
//+------------------------------------------------------------------+
void OnTick()
{
Alert("New tick",TimeCurrent() );
}
//+------------------------------------------------------------------+
结果我得到了100%的模拟质量,模拟了38242987 次,但在测试员的日志中却出现了严重的遗漏(整日),我只计算了13259 次......
可能的原因是什么?
Renat, Slava, 可以通过(简单)制作一个预处理器 的特殊指令来接近参数化,其作用类似于#include,但允许重复编译同一个insluder。 例如。
现在,它可以编译,但不能工作(或者说只对第一个#include起作用)。 一个特殊的指令(#reinclude,#Include或#template)可以解决这个问题。 顺便说一下,在为标准类型编写函数重载时,它也会为你节省很多时间。而且标准库可以变得紧凑和漂亮。 你可能会接近 "正常的 "可参数化的类--只要给语言添加一个新的语法,并将隐藏的#reinclude自动化。
// 工作实例,在这里,这个包容是由我自己的预处理程序部署的。
这也是类参数化的一个变种。
它是有效的,你甚至可以增加继承权。;)
但为了能够或多或少可靠地使用这个选项,你至少要在宏中移动行。
// 而这个噱头(当你不习惯的时候?)看起来相当奇怪。:))
Renat, Slava, 你可以通过(简单的)制作一个预处理器 的特殊指令来接近参数化,其作用类似于#include,但允许重复编译同一个insluder。 例如。
这个想法很清楚,但最好是立即实施模板。
我们以后再来讨论这个问题。
这个想法很清楚,但最好是立即实施模板。
我们以后再来讨论这个问题。
测试器中的这个条目顺利通过,试图将EA附加到图表上时出现了错误。