mql5语言的特点、微妙之处以及技巧 - 页 38 1...313233343536373839404142434445...247 新评论 Konstantin 2017.04.27 09:57 #371 fxsaber:基本功能(非必需)字符串转双数字符串转整数弦乐到时间弦外之音弦外之音字符串串联读取指针(GetPointer 为什么? fxsaber 2017.04.27 10:44 #372 康斯坦丁。 为什么? 一切都通过适当的操作者来完成。 Konstantin 2017.04.27 10:46 #373 fxsaber: 一切都通过适当的操作者来完成。 我不太明白,举个例子吧 fxsaber 2017.04.27 11:10 #374 康斯坦丁。 我不太明白,举个例子吧 关于交易、自动交易系统和交易策略测试的论坛 mql5语言的特殊性、微妙性和技巧性 fxsaber, 2017.04.26 15:16 所有标准类型都是相互匹配的void OnStart() { string Str = "1.23qwedfg"; Print((int)Str); Print((double)Str); }结果1 1.23 Konstantin 2017.04.27 11:20 #375 fxsaber: 啊,这就是你的意思))既然他们有了,就让他们有吧))否则,代码会突然停止工作,就像结构一样,至少他们引入了联盟,从某种意义上说,我们可以用拐杖来搞定))。 Vasiliy Pushkaryov 2017.04.27 11:35 #376 fxsaber:方便的功能(不需要)读取指针(GetPointer 而这个功能是由什么重复的? fxsaber 2017.04.27 12:02 #377 Vasiliy Pushkaryov: 而这个功能是由什么重复的?& 宗旨 Vasiliy Sokolov 2017.04.27 12:14 #378 使用联盟 而不是铸造结构自从建立1596年以来,不同类型的结构之间的明确转换被禁止。这样一个在旧版本中有效的例子现在将无法编译。struct struct_double { double value; }sd; struct struct_long { ulong value; }sl; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { sl = (struct_long)sd; }cannot cast 'struct_double' to 'struct_long' CastingValues.mq5 33 9 然而,现在可以在MQL中把数据组合成一个联合结构。正因为如此,使用联盟进行类型转换是可能的。union struct_union { double d_value; ulong l_value; }su; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { su.l_value = 0; su.d_value = 3.14159; printf((string)su.l_value); }2017.04.27 13:20:03.375 CastingValues (Si-6.17,M1) 4614256650576692846这种结构在新的建筑中已经有了。p.s.请要求开发人员开始修复铸造中的文档:https://www.mql5.com/ru/docs/basis/types/casting fxsaber 2017.04.27 12:43 #379 瓦西里-索科洛夫。使用联盟 而不是铸造结构 关于交易、自动交易系统和策略测试的论坛 图书馆:TypeToBytes fxsaber, 2017.04.26 10:49 可提供随机结构铸造struct STRUCT2 { MqlTick Tick; }; // Кастинг произвольных простых структур STRUCT2 Struct2 = _C(STRUCT2, Tick); // Аналог классического кастинга STRUCT2 Struct2 = (STRUCT2)Tick; union不允许对具有自定义构造器和/或复制操作符的结构进行铸造。 Vasiliy Sokolov 2017.04.27 13:04 #380 fxsaber: 联盟不允许对具有自定义构造器和/或复制操作符的结构进行铸造。没有人提到用工会完全取代铸造。p.s. 我看了你的代码。class CASTING { public: template <typename T1> static const T Casting( const T1 &Value ) { #ifdef TYPETOBYTES_FULL_SLOW T Data = {0}; const int handle = ::FileOpen("Casting.tmp", FILE_READ | FILE_WRITE | FILE_BIN); if (handle != INVALID_HANDLE) { ::FileWriteStruct(handle, Value); ::FileSeek(handle, 0, SEEK_SET); ::FileReadStruct(handle, Data); ::FileClose(handle); } return(Data); #else // TYPETOBYTES_FULL_SLOW union CAST通过写/读二进制的任意铸造...熄灯。不要再读下去了... 1...313233343536373839404142434445...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
基本功能(非必需)
为什么?
为什么?
一切都通过适当的操作者来完成。
我不太明白,举个例子吧
我不太明白,举个例子吧
关于交易、自动交易系统和交易策略测试的论坛
mql5语言的特殊性、微妙性和技巧性
fxsaber, 2017.04.26 15:16
所有标准类型都是相互匹配的结果
啊,这就是你的意思))既然他们有了,就让他们有吧))否则,代码会突然停止工作,就像结构一样,至少他们引入了联盟,从某种意义上说,我们可以用拐杖来搞定))。
方便的功能(不需要)
而这个功能是由什么重复的?
使用联盟 而不是铸造结构
自从建立1596年以来,不同类型的结构之间的明确转换被禁止。这样一个在旧版本中有效的例子现在将无法编译。
然而,现在可以在MQL中把数据组合成一个联合结构。正因为如此,使用联盟进行类型转换是可能的。
这种结构在新的建筑中已经有了。
p.s.请要求开发人员开始修复铸造中的文档:https://www.mql5.com/ru/docs/basis/types/casting
使用联盟 而不是铸造结构
关于交易、自动交易系统和策略测试的论坛
图书馆:TypeToBytes
fxsaber, 2017.04.26 10:49
可提供随机结构铸造联盟不允许对具有自定义构造器和/或复制操作符的结构进行铸造。
没有人提到用工会完全取代铸造。
p.s. 我看了你的代码。
通过写/读二进制的任意铸造...熄灯。不要再读下去了...