1

MQL4(MT4, MT5) 中,我如何获得当前时间对当前货币对在交易所的空头头寸和多头头寸的总交易量?

4

2 回答 2

1

你要求得到的东西被称为 3 级市场深度,[L3-DoM]。

事实 1:没有一种通用的方法来聚合Global DoM,可能只期望每个交易所(本地、做市、岛屿)本地 DoM,所以忘记看到接近全球外汇平均成交量数量级的任何东西, 出版金额约为5,400,000,000,000.00 美元

事实 2:即使是本地做市机构(外汇交易场所、LP 提供商、外汇经纪商等)也不希望自动接收本地 DoM,因为并非所有机构都在某些公共服务供应的基础上聚合并提供本地 DoM .

事实 3:鉴于某些流接口可以为交易者提供 DoM 上的更改流,人们应该期望使用高频处理工具,在高峰时段处理超过小/大的数十数百/数千甚至数万) NFP 事件等每毫秒发生的变化。鉴于专业交易场所与 Prime 银行、机构 LP(可能还有一些 DarkPool LP)有足够的对等关系,主要交易场所在多头和空头双方共同执行超过 50,000,000.00 美元的本地 DoM。

事实 4: MetaTrader 终端 4 的一些较旧更新启动了一个附加面板,类似地称为 DoM,但没有与此类附加面板/数据通信的编程方式。关于这部分历史的更多细节在这里。

事实 5: Daniel 以他最公平的信念提出的提案本身并没有提供DoM,而只是显示了您(交易者)自己的头寸清单,放在桌子上,而不是真正的 DoM 格局


如果对更多细节感兴趣,请不要犹豫,阅读有关 DoM 的更多帖子以及顶级价格生命周期中的一些其他动画延迟图,以便能够将外汇经纪商的时间与 LMAX、Currenex 或其他 LP 提供商进行比较。有关 NFP 公告附近/期间 L3-DoM 变化速度的详细 LDG/GDF 统计数据,请享受从 FIX-Protocol Stream Processing 中收集的表格聚合数据,在这篇文章中提供

于 2017-03-12T13:00:07.063 回答
-1

在 mt5 中 - 取决于您的终端,如果您选择非对冲,则每个符号的总未平仓头寸。

在 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();
         }
      }
   }
 }
于 2017-03-11T22:01:35.113 回答