全局初始化失败!!!!!!! - 页 3 12345678 新评论 Dadas 2014.05.14 09:32 #21 谢谢你的提示! 自从646年以来,奇怪的事情发生了,似乎没有人能够帮助我们!我想知道的是什么? 1.1.标签越来越离谱,好像XDISTANCE和YDISTANCE没有被遵守。 只有在来回切换Tf后,它们才会回到直线上。 在切换图表窗口或改变参数 输入后,它们又脱线了。 2.2.一些旧的指数使MT4崩溃。 3.3.启动MT4后,先是登录账户,过了一会儿就退出,我必须重新登录。 4.4.带有OrderClose()的脚本和EA不起作用,它们不能关闭订单。 OrderModify()工作正常。 我们能做什么来让MetaQuotes做点什么呢? 毕竟,MT4是一个交易平台,因此是一个严肃的工具,而不是一些玩具!! 哦,还有一件事。 比如说,我正在根据一些计算结果创建一个带有indi的矩形。 这些计算是在start()里面。 但是,在启动MT4后,我仍然看不到我的矩形,甚至在ticks上也看不到。 但是,在重新初始化indi或切换Tf后,它就出现了。 现在,这些事情以前从未发生过! qjol 2014.05.14 10:19 #22 Dadas: 谢谢你的提示! 自从646年以来,奇怪的事情发生了,似乎没有人能够帮助我们!我想知道的是什么? 1.1.标签越来越离谱,好像XDISTANCE和YDISTANCE没有被遵守。 只有在来回切换Tf后,它们才会回到直线上。 在切换图表窗口或改变参数输入后,它们又脱线了。 这意味着你可以在你的代码中修复它 2. 2.一些旧的指数使MT4崩溃。 你必须使代码适应新的世界,(B600>)例如,"零除法 "是一个严重的错误,使指标消失(在B600之前不是这样)。 3.3.启动MT4后,先是登录账户,过了一会儿就退出,我必须重新登录。 尝试关闭所有打开的图表,让终端保持空白(没有打开的图表),重新启动终端,如果问题继续存在,向服务台报告。 4.4.带有OrderClose()的脚本和EA不起作用,它们不能关闭订单。 我确信问题出在你的代码中,请向我们展示相关的代码,有人会尝试帮助你。 OrderModify()工作正常。 我们能做什么来使MetaQuotes做一些事情呢? 毕竟,MT4是一个交易平台,因此是一个严肃的工具,而不是什么玩具!!。 我同意,但我认为(几乎可以肯定)关键的错误在你的代码中,你使用的是过时的代码,即当时写的时候有错误,这些错误并没有阻止指标/EA的工作,但现在它们是关键的错误,需要修复 Jeffrey Irick 2014.05.14 10:22 #23 达达斯。 我是一个同行的开发者,不能回答你所有的问题。我自己也在处理一些我打算商业化的应用中的PITA问题。我肯定会建议,至少用新的OnInit()和OnDeInit()函数来替换你的init和deinit函数。你可能还想用OnStart()替换start。根据文档,这个实现应该是向后兼容的,但我的经验表明情况恰恰相反。我在我的一个indies上遇到一个情况,deinit()没有被调用。我的deinit()正在删除对象,任何导致重新初始化的操作都会失败,因为对象仍然存在。我仍然使用start()而不是OnStart(),但我不确定这是否明智。我有一种预感,我在给自己找麻烦。如果你选择尝试我的建议,请告诉我发生了什么。我们开发者需要团结起来。) qjol 2014.05.14 10:24 #24 Dadas: 哦,还有一件事。 比如说,我正在根据一些计算结果,创建一个带有indi的矩形。 计算是在start()中进行的。 但是,在启动MT4后,我仍然看不到我的矩形,甚至在ticks上也看不到。 但是,在重新初始化indi或切换Tf后,它就出现了。 现在,这些事情以前从未发生过! 正如我上面写的,我们面前有一个新的世界。 你不 "开始 "使用 "OnTick"(EA)或 "OnCalculate"(指标)吗? Dadas 2014.05.14 10:40 #25 qjol: 正如我上面写的,新的世界就在我们面前 你不 "开始 "使用 "OnTick "吗? 看,MetaQuotes正在发布一个平台,就像Metal教授 说的,它应该是向后兼容的! 我认为没有人有能力重写所有成千上万的已经存在的指标、脚本和EA。 至于你说我的代码是错误的,我不同意,一些标签只是最简单的代码。 它们没有什么特点,它们创建一个标签对象,计算一些东西,然后相应地设置对象。 没有附加任何特殊的哲学。 ObjectSet ("Lot_Size_Label",OBJPROP_CORNER,Corner); ObjectSet ("Lot_Size_Label",OBJPROP_XDISTANCE,XDistance); ObjectSet ("Lot_Size_Label",OBJPROP_YDISTANCE,YDistance); ObjectSetText("Lot_Size_Label",comment,Font_Size,Font_Type,Font_Color); ObjectSet ("Lot_Size_Label",OBJPROP_SELECTABLE,false); 至于关闭订单的脚本和EA,我说的是那些曾经在早期的Build(500)上工作正常的。 所以,这不是我的代码正确与否的问题。 这是MetaQuotes的问题,是MetaQuotes把事情搞砸了! 我将尝试由 ProfessorMetal的提示, 但是,那些对编码一无所知的用户怎么办? 而且,坦率地说,他们甚至不应该知道什么是编码!他们应该是使用交易的。 他们应该使用的是交易平台!!。 Dadas 2014.05.14 11:02 #26 ProfessorMetal: 达达斯。 我是一个同行的开发者,不能回答你所有的问题。我自己也在处理一些我打算商业化的应用中的PITA问题。我肯定会建议,至少用新的OnInit()和OnDeInit()函数来替换你的init和deinit函数。你可能还想用OnStart()替换start。根据文档,这个实现应该是向后兼容的,但我的经验表明情况恰恰相反。我在我的一个indies上遇到一个情况,deinit()没有被调用。我的deinit()正在删除对象,任何导致重新初始化的操作都会失败,因为对象仍然存在。我仍然使用start()而不是OnStart(),但我不确定这是否明智。 我有一种预感,我在给自己找麻烦。如果你选择尝试我的建议,请告诉我发生了什么。我们开发者需要团结起来。) 谢谢,我也有同样的问题,对象在脱机时没有被删除。 我正在开发一些indi,得到了这些奇怪的结果,然后我看到在对象列表中,它们仍然存在。 我解决了这个问题,可能是用最简单的方法,在start()中使用ObjectDelete()。 是的,把init()改成OnInit(),把deinit()改成OnDeinit(),标签就恢复正常了!谢谢! 然后过了一会儿,就不对了!!。它们仍然在做同样的动作。 Syed Naufal Gaddafi 2014.05.14 11:29 #27 如果代码是最简单的,实现它真的取决于正在实现的代码。你需要在关键点上进行 错误检查,以便当错误发生时,indi/ea能够正确地处理它。我上次也遇到了问题,但一旦我把错误处理程序放进去,它就能顺利运行,以至于你忘记了上次出现的问题。 still, what about the users who don't know a thing about coding??? And, frankly speaking, they aren't even supposed to know anything coding! They are supposed to be using the trading platform!!! 该平台是一个metatrader,并带有所有的基本需求,没有人强迫你去编码。 Dadas 2014.05.14 11:30 #28 你知道是什么帮助对准了这些标签吗? 我的X,Y坐标取自外部设备。 extern int XDISTANCE =9; extern int YDISTANCE =9; 然后。 int X,Y; int OnInit() { X = XDISTANCE; Y = YDISTANCE; ObjectCreate("INSTR",OBJ_LABEL,0,0,0); return(0); } int start() { ObjectSet("INSTR",OBJPROP_CORNER,Corner); ObjectSetText("INSTR",Symbol_Period+Date_Time,FontSize, "Berlin Sans FB", Color); ObjectSet("INSTR", OBJPROP_XDISTANCE, X); ObjectSet("INSTR", OBJPROP_YDISTANCE, Y); ObjectSet("INSTR", OBJPROP_SELECTABLE, false); return(0); } 这样一来,它就得到了正确的结果。 或者说,让事情变得更好,而不是完全正确。 Dadas 2014.05.14 11:31 #29 deysmacro: 如果代码是最简单的,实施它真的取决于正在实施的代码。 该平台是一个metatrader,并带有所有的基本需求,没有人强迫你去编码。 你的评论怎么能帮助别人呢? Syed Naufal Gaddafi 2014.05.14 11:35 #30 int X,Y; int OnInit() { X = XDISTANCE; Y = YDISTANCE; ObjectCreate("INSTR",OBJ_LABEL,0,0,0); return(0); } int start() { ObjectSet("INSTR",OBJPROP_CORNER,Corner); ObjectSetText("INSTR",Symbol_Period+Date_Time,FontSize, "Berlin Sans FB", Color); ObjectSet("INSTR", OBJPROP_XDISTANCE, X); ObjectSet("INSTR", OBJPROP_YDISTANCE, Y); ObjectSet("INSTR", OBJPROP_SELECTABLE, false); return(0); } 你不需要放任何对象查找函数 来检查对象是否已经存在。从那里,然后你创建相应的对象。 How's your comment supposed to help anybody??? 我正在帮助你,现在。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你的提示!
自从646年以来,奇怪的事情发生了,似乎没有人能够帮助我们!我想知道的是什么?
1.1.标签越来越离谱,好像XDISTANCE和YDISTANCE没有被遵守。
只有在来回切换Tf后,它们才会回到直线上。
在切换图表窗口或改变参数 输入后,它们又脱线了。
2.2.一些旧的指数使MT4崩溃。
3.3.启动MT4后,先是登录账户,过了一会儿就退出,我必须重新登录。
4.4.带有OrderClose()的脚本和EA不起作用,它们不能关闭订单。
OrderModify()工作正常。
我们能做什么来让MetaQuotes做点什么呢?
毕竟,MT4是一个交易平台,因此是一个严肃的工具,而不是一些玩具!!
哦,还有一件事。
比如说,我正在根据一些计算结果创建一个带有indi的矩形。
这些计算是在start()里面。
但是,在启动MT4后,我仍然看不到我的矩形,甚至在ticks上也看不到。
但是,在重新初始化indi或切换Tf后,它就出现了。
现在,这些事情以前从未发生过!
谢谢你的提示!
自从646年以来,奇怪的事情发生了,似乎没有人能够帮助我们!我想知道的是什么?
1.1.标签越来越离谱,好像XDISTANCE和YDISTANCE没有被遵守。
只有在来回切换Tf后,它们才会回到直线上。
在切换图表窗口或改变参数输入后,它们又脱线了。
这意味着你可以在你的代码中修复它
2. 2.一些旧的指数使MT4崩溃。
你必须使代码适应新的世界,(B600>)例如,"零除法 "是一个严重的错误,使指标消失(在B600之前不是这样)。
3.3.启动MT4后,先是登录账户,过了一会儿就退出,我必须重新登录。
尝试关闭所有打开的图表,让终端保持空白(没有打开的图表),重新启动终端,如果问题继续存在,向服务台报告。
4.4.带有OrderClose()的脚本和EA不起作用,它们不能关闭订单。
我确信问题出在你的代码中,请向我们展示相关的代码,有人会尝试帮助你。
OrderModify()工作正常。
我们能做什么来使MetaQuotes做一些事情呢?
毕竟,MT4是一个交易平台,因此是一个严肃的工具,而不是什么玩具!!。
我同意,但我认为(几乎可以肯定)关键的错误在你的代码中,你使用的是过时的代码,即当时写的时候有错误,这些错误并没有阻止指标/EA的工作,但现在它们是关键的错误,需要修复
达达斯。
我是一个同行的开发者,不能回答你所有的问题。我自己也在处理一些我打算商业化的应用中的PITA问题。我肯定会建议,至少用新的OnInit()和OnDeInit()函数来替换你的init和deinit函数。你可能还想用OnStart()替换start。根据文档,这个实现应该是向后兼容的,但我的经验表明情况恰恰相反。我在我的一个indies上遇到一个情况,deinit()没有被调用。我的deinit()正在删除对象,任何导致重新初始化的操作都会失败,因为对象仍然存在。我仍然使用start()而不是OnStart(),但我不确定这是否明智。我有一种预感,我在给自己找麻烦。如果你选择尝试我的建议,请告诉我发生了什么。我们开发者需要团结起来。)
哦,还有一件事。
比如说,我正在根据一些计算结果,创建一个带有indi的矩形。
计算是在start()中进行的。
但是,在启动MT4后,我仍然看不到我的矩形,甚至在ticks上也看不到。
但是,在重新初始化indi或切换Tf后,它就出现了。
现在,这些事情以前从未发生过!
正如我上面写的,我们面前有一个新的世界。
你不 "开始 "使用 "OnTick"(EA)或 "OnCalculate"(指标)吗?
正如我上面写的,新的世界就在我们面前
你不 "开始 "使用 "OnTick "吗?
看,MetaQuotes正在发布一个平台,就像Metal教授 说的,它应该是向后兼容的!
我认为没有人有能力重写所有成千上万的已经存在的指标、脚本和EA。
至于你说我的代码是错误的,我不同意,一些标签只是最简单的代码。
它们没有什么特点,它们创建一个标签对象,计算一些东西,然后相应地设置对象。
没有附加任何特殊的哲学。
至于关闭订单的脚本和EA,我说的是那些曾经在早期的Build(500)上工作正常的。
所以,这不是我的代码正确与否的问题。
这是MetaQuotes的问题,是MetaQuotes把事情搞砸了!
我将尝试由 ProfessorMetal的提示, 但是,那些对编码一无所知的用户怎么办?
而且,坦率地说,他们甚至不应该知道什么是编码!他们应该是使用交易的。
他们应该使用的是交易平台!!。
达达斯。
我是一个同行的开发者,不能回答你所有的问题。我自己也在处理一些我打算商业化的应用中的PITA问题。我肯定会建议,至少用新的OnInit()和OnDeInit()函数来替换你的init和deinit函数。你可能还想用OnStart()替换start。根据文档,这个实现应该是向后兼容的,但我的经验表明情况恰恰相反。我在我的一个indies上遇到一个情况,deinit()没有被调用。我的deinit()正在删除对象,任何导致重新初始化的操作都会失败,因为对象仍然存在。我仍然使用start()而不是OnStart(),但我不确定这是否明智。 我有一种预感,我在给自己找麻烦。如果你选择尝试我的建议,请告诉我发生了什么。我们开发者需要团结起来。)
谢谢,我也有同样的问题,对象在脱机时没有被删除。
我正在开发一些indi,得到了这些奇怪的结果,然后我看到在对象列表中,它们仍然存在。
我解决了这个问题,可能是用最简单的方法,在start()中使用ObjectDelete()。
是的,把init()改成OnInit(),把deinit()改成OnDeinit(),标签就恢复正常了!谢谢!
然后过了一会儿,就不对了!!。它们仍然在做同样的动作。
如果代码是最简单的,实现它真的取决于正在实现的代码。你需要在关键点上进行 错误检查,以便当错误发生时,indi/ea能够正确地处理它。我上次也遇到了问题,但一旦我把错误处理程序放进去,它就能顺利运行,以至于你忘记了上次出现的问题。
该平台是一个metatrader,并带有所有的基本需求,没有人强迫你去编码。
你知道是什么帮助对准了这些标签吗?
我的X,Y坐标取自外部设备。
然后。
这样一来,它就得到了正确的结果。
或者说,让事情变得更好,而不是完全正确。
如果代码是最简单的,实施它真的取决于正在实施的代码。
该平台是一个metatrader,并带有所有的基本需求,没有人强迫你去编码。
你的评论怎么能帮助别人呢?
你不需要放任何对象查找函数 来检查对象是否已经存在。从那里,然后你创建相应的对象。
我正在帮助你,现在。