2017-03-06 55 views
0

投標。我試着使用:怎麼去問問,我使用<a href="https://github.com/Uriil/MetaTrader4.Manager.Wrapper" rel="nofollow noreferrer">MetaTrader4.Manager.Wrapper</a></p> <p>我想所有貨幣(符號在MT4)和他們的出價&從MT4要求從.net ClrWrapper

public IList<Symbol> Get() 
    { 
     using (var metatrader = new ClrWrapper(new ConnectionParameters 
     { 
      Login = serverdata.Login, 
      Password = serverdata.Password, 
      Server = serverdata.Server 
     }, serverdata.path)) 
     { 
      var Refresh = metatrader.SymbolsRefresh(); 

      IList<Symbol> Live = metatrader.SymbolsGetAll(); 
      return Live; 

     } 
    } 

從代碼我把名字:AUDCAD,AUDCHF,歐元兌美元等,但BidTickValue和AskTickValue返回0.0。

我試着用this answer但符號返回null,投標返回0

是否有另一種方式來獲得的名稱和買入價和賣出價值? 什麼是泵送模式? 謝謝

回答

0

當您訂閱不同的事件並且MT4服務器向您發送更新而不需要手動請求時,抽取是MT4模式。

例如:報價,交易,用戶。

SymbolsGetAll只會在您處於抽水模式時纔會返回報價,並且會返回最新收到的報價。

如果你不打算使用抽水模式,你可以得到最新的報價用戶ChartRequest方法,但它會慢得多。

+0

如果我使用'ChartRequest',我只能在'period = ChartPeriod.M1'中使用'Mode = ChartRequestMode.RangeLast'獲取出價值。我怎樣才能得到問價值? 我也嘗試使用抽水模式。以下是代碼: –

+0

http://imgur.com/a/WHndk(代碼)。我從github複製粘貼例子。我所得到的是沒有泵模式的同一個。你能給我任何例子來獲得出價,並使用asp.net web api + MetaTrader4.Manager.Wrapper詢問嗎? @Uriil –

+0

這裏是使用'ChartRequest'的代碼:http://imgur.com/a/nOJ3Y –

0

您可以在沒有經理API的情況下直接獲取報價並詢問報價。 只需將套接字發送到MT4服務器即可。 下面是一個例子:

// 1. Start Session. 
$ptr=fsockopen('127.0.0.1',443); 
// error check 
if (!$ptr){ 
    echo "Connection error"; 
    exit; 
} 
// 2. Send request to MT4 
fputs($ptr,"WQUOTES-EURUSD,GBPUSD,USDJPY,\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; 

    } 
// 4. Session completion 
    fclose($ptr); 

上面會打印出報價格式爲:方向符號買入賣出日期時間。

相關問題