MT4 Client API 接口示例。
1,连接交易账户
连接时需要知道服务器的地址和端口,需要先把 MT4 的 srv 文件弄出来,使用 LoadSrv 函数去解析得到指定交易商的服务器地址列表。
服务器的地址有两种类型,主服务器地址和从服务器地址,两种地址都可以用于连接登录。但是并不是所有的地址都能连接上,一般可以先尝试连接主服务器地址 MainSever,如果连不上,再去依次连接 SlaveServer。
一旦账户连接成功,MQL4 中的以下数据就可以直接取出来了:账户名称/净值/余额/持仓盈亏/信用额/已用保证金/账户杠杆/是否为 DEMO 账户/是否是观摩密码登录/存款货币/交易商名称/服务器地址等等…
注意,一旦登录成功,现在持仓的订单所属品种的报价事件就会被自动订阅且无法取消(因为 API 内部要用实时价格去算持仓盈亏等数据)。
QuoteClient 类中有一个叫 PathForSavingSrv 数据,账户连接成功后,他会自动把这个账户所属服务器的 srv 文件下载到这个这个路径下,这个路径可以自己配置。
// 获取服务器地址,通过解析 srv 文件获取
MainServer srv = QuoteClient.LoadSrv(@"C:\Program Files\MetaTrader 4\config\MetaQuotes-Demo.srv");
QuoteClient qc = new QuoteClient(1718059, "p2ripnt", srv.