新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 175 1...168169170171172173174175176177178179180181182...1953 新评论 mila.com 2017.04.04 23:02 #1741 -Aleks-: 你是否有一个条目对应于一个酒吧? 是的,它将是3月29日的柱状图上PERIOD_D1 的一个柱状图。 29.03.2017.574391 mila.com 2017.04.05 02:51 #1742 如果日期是这样写的,条形图的设置是正确的int shift=iBarShift(Symbol(),PERIOD_D1,"29.03.2017"); Range_Buffer[shift]= str_b1; 但如果我这样写,它就不会被设置了 str_dat1= StringSubstr(str,0,10);// int shift=iBarShift(Symbol(),PERIOD_D1,str_dat1); Range_Buffer[shift]= str_b1; 日期(str_dat1)被正确打印。原因何在 ? Alexey Viktorov 2017.04.05 12:16 #1743 mila.com: 删除了while循环,我得到的第一行是这样的请告诉我什么是错的。我们必须检查我们在str_dat1变量中得到的东西实际上,iBarShift应该传递一个数据时间类型 的日期,而不是一个字符串。也许它接受一个干净的字符串作为日期,而它不接受一个变量。最好是将收到的字符串转换为数据时间类型。 ps还有一个完全疯狂的想法,那就是通过编写以下内容来测试它int shift=iBarShift(Symbol(),PERIOD_D1, (string)str_dat1);但这纯粹是在指望mql4的可选性。 Sergey Gritsay 2017.04.05 17:06 #1744 mila.com:如果日期是这样写的,条形图的设置是正确的但如果我这样写,它就不会被设置了日期(str_dat1)被正确打印。原因 是什么 呢 ? 原因是iBarShift()函数 必须传递日期时间变量类型,而你传递的是字符串类型。datetime str_dat1=StringToTime(StringSubstr(str,0,10));// это дата double str_b1=StringToDouble(StringSubstr(str,12,6)); // это значение int shift=iBarShift(Symbol(),PERIOD_D1,str_dat1); Range_Buffer[shift]=str_b1;... mila.com 2017.04.05 19:28 #1745 Alexey Viktorov: 最好将收到的行转换为数据时间类型。 谢谢你,放了一个条形图。 我有一个问题,如何在文件的所有行上建立一个直方图。 我在帮助中 发现,跳到下一行的方法是FileSeek() 但我不知道如何跳到下一行。 Alexey Viktorov 2017.04.05 19:45 #1746 mila.com: 谢谢你,放了一个条形图。 我有一个问题,如何在文件的所有行上建立一个直方图。 我在帮助中 发现,跳到下一行的方法是FileSeek() 但我不知道如何跳到下一行。 到目前为止,只放了一列 帮助 )如果你在循环之前打开文件,直到最后才关闭它,随着循环的每一次迭代,下一行将被读取。而且你可以在循环结束后关闭文件。FileSeek()不是把指针移到下一行,而是从文件的开头、结尾或当前指针位置开始,移动指定的字节数。为了正确地移动它,你需要知道一行在写好的文件中占多少个字节。 Artyom Trishkin 2017.04.05 19:51 #1747 mila.com: 谢谢你,放了一个条形图。 我有一个问题,如何在文件的所有行上建立一个直方图。 我在帮助中 发现,跳到下一行的方法是FileSeek() 但我不知道如何跳到下一行。 到目前为止,只放了一列 帮助 ) 我给了你一篇文章的链接,其中描述了所有这些的例子。似乎没有读过...... mila.com 2017.04.05 20:20 #1748 Sergey Gritsay: 原因是iBarShift()函数需要传递日期时间变量类型,而你传递的是字符串类型,请尝试这样做... 谢谢,我会这样做的。 mila.com 2017.04.05 20:38 #1749 Alexey Viktorov:如果你在循环之前打开了文件并且没有关闭它,那么在循环的每一次迭代中都会读到下一行。而且你可以在循环结束后关闭文件。 它是有效的,谢谢你。 mila.com 2017.04.05 20:39 #1750 Artyom Trishkin: 我给了你一篇文章的链接,其中用例子描述了这一切。似乎没有读过...... 我读过,但我从未猜到在循环之前打开文件) 可能是没有仔细阅读 ) 1...168169170171172173174175176177178179180181182...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你是否有一个条目对应于一个酒吧?
是的,它将是3月29日的柱状图上PERIOD_D1 的一个柱状图。
29.03.2017.574391
如果日期是这样写的,条形图的设置是正确的
但如果我这样写,它就不会被设置了
日期(str_dat1)被正确打印。
原因何在 ?删除了while循环,我得到的第一行是这样的
请告诉我什么是错的。
我们必须检查我们在str_dat1变量中得到的东西
实际上,iBarShift应该传递一个数据时间类型 的日期,而不是一个字符串。也许它接受一个干净的字符串作为日期,而它不接受一个变量。
最好是将收到的字符串转换为数据时间类型。
ps还有一个完全疯狂的想法,那就是通过编写以下内容来测试它
但这纯粹是在指望mql4的可选性。
如果日期是这样写的,条形图的设置是正确的
但如果我这样写,它就不会被设置了
日期(str_dat1)被正确打印。
原因 是什么 呢 ?原因是iBarShift()函数 必须传递日期时间变量类型,而你传递的是字符串类型。
...
最好将收到的行转换为数据时间类型。
谢谢你,放了一个条形图。
我有一个问题,如何在文件的所有行上建立一个直方图。
我在帮助中 发现,跳到下一行的方法是FileSeek()
但我不知道如何跳到下一行。
谢谢你,放了一个条形图。
我有一个问题,如何在文件的所有行上建立一个直方图。
我在帮助中 发现,跳到下一行的方法是FileSeek()
但我不知道如何跳到下一行。
到目前为止,只放了一列
帮助 )
如果你在循环之前打开文件,直到最后才关闭它,随着循环的每一次迭代,下一行将被读取。而且你可以在循环结束后关闭文件。
FileSeek()不是把指针移到下一行,而是从文件的开头、结尾或当前指针位置开始,移动指定的字节数。
为了正确地移动它,你需要知道一行在写好的文件中占多少个字节。
谢谢你,放了一个条形图。
我有一个问题,如何在文件的所有行上建立一个直方图。
我在帮助中 发现,跳到下一行的方法是FileSeek()
但我不知道如何跳到下一行。
到目前为止,只放了一列
帮助 )
原因是iBarShift()函数需要传递日期时间变量类型,而你传递的是字符串类型,请尝试这样做
...
谢谢,我会这样做的。
如果你在循环之前打开了文件并且没有关闭它,那么在循环的每一次迭代中都会读到下一行。而且你可以在循环结束后关闭文件。
它是有效的,谢谢你。
我给了你一篇文章的链接,其中用例子描述了这一切。似乎没有读过......
我读过,但我从未猜到在循环之前打开文件)
可能是没有仔细阅读 )