脚本: sHistoryExport - 方便的脚本, 以 МetaТrader 4 格式导出的历史数据 - 页 4

 

您好、


是否可以修改脚本,使生成的 .csv 文件从现在到过去?

感谢您的关注。

谢谢

 
CarlosFa:

是否可以更改脚本,使生成的 .csv 文件从现在到过去?

可以,只需将这一行

for ( int i = copy_count-1; i > 0; i -- )

改为

for ( int i = 1; i < copy_count; i ++ )
 
metatrader 5 自定义图表转换文件。文件无法打开。
 
Lvbey:

非常感谢,这对我很有用!

但我发现有一行代码应该是这样的(大约在脚本的第 125 行):

第 125 行:for ( int i = copy_count-1; i >= 0; i -- )...

因为 i > 0(我认为应该是 i >= 0),所以没有第一条记录。

^_^

如果将 > 0 替换为 >= 0,则还会检索到最后(即最近、当前)一列的数据,这可能是不完整的。虽然这可能是我们想要的行为,但可能会产生相当大的误导。


感谢Andrey Khatimlianskii !

 
你好,我的朋友,当我运行脚本时,最后一根蜡烛并没有出现在 .csv 文件中。例如,在巴西,谈判的最后一天是 9 月 4 日,而导出只显示到 9 月 3 日。
我用 Metatrader 5 的标准格式导出了 .csv(文件>保存),结果 9 月 4 日的蜡烛图出现了。您能帮我吗?
 
gscruzz:
你好,我的朋友,当我运行脚本时,最后一根蜡烛并没有出现在 .csv 文件中。例如,在巴西,谈判的最后一天是 9 月 4 日,而导出的结果只显示到 9 月 3 日。
我用 Metatrader 5 的标准格式导出了 .csv(文件>保存),结果 9 月 4 日的蜡烛图出现了。您能帮我吗?

您好!

只需将这一行中的 "i > 0 "改为 "i >= 0 "即可:

for ( int i = copy_count-1; i >= 0; i -- )
 

你好、

我相信我做错了什么。在策略测试仪 上运行完 EA 后,我把这个脚本拖放到输出图表中,但只得到了空的结果。有一些非常基本的东西我没有得到。您能帮帮我吗?

谢谢

The Fundamentals of Testing in MetaTrader 5
The Fundamentals of Testing in MetaTrader 5
  • www.mql5.com
What are the differences between the three modes of testing in MetaTrader 5, and what should be particularly looked for? How does the testing of an EA, trading simultaneously on multiple instruments, take place? When and how are the indicator values calculated during testing, and how are the events handled? How to synchronize the bars from different instruments during testing in an "open prices only" mode? This article aims to provide answers to these and many other questions.
 

2021.01.05 21:10:32.910 HistoryExport (Usa500,H1)下载历史记录 并写入文件:0.0% 完成...


// 不超过 100 次失败尝试
if(++fail_cnt >= 100)
   return false;

不管是 100 次还是 100 万次尝试,下面的代码块从未成功过:

//复制下一部分,强制加载数据
if (CopyTime(symbol,period,size-1,1,times)==1)
{
   return true;
}
也在 CheckServerHistory 中:
// 服务器上的数据是否足够?
if (first_server_date>TimeCurrent()-size*PeriodSeconds(period))
   return false;

这个硬条件*总是*返回错误,因为识别的 first_server_date 通常比预期的历史记录更接近现在。特别是如果您在图表选项中将 "图表中最大条数 "设为"无限",那么 TERMINAL_MAXBARS 将返回 1000000,因此该条件将始终认为没有加载足够的历史记录。

 
现在脚本已经不长了,用调试器检查一下,看看脚本在哪一行 "出错"。
 
Marcel Fitzner:

2021.01.05 21:10:32.910 HistoryExport (Usa500,H1) 下载历史记录并写入文件:0.0% 完成...


不管是 100 次还是 100 万次尝试,下面的代码块从未成功过:

也在 CheckServerHistory 中:

这个硬条件*总是*返回错误,因为识别的 first_server_date 通常比预期的历史记录更接近现在。特别是如果您在图表选项中将 "图表中最大条数 "设为"无限",那么 TERMINAL_MAXBARS 将返回 1000000,因此该条件将始终认为没有加载足够的历史记录。

你说得对,我只是从标准库中复制了这段代码。

我已经根据自己的需要重写了这些函数。但现在还没准备好更新出版物。