「FX581独家」MT4开辟技能 历史记录的“坑”

[复制链接]

赞助会员

主题
0
回帖
0
精华
0
积分
2
爱豆
0 个
性别
保密
注册时间
2014-9-28
最后登录
2014-9-28
发表于 2022-4-6 04:24 | 显示全部楼层 |阅读模式
我们会经常碰到这样的需求:统计历史买卖记录的手数,大概获得最初一笔历史买卖定单的信息。这样的功用对于我们来说并不困难,下面是一个简单的代码示例:
double lot = 0;
for(int i=0;i < OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false) continue;
lot += OrderLots();
}
Print("总手数:",lot);
这段代码就是经过循环统计出一切历史的手数,实在这段代码就是把循环遍历一切在场单的代码修改下即可。把OrdersTotal()函数改成OrdersHistoryTotal(),把OrderSelect函数里增加一个参数:MODE_HISTORY。那末这么一个简单的法式也有题目吗?答案是必定的。
我们来运转下这个EA法式,在终端中显现的成果是:
总手数居然是0!太不成思议了,明显我有很多的买卖记录啊。
现在跟小编一路来做一些操纵,再运转下法式看看最初的成果是什么:

「FX581独家」MT4开辟技能 历史记录的“坑”-1.jpg

在账户历史中点击右键,挑选一切买卖记录,现在账户历史中就出现了之前买卖的一切历史记录

「FX581独家」MT4开辟技能 历史记录的“坑”-2.jpg


那末我们在运转下EA法式试下成果就会显现一般:


「FX581独家」MT4开辟技能 历史记录的“坑”-3.jpg

这就是经过法式获得历史记录的一个“坑”了,在MT4中,软件默许会只显现当月的历史记录,而法式在获得历史记录时只按照软件当前的历史记录停止查找,由于这个月我没有做任何的买卖,所以在统计总手数的时辰获得的是0,而假如在软件里把一切的买卖记录都显现出来后,法式终究可以一般工作了。
(本段落标蓝是为了推行所用,请吧xxx替换为响应要宣传的平台,假如没有可做的平台可以删除这段内容)之所以我们很少发现这个题目标缘由在于一般的MT4平台模拟账户时效性都很短,注册了一个模拟户后很快就过期了,致使很少有人能发现这个题目。所以具有一个能开长效模拟户的平台尤其重要了,我们保举利用xxx平台它可以供给长达xx天的模拟账户。
长效模拟户自己对于我们开辟和测试EA法式是有很大帮助,众所周知开辟完成一款新的EA法式后只是用历史模拟是不够的,还需要挂机测试,假如测试没几天就过期了这样对于开辟EA来说是很是懊恼的工作。

关于这个历史记录的第二个“坑”是,我们要想获得历史记录只能用EA法式来获得,假如我们写一个剧本法式,一样是得不到历史记录的,即使我们已经在账户历史中显现了一切的记录。
那末我们若何才能避免这个题目呢?由于客户在利用我们的EA法式时是不晓得这个题目标,假如客户不晓得或底子不会去这样操纵,我们在法式中若何避免这个题目呢?一个比力简单的法子是在您的EA法式运转中,把一切下单的记录都存在文件中,这样即使客户没有任何操纵也可以拿到这些历史记录信息,下面是一个简单的存文件的代码示例:
//content为要存储的内容
void setfile(string content)
{
string filename = "要存储的文件名";
int filehandle = FileOpen(filename,FILE_WRITE|FILE_TXT);//也可以存成CSV文件把FILE_TXT替换成FILE_CSV,这样可以存储多条信息
if(filehandle == INVALID_HANDLE)//判定读取文件能否出现毛病
{
FileClose(filehandle);
Print("存储文件发生毛病");
}
else//一般翻开,可以写入内容了
{
FileWriteString(filehandle, content);
FileClose(filehandle);
}
}
经过以上的方式,想必列位已经有所领会,在今后的开辟中我们的法式将加倍的完善和硬朗。

小编TIPS:记得点击下方的二维码下载APP,并关注我们的微信公众号哟

扫描下载APP

快拿出手机扫一扫吧!

扫描关注公众号

快拿出手机扫一扫吧!

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表