错误、漏洞、问题 - 页 725 1...718719720721722723724725726727728729730731732...3184 新评论 Rashid Umarov 2012.04.23 15:12 #7241 Snaf: 我自己发现了第一个脚本中的错误,但我没有足够的大脑来处理第二个 脚本。图片630 这个例子是使用MQL5编译器的新版本编写的。我们为没有考虑到这一点而感到抱歉。但它很快就会出来。 请等待一下,一切都会被编译。 Sceptic Philozoff 2012.04.23 15:26 #7242 MetaDriver: 是的,我也是在字符串处理方面搞砸了。 我的函数曾经从其他函数返回的块中组合出一个长字符串(OpenCL程序生成)。在调试器中,它就像时钟一样--构建崩溃并显示 "Acces Violation"...。;)我正准备写信给服务台,但不知从哪里来的灵感,它竟然起作用了。:) 我无法再重现它(尽管我试图诚实地去做),那么我为什么要把它送到服务台?是的,CLProgramCreate()有一个明显的问题。我特别追踪了脚本中第一个执行故障的位置,它就在这个函数中。该函数不返回一个值。以字符串形式出现的CL-程序似乎被正确地复制了。但CL程序本身并没有被创建。 Renat Fatkhullin 2012.04.23 17:04 #7243 在对交叉盘进行测试时,对其他汇率也有准确的模拟,以便正确转换利润和保证金要求。 试着运行可视化,你会立即明白基于市场观察中的背景字符数量的计算量。 Denis Lazarev 2012.04.23 17:57 #7244 请告诉我如何合并我的笔记本电脑和PC,在测试策略时,电脑通过路由器工作,一个通过电缆,另一个通过Wi-Fi,试图在台式电脑上创建文件mt5,我扔到笔记本电脑上,添加到远程部分,但代理商的名称与笔记本电脑上相同 --- 2012.04.23 18:16 #7245 从帖子https://www.mql5.com/ru/forum/1111/page736#comment_185306将问题定位到点。- 关于CFastFile::ReadInteger类中的函数事实证明,在630/64中,无论是结构赋值,还是从数组读入数组,都被搞砸了,尽管最糟糕的变化似乎是将有符号(short/int/char)转换为无符号(ushort/uint/uchar)。某处有额外的比特或偏移。结果是,程序员读到的数字与预期的完全不同。这将使你更容易整理,并在功能上反复检查。 但它在4台电脑上以同样的代码稳定地工作(代码很大,我不能拉长情节)。 Yedelkin 2012.04.23 18:26 #7246 lazarev-d-m: 请告诉我如何合并我的笔记本电脑和PC,在测试策略时,电脑通过路由器工作,一个通过电缆,另一个通过Wi-Fi,试图在台式电脑上创建一个文件mt5,把它扔到笔记本电脑上,添加到远程部分,但代理商的名称与笔记本电脑上的相同。 这是不是不工作?客户端/ 策略测试员/ 代理商 Denis Lazarev 2012.04.23 18:58 #7247 Yedelkin: 它不像这样工作?客户端/ 策略测试员 /代理商 我一定是做错了什么,现在我再次创建了mt5文件,现在笔记本看到了PC处理器,但在测试中没有任何进展,这可能是什么问题,如果我不在PC上使用笔记本处理器,是否有必要将其添加到PC测试器? --- 2012.04.23 19:41 #7248 开发人员,你用这个错误赢得了我!正如他们所说,"我在哭"。来自CFastFile( ::ReadInteger)的函数 uint ReadArray(uchar &dst[], uint dst_start=0, int cnt=WHOLE_ARRAY) { int r=ArrayCopy(dst, m_data, dst_start, m_pos, cnt); if (r>0) m_pos+=r; return(r); } ushort ReadShort() { __2 b={0}; __short d={0}; ReadArray(b.v, 0, 2); d=b; return(d.v); } uint ReadInteger(int sz=INT_VALUE) { if (sz==SHORT_VALUE) { ushort s=ReadShort(); return(s); } return(ReadInt()); } 读取SHORT_VALUE时,它的返回值是无意义的。我开始挖掘,思考从数组中读取数据的不同选项。 结果发现,如果不把ushort s=ReadShort()放在函数ReadShort本身的主体上,所有的数字都能正常读取。但后来我发现一个变体,真的让我哭了。 uint ReadInteger(int sz=INT_VALUE) { if (sz==SHORT_VALUE) { ushort s=ReadShort(); if (s==426) Print(s); return(s); } return(ReadInt()); } 也就是说,Print函数 神奇地将一个错误的数字s转化为一个正确的数字,并返回正确的值。亲爱的开发者们,请你们清醒地认识到这一点吧!你将如何补偿因你自己对产品的态度而在市场 上造成的损失?毕竟,MT5只是一个巨大的消费资源,它由第三方程序员提供服务。 而你却用你的疏忽行为质疑他们的能力和他们项目的质量! Renat Fatkhullin 2012.04.23 20:03 #7249 sergeev: 开发人员,你用这个错误赢得了我!正如他们所说,"我在哭"。来自CFastFile( ::ReadInteger)的函数等等,但这是你的CFastFile 类的代码,不是吗?平台开发者与此有什么关系?//+------------------------------------------------------------------+ //| FastFile | //| Copyright © 2006-2012 | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006-2012" #property version "1.00" #property library --- 2012.04.23 20:46 #7250 Renat:等等,但这是你的CFastFile 类的代码,不是吗?平台开发者与此有什么关系?是的,雷纳特,这是我的代码。它在以前的版本中是有效的。但它在目前的630/64中停止工作。 而且它在630/32中继续成功工作。我发现的这个错误相当奇怪,坦率地说,令人恐惧。 1...718719720721722723724725726727728729730731732...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
图片630
我正准备写信给服务台,但不知从哪里来的灵感,它竟然起作用了。:) 我无法再重现它(尽管我试图诚实地去做),那么我为什么要把它送到服务台?
是的,CLProgramCreate()有一个明显的问题。我特别追踪了脚本中第一个执行故障的位置,它就在这个函数中。该函数不返回一个值。
以字符串形式出现的CL-程序似乎被正确地复制了。但CL程序本身并没有被创建。
试着运行可视化,你会立即明白基于市场观察中的背景字符数量的计算量。
从帖子https://www.mql5.com/ru/forum/1111/page736#comment_185306
将问题定位到点。
- 关于CFastFile::ReadInteger类中的函数
事实证明,在630/64中,无论是结构赋值,还是从数组读入数组,都被搞砸了,尽管最糟糕的变化似乎是将有符号(short/int/char)转换为无符号(ushort/uint/uchar)。
某处有额外的比特或偏移。结果是,程序员读到的数字与预期的完全不同。这将使你更容易整理,并在功能上反复检查。
但它在4台电脑上以同样的代码稳定地工作(代码很大,我不能拉长情节)。
请告诉我如何合并我的笔记本电脑和PC,在测试策略时,电脑通过路由器工作,一个通过电缆,另一个通过Wi-Fi,试图在台式电脑上创建一个文件mt5,把它扔到笔记本电脑上,添加到远程部分,但代理商的名称与笔记本电脑上的相同。
它不像这样工作?客户端/ 策略测试员 /代理商
开发人员,你用这个错误赢得了我!正如他们所说,"我在哭"。
来自CFastFile( ::ReadInteger)的函数
读取SHORT_VALUE时,它的返回值是无意义的。
我开始挖掘,思考从数组中读取数据的不同选项。
结果发现,如果不把ushort s=ReadShort()放在函数ReadShort本身的主体上,所有的数字都能正常读取。
但后来我发现一个变体,真的让我哭了。
也就是说,Print函数 神奇地将一个错误的数字s转化为一个正确的数字,并返回正确的值。
亲爱的开发者们,请你们清醒地认识到这一点吧!
你将如何补偿因你自己对产品的态度而在市场 上造成的损失?
毕竟,MT5只是一个巨大的消费资源,它由第三方程序员提供服务。
而你却用你的疏忽行为质疑他们的能力和他们项目的质量!
开发人员,你用这个错误赢得了我!正如他们所说,"我在哭"。
来自CFastFile( ::ReadInteger)的函数
等等,但这是你的CFastFile 类的代码,不是吗?平台开发者与此有什么关系?
等等,但这是你的CFastFile 类的代码,不是吗?平台开发者与此有什么关系?
是的,雷纳特,这是我的代码。
它在以前的版本中是有效的。但它在目前的630/64中停止工作。
而且它在630/32中继续成功工作。
我发现的这个错误相当奇怪,坦率地说,令人恐惧。