2017-05-07 63 views
0

我有自定義數據源,但我不知道如何將市場數據填入MT4服務器。自定義數據源,如何將市場數據填入MT4服務器?

那麼,如何將新的市場數據插入MetaTrader 4服務器?

我在文檔中獲得了DataReed API(read函數),但在我看來,它被用於MT4從我們讀取市場數據。

它是「MetaTrader 4」 - >「API」 - >「服務器API」 - >「價格數據」 - >「HistoryAddTick」?

但這是歷史數據 - 我想要實時數據。

+0

@toonice我批准了你的編輯。請介紹一下編輯的一些技巧嗎? '代碼markdown'只能用於代碼,而不能用於工具的名稱。此外,像「提前致謝」[應該從帖子中刪除](https://meta.stackexchange.com/q/2950/168333)。 (順便說一句,我們只是刪除「謝謝」等我們已經編輯,如果刪除「謝謝」是唯一需要的,這是不值得填補編輯隊列)。 –

+1

S.L. Barth,感謝您的批准和建議。關於您的信息,是否有任何頁面描述了格式化爲代碼段或者至少在您的鏈接頁面上提出了多少有爭議的意見文件時應遵循的協議或徹底規則?另外,根據該頁面,許多人發現簡短的禮貌,例如「提前致謝」,可以被接受爲微不足道,甚至是受歡迎的。我就是這樣。只要他們沒有繼續下去(特別是在開始時),我會繼續歡迎這樣的禮節,像是沒有浪費的時間。 :) – toonice

+0

@toonice不客氣!我也認爲「謝謝」,這樣應該沒問題。但社區認定它是噪音。關於編輯規則,我曾經[提出了一個FAQ](https://meta.stackoverflow.com/q/303219/812149),所以我們可以將所有規則集中在一個地方。這不是官方的,但有幾個人對此做出了貢獻。 –

回答

0

我是用類似任務的兩種不同方法:

  1. 您可以模擬MQ數據饋線,爲此,你需要了解所使用的協議。這並不複雜,但沒有文檔。

  2. 您可以使用管理器API向服務器發送滴答,方法名稱:SymbolSendTick。 Manager API作爲C++ dll提供頭文件。但是,既然你用C#標記標記了你的問題,我假設你想通過.NET來做到這一點。所以你可能想使用managed wrapper。它看起來像:

    using (var metatrader = new ClrWrapper(new ConnectionParameters 
        { 
         Login = 123456, 
         Password = "managerPassword", 
         Server = "123.123.123.123:443" 
        })) 
    { 
        metatrader.SymbolSendTick("#SYMBOL", 1.5, 2.3); 
    } 
    
+0

非常感謝。 – dxhame

+0

我用第二種方法來解決問題。 – dxhame

+0

1.您可以模擬MQ Data Feeder,因此您需要了解使用的協議。這並不複雜,但沒有文檔。 ----------- DateFeeder 它使用UniFeeder嗎? – dxhame