MT端末がないC#の任意のMTサーバから取引アカウントの履歴を取得する方法はありますか?我々が持っているもの[MetaTrader Terminal]を使用せずに[MetaTrader Server]から取引アカウントの履歴を取得する方法は?
:
- サーバのIPアドレス
- ログイン(口座番号)
- パスワード
MT端末がないC#の任意のMTサーバから取引アカウントの履歴を取得する方法はありますか?我々が持っているもの[MetaTrader Terminal]を使用せずに[MetaTrader Server]から取引アカウントの履歴を取得する方法は?
:
あなたがマネージャーアカウントをお持ちの場合、あなたはそれを得るためにマネージャーのAPIを使用する必要があり、独自のラッパーを作成するか、既存のラッパーを使用することができます(例:MetaTrader4.Manager.Wrapper)。 MT5の場合、メタクォートから公式のものを得ることができます。
クライアントアカウントをお持ちの場合は、正式な方法はありません。また、MT4端末を開いておく必要がありますが、いくつかのプロジェクトもあります。 nj4x
実際、はい、あなたはAPIなしで直接言ったようにそれを得ることができます。
ソケットをMT4サーバーに送信するだけです。
公式サポートウェブサイトの機能は次のとおりです。
USERHISTORY
- ユーザーのアカウントの歴史の受信。
形式:USERHISTORY-login=_login_|password=_password_|from=_from_|to=_to_
説明:
コマンドが与えられた時間枠内で行わ操作の履歴を受信するために意図されています。
パラメータ:
ログイン - 口座番号;
パスワード - ユーザーのパスワード。
から - Unixのタイムスタンプ形式で要求された時間枠の開始。
〜 - 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);