新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 991 1...984985986987988989990991992993994995996997998...1953 新评论 Igor Makanu 2019.11.04 13:49 #9901 LuckyTrader: 这个错误已经消失了,措辞也一样,现在它已经到了另一个部分。就在上面,我给伊戈尔写信 插入发生错误的打印件,也许你可以通过这种方式解决你的问题。 没有其他办法,我已经解释了你出错的原因。 Nikita Zubarov 2019.11.05 12:33 #9902 你好,我决定把指标 从MQL4改写 成MQL5,结果卡在了指标缓冲区。我想我已经输入了我需要的所有内容,但指标线仍然没有显示出来! 这里有一个例子,我想显示过去30条的收盘价,我甚至在缓冲区上加了一个注释,看它是否被填满了...... 缓冲区在填充,但图表是空的,我没有看到它(() 可能是什么问题呢? 也许MQL5中的条形图是倒过来的?) //+------------------------------------------------------------------+ //| Test.mq5 | //| . | //| . | //+------------------------------------------------------------------+ #property copyright "." #property link "." #property version "1.00" #property indicator_chart_window #property indicator_buffers 8 // Количество буферов индикатора #property indicator_plots 8 // Количество графических серий #property indicator_label1 "TestLine" #property indicator_type1 DRAW_LINE #property indicator_style1 STYLE_SOLID #property indicator_width1 1 #property indicator_color1 Red //+------------------------------------------------------------------+ //| БУФЕРЫ | //+------------------------------------------------------------------+ double Buffer1[]; double Buffer2[]; double Buffer3[]; double Buffer4[]; double Buffer5[]; double Buffer6[]; double Buffer7[]; double Buffer8[]; //+------------------------------------------------------------------+ //| ПАРАМЕТРЫ БУфЕРА | //+------------------------------------------------------------------+ int OnInit(){ SetIndexBuffer(0,Buffer1,INDICATOR_DATA); PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE); PlotIndexSetInteger(0,PLOT_LINE_WIDTH,1); PlotIndexSetInteger(0,PLOT_LINE_COLOR,Blue); return(INIT_SUCCEEDED);} //+------------------------------------------------------------------+ //| Деинициализация | //+------------------------------------------------------------------+ void OnDeinit(const int reason){ Comment("");} //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]){ for(int Z = 30; Z>=0; Z--) { Buffer1[Z] = iClose(NULL,0,Z);} Comment(Buffer1[0]); return(rates_total);} //+------------------------------------------------------------------+ Igor Makanu 2019.11.05 12:52 #9903 Nikita Zubarov: 你好,我决定把指标 从MQL4改写 成MQL5,结果卡在了指标缓冲区。我想我已经输入了我需要的所有内容,但指标线仍然没有显示出来! 这里有一个例子,我想显示过去30条的收盘价,我甚至在缓冲区上加了一个注释,看它是否被填满了...... 缓冲区在填充,但图表是空的,我没有看到它(() 可能是什么问题呢? 也许MQL5中的条形图是倒过来的?) 在MQL5中,小节的编号是相反的 for(int Z = rates_total-50; Z<rates_total; Z++) 可以使用https://www.mql5.com/ru/docs/array/arraysetasseries 来改变索引。 Документация по MQL5: Операции с массивами / ArraySetAsSeries www.mql5.com //| Custom indicator initialization function | //| Custom indicator iteration function | Nikita Zubarov 2019.11.05 12:59 #9904 Igor Makanu: 在MQL6中,小节的编号是相反的 你可以使用https://www.mql5.com/ru/docs/array/arraysetasseries 来改变索引。 谢谢你!,加了一行,就开始正常显示了。 ArraySetAsSeries(Buffer1,true); 但我认为从右到左,条形图的编号是一样的,只是缓冲区向后退了....。 Igor Makanu 2019.11.05 13:10 #9905 Nikita Zubarov: 谢谢!,加了一行,开始正常显示了!。 但在我看来,条形图的编号从右到左是一样的,只是缓冲区向后退了....。 在4中,0号小节是最右边的小节。 在5中,0号栏是最左边的栏。 默认情况下,指标缓冲区的 索引与时间序列的索引相同。 如果你使用ArraySetAsSeries(),它将只应用于一个数组--在你的例子中是应用于指标缓冲数组Buffer1,为了正确的计算,你也应该应用于关闭。 ArraySetAsSeries(Buffer1,true); ArraySetAsSeries(close,true); for(int Z = 30; Z>=0; Z--) { Buffer1[Z] = сlose[i]; } 或按上述方法改变循环 Averman 2019.11.05 14:31 #9906 你好,请你告诉我,如果我想让我的EA在当前图表以外的符号上开仓。 OrderSend(MarketInfo("EURUSD",MODE_ASK), OP_BUY, Lots, Ask, Slip, 0, 0, " ", Magic, 0, Blue) 我是否正确? 如果不正确,请纠正我 Alexey Viktorov 2019.11.05 15:19 #9907 Averman: 你好,请你告诉我,如果我想让我的EA在当前图表以外的符号上开仓。 OrderSend(MarketInfo("EURUSD",MODE_ASK), OP_BUY, Lots, Ask, Slip, 0, 0, " ", Magic, 0, Blue) 我是否正确? 如果不正确,请纠正我 当然这是不对的。 OrderSend("EURUSD", OP_BUY, Lots, MarketInfo("EURUSD",MODE_ASK), Slip, 0, 0, "", Magic, 0, Blue) 如果我没有在什么地方犯错,那就是你犯错了。但无论如何,其含义应该是可以理解的。 Seric29 2019.11.05 20:34 #9908 MQL6已经出现了,有人测试过这个外壳吗? Alexey Viktorov 2019.11.05 20:42 #9909 Seric29: MQL6已经出现了,有人测试过这个外壳吗? 今天是4月1日吗? Alexandr Sokolov 2019.11.05 20:50 #9910 Alexey Viktorov: 今天不是4月1日吗? 于是我开始上网搜索))。...发现一个单页的mql6网站和一个链接到mql5.com的论坛 1...984985986987988989990991992993994995996997998...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这个错误已经消失了,措辞也一样,现在它已经到了另一个部分。就在上面,我给伊戈尔写信
插入发生错误的打印件,也许你可以通过这种方式解决你的问题。
没有其他办法,我已经解释了你出错的原因。
你好,我决定把指标 从MQL4改写 成MQL5,结果卡在了指标缓冲区。我想我已经输入了我需要的所有内容,但指标线仍然没有显示出来!
这里有一个例子,我想显示过去30条的收盘价,我甚至在缓冲区上加了一个注释,看它是否被填满了......
缓冲区在填充,但图表是空的,我没有看到它(()
可能是什么问题呢? 也许MQL5中的条形图是倒过来的?)
你好,我决定把指标 从MQL4改写 成MQL5,结果卡在了指标缓冲区。我想我已经输入了我需要的所有内容,但指标线仍然没有显示出来!
这里有一个例子,我想显示过去30条的收盘价,我甚至在缓冲区上加了一个注释,看它是否被填满了......
缓冲区在填充,但图表是空的,我没有看到它(()
可能是什么问题呢? 也许MQL5中的条形图是倒过来的?)
在MQL5中,小节的编号是相反的
可以使用https://www.mql5.com/ru/docs/array/arraysetasseries 来改变索引。在MQL6中,小节的编号是相反的
你可以使用https://www.mql5.com/ru/docs/array/arraysetasseries 来改变索引。谢谢你!,加了一行,就开始正常显示了。
但我认为从右到左,条形图的编号是一样的,只是缓冲区向后退了....。谢谢!,加了一行,开始正常显示了!。
但在我看来,条形图的编号从右到左是一样的,只是缓冲区向后退了....。在4中,0号小节是最右边的小节。
在5中,0号栏是最左边的栏。
默认情况下,指标缓冲区的 索引与时间序列的索引相同。
如果你使用ArraySetAsSeries(),它将只应用于一个数组--在你的例子中是应用于指标缓冲数组Buffer1,为了正确的计算,你也应该应用于关闭。
或按上述方法改变循环
OrderSend(MarketInfo("EURUSD",MODE_ASK), OP_BUY, Lots, Ask, Slip, 0, 0, " ", Magic, 0, Blue)
我是否正确? 如果不正确,请纠正我
你好,请你告诉我,如果我想让我的EA在当前图表以外的符号上开仓。
OrderSend(MarketInfo("EURUSD",MODE_ASK), OP_BUY, Lots, Ask, Slip, 0, 0, " ", Magic, 0, Blue)
我是否正确? 如果不正确,请纠正我
当然这是不对的。
如果我没有在什么地方犯错,那就是你犯错了。但无论如何,其含义应该是可以理解的。MQL6已经出现了,有人测试过这个外壳吗?
今天是4月1日吗?
今天不是4月1日吗?
于是我开始上网搜索))。
...发现一个单页的mql6网站和一个链接到mql5.com的论坛