在 MQL4
(MT4,MT5)中,如何获取当前时间当前货币对的交易平仓和空仓头寸总量?
答案 0 :(得分:1)
你要求获得的东西被称为Level-3市场深度,[L3-DoM]。
事实1:没有通用的方法来汇总全球DoM ,可能只需要一个每个Exchange(一个本地的,做市的,岛屿的)本地DoM ,所以忘记看到接近全球平均营业额平均数量级的任何数据,发布的数据大约为 5,400,000,000,000.00美元
事实2:即使是当地的做市机构(FX Trading Venue,LP提供商,FX Broker等)也不希望自动收到本地DoM ,因为并非所有的身体都聚集在一起在一些公共服务供应的基础上提供本地DoM。
事实3:鉴于一些流媒体接口可以为Trader提供DoM上的一系列变化,人们应该期望使用高频处理工具来处理超过小/大数十(hundreds/thousands even tens of thousands in peak hours alike NFP events, etc.)每毫秒发生一次变化。鉴于专业交易场所与Prime Banks,Institutional LPs(以及可能是一些DarkPool LP)充分对等,大型公司执行的是一个本地DoM,其范围 50,000,000.00以上。长短边。
事实4: MetaTrader Terminal 4的一些较旧的更新启动了一个附加面板,类似于DoM,但是没有编程方式与这样的附加面板/数据进行通信。 More details on this part of history are here.
事实5:该提案以丹尼尔最公平的信念呈现,并不提供 DoM本身,而只是展示您的(交易者' s) )拥有位置的库存,放在桌面上,不是真正的DoM格局。
如果对更多详细信息感兴趣,do not hesitate to read more posts on DoM以及其他一些animated latency graphs的预订价格生命周期能够将外汇经纪商的时间与LMAX,Currenex或其他LP提供商进行比较。有关NFP公告附近/期间L3-DoM变化速度的详细LDG / GDF统计数据,请享受a Table aggregates from FIX-Protocol Stream Processing, presented in this post中收集的数据。
答案 1 :(得分:-1)
- 取决于您的终端,如果您选择非对冲,则为每个符号选择总开仓。
在mt4中 - 如果您对某个特定EA开放的交易感兴趣,请使用以下代码 - 然后检查符号和幻数:
int buys = 0, sells = 0; //number of tickets
double volBuys = 0, volSells = 0; //total volumes
for (int i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SEL_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderType()==OP_BUY){
buys++;
volBuys += OrderLots();
}else if(OrderType()==OP_SELL){
sells++;
volSells += OrderLots();
}
}
}
}