任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 601 1...594595596597598599600601602603604605606607608...1178 新评论 peace1984 2014.05.13 11:02 #6001 AlexeyVik: 这可能不完全是我尝试的方式。 我只是在EA中重新编译了代码并运行了它。当我改变注释中的Sys参数时,这个值会发生变化。 我又试着改成你的版本......还是不行......它在EA中,而且作为EA可见... Alexey Viktorov 2014.05.13 11:29 #6002 peace1984: 我又试着改成你的版本......还是不行......。它在EA中,并且作为EA可见... 还是我弄错了? 附加的文件: 11_1_1.mq4 8 kb peace1984 2014.05.13 11:50 #6003 AlexeyVik:还是我误解了什么? 我知道,如果sys!=1,就会弹出 "sys不应该是1 "的信息,但如果你把用户从0改为1,就应该出现 "sys应该是1"。 在你的EA版本中,在测试过程中,左上角 显示sys=0,这不应该是这样的... Alexey Viktorov 2014.05.13 12:01 #6004 peace1984: 我知道,如果sys!=1,就会弹出 "sys不应该是1 "的信息,如果你把用户从0改成1,就会弹出 "sys应该是1 "的信息。 下面是对新推出的产品的介绍。从下往上排。 专家正在加载。 外部变量列表:Sys = 0 初始化通过。 接下来的3行从EA打印。 解除初始化的原因5(输入参数被用户改变)。 外部变量列表:Sys = 1 初始化通过 下面的3行,是专家顾问的打印结果。 去初始化原因1(程序已从图表中删除)。 你想澄清什么?我不明白什么是不工作...... ps:不要注意这种符号。这是一个期权账户,这就是为什么这样的符号名称。 Denis Lysenko 2014.05.13 14:17 #6005 AlexeyVik: 这不是问题的关键。没有人想要你的全部秘密代码。只要写一个完整的有误解的代码测试片断。这个怎么样? 你是什么时候清除了高亮线的?心灵感应者无济于事,凡人就更不用说了......。 然后是这一部分。 我不知道是哪个程序员写的,但它完全不够用......这不是你的错。你和其他许多人一样,只是拿着代码并试图修复它......。 如果counted_bars变量等于自上一次指标调用以来保持不变的条数(第一行)。 如果(counted_bars < 0),它怎么会变成小于0,我永远无法理解......。 其余的也是胡说八道,但我懒得拆开它...... 我完全同意你的观点。你为什么没有想到这一点?) 我在此附上这样一个可恶的指标的代码和文件。 抛出图形,终端自然挂起,放置10分钟(取决于PC性能。 我的i5 3.1 Ghz),强行关闭MT,打开名为 "bug log.csv "的日志文件,观察bug IndicatorCounted()的事实。 #property indicator_separate_window #property indicator_buffers 1 double Buffer_1[]; bool busy=false; int han; int init() { han=FileOpen("bug log.csv", FILE_CSV|FILE_WRITE); SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,1); SetIndexBuffer(0,Buffer_1); return(0); } int deinit() { FileClose(han); return(0); } int start() { //if(busy) return(0); int limit=3000; if(IndicatorCounted()>0) limit=1; for (int i=0; i<limit; i++) { busy=true; FileWrite(han, TimeToStr(TimeCurrent(), TIME_MINUTES|TIME_SECONDS), DoubleToStr(i, 0), DoubleToStr(IndicatorCounted(), 0)); FileFlush(han); for(int j=1; j<7000; j++) for(int k=1; k<7000; k++) double var=2*0.34*MathArccos(0.5)+1.33*MathArcsin(0.23)+1.53*MathArctan(0.11)+2.33*MathCos(0.23)+1.22*MathLog(12)+1.22; Buffer_1[i]=var; } busy=false; return(777); } 附加的文件: bugqtest.mq4 2 kb i999i 2014.05.13 15:05 #6006 嗨,你能告诉我脚本中缺少什么吗?如果(AccountProfit()>1)条件得到满足,它就关闭所有未结订单,现在它只关闭部分订单,直到条件得到满足。 f(AccountProfit()>1) { for (i=OrdersTotal()-1;i>=0;i--){OrderSelect(i,SELECT_BY_POS,MODE_TRADES);如果(OrderType()==OP_BUY){ OrderClose(OrderTicket(),OrderLots(),Bid,10,Green); return(0);} else { OrderClose(OrderTicket(),OrderLots(),Ask,10,Red); return(0);}}} Alexey Viktorov 2014.05.13 15:25 #6007 Expert: 我完全同意你的观点。你为什么没有想到这一点?) 我在此附上代码和 "我是谁 "指标本身的文件。 抛出图形,终端自然挂起,放置10分钟(取决于PC的速度。 我有i5 3.1 Ghz),强行关闭MT,打开名为 "bug log.csv "的日志文件,观察bug IndicatorCounted()的事实。 我不知道。我有这个指标,记录了一个这样的文件。 附加的文件: test.zip 21 kb Denis Lysenko 2014.05.13 15:52 #6008 AlexeyVik: 我不知道。我让这个指标写了一个这样的文件。 非常感谢您的反馈! 尝试了你的版本--同样的结果() 你知道为什么会发生这种情况吗? 不仅仅是我。我在另一台比我更强大的电脑上试了一下,也是同样的问题。 附加的文件: bugflog.zip 122 kb i999i 2014.05.13 16:01 #6009 i999i: 嗨,你能告诉我脚本中缺少什么吗?如果(AccountProfit()>1)条件得到满足,它就关闭所有未结订单,现在它只关闭部分订单,直到条件得到满足。 f(AccountProfit()>1) { for (i=OrdersTotal()-1;i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); 如果(OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,10,Green); return(0);} else { OrderClose(OrderTicket(),OrderLots(),Ask,10,Red); return(0);}}}return(0); 是多余的,谢谢大家。 Alexey Viktorov 2014.05.13 16:10 #6010 Expert: 非常感谢您的反馈! 尝试了你的版本--同样的结果() 知道为什么会发生这种情况吗? 我不是唯一的人。我在另一台电脑上试过,比我的更强大,也是同样的问题。 要么是我听不懂你的话,要么是你不懂的东西.......csv文件有什么问题?在计算第一个条形图之前,prev_calculated或IndicatorCounted()(在旧版本中)将为零,这是对的。 1...594595596597598599600601602603604605606607608...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这可能不完全是我尝试的方式。
我只是在EA中重新编译了代码并运行了它。当我改变注释中的Sys参数时,这个值会发生变化。
我又试着改成你的版本......还是不行......它在EA中,而且作为EA可见...
我又试着改成你的版本......还是不行......。它在EA中,并且作为EA可见...
还是我弄错了?
还是我误解了什么?
我知道,如果sys!=1,就会弹出 "sys不应该是1 "的信息,但如果你把用户从0改为1,就应该出现 "sys应该是1"。
在你的EA版本中,在测试过程中,左上角 显示sys=0,这不应该是这样的...
我知道,如果sys!=1,就会弹出 "sys不应该是1 "的信息,如果你把用户从0改成1,就会弹出 "sys应该是1 "的信息。
下面是对新推出的产品的介绍。从下往上排。
专家正在加载。
外部变量列表:Sys = 0
初始化通过。
接下来的3行从EA打印。
解除初始化的原因5(输入参数被用户改变)。
外部变量列表:Sys = 1
初始化通过
下面的3行,是专家顾问的打印结果。
去初始化原因1(程序已从图表中删除)。
你想澄清什么?我不明白什么是不工作......
ps:不要注意这种符号。这是一个期权账户,这就是为什么这样的符号名称。
这不是问题的关键。没有人想要你的全部秘密代码。只要写一个完整的有误解的代码测试片断。这个怎么样?
你是什么时候清除了高亮线的?心灵感应者无济于事,凡人就更不用说了......。
然后是这一部分。
我不知道是哪个程序员写的,但它完全不够用......这不是你的错。你和其他许多人一样,只是拿着代码并试图修复它......。
如果counted_bars变量等于自上一次指标调用以来保持不变的条数(第一行)。
如果(counted_bars < 0),它怎么会变成小于0,我永远无法理解......。
其余的也是胡说八道,但我懒得拆开它......
我完全同意你的观点。你为什么没有想到这一点?)
我在此附上这样一个可恶的指标的代码和文件。
抛出图形,终端自然挂起,放置10分钟(取决于PC性能。 我的i5 3.1 Ghz),强行关闭MT,打开名为 "bug log.csv "的日志文件,观察bug IndicatorCounted()的事实。
嗨,你能告诉我脚本中缺少什么吗?如果(AccountProfit()>1)条件得到满足,它就关闭所有未结订单,现在它只关闭部分订单,直到条件得到满足。
f(AccountProfit()>1)
我完全同意你的观点。你为什么没有想到这一点?)
我在此附上代码和 "我是谁 "指标本身的文件。
抛出图形,终端自然挂起,放置10分钟(取决于PC的速度。 我有i5 3.1 Ghz),强行关闭MT,打开名为 "bug log.csv "的日志文件,观察bug IndicatorCounted()的事实。
我不知道。我有这个指标,记录了一个这样的文件。
我不知道。我让这个指标写了一个这样的文件。
非常感谢您的反馈!
尝试了你的版本--同样的结果()
你知道为什么会发生这种情况吗?
不仅仅是我。我在另一台比我更强大的电脑上试了一下,也是同样的问题。
嗨,你能告诉我脚本中缺少什么吗?如果(AccountProfit()>1)条件得到满足,它就关闭所有未结订单,现在它只关闭部分订单,直到条件得到满足。
f(AccountProfit()>1)
非常感谢您的反馈!
尝试了你的版本--同样的结果()
知道为什么会发生这种情况吗?
我不是唯一的人。我在另一台电脑上试过,比我的更强大,也是同样的问题。