有没有办法从没有MT终端的C#中的任何MT服务器获取交易账户的历史记录?
我们拥有什么:
答案 0 :(得分:1)
如果您有经理帐户,则应使用管理员API来获取它,您可以创建自己的包装器或使用现有的包装器,例如MetaTrader4.Manager.Wrapper。对于MT5,你可以从metaquotes获得正式的。
如果你有客户账号,没有官方的方式来获取它,你必须打开MT4终端,但是,也有一些项目可能对你有所帮助,例如。 nj4x
答案 1 :(得分:1)
实际上是的,你可以直接按照你的提法直接得到它而没有任何API
您只需将套接字发送到MT4服务器即可
以下是官方支持网站的功能。
USERHISTORY
- 收到用户帐号的历史记录。
的格式:
USERHISTORY-login=_login_|password=_password_|from=_from_|to=_to_
强>
说明:
该命令用于接收在给定时间范围内进行的操作的历史记录。
的参数:强>
登录 - 帐号;
密码 - 用户密码;
from - 以Unix时间戳格式开始请求的时间范围;
to - Unix时间戳格式中请求的时间范围的结束
示例:强>
// 1. Start Session.
$ptr=fsockopen('192.168.0.1',443);
// error check
if (!$ptr){
echo "Connection error";
exit;
}
// 2. Send request to MT4
fputs($ptr,"WUSERHISTORY-login=55555|password=55555|from=1117551473|to=1120143473\nQUIT\n");
// 3. Reading and processing server responses
while(!feof($ptr))
{
// read line of symbols
$line=fgets($ptr,128);
// the symbol of the end of result transfer
if($line=="end\r\n") break;
// process
print $line;
$buf .= $line;
}
// 4. Session completion
fclose($ptr);