错误、漏洞、问题 - 页 2458 1...245124522453245424552456245724582459246024612462246324642465...3184 新评论 Игорь Евдокимов 2019.05.10 12:23 #24571 当从MQL4切换到MQL5 时,我遇到了一个故障。 代码。 ResetLastError()。 int ObjTotal = ObjectsTotal(0);int Error = GetLastError()。 返回。 ObjTotal = 0. 错误=4022 这个错误是什么,为什么文件中没有提到? 我尝试了不同的变体:ObjectsTotal(0, -1, -1), ObjectsTotal(ChartID(), 0, OBJ_TREND), 等等。 其结果是一样的。 如何使其发挥作用? 终端:MetaTrader 5,版本5.00 build 2025。 Errors, bugs, questions Any rookie question, so 测试CGraphic--问题和建议 Vladimir Karputov 2019.05.10 12:30 #24572 Игорь Евдокимов: 建议:如果你想问什么,请插入完整的代码,而不是其中的一部分。 这有什么意义:任何人拿着你的代码,在他们自己的身上运行。而且几乎没有人看大块的代码--大块的代码是不尊重人的。 你的代码的例子。 //+------------------------------------------------------------------+ //| 1.mq5 | //| Copyright © 2019, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2019, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { ResetLastError(); int ObjTotal=ObjectsTotal(0); int Error=GetLastError(); Print("ObjectsTotal: ",ObjTotal,", GetLastError: ",Error); //--- } //+------------------------------------------------------------------+ 在一个没有任何图形对象的图形上运行它。结果。 2019.05.10 13:26:59.169 1 (EURUSD,H1) ObjectsTotal: 0, GetLastError: 0 就是说,没有错误。 使用终端。 2019.05.10 13:25:35.665 MetaTrader 5 x64 build 2025 started (MetaQuotes Software Corp.) 2019.05.10 13:25:35.668 Windows 10 (build 17763) x64, IE 11, UAC, Intel Core i3-3120 M @ 2.50 GHz, Memory: 3712 / 8077 Mb, Disk: 77 / 415 Gb, GMT+2 2019.05.10 13:25:35.668 C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075 附加的文件: 1.mq5 2 kb Игорь Евдокимов 2019.05.10 13:35 #24573 Vladimir Karputov:一个忠告:如果你想问什么,请插入完整的代码,而不是一个片段。谢谢你的建议,我也会这么做的。 然而,这个问题仍未解决。 澄清:如果上一篇文章中的那段代码是在指标的OnDeinit()函数中,结果是这样。 2019.05.10 14:08:20.105 PtS (EURUSD,H1)ObjectsTotal: 0, GetLastError: 4022 如果你在从图表中删除指标后运行同样的代码,就像上一个帖子中的脚本(1.mq5)一样,我们会得到 2019.05.10 14:08:33.609 1 (EURUSD,H1) ObjectsTotal: 8575, GetLastError: 0 请帮助我理解其中的原因。先生们 开发者们!文档中没有的这个错误是什么? Alain Verleyen 2019.05.10 17:26 #24574 Vladislav Andruschenko :在优化过程中,策略测试器 的错误。 "任务被 测试员 拒绝 " 例如,如果你的账户货币是欧元。EURJPY 没问题误差在GBPJPY如果你的账户货币是美元美元兑加元没有问题USDJPY 没问题误差在EURAUD 当代码中使用其他货币对时,就会出现这种情况。 在我的例子中,它使用的是动态地段的计算方法 也就是说,当EA要求提供另一种货币的价格时。 @Vladislav Andruschenko 你好,你有没有得到这个问题的答案或解决方案? Uladzimir Izerski 2019.05.10 20:20 #24575 Vladimir Pastushak:当计划/周期被改变时,无论你在输入字段中指定了什么值,PBB都会收到一个10的值。 在重新初始化的时刻,就好像是第一次运行一样。 有两种方法可以解决你的问题 1 - 将PBB值存储在全局变量中,并从那里获得周期。 2 - 当OnChartEvent触发时,重新初始化MA指标并获得一个新的句柄...检查了所有选项。它不起作用。 MQL5中的故障。 它并不初始化新的数值。只有在参数输入int PBB_=的情况下。没有其他选择。这一点也不好。 Vladimir Pastushak 2019.05.10 21:49 #24576 Uladzimir Izerski:检查了所有的选项。不起作用。MQL5程序中的缺陷。新值不被初始化。只有在输入int PBB_=参数的情况下。没有其他选择。这一点也不好。在MQL中一切都很好,你只是不明白你在代码中做了什么,一切是如何运作的...... 再次,当你调用ChartSetSymbolPeriod(0,_Symbol,_Period)时。 你把一切都重置为默认状态... 或者,尝试用inite来请求你的文本字段中的一个值。 当你第一次启动指标时,一切都被创建,当你改变字段中的数据时,新的调用inite并从你的文本字段中设置值... Uladzimir Izerski 2019.05.10 22:44 #24577 Vladimir Pastushak:在MQL中一切都很好,你只是不明白你在代码中做什么,以及一切是如何运作的......再次,当你调用ChartSetSymbolPeriod(0,_Symbol,_Period)时。你把一切都重置为默认状态...或者,尝试用inite来请求你的文本字段中的一个值。在逻辑上,第一次启动指标后,一切都被创建了,但当你改变字段中的数据时,在统一和值设置中会有一个新的调用,来自你的文本字段...我试过用文本字段和通过GlobalVariable,但我从未试过任何东西。它就像在坦克里一样安静。 在其他变量中,OnCalculate 的工作没有问题。 Vladimir Pastushak 2019.05.10 23:03 #24578 Uladzimir Izerski:我试着从一个文本字段和通过GlobalVariable以及其他任何我试过的东西。它像坦克一样安静。 另一个版本的OnCalculate工作起来没有问题。这意味着你做错了什么 Maksim Bilyk 2019.05.11 05:20 #24579 当我访问我的账户时,一个窗口打开,说我不应该阅读未准备的 "行",尽管它说授权允许连接到账户......我应该怎么做? Uladzimir Izerski 2019.05.11 17:22 #24580 Vladimir Pastushak:那么你就做错了事。你已经发布了代码。 如果我无能,一定有人是高手。我还没有看到它。 我接受你为寻找答案所做的努力。还有更多的事情要做。也就是说,在开发商的层面上。 1...245124522453245424552456245724582459246024612462246324642465...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
当从MQL4切换到MQL5 时,我遇到了一个故障。
代码。
ResetLastError()。
int ObjTotal = ObjectsTotal(0);
int Error = GetLastError()。
返回。
ObjTotal = 0.
错误=4022
这个错误是什么,为什么文件中没有提到?
我尝试了不同的变体:ObjectsTotal(0, -1, -1), ObjectsTotal(ChartID(), 0, OBJ_TREND), 等等。
其结果是一样的。
如何使其发挥作用?
建议:如果你想问什么,请插入完整的代码,而不是其中的一部分。
这有什么意义:任何人拿着你的代码,在他们自己的身上运行。而且几乎没有人看大块的代码--大块的代码是不尊重人的。
你的代码的例子。
在一个没有任何图形对象的图形上运行它。结果。
就是说,没有错误。
使用终端。
一个忠告:如果你想问什么,请插入完整的代码,而不是一个片段。
谢谢你的建议,我也会这么做的。
然而,这个问题仍未解决。
澄清:如果上一篇文章中的那段代码是在指标的OnDeinit()函数中,结果是这样。
2019.05.10 14:08:20.105 PtS (EURUSD,H1)ObjectsTotal: 0, GetLastError: 4022
如果你在从图表中删除指标后运行同样的代码,就像上一个帖子中的脚本(1.mq5)一样,我们会得到
2019.05.10 14:08:33.609 1 (EURUSD,H1) ObjectsTotal: 8575, GetLastError: 0
请帮助我理解其中的原因。
在优化过程中,策略测试器 的错误。
"任务被 测试员 拒绝 "
例如,如果你的账户货币是欧元。
如果你的账户货币是美元
当代码中使用其他货币对时,就会出现这种情况。
在我的例子中,它使用的是动态地段的计算方法
也就是说,当EA要求提供另一种货币的价格时。
@Vladislav Andruschenko
你好,你有没有得到这个问题的答案或解决方案?
当计划/周期被改变时,无论你在输入字段中指定了什么值,PBB都会收到一个10的值。
在重新初始化的时刻,就好像是第一次运行一样。
有两种方法可以解决你的问题
1 - 将PBB值存储在全局变量中,并从那里获得周期。
2 - 当OnChartEvent触发时,重新初始化MA指标并获得一个新的句柄...
检查了所有选项。它不起作用。
MQL5中的故障。
它并不初始化新的数值。只有在参数输入int PBB_=的情况下。没有其他选择。这一点也不好。
检查了所有的选项。不起作用。
MQL5程序中的缺陷。
新值不被初始化。只有在输入int PBB_=参数的情况下。没有其他选择。这一点也不好。
在MQL中一切都很好,你只是不明白你在代码中做了什么,一切是如何运作的......
再次,当你调用ChartSetSymbolPeriod(0,_Symbol,_Period)时。
你把一切都重置为默认状态...
或者,尝试用inite来请求你的文本字段中的一个值。
当你第一次启动指标时,一切都被创建,当你改变字段中的数据时,新的调用inite并从你的文本字段中设置值...
在MQL中一切都很好,你只是不明白你在代码中做什么,以及一切是如何运作的......
再次,当你调用ChartSetSymbolPeriod(0,_Symbol,_Period)时。
你把一切都重置为默认状态...
或者,尝试用inite来请求你的文本字段中的一个值。
在逻辑上,第一次启动指标后,一切都被创建了,但当你改变字段中的数据时,在统一和值设置中会有一个新的调用,来自你的文本字段...
我试过用文本字段和通过GlobalVariable,但我从未试过任何东西。它就像在坦克里一样安静。
在其他变量中,OnCalculate 的工作没有问题。
我试着从一个文本字段和通过GlobalVariable以及其他任何我试过的东西。它像坦克一样安静。
另一个版本的OnCalculate工作起来没有问题。
这意味着你做错了什么
那么你就做错了事。
你已经发布了代码。
如果我无能,一定有人是高手。我还没有看到它。
我接受你为寻找答案所做的努力。还有更多的事情要做。也就是说,在开发商的层面上。