Если MQL5-программисту недостаточно функционала языка, он вынужден обращаться к дополнительным инструментам. Для этого приходится использовать другой язык программирования и создавать промежуточную DLL. В MQL5 имеется механизм представления разных типов данных с помощью структур и передачи их в API, но к сожалению, MQL5 не отвечает нам на вопрос о том, как вытянуть данные из принятого указателя. В данной статье мы поставим точку в этом вопросе и покажем простые механизмы обмена сложными типами данных и работе с ними.
有人提出了一个 关于FileReadArray的问题,在解释中我指出它有一个读取错误数据类型的功能。
因此,问题是:这一功能如何与语言安全相适应?
如果可以的话,为什么不做一个标准的函数来把一个位域转换为正确的类型呢?
总的来说,要么按部就班,删除这个功能,要么让人们实现长算术。
下面是一个通过擦拭文件来实现这一功能的例子。
检测到偏执狂。
你应该好好想想。
实际上我赞成认为它是安全的,不使用文件而直接制作其对应的文件。
但如果MQ认为它是不安全的,那么也应该从函数中删除。
ZZZY 顺便说一句,也许我今天真的拖错了东西,我还没有回答两个问题,你给我指点一下,指点一下哪里愚蠢。
这里有一个通过文件与擦拭螺丝来修复的例子。
在十字星上测试时,有准确的建模和其他比率,以正确转换利润和保证金要求。
试着运行可视化,你会立即明白基于市场观察中的背景字符数量的计算量。
发展思想。
实际上我赞成认为它是安全的,不使用文件而直接制作其对应的文件。
但如果MQ认为它不安全,也应该从函数中删除。
ZZZY顺便说一句,也许我今天真的是胡言乱语了,我还没有回答两个问题,你真的给我指点迷津,指点迷津的地方。
文件本身是没有个性的。事先不知道这个文件是以哪种方式写的。换言之,不能禁止上述功能。当然,你可以有机地检测一个纯文本文件,而且在Unicode和Ansi-encodings方面也有一些问题。
所以你可以随意阅读任何文件。而且它不会导致任何危险的情况,因为读(和写)的大小是受控制的。你将无法打破这堆东西。你将无法以任何方式获得进入进程内存的地址。
我可以理解,但13.7倍的速度差异......。嗯,2倍也行。而在主力股开盘价 上测试速度的小狗般的喜悦已经被十字星上的流泪沮丧所取代。而不是使用30个本地远程代理,我们将再次不得不贿赂克隆人......。深渊!
文件本身是一个非个人化的文件。事先不知道该文件是如何记录的。换言之,不能禁止上述功能。当然,有可能对纯文本文件进行有机检测,而且Unicode和Ansi编码也有细微差别。
所以你可以随意阅读任何文件。而且它不会导致任何危险的情况,因为读(和写)的大小是受控制的。你将无法打破这堆东西。你不能以任何方式将地址进入进程内存。
那么我认为没有理由不引入一个无需类型转换 的直接读函数,就像
把它放在一个函数中,一切都会很安全。
那么我认为没有理由不引入一个无需类型转换 的直接数据读取功能,就像
把它放在一个职能部门,一切都将是安全的。
struct __long { long v; }
双重a;__长b。
a.v=123.456。
b=a。
b.v=4638373815016729713;
不难。
+阅读除了顶级链接https://www.mql5.com/ru/articles/364
而从一种类型到另一种类型的转换,可以使用宏或函数来完成。
但没有什么真正复杂的事情。