需要MT4开发者和程序员的帮助 - 页 2

 
stringo:

非常相似。

1.MQL4语言有一个专门的论坛。不是这个。

2.你没有读过MQL4的文档,无论是新的还是旧的

你不给一个有用的链接,而只是把垃圾扔到人身上。

这种不合逻辑的情况是显而易见的。用户可以(与以前的构建不同)改变输入参数,新的数值在输入标签中是可见的,但它们实际上并没有改变。专家顾问完全控制了局面,但系统没有给出参数的更新值,而用户有一种错觉,以为自己改变了输入参数。

artmedia70,谢谢你。我会试一试的。但我很确定这不会有帮助。去初始化没有发生。是否可以分析一下没有发生的去初始化的原因?(日志中没有记录)。

我当然对任何人在这里帮助我不抱幻想。但坦率地说,我没有想到开发商会对一个相当明显的事情视而不见。当然,开发者怎么会承认这是一个软件错误呢?指责用户策划了一些 "不符合政治正确 "的循环是比较容易的。他们也会说我缩进的文字不正确,没有放注释。这个循环完美地工作,它在这些计划中根本无法替代,我被一些客户订购了。但是,输入参数的新值被用户及时改变后,其初始化就不起作用了。而且,称一个人是 "垃圾 "和 "文盲"(据说不看文档),你并没有反驳[用新值初始化参数]不工作的事实。

(话说回来,也许我把原因和结果混淆了?"钩子 "应该总是在不知不觉中出现,以方便用户的生活)。

 

很抱歉用英语发帖,但我想你会理解的。

你在使用一个无尽的循环,所以当然不会调用init/deinit。一个EA是单线程的,所以即使init/deinit事件被放在处理队列中,你也不会让它有机会执行。

 
Wex:

你不给一个有用的链接,而只是把垃圾扔给对方。

这种不合逻辑的情况是显而易见的。用户有机会(与以前的构建不同)改变输入参数,新的数值在输入选项卡中是可见的,但它们实际上没有变化。专家顾问完全控制了局面,但系统没有给它更新的参数值,而用户有一种错觉,以为自己改变了输入参数。

artmedia70,谢谢。我会试一试的。但我很确定这不会有帮助。去初始化没有发生。是否可以分析一下没有发生的去初始化的原因?(日志中没有记录)。

我当然对任何人在这里帮助我不抱幻想。但坦率地说,我没有想到开发商会对一个相当明显的事情视而不见。当然,开发者怎么会承认这是一个软件错误呢?指责用户策划了一些 "不符合政治正确 "的循环是比较容易的。他们也会说我缩进的文字不正确,而且没有放注释。这个循环完美地工作,它在这些计划中根本无法替代,我被一些客户订购了。但是,输入参数的新值被用户及时改变后,其初始化就不起作用了。而且,称一个人是 "垃圾 "和 "文盲"(据说不看文档),你并没有反驳[用新值初始化参数]不工作的事实。

(话说回来,也许我把原因和结果混淆了?"钩子 "应该总是在不知不觉中出现,以方便用户的生活)。

试试吧;)
 
angevoyageur:

很抱歉用英语发帖,但我想你会理解的。

你在使用一个无尽的循环,所以当然不会调用init/deinit。一个EA是单线程的,所以即使init/deinit事件被放在处理队列中,你也不会让它有机会执行。

嗯, 可能是这样。

 
Wex:

好吧,如果专家顾问是循环的,而且它确实没有从循环中调用去初始化,那么试着在OnChartEvent()中询问输入参数的变化。

例如,在图表上按对象显示所需参数。点击一个参数(CHARTEVENT_OBJECT_CLICK)会调用LabelEdit输入字段,在这里你可以输入新的参数(CHARTEVENT_OBJECT_ENDEDIT),并通过用户事件(CHARTEVENT_CUSTOM+n)发送给专家,在专家中你可以询问事件并对输入参数的变化做出反应。

 
artmedia70:

好吧,如果专家是循环的,而且确实没有引起循环的uninitialize,可以尝试用OnChartEvent()来组织一次输入参数变化的投票。

例如,你想在图表上显示一个对象的选项。点击选项(CHARTEVENT_OBJECT_CLICK) 导致输入字段LabelEdit,在那里输入新的参数(CHARTEVENT_OBJECT_ENDEDIT),并通过用户事件(CHARTEVENT_CUSTOM + n) 将它们发送给专家 专家在轮询事件中对输入参数的变化做出反应。

将不工作。同样的问题,你的EA处于无休止的循环中,没有事件处理程序会被执行。
 
angevoyageur:
将不工作。同样的问题,你的EA处于无休止的循环中,没有事件处理程序会被执行。
真的吗? 我不知道 ... 从来没有 OnChartEvent() 写过 循环的 专家...
 
stringo:

非常相似。

1.MQL4语言有一个专门的论坛。不是这个。

2.你没有读过MQL4的文档,无论是新的还是旧的。

1.当你安装MetaTrader4终端 时,在安装窗口有一个论坛邀请,这个论坛而不是另一个。

2.新资料片已完成一半。在过去,循环的EA的属性窗口没有打开。现在它做到了,我希望窗口能对参数变化做出反应。或者不打开属性窗口,以免使用户感到困惑。

 
韦克斯,用一个计时器,你现在可以省去循环的问题了。
 
Integer:

1.在安装MetaTrader4终端时,在安装窗口有一个论坛邀请,这个论坛而不是另一个。

2.新资料片已完成一半。在过去,循环的EA的属性窗口没有打开。现在它做到了,我希望窗口能对参数变化做出反应。或者不打开属性窗口,以避免混淆用户。

1.看看Wex的资料。他是一个专业的MQL4开发者。他装傻充愣。或者他是在耍花招。目前还不清楚原因。

2.你必须考虑清楚。你不能在新参数到达时强行终止循环。类似IsNewParameter的函数,应该由程序员自己在无尽循环中调用。