请教:MT4客户端的全局变量有数量限制吗?我在一个EA里声明了4个,可是从打印结果看只成功了一个,其它三个似乎被覆盖了。怎么回事?
Lin Luo:
请教:MT4客户端的全局变量有数量限制吗?我在一个EA里声明了4个,可是从打印结果看只成功了一个,其它三个似乎被覆盖了。怎么回事?
请教:MT4客户端的全局变量有数量限制吗?我在一个EA里声明了4个,可是从打印结果看只成功了一个,其它三个似乎被覆盖了。怎么回事?
没听说有什么限制,应该是你自己的代码问题!
我是这样使用的。对吗?大神们来帮看下:
extern double m_mbbuy; extern double m_mbsel; extern double m_mbsymbol; extern double m_mball; string Global_m_mbbuy=" "; string Global_m_mbsel=" "; string Global_m_mbsymbol=" "; string Global_m_mball=" "; int OnInit() { …… if(!GlobalVariableCheck(Global_m_mbbuy)) GlobalVariableSet(Global_m_mbbuy,0); m_mbbuy=GlobalVariableGet(Global_m_mbbuy); if(!GlobalVariableCheck(Global_m_mbsel)) GlobalVariableSet(Global_m_mbsel,0); m_mbsel=GlobalVariableGet(Global_m_mbsel); if(!GlobalVariableCheck(Global_m_mbsymbol)) GlobalVariableSet(Global_m_mbsymbol,0); m_mbsymbol=GlobalVariableGet(Global_m_mbsymbol); if(!GlobalVariableCheck(Global_m_mball)) GlobalVariableSet(Global_m_mball,0); m_mball=GlobalVariableGet(Global_m_mball); Print("m_mbbuy=",m_mbbuy,"Global_m_mbbuy=",GlobalVariableGet(Global_m_mbbuy)); Print("m_mball=",m_mball,"Global_m_mball=",GlobalVariableGet(Global_m_mball)); …… }
Lin Luo:
我是这样使用的。对吗?大神们来帮看下:
老实说,我还真从来没有用过这么高级的功能
Lin Luo:
我是这样使用的。对吗?大神们来帮看下:
正好刚才没事,简单研究了一下全局变量的确我没用过。
哈哈,今天的初步结论是:你这个代码啊是真坑啊,把我都给弄跑偏了,必须要被覆盖才是对的!
因为感觉你的用法就是要起到迷惑别人和覆盖的作用,哈哈。
我都是反应了一阵子,才发现被你带跑偏了的!
另外就是要注意:全局变量只支持double类型,总之不支持字符串!
(字符串会被强制转换成double问题可就大了,会莫名其妙的很难发现的,会有0.0值又未必对,还可能赶上0.0时候 碰巧又对)。