错误、漏洞、问题 - 页 341

 
Urain:

有必要向一个已经运行的指标发送预处理的数据。我已经决定使用图形对象文本作为全局数据存储。我理解图形对象的目的是不同的,如果有任何替代方案,我将很高兴听到。

但在这里,我遇到了语言的另一个限制。字符串本身支持几乎无限长的字符。好吧,可能限制在于一般限制阵列的某个领域。而作为一个图形对象的参数传递的字符串被限制在63个字符以内。因此,将数组作为字符串传递需要一堆图形对象(是的,我忘了告诉你,我使用了加密,这就是为什么字符串中的信息所占用的空间与原始类型中的信息大致相同)。现在,以目前的63个字符,只可能通过一个对象传递15个时间/价格对。

因此,问题是:我们是否可以期待未来该语言将取消对图形对象文本长度的限制,或者会有一种机制将数据传入指标线程?

我遇到了同样的问题,在生成一个自定义事件 时。有63个符号的限制,而不是整个字符串....。

不得不写一个单独的类来把信息粘在一起,从slices....。作品 ))))

Документация по MQL5: Работа с событиями / EventChartCustom
Документация по MQL5: Работа с событиями / EventChartCustom
  • www.mql5.com
Работа с событиями / EventChartCustom - Документация по MQL5
 
AlexSTAL:

我在生成一个自定义事件 时遇到了同样的问题。同样有63个字符的限制,而不是整个字符串....。

不得不写一个单独的类来把信息粘在一起,从slices....。作品 ))))

是的,如果没有限制,你也可以使用事件来发送数据阵列。
 
Urain:
是的,如果没有限制,你可以使用事件来发送数据数组。

我仍然无法尝试通过事件传递一个对象句柄。而该对象包含所有必要的数据。

如果现在是相关的,那就试试,以后再报告。

// 如果在终端内有一个可控的共享化的共享内存,那将是非常有吸引力的。至少,只针对对象和数组。

// 而在声明这样的对象时,修改器shared将决定它在这样的内存中的位置。

 
MetaDriver:

我仍然无法尝试通过事件传递对象句柄。而该对象包含所有必要的数据。

如果现在是相关的,就试一试,以后再报告。

句柄值被正确传递,但需要的线程没有这样的句柄。因此,该值并没有指向所需的句柄。
 
MetaDriver:

// 如果在终端内有一个可控的共享内存,这将是非常诱人的。至少,只针对对象和数组。

// 而在声明这种对象时,共享修改器将定义它在这种内存中的位置。

类似于全局终端内存,可供所有线程使用。
 
Urain:
某种全局性的终端内存? 所有线程都可以使用。
嗯,嗯。
 
Urain:
句柄值被正确传递,但在所需的线程中没有这样的句柄。因此,该值不再指向正确的句柄。
遗憾的是。
 
我从这里下载了420的构建https://www.mql5.com/ru/forum/23/page11,但它实际上安装了412。是我出了问题,还是他们忘记了修改metaquotes.net 文件?
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
Urain:
类似于全局终端内存的东西? 所有线程都可以使用。

对于MQ来说,最简单的解决方案是给出函数参数

void OnChartEvent(const int id,const long &lparam[],const double &dparam[],const string &sparam[])

数组而不是变量,后者现在作为参数存在。当然,这个解决方案是片面的,因为仍然没有办法在EA之间传输数据,但这仍然比没有好。

 
Urain:

1.对于MQ来说,最简单的解决方案是将数据数组作为函数参数,而不是变量,现在的变量是作为参数存在的。

2.当然,这个解决方案是片面的,因为仍然没有可能在EA之间传输数据,但它仍然聊胜于无。

1.是的,也许。

2.为什么不可能呢?复制给自己,得到它。而需要转移的东西--通过下一个信息转移。