错误、漏洞、问题 - 页 2555 1...254825492550255125522553255425552556255725582559256025612562...3184 新评论 Влад 2019.09.04 11:50 #25541 TheXpert: 为写柄添加FILE_SHARE_READ,为读柄添加FILE_SHARE_WRITE。 不起作用,只有单独挂在图表上才起作用。使用过的。 handle_write=FileOpen("checkbox_color.txt",FILE_WRITE|FILE_SHARE_READ|FILE_TXT,';'); handle_read=FileOpen("checkbox_color.txt",FILE_READ|FILE_SHARE_WRITE|FILE_TXT,';'); Влад 2019.09.04 12:04 #25542 Влад: 不起作用,只有单独挂在图表上才起作用。使用过的。 全部解决了。已使用。 handle_write=FileOpen("checkbox_color.txt",FILE_READ|FILE_WRITE|FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_TXT,';'); handle_read=FileOpen("checkbox_color.txt",FILE_READ|FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_TXT,';'); Влад 2019.09.04 12:16 #25543 一个新的问题出现了。在第一个图表 中,由于上述指标,我正在改变变量。在第二个图表中,信息只在TF变化时显示,而不是像我希望的那样即时显示。如何才能解决这个问题?仅仅通过按PCM更新图表并没有帮助。 [删除] 2019.09.04 17:29 #25544 build 2135根本就坏了 #define abort(ANY) do{printf("abort, file=%s, line=%i", __FILE__, __LINE__); Alert(1/(uint)MathAbs(0));}while(false) #define GENERATE_VECTOR_GROWTH_FACTOR 2 #define GENERATE_VECTOR(NAME, REF) \ template <typename T> \ class NAME \ { \ uint sz; \ public: \ T a[]; \ NAME(): sz(0) {} \ NAME(uint count): sz(0) { \ if (ArrayResize(this.a, count) == -1) \ abort(0); \ this.sz = count; \ } \ uint size()const {return this.sz;} \ void clear() {this.sz = 0;} \ void push_back(T REF value) { \ if (this.sz == ArraySize(this.a) && \ ArrayResize(this.a, this.sz* \ GENERATE_VECTOR_GROWTH_FACTOR+1) == -1) \ abort(0); \ this.a[this.sz++] = value; \ } \ void reserve(uint new_cap) { \ if ((int)new_cap > ArraySize(this.a)) \ ArrayResize(this.a, new_cap); \ } \ void erase(uint pos) { \ if ( ! ArrayRemove(this.a, (int)pos, 1) ) \ abort(0); \ -- this.sz; \ } \ }; #define GENERATE_VECTOR_EMPTY GENERATE_VECTOR(vector_fund, GENERATE_VECTOR_EMPTY); GENERATE_VECTOR(vector_ref, const &); #undef GENERATE_VECTOR_EMPTY #undef GENERATE_VECTOR_GROWTH_FACTOR #undef GENERATE_VECTOR 'GENERATE_VECTOR' - unexpected token, probably type is missing? 1_mystd.mqh 74 1 'GENERATE_VECTOR' - 意外的标记,可能是类型丢失? 1_mystd.mqh 75 1 'GENERATE_VECTOR' - 变量已经定义 1_mystd.mqh 75 1 编译了很久,在新版本中中断了。 [删除] 2019.09.04 17:38 #25545 Vict: build 2135被破坏了。 它已经编译了很久,在新的版本中被破坏了。 我作弊,没事的,其中一个堕胎的形式被称为 abort(); 曾经吃过编译器,但在新版本中它拒绝了,他们一定是调整了什么(好吧,我不认为我不小心删除了一个零)。 Aleksey Vyazmikin 2019.09.05 03:29 #25546 我注意到ME在编译时加载了CPU的2个核心(26%),问题来了--是多线程,那么为什么不使用所有核心进行编译,还是浪费资源 的错误? Alexey Navoykov 2019.09.05 05:48 #25547 Vict: 我作弊,没事的,其中一个堕胎的形式被称为 编译器曾经吃了它,但在新版本中它拒绝了,所以他们一定调整了什么(好吧,我不认为我不小心删除了一个零)。 顺便说一下,我们应该要求开发人员引入全职的流产、断言......理想情况下,当然还有例外。但至少要从小事做起。 Igor Makanu 2019.09.05 05:57 #25548 Alexey Navoykov: 顺便说一下,我们必须要求开发人员引入内联终止、中止......当然,最好还有异常。但至少要从小事做起。 放一个字,如果我没记错的话,我在上一个MQL周期中要求这样做,已经4年了,但我不得不听识字的人吵吵嚷嚷,他们说不需要,这样写就行了......如果你想在访问OHLC数据或指标出现严重错误时停止程序的执行。我看了一半的kodobase,是的,一些编解码器检查这些条件,但处理是不存在的,我看到的最多的是专家日志中的输出,就像发生了一个问题,不要担心,我将继续在这个勾上用无效的数据工作)))。 SZY: 我很痛心,我需要一个简单的方法来停止处理当前的勾选!- 停止专家的工作,所以这是可能的,但要停止处理一个刻度,发明并扭头就走--我怀疑在编译器层面上,abort()实现起来并不比ExpertRemove()更困难--它已经存在。 ZZZY: 在MQL中写一个没有中止()的程序化风格的EA的任务,比从现成的子程序中组装代码更像一项发明。 我怀疑这些关于如何写一个可以正确处理另一个TF的历史的指标的不断讨论,也会更容易使用中止()来解决 - 我还没有决定这个问题 Alexey Navoykov 2019.09.05 06:17 #25549 Igor Makanu: 放个话,如果我没记错的话,四年前我在上一个MQL周期就要求了。嗯,一切如常 你是对的,当你开始这么说的时候,那些有文化的人就会从所有的洞里出来,说 "这不是C++")。 你需要一个简单的方法来停止处理当前的tick!- 这意味着有可能停止EA的工作,但要停止处理一个点,你必须发明并解决它 - 我怀疑在编译器层面,abort()的实现不会比ExpertRemove()更复杂 - 它已经存在。 好吧,中止和断言的实现方式与上面的代码相同。 虽然这确实很难看,有时也很混乱,因为我并不总是注意到日志中前面的信息。 也许有一些其他的错误,会在日志中返回类似 "内部错误 "的信息?至少它看起来不会那么尴尬 ) Igor Makanu 2019.09.05 06:26 #25550 Alexey Navoykov: 你是对的,当你开始这么说的时候,那些有文化的人就会从所有的洞里出来,说 "这不是C++")。 好吧,中止和断言的实现方式与上面的代码相同。 虽然这确实很难看,有时也很混乱,因为我并不总是注意到日志中前面的信息。 也许有一些其他的错误,会在日志中返回类似 "内部错误 "的信息?至少它看起来不会那么尴尬 ) 在这里,@Vict 帮助我通过宏替换的方式,使退出操作系统的异常https://www.mql5.com/ru/forum/318246/page10#comment_12651045。 虽说在一般情况下是一个可行的解决方案,但...但它看起来很丑陋,令人厌恶!))) 1...254825492550255125522553255425552556255725582559256025612562...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
为写柄添加FILE_SHARE_READ,为读柄添加FILE_SHARE_WRITE。
不起作用,只有单独挂在图表上才起作用。使用过的。
不起作用,只有单独挂在图表上才起作用。使用过的。
全部解决了。已使用。
build 2135根本就坏了
'GENERATE_VECTOR' - unexpected token, probably type is missing? 1_mystd.mqh 74 1
'GENERATE_VECTOR' - 意外的标记,可能是类型丢失? 1_mystd.mqh 75 1
'GENERATE_VECTOR' - 变量已经定义 1_mystd.mqh 75 1编译了很久,在新版本中中断了。
build 2135被破坏了。
它已经编译了很久,在新的版本中被破坏了。
曾经吃过编译器,但在新版本中它拒绝了,他们一定是调整了什么(好吧,我不认为我不小心删除了一个零)。
我作弊,没事的,其中一个堕胎的形式被称为
编译器曾经吃了它,但在新版本中它拒绝了,所以他们一定调整了什么(好吧,我不认为我不小心删除了一个零)。
顺便说一下,我们必须要求开发人员引入内联终止、中止......当然,最好还有异常。但至少要从小事做起。
放一个字,如果我没记错的话,我在上一个MQL周期中要求这样做,已经4年了,但我不得不听识字的人吵吵嚷嚷,他们说不需要,这样写就行了......如果你想在访问OHLC数据或指标出现严重错误时停止程序的执行。我看了一半的kodobase,是的,一些编解码器检查这些条件,但处理是不存在的,我看到的最多的是专家日志中的输出,就像发生了一个问题,不要担心,我将继续在这个勾上用无效的数据工作)))。
SZY: 我很痛心,我需要一个简单的方法来停止处理当前的勾选!- 停止专家的工作,所以这是可能的,但要停止处理一个刻度,发明并扭头就走--我怀疑在编译器层面上,abort()实现起来并不比ExpertRemove()更困难--它已经存在。
ZZZY: 在MQL中写一个没有中止()的程序化风格的EA的任务,比从现成的子程序中组装代码更像一项发明。 我怀疑这些关于如何写一个可以正确处理另一个TF的历史的指标的不断讨论,也会更容易使用中止()来解决 - 我还没有决定这个问题
放个话,如果我没记错的话,四年前我在上一个MQL周期就要求了。嗯,一切如常
你是对的,当你开始这么说的时候,那些有文化的人就会从所有的洞里出来,说 "这不是C++")。
你需要一个简单的方法来停止处理当前的tick!- 这意味着有可能停止EA的工作,但要停止处理一个点,你必须发明并解决它 - 我怀疑在编译器层面,abort()的实现不会比ExpertRemove()更复杂 - 它已经存在。
好吧,中止和断言的实现方式与上面的代码相同。 虽然这确实很难看,有时也很混乱,因为我并不总是注意到日志中前面的信息。 也许有一些其他的错误,会在日志中返回类似 "内部错误 "的信息?至少它看起来不会那么尴尬 )
你是对的,当你开始这么说的时候,那些有文化的人就会从所有的洞里出来,说 "这不是C++")。
好吧,中止和断言的实现方式与上面的代码相同。 虽然这确实很难看,有时也很混乱,因为我并不总是注意到日志中前面的信息。 也许有一些其他的错误,会在日志中返回类似 "内部错误 "的信息?至少它看起来不会那么尴尬 )
在这里,@Vict 帮助我通过宏替换的方式,使退出操作系统的异常https://www.mql5.com/ru/forum/318246/page10#comment_12651045。
虽说在一般情况下是一个可行的解决方案,但...但它看起来很丑陋,令人厌恶!)))