2016-07-26 4 views

답변

1

당신이 관리자 계정이있는 경우, 당신이 그것을 얻기 위해 관리자 API를 사용합니다, 자신의 래퍼를 만들거나 기존 래퍼 중 하나를 사용할 수 있습니다 (예 : MetaTrader4.Manager.Wrapper). MT5의 경우 metaquotes에서 공식적인 것을 얻을 수 있습니다.

고객 계정이 있다면 공식적인 방법이 없으므로 MT4 터미널을 열어야합니다. 그러나 예를 들어 도움이 될만한 프로젝트도 있습니다. nj4x

1

사실 예라면 API없이 언급 한대로 직접 가져올 수 있습니다.
단순히 소켓을 MT4 서버에 보낼 수 있습니다.
다음은 공식 지원 웹 사이트의 기능입니다.

USERHISTORY - 사용자 계정의 역사를 수신.

형식 :
USERHISTORY-login=_login_|password=_password_|from=_from_|to=_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);