任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 95 1...888990919293949596979899100101102...1178 新评论 Artyom Trishkin 2013.08.27 09:45 #941 hoz: 是的,带i_ 的变量是输入变量(来自intut这个词,可以由用户改变...),pt 也是一个全局变量,在任何地方都是可见的...不,这批货还没有被规范化。在测试器中从未遇到过...而地段与对象有什么关系(错误4200)? 很多东西跟它有什么关系?如果批号无效,就会调用错误处理函数,这将导致对象被建立。 如果批次不对,测试器中就会出现错误。你说你不建立对象,但在函数中 void pr (string txt) 仍在构建对象。 if(info[i]!=""){ cm=info[i]; ObjectCreate ("txtw"+i,OBJ_LABEL,0,0,0); ObjectSet ("txtw"+i,OBJPROP_CORNER,1); ObjectSet ("txtw"+i,OBJPROP_XDISTANCE,10); ObjectSet ("txtw"+i,OBJPROP_YDISTANCE,30+15*i); ObjectSetText("txtw"+i,cm, 10, "Times New Roman", Green);} 这可能是埋藏错误的地方。你可能必须在那里做一些事情。在这个函数中注释出图表的输出。如果错误消失了,你要在函数中寻找其背后的原因。 void pr (string txt) Paladin80 2013.08.27 10:42 #942 vovak_85:你好,我是mql编程的新手。我有一个问题,我有一个自定义的指标,不是我写的,它以箭头的形式产生买入和卖出信号,为此在指标中有两个缓冲区,问题是我不能正确地从指标中读取信号,以使专家顾问进行买入或卖出。该指标的代码。... 要在论坛中正确粘贴代码,请点击SRC,然后复制代码。 Boris 2013.08.27 10:43 #943 SRC插入代码!!! 而且这不是一个障碍,是强烈推荐的! 论坛导航器和对常见问题的回答。强烈推荐阅读! ( 1 2 3 4 5 6 ) 52 18.02.2011 常见问题 vovak_85 2013.08.27 10:46 #944 你好,我是mql编程的新手。我有一个问题,我有一个自定义的指标,不是我写的,它以箭头的形式产生买入和卖出信号,为此在指标中有两个缓冲区,问题是我不能正确地从指标中读取信号,以使专家顾问进行买入或卖出。 指标代码。 #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Red #property indicator_color2 MediumBlue #property indicator_color3 Red #property indicator_color4 MediumBlue #property indicator_color5 Blue #property indicator_color6 Red #property indicator_color7 Blue extern int MM = 3; extern int MP = 20; double a[]; double b[]; double c[]; double d[]; double e[]; double g[]; double h[]; int x = 0; int init() { SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, 1, Red); SetIndexBuffer( 0, a ); SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 1, MediumBlue); SetIndexBuffer(1, b); SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, 2, Red); SetIndexBuffer(2, c); SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, 2, MediumBlue); SetIndexBuffer(3, d); SetIndexStyle(4, DRAW_ARROW, STYLE_SOLID, 3); SetIndexBuffer(4, e); SetIndexArrow(4, 233); SetIndexStyle(5, DRAW_ARROW, STYLE_SOLID, 3); SetIndexBuffer( 5, g ); SetIndexArrow(5, 234); SetIndexStyle(6, DRAW_ARROW, STYLE_SOLID, 3); SetIndexBuffer(6, h); SetIndexArrow(6, 233); SetIndexDrawBegin(0, 5); SetIndexBuffer( 0, a ); SetIndexBuffer(1, b); SetIndexBuffer(2, c); SetIndexBuffer(3, d); return (0); } int deinit() { return (0); } int start() { double qw; double qe; double qr; double qt; double as; double ad; double af; double ag; int i,razmer; if (Bars <= 10) return (0); x = IndicatorCounted(); if (x < 0) return (-1); if (x > 0) x--; for (int zx = Bars - x - 1; zx >= 0; zx--) { qw = iMA(NULL, 0, MP, 0, MM, PRICE_CLOSE, zx); qe = iMA(NULL, 0, MP, 0, MM, PRICE_LOW, zx); qr = iMA(NULL, 0, MP, 0, MM, PRICE_OPEN, zx); qt = iMA(NULL, 0, MP, 0, MM, PRICE_HIGH, zx); as = (c[zx + 1] + (d[zx + 1])) / 2.0; ag = (qw + qt + qr + qe) / 4.0; ad = MathMax(qt, MathMax(as, ag)); af = MathMin(qr, MathMin(as, ag)); if (as < ag) { a[zx] = af; if (a[zx] < b[zx] && a[zx + 1] < b[zx + 1] && a[zx + 2] > b[zx + 2] && a[zx + 3] > b[zx + 3]) e[zx] = af - 10.0 * Point; else{ razmer=ArrayRange(4,1); for (i=1;i<razmer;i++) e[i]=0; } b[zx] = ad; } else {a[zx] = ad; b[zx] = af; if (a[zx] > b[zx] && a[zx + 1] > b[zx + 1] && a[zx + 2] < b[zx + 2] && a[zx + 3] < b[zx + 3]) g[zx] = af + 10.0 * Point; } c[zx] = as; d[zx] = ag; } return (0); } Код советника для получения значений из индикатора и совершения сделки double L_B=iCustom(0,0,"Makedonskii",MM,MP,0,4); double L_S=iCustom(0,0,"Makedonskii",MM,MP,0,5); if (L_B!=0) Ticket=OrderSend (Symbol(), OP_BUY, Lot, Ask, 10, Bid - 15*Point, Ask + 15*Point, "", MagicNumber, 0, Green); if (L_S!=0) Ticket=OrderSend (Symbol(), OP_BUY, Lot, Bid, 10, Ask + 15*Point, Bid - 15*Point, "", MagicNumber, 0, Green);Кому несложно подскажите как правильно получать значения на покупку и продажу Paladin80 2013.08.27 10:47 #945 vovak_85: 我知道了,谢谢你!修复它? 在你之前的帖子中是正确的。 Boris 2013.08.27 10:47 #946 vovak_85: 我知道了,谢谢你!修复它? 当然了!通过移除一个不必要的破坏者!"。 Всеволод 2013.08.27 10:48 #947 hoz: pr 是一个打印功能。而错误,这已经是一个标准的常数。从逻辑上讲,这完全是不可接受的。如果你仍然怀疑pr的 功能,这里就是。 好吧,用通常的印刷品代替它,并观察日志。 在创建对象时,对象名称不唯一,这就是为什么在创建对象 时出现错误。 Viktar Dzemikhau 2013.08.27 12:58 #948 artmedia70: 这与该地段有什么关系?如果很多东西是错的,那么就会调用错误处理函数,它将导致构建对象。 如果这批货是错的,那么在测试器中也会有错误。你说你不建立对象,但在函数中 对象仍在建设中。 这可能是问题所在。你可能必须在那里做一些事情。在这个函数中注释出图表的输出。如果错误没有了,你要在函数中寻找错误的原因 我自己已经想到了这一点,而你的回答正好击中了我的要害。用这个函数注释出的地方,问题就消失了。显然,在使用它时,你必须一次删除输入中的所有对象,对吗?我的意思是,在pr 函数的最开始。 Artyom Trishkin 2013.08.27 15:50 #949 hoz: 我自己已经考虑过了,刚才你的回答也击中了我的要害。用这个函数注释出的地方,问题就消失了。显然,在使用它时,你必须一次删除输入端的所有对象,对吗?即在pr 函数的最开始,我是说... 老实说,我不知道你的函数的逻辑。它是应该删除对象还是建立对象,我不知道。告诉我你想让它做什么,我们来看看哪里的逻辑是错的。然而,如果该函数试图建立一个图形对象但失败了,这意味着它已经存在。那么,根据你的程序逻辑,接下来该怎么办?你可以用不同的名字建立一个新的对象(例如,将当前时间 添加到对象名称中(TimeToStr(TimeCurrent()))))或者,如果你已经有一个对象,但需要改变它的属性,不要再建立它,只需改变它的属性。然后错误就不会再出现。 就这么简单。最主要的是要知道你想要什么。:) Victor Nikolaev 2013.08.27 16:14 #950 vovak_85: 你好,我是mql编程的新手。我有一个问题,我有一个自定义的指标,不是我写的,它以箭头的形式产生买入和卖出信号,为此在指标中有两个缓冲区,问题是我不能正确地从指标中读取信号,以使专家顾问进行买入或卖出。 指标代码。 你确定你已经把所有的大括号都放好了。它们在一些地方缺失。这就是为什么你的逻辑是有缺陷的。而最有可能的是,结果并不是你所期望的那样。 1...888990919293949596979899100101102...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,带i_ 的变量是输入变量(来自intut这个词,可以由用户改变...),pt 也是一个全局变量,在任何地方都是可见的...不,这批货还没有被规范化。在测试器中从未遇到过...而地段与对象有什么关系(错误4200)?
很多东西跟它有什么关系?如果批号无效,就会调用错误处理函数,这将导致对象被建立。
如果批次不对,测试器中就会出现错误。你说你不建立对象,但在函数中
仍在构建对象。
这可能是埋藏错误的地方。你可能必须在那里做一些事情。在这个函数中注释出图表的输出。如果错误消失了,你要在函数中寻找其背后的原因。
你好,我是mql编程的新手。我有一个问题,我有一个自定义的指标,不是我写的,它以箭头的形式产生买入和卖出信号,为此在指标中有两个缓冲区,问题是我不能正确地从指标中读取信号,以使专家顾问进行买入或卖出。
该指标的代码。
...
要在论坛中正确粘贴代码,请点击SRC,然后复制代码。
SRC插入代码!!!
而且这不是一个障碍,是强烈推荐的!
你好,我是mql编程的新手。我有一个问题,我有一个自定义的指标,不是我写的,它以箭头的形式产生买入和卖出信号,为此在指标中有两个缓冲区,问题是我不能正确地从指标中读取信号,以使专家顾问进行买入或卖出。
指标代码。
我知道了,谢谢你!修复它?
我知道了,谢谢你!修复它?
pr 是一个打印功能。而错误,这已经是一个标准的常数。从逻辑上讲,这完全是不可接受的。如果你仍然怀疑pr的 功能,这里就是。
好吧,用通常的印刷品代替它,并观察日志。
在创建对象时,对象名称不唯一,这就是为什么在创建对象 时出现错误。
这与该地段有什么关系?如果很多东西是错的,那么就会调用错误处理函数,它将导致构建对象。
如果这批货是错的,那么在测试器中也会有错误。你说你不建立对象,但在函数中
对象仍在建设中。
这可能是问题所在。你可能必须在那里做一些事情。在这个函数中注释出图表的输出。如果错误没有了,你要在函数中寻找错误的原因
我自己已经想到了这一点,而你的回答正好击中了我的要害。用这个函数注释出的地方,问题就消失了。显然,在使用它时,你必须一次删除输入中的所有对象,对吗?我的意思是,在pr 函数的最开始。
我自己已经考虑过了,刚才你的回答也击中了我的要害。用这个函数注释出的地方,问题就消失了。显然,在使用它时,你必须一次删除输入端的所有对象,对吗?即在pr 函数的最开始,我是说...
老实说,我不知道你的函数的逻辑。它是应该删除对象还是建立对象,我不知道。告诉我你想让它做什么,我们来看看哪里的逻辑是错的。然而,如果该函数试图建立一个图形对象但失败了,这意味着它已经存在。那么,根据你的程序逻辑,接下来该怎么办?你可以用不同的名字建立一个新的对象(例如,将当前时间 添加到对象名称中(TimeToStr(TimeCurrent()))))或者,如果你已经有一个对象,但需要改变它的属性,不要再建立它,只需改变它的属性。然后错误就不会再出现。
就这么简单。最主要的是要知道你想要什么。:)
你好,我是mql编程的新手。我有一个问题,我有一个自定义的指标,不是我写的,它以箭头的形式产生买入和卖出信号,为此在指标中有两个缓冲区,问题是我不能正确地从指标中读取信号,以使专家顾问进行买入或卖出。
指标代码。
你确定你已经把所有的大括号都放好了。它们在一些地方缺失。这就是为什么你的逻辑是有缺陷的。而最有可能的是,结果并不是你所期望的那样。