全局初始化失败!!!!!!! - 页 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 新评论
谢谢你的提示!
自从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,并带有所有的基本需求,没有人强迫你去编码。
你的评论怎么能帮助别人呢?
你不需要放任何对象查找函数 来检查对象是否已经存在。从那里,然后你创建相应的对象。
我正在帮助你,现在。