错误、漏洞、问题 - 页 1493

 
zaskok3:
在MQL4++中,当我需要以编程方式 改变输入参数 时,我不能不使用extern。例如,当把一个标准的指标转换为一个交互式的指标时,我必须用extern来代替input。编译器将输入变量视为常量,并对试图改变它们的行为提出抱怨。有了extern,就没有这样的问题了。
他们为我做的。我很早就在手册中读到,extern可以通过编程来改变。小故障不断,现在变了,然后又没变,似乎它们在启动时被重置。我放弃了,把extern复制到global。 我只在程序开始时读和复制一次,只在程序内部使用global。立即,一切都像时钟一样工作。
 
zaskok3:
遗憾的是,架构是如此僵化,甚至没有简单的灵活性的可能性。因此,MQL5中的互动性需要一个拐杖。问题是,如果语言限制了可能性,那么优势在哪里?

你不明白。我们的架构节省了大量的内存。

问问你周围的人,什么更重要:是复制粘贴5行代码的困难还是内存的增加?例如,我们还没有考虑到以下问题

 
Slawa:

...

您对拥有多台显示器的业主有什么建议?你如何组织码头的有效运作?
 
Slawa:

你不明白。我们的建筑设计节省了大量的内存。

这就对了,我不明白。你提供的关于内部架构的信息非常少。老实说,我无法理解在输入变量上添加const修饰符如何能让你创建一个更好的架构,并节省大量的内存。同时,似乎在内存分配 中的超限形式的拐杖仍然创造了这种节约。你可以在架构上自动创建配音,并像现在这样对待输入的约束。非常努力地想象,是什么样的架构让你在如此简单的情况下 "节省大量的内存"。看起来你是在和MT4的架构做比较,MT4的架构在很多方面是多余的,而且远没有资源效率高(如重新计算时间段)。但我们谈论的是一般架构的合理性,而不是与十分之一世纪前的产品相比。


而就建筑而言。我不明白为什么没有OnMarketwatch,像几乎所有其他交易平台一样。由于某些原因,有一些拐杖式的解决方案,使用定时器或更变态的OnChartEvent。这项任务是有需求的,对所有创建ATS的交易者来说似乎是显而易见的。而且是故意这样做,使内部架构非常有效?


这不是为批评而批评。我想了解,而不是做一个 "我不知道,他们最清楚 "的外行。

 
zaskok3:

说实话,我不明白在输入变量上添加一个const修饰符是如何创造出一个更好的架构,并节省大量的内存。


上面两个帖子说得很清楚

在MT5历史库中全局存储指标。对他们来说,输入参数是关键。当你改变输入参数时,带有旧参数的指标将被销毁,带有修改过的参数的同一指标将被重新创建。

有什么不清楚的?输入参数是存储指标实例的关键参数。如果你从内部改变键值,就会与索引发生矛盾--索引说的是一件事,但事实上它说的是另一件事。嗯,你不能在内部 改变外部 参数

我不是指责你的误解--这是一个非常自然的愿望:"让它对我好--我不关心别人"。

 

Slawa:

这是一个非常自然的愿望:"让我感觉良好,是我不关心别人"

不幸的是,在今天的社会中,这种欲望是很自然的。然而,不要把这一切都放在同一个地方。

谢谢你的反复澄清。

输入参数是存储指标实例的关键。如果你在内部改变键值,就会与索引发生矛盾--索引说的是一件事,但事实上它说的是另一件事。

现在很清楚选择哪种架构,以及为什么它需要输入变量的不可变性。我也不会为了一个不满意的论坛屁民而改变一个已经实现的架构。屁会以某种方式设法自己解决......。我想知道MT4的内部指标厨房是如何组织的。


顺便说一下,输入法在EA和脚本中是const,正是因为存储指标的架构特点?


我也希望能澄清没有OnMarketwatch的问题,因为比起前一点,有更多人需要它。

 
zaskok3:

如果能对OnMarketwatch的缺失做出解释,我们也会非常感激,因为它的需求量比上一点略大。

什么是OnMarketWatch?
 
Slawa:
什么是OnMarketWatch?
一个新的蜱虫到达市场观察中的事件。与OnTick类似,但只对不是单一符号的新刻度做出反应,而是对市场观察中的所有符号做出反应。
 
Slawa:

...

您对拥有多台显示器的业主有什么建议?你如何组织码头的有效运作?

 
zaskok3:
一个新的蜱虫到达市场观察中的事件。与OnTick类似,但不是对一个符号的新刻度做出反应,而是对 "市场观察 "中签署的所有刻度做出反应。
在我看来,你可以使用OnTimer()每隔X毫秒调用这个事件。