错误、漏洞、问题 - 页 1168

 
TheXpert:

Ta maaa...

你必须在转会前把双倍的钱从长。对于全局变量。它不是零,它只是一个随机的双数,它可以是1.34*e-307或4.29*e+120,因为它有对数位。

从dub转到long后,解压。

就这样了。

好的,你明白了;)

 
artmedia70:

好了,你明白了;)

好吧,我只是不明白有什么不清楚的。

Double会截断数据,所以你不能直接将长的数据传输到Double。但两者都是8个字节,所以你只需使用double作为容器就可以无损传输,这就是我在例子中所做的。

 
TheXpert:

好吧,我只是不明白有什么不清楚的。

Double会截断数据,所以你不能直接将长的数据传输到Double。但两者都是8个字节,所以你只需使用double作为容器就可以无损传输,这就是我在例子中所做的。

Andrey,我不明白终端的GV中存储和显示的格式。它似乎显示图形ID,但它显示为0。
 
artmedia70:
安德烈,我没有理解终端的GV中的存储和显示格式。它似乎显示了图形ID,但它显示的是0。

GV将显示类似于垃圾的外观,这个 "垃圾 "在反向转换后将变成图表ID。

duble有它自己的数据格式,当塞进长的时候,我们把duble的格式放上去,就当做8个字节的内存使用。

 
TheXpert:

GV将显示一些类似垃圾的外观,这个 "垃圾 "在反向转换后将变成图形ID。

duble有它自己的数据格式,当塞入duble时,我们把duble格式放上,并把它简单地作为8个字节的内存使用。

是的,我已经明白了,谢谢。
 
我注意到的是,更新插入其他一些脚本(指标)的库或资源会导致它(指标)重新编译和重新加载终端。没有需求!这是一个错误还是一个特点?P.S. 是关于MT4的。
 
artmedia70:

更像是一个问题。

按名称查找终端的现有GV。通过它,EA所运行的图表的ID被传递给指标。该指标挂在另一个符号上。也就是说,我想把专家顾问所运行的图表的ID传递给指标。我是这样寻找的。

这是该终端的说法。


我试着读了一下这个变量。我把它直接放在字符串中,并把它放在日记中,以及不同类型的变量中--都是如此。有两个区别。

这有什么不对吗?

在此阅读https://www.mql5.com/ru/docs/basis/types/casting 段 "简单结构的数据转换"。

正是你的情况。双关语在字符数上的精度比长关语低得多。这就是为什么你用简单的赋值得到这个结果。

但你完全可以用64位的全局变量来存储_任何64位长的信息(比如8字节长的短字符串。 更不用说长字符串)。

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
我遇到了以下问题。重新启动终端后,当从EA调用时,指标从另一个时间框架返回 "奇怪 "的值。
专家顾问是在M2上,指标数据取自M3。
1)在14:40有一个终端重新启动。
PE 0 14:39:50.524 终端
MD 0 14:40:06.009 终端 MetaTrader 5 Alfa-Forex x64 build 930 开始。
II 0 14:40:06.586 终端 没有找到OpenCL,安装最新的OpenCL驱动以获得更好的性能。
JO 0 14:40:07.257 专家 专家 FX_Money_Flow_v1_06 (EURUSD,M2) 成功加载。
专家顾问在最后和倒数第二根柱子上写出指标值。
OF 0 14:40:11.540 FX_Money_Flow_v1_06 (EURUSD,M2) The value of indicator TF1: -1.#QNAN -1.#QNAN
在下一个条形图上,数据已经是正确的了。
NJ 0 14:41:46.622 FX_Money_Flow_v1_07 (EURUSD,M2) TF1的指标值: -0.02798411604597126 -0.04893498839583753
2) 19:55第二次重启。
CO 0 19:55:06.918 终端
RO 0 19:55:28.399 终端 MetaTrader 5 Alfa-Forex x64 build 930 开始。
OP 0 19:55:28.992 终端 未找到OpenCL,安装最新的OpenCL驱动以获得更好的性能。
RD 0 19:55:29.507 专家 专家 FX_Money_Flow_v1_07 (EURUSD,M2)成功加载。
又是同一首歌。
PQ 0 19:55:38.168 FX_Money_Flow_v1_07 (EURUSD,M2) 指标值 TF1: -1.#QNAN -1.#QNAN

但它并不是一直都能正常工作。

KF 0 23:59:51.987 FX_Money_Flow_v1_07 (EURUSD,M2) Factor value TF1 indicator: -1.#QNAN -1.#QNAN


此时M3图表是开放的,上面有一个指标,可以正确显示一切。
(终端和日志之间的时间差是5小时,截图指的是第二次重启)
附加的文件:
 
OBJ_LABEL 在MT4中似乎不支持UNICODE?我通过程序和标签属性对话框改变了数值:符号被插入并在对话框中正确显示,但在图表上却显示为一个问号(?)字体是unicode,在标签属性的对话中,它被正确地选择在字体的下拉列表中。
 
stringo:

在此阅读https://www.mql5.com/ru/docs/basis/types/casting"简单结构类型的数据转换 "一段。

这正是你的情况。双关语在字符数上的精度比长关语低得多。这就是为什么你用简单的赋值得到这个结果。

但你完全可以用64位的全局变量来存储_任何64位长的信息(比如8字节长的短字符串。 更不用说长字符串)。

是的,我已经读过了,谢谢。