新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1040 1...103310341035103610371038103910401041104210431044104510461047...1953 新评论 [删除] 2020.01.14 13:40 #10391 Artyom Trishkin: 指标数字(5) 谢谢你! [删除] 2020.01.14 14:10 #10392 让我再问一个问题。基于同一指标。让我们假设,我们将指标附加到图表 上。我们得到Bid1的第一个值。然后我们得到Bid2的第二个值。而我们需要比较这两个值。从第二个数字中,我们减去第一个数字,得到我们加到第一个Bid1的数字。 Bid1=1.11133 Bid2=1.11135 竞价2-竞价1=0.00002 竞价1+0.00002=1.11135 我的理解是,其结果与原始指标相同。 我只是想看看实现情况,了解代码的逻辑。 Yevhenii Levchenko 2020.01.14 14:23 #10393 Alexey Viktorov: 你必须在文件属性中解锁它。 谢谢你!:) jaffer wilson 2020.01.15 12:32 #10394 jaffer wilson : 两个声明。 打印:22.33 И 打印:2.00000 为什么会有不同的产出?在C / C ++中,上述语句工作正常。 有人对这个问题有什么想法吗? Yevhenii Levchenko 2020.01.15 19:22 #10395 帮助我理解mt5中的价格数组。这在指标中并不清楚。我输出价格,这是在OnCalculate中。 for(int i=10; i>=0; i--) PrintFormat("s- open[%d] = %d",i,open[i]); 我得到了奇怪的价格。 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[10] = 1597040639 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[9] = -523642413 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[8] = 1691873517 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[7] = 590987500 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[6] = 1583296744 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[5] = 115448721 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[4] = 360090058 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[3] = -1597040639 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[2] = -856244680 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[1] = 366962006 2020.01.15 20:09:51.517 ZZ_And_Moving_Averages (EURUSD,H1) s- open[0] = -1209462791 我反其道而行之,创建一个数组并复制它(我通过尝试寻找,我不清楚)。 double Open[];//глобальная CopyOpen(NULL,0,0,Bars_To_Process*2,Open); //OnCalculate for(int i=10; i>=0; i--) PrintFormat("Open[%d] = %d",i,Open[i]);//OnCalculate 我也得到了类似的结果。 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[10] = 1356522471 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[9] = -1708366192 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[8] = -729800843 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[7] = 1499458982 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[6] = 167675523 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[5] = -90709709 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[4] = -321607151 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[3] = -314735203 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[2] = -314735203 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[1] = 1663011337 2020.01.15 20:10:11.557 ZZ_And_Moving_Averages (EURUSD,H1) Open[0] = -1408749273 有了日期,就更有意思了。我打印的是OnCalculate中的日期。 for(int i=10; i>=0; i--) PrintFormat("s- time[%d] = %s",i,TimeToString(time[i])); 我明白这一点。 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[10] = 2015.12.02 10:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[9] = 2015.12.02 09:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[8] = 2015.12.02 08:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[7] = 2015.12.02 07:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[6] = 2015.12.02 06:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[5] = 2015.12.02 05:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[4] = 2015.12.02 04:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[3] = 2015.12.02 03:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[2] = 2015.12.02 02:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[1] = 2015.12.02 01:00 2020.01.15 20:17:04.421 ZZ_And_Moving_Averages (EURUSD,H1) s- time[0] = 2015.12.02 00:00 而当我复制它的时候。 datetime Time[]; CopyTime(NULL,0,0,Bars_To_Process*2,Time); for(int i=10; i>=0; i--) PrintFormat("Time[%d] = %s",i,TimeToString(Time[i])); 它打印出来很好。 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[10] = 2020.01.15 10:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[9] = 2020.01.15 11:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[8] = 2020.01.15 12:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[7] = 2020.01.15 13:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[6] = 2020.01.15 14:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[5] = 2020.01.15 15:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[4] = 2020.01.15 16:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[3] = 2020.01.15 17:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[2] = 2020.01.15 18:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[1] = 2020.01.15 19:00 2020.01.15 20:20:37.686 ZZ_And_Moving_Averages (EURUSD,H1) Time[0] = 2020.01.15 20:00 但光靠约会是走不远的。帮助我理解。我怎样才能获得正确的开盘价 和收盘价? Igor Makanu 2020.01.15 20:39 #10396 Yevhenii Levchenko: 帮助我理解mt5中的价格数组。这在指标中并不清楚。我输出的是OnCalculate中的价格。 for(int i=10; i>=0; i--) PrintFormat("s- open[%d] = %d",i,open[i]); 要像这样做。 for(int i=10; i>=0; i--) { Print("s- open[",i,"] = ",open[i]); } 你在格式化输出 中使用了错误的类型规范 Yevhenii Levchenko 2020.01.15 21:04 #10397 Igor Makanu: 这样做。 你在格式化输出 中使用了错误的类型规范 Aaaaahhhh,该死!非常感谢你,伊戈尔! 我应该把%f...我弄错了......我还需要把ArraySetAsSeries放在所有地方。这有点奇怪... Yevhenii Levchenko 2020.01.15 21:32 #10398 Igor Makanu: 请 如果你从头开始写指标代码,我不建议使用ArraySetAsSeries()(如果你从MQL4移植它--另一回事)。 使用rate_total作为最右边的条数-1,你会更快地习惯于MQL5中的指标逻辑。 谢谢你! 不是从头开始写...我正在将一个指标从mt4转移到mt5上 [删除] 2020.01.15 21:46 #10399 Oleg Bondarev: 让我再问一个问题。基于同一指标。让我们假设,我们将指标附加到图表 上。我们得到Bid1的第一个值。然后我们得到Bid2的第二个值。而我们需要比较这两个值。从第二个数字中,我们减去第一个数字,得到我们加到第一个Bid1的数字。 Bid1=1.11133 Bid2=1.11135 竞价2-竞价1=0.00002 竞价1+0.00002=1.11135 我的理解是,其结果与原始指标相同。 我只是想看看实现情况,了解代码的逻辑。 帮助我。这不是我自己的工作。我做了两个缓冲区x[ ]来比较Bid值,y[ ]来绘制。而且什么都没有。 Igor Makanu 2020.01.16 06:55 #10400 Oleg Bondarev: 我需要你的帮助。我自己不能让任何东西工作。我做了两个缓冲区x[ ]来比较Bid值,y[ ]来绘制。而且什么都没有。 试着用不同的方式提问,你的问题可能不清楚 1...103310341035103610371038103910401041104210431044104510461047...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
指标数字(5)
让我再问一个问题。基于同一指标。让我们假设,我们将指标附加到图表 上。我们得到Bid1的第一个值。然后我们得到Bid2的第二个值。而我们需要比较这两个值。从第二个数字中,我们减去第一个数字,得到我们加到第一个Bid1的数字。
Bid1=1.11133
Bid2=1.11135
竞价2-竞价1=0.00002
竞价1+0.00002=1.11135
我的理解是,其结果与原始指标相同。
我只是想看看实现情况,了解代码的逻辑。
你必须在文件属性中解锁它。
两个声明。
打印:22.33
И
打印:2.00000
为什么会有不同的产出?在C / C ++中,上述语句工作正常。
有人对这个问题有什么想法吗?
帮助我理解mt5中的价格数组。这在指标中并不清楚。我输出价格,这是在OnCalculate中。
我得到了奇怪的价格。
我反其道而行之,创建一个数组并复制它(我通过尝试寻找,我不清楚)。
我也得到了类似的结果。
有了日期,就更有意思了。我打印的是OnCalculate中的日期。
我明白这一点。
而当我复制它的时候。
它打印出来很好。
但光靠约会是走不远的。帮助我理解。我怎样才能获得正确的开盘价 和收盘价?
帮助我理解mt5中的价格数组。这在指标中并不清楚。我输出的是OnCalculate中的价格。
要像这样做。
你在格式化输出 中使用了错误的类型规范
这样做。
你在格式化输出 中使用了错误的类型规范
Aaaaahhhh,该死!非常感谢你,伊戈尔!
我应该把%f...我弄错了......我还需要把ArraySetAsSeries放在所有地方。这有点奇怪...
请
如果你从头开始写指标代码,我不建议使用ArraySetAsSeries()(如果你从MQL4移植它--另一回事)。
使用rate_total作为最右边的条数-1,你会更快地习惯于MQL5中的指标逻辑。
不是从头开始写...我正在将一个指标从mt4转移到mt5上
让我再问一个问题。基于同一指标。让我们假设,我们将指标附加到图表 上。我们得到Bid1的第一个值。然后我们得到Bid2的第二个值。而我们需要比较这两个值。从第二个数字中,我们减去第一个数字,得到我们加到第一个Bid1的数字。
Bid1=1.11133
Bid2=1.11135
竞价2-竞价1=0.00002
竞价1+0.00002=1.11135
我的理解是,其结果与原始指标相同。
我只是想看看实现情况,了解代码的逻辑。
帮助我。这不是我自己的工作。我做了两个缓冲区x[ ]来比较Bid值,y[ ]来绘制。而且什么都没有。
我需要你的帮助。我自己不能让任何东西工作。我做了两个缓冲区x[ ]来比较Bid值,y[ ]来绘制。而且什么都没有。
试着用不同的方式提问,你的问题可能不清楚