指标杂项问题 - 页 12 1...5678910111213141516 新评论 honest_knave 2017.04.07 23:35 #111 没有理由说那个打印语句不应该产生什么。如果你将该指标添加到一个新的图表上,它是否会打印出来(无需改变时间框架)?如果是这样,这可能是在图表上已经有了该指标,然后重新编译,希望看到变化的问题。 Max Enrik 2017.04.07 23:41 #112 honest_knave:没有理由说那个打印语句不应该产生什么。如果你将该指标添加到一个新的图表上,它是否会打印出来(无需改变时间框架)?如果是这样,可能是在图表上已经有了这个指标,然后重新编译,期望看到变化的问题。 谢谢你的及时评论,非常感谢。是的!无论是加载模板还是添加指标,都会打印出以下信息。20... ... EURUSD,M1: This Year1900但正如你所知,这段代码可能给我 "2017"。//---第二次编辑当我重新编译时,它显示了正确的结果。但当我尝试添加指标和加载模板时,我无法打开我重新编译的MetaEditor......我希望你能理解我的意思。 honest_knave 2017.04.08 00:16 #113 Max Enrik: 谢谢你的及时评论,非常感谢。是的!它打印出下面的信息,无论是加载模板还是添加指标。但正如你所知,这段代码可能给我 "2017"。//----第二次编辑当我重新编译时,它显示了正确的结果。但当我试图添加指标和加载模板时,我无法打开我重新编译的MetaEditor......我希望你能理解我的意思。 可能是因为OnInit()在你连接到经纪商之前就运行了,所以给你的年份是 "错误的"。 Year()是基于服务器时间 的......如果没有连接,它不知道年份。与之相比。TimeYear(TimeLocal()) Max Enrik 2017.04.08 00:47 #114 honest_knave: 它给你 "错误 "的年份的原因可能是OnInit()在你连接到你的经纪人之前运行。 Year()是基于服务器时间的......如果没有连接,它就不知道年份。与之相比。 我知道OnInit()和OnCalculate(...)需要不同的代码风格...。 我将尝试再次重写我的指标。(有可能我将放弃)谢谢你的评论。 Max Enrik 2017.04.10 09:35 #115 我想我可以写一段代码,首先删除所有的指标对象,然后重写它们。 我试过下面的代码。但我对这个方法有疑问。问: 请问这种方法是否足以删除指标的所有对象?任何建议都是最好的,谢谢。int OnInit() { ObjectsDeleteAll( 0, prefix ); // then all my indicator code here... } honest_knave 2017.04.10 10:04 #116 Max Enrik:我想我可以写一段代码,首先删除所有的指标对象,然后重写它们。 我试过下面的代码。但我对这个方法有疑问。问: 请问这种方法是否足以删除指标的所有对象?任何建议都是最好的,谢谢。 这是删除当前图表中所有以 "前缀 "开头的对象的正确方法。 Max Enrik 2017.04.10 10:29 #117 honest_knave: 这是删除当前图表中所有以 "前缀 "开头的对象的正确方法。很好!谢谢你的回答。 现在,我只需要看看第二天我的指标将如何工作。( p.s 我不喜欢用Tester来测试我的指标 ) Max Enrik 2017.04.10 11:15 #118 (我曾经说过)我对我的几个指标使用下面的方法代码,这些指标没有任何问题,但只有当我启动MT4平台时才有一个问题,即指标需要重新启动平台,以更新正确的数值。我每天只遇到一次这样的问题。问: 那么,以下部分代码是否会导致无法更新正确数值的问题,请问?谢谢。int OnInit() { //--- datetime a = iTime( Symbol(), 0, 0 ); int b = iBarShift( Symbol(), 0, a ); datetime c = iOpen( Symbol(), 0, b ); //--- return(0); } honest_knave 2017.04.10 11:23 #119 OnInit()中的代码只运行一次。当你重新启动你的终端时,OnInit()可以在你连接到你的经纪人之前完成。如果没有连接到你的经纪人,时间就会出错。我建议把你的代码移出OnInit(),或者至少检查 IsConnected()。 Max Enrik 2017.04.10 12:16 #120 honest_knave:我建议把你的代码移出OnInit(),或者至少检查IsConnected()。不要使用IsConnected(),我会研究这个问题的。非常感谢。 1...5678910111213141516 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
没有理由说那个打印语句不应该产生什么。
如果你将该指标添加到一个新的图表上,它是否会打印出来(无需改变时间框架)?
如果是这样,这可能是在图表上已经有了该指标,然后重新编译,希望看到变化的问题。
没有理由说那个打印语句不应该产生什么。
如果你将该指标添加到一个新的图表上,它是否会打印出来(无需改变时间框架)?
如果是这样,可能是在图表上已经有了这个指标,然后重新编译,期望看到变化的问题。
谢谢你的及时评论,非常感谢。
是的!无论是加载模板还是添加指标,都会打印出以下信息。
20... ... EURUSD,M1: This Year1900
但正如你所知,这段代码可能给我 "2017"。
//---第二次编辑
当我重新编译时,它显示了正确的结果。
但当我尝试添加指标和加载模板时,我无法打开我重新编译的MetaEditor......我希望你能理解我的意思。
谢谢你的及时评论,非常感谢。
是的!它打印出下面的信息,无论是加载模板还是添加指标。
但正如你所知,这段代码可能给我 "2017"。
//----第二次编辑
当我重新编译时,它显示了正确的结果。
但当我试图添加指标和加载模板时,我无法打开我重新编译的MetaEditor......我希望你能理解我的意思。
可能是因为OnInit()在你连接到经纪商之前就运行了,所以给你的年份是 "错误的"。
Year()是基于服务器时间 的......如果没有连接,它不知道年份。
与之相比。
它给你 "错误 "的年份的原因可能是OnInit()在你连接到你的经纪人之前运行。
Year()是基于服务器时间的......如果没有连接,它就不知道年份。
与之相比。
我知道OnInit()和OnCalculate(...)需要不同的代码风格...。
我将尝试再次重写我的指标。
(有可能我将放弃)
谢谢你的评论。
我想我可以写一段代码,首先删除所有的指标对象,然后重写它们。
我试过下面的代码。但我对这个方法有疑问。
问: 请问这种方法是否足以删除指标的所有对象?
任何建议都是最好的,谢谢。
我想我可以写一段代码,首先删除所有的指标对象,然后重写它们。
我试过下面的代码。但我对这个方法有疑问。
问: 请问这种方法是否足以删除指标的所有对象?
任何建议都是最好的,谢谢。
这是删除当前图表中所有以 "前缀 "开头的对象的正确方法。
这是删除当前图表中所有以 "前缀 "开头的对象的正确方法。
很好!谢谢你的回答。
现在,我只需要看看第二天我的指标将如何工作。
( p.s 我不喜欢用Tester来测试我的指标 )
(我曾经说过)
我对我的几个指标使用下面的方法代码,这些指标没有任何问题,但只有当我启动MT4平台时才有一个问题,即指标需要重新启动平台,以更新正确的数值。我每天只遇到一次这样的问题。
问: 那么,以下部分代码是否会导致无法更新正确数值的问题,请问?
谢谢。
OnInit()中的代码只运行一次。
当你重新启动你的终端时,OnInit()可以在你连接到你的经纪人之前完成。
如果没有连接到你的经纪人,时间就会出错。
我建议把你的代码移出OnInit(),或者至少检查 IsConnected()。
我建议把你的代码移出OnInit(),或者至少检查IsConnected()。
不要使用IsConnected(),我会研究这个问题的。
非常感谢。