在MT5 NDD上的真实工作 - 页 10

 

Metatrader有一个重要的限制,你不能在比当前价格更差的价格上设置限价。这 使得许多策略无法在Metatrader中实施。

例如,你希望能够在买入价达到某个价格水平时卖出,但负滑点不超过N个点。当在最佳价格上没有足够的成交量来填补你所需要的成交量时,这是非常必要的,但这是必须执行的,因为策略逻辑是这样设定的(例如在测试器中)。

在这种情况下,一旦你需要的买入价出现,你就在买入价-N价处设置卖出限制,即比当前价格差N点。通过这样做,你将在加权平均价格 上获得更大的补仓,最坏的情况是不低于当前买入价格的N个点。

这实际上是一个存档的事情。而有能力的经纪人有这样的条件性限价单,有一个额外的参数--形成加权平均价格中的最差价格。这样的条件限制不能够恶化经纪人的执行速度,因为它们与传统的限制存储在同一个表中。

 
hrenfx:

仔细阅读:关于纯ECNECN/STP

拒绝和积极限制滑移

在STP上,如果来自于它的价格优于或等于限价单,你的限价单将被发送。此外,当你的订单进入STP时,价格可以向任何方向变化:仍在提高(正滑移),走出限制区域(重新连接)。

谢谢你。但下面这一点并不清楚。从你的描述中可以看出,ECN没有一个共同的内部和外部市场堆栈,外部市场并不总是有限价滑点,如果有,也是在最后时刻,价格可能会滑到某个地方,甚至可能导致重新拒绝,即使限价单是交易员事先发出的,而且价格正确击中它。这种描述真的是真的吗?因为提前发送的限价单似乎不太可能因为ECN在最后时刻没有设法将其放入总池而不被执行。更令人惊讶的是,关于此刻可能出现的正向滑点的解释,ECN将返回给交易商。
 

有许多赌注:内部(ECN)和外部(每个连接的流动性提供者)。没有共同的博彩市场。

一些经纪商做了所谓的快照,或多或少地保证了限价器的执行,而没有重定向它们。例如,一个价格只有在三个流动性提供者同时提供的情况下才会进入饲料。

另外,ECN与DC几乎没有关系,它们不是在交易。透明的经纪商向交易者返还正的滑点。此外,如果你把限价放在比当前价格更差的位置,总会有一个正的滑点。而且,如果经纪人不把它还回去,那就很不体面了。当然,也有一些经纪商只给部分正向滑点。但最好是远离它们。

 
开发者:我不知道在这方面我们是否可以指望平台的发展(在主题中表达的问题,限制器的扩展等...)?
 
hrenfx:

有许多赌注:内部(ECN)和外部(每个连接的流动性提供者)。没有共同的费率簿。

谢谢你。那么,为什么聚合者不能将所有供应商聚合到一个共同的 "自己的 "杯子里,只选择最好的价格?他们不就是这样做的吗?
 
Andrei01:
谢谢你。那么,为什么聚合器不能将所有供应商聚合到一个共同的 "自己的 "杯子里,只挑选最好的价格?他们不就是这样做的吗?

你似乎看到了一些棘手的市场规律,而事实上一切都非常简单。

当他们说一个经纪公司不以市场为导向时,这几乎是一个谎言。如果经纪公司几乎不执行头寸 - 这不意味着它不从事市场活动。事实并非如此。

不退出,把风险压在自己身上,同时还在从事做市业务,或者退出--这一切都是市场。这两种方案几乎被所有办公室使用,从小型零售商到大型机构。

聚合者只是由某人在同一时间在多个办公室对交易情况进行聚合。通常情况下,这些公司甚至不知道有人在某个地方把它们结合起来。例如,你可以使用MQL+WinAPI轻松地将Metatrader上的许多经纪商结合起来。你会有一种市场。但问题将是,经纪人本身并不是你这个系统的客户。他们不向你的市场发送订单,但你为自己的需要形成了一个虚拟市场--无论是用于交易还是用于经纪。

因此,真正的ECN市场可能不是一个虚拟市场(STP),而是一个真正的市场,只有从那些发送到它的订单。在经纪人的情况下,它可能只是自己的客户的订单,这是很少数。

有优势也有劣势。例如,其优点是外界没有人看到你的Limits。因此,你的策略无法被理解和操纵。而你的极限就在其他客户的极限堆里,所以外面的世界没有什么可看的。

 

hrenfx:

这有优点也有缺点。例如,从好的方面看,外界没有人可以看到你预先设置的限制器。因此,他们无法弄清你的策略来操纵你。此外,你的限制是在其他客户的限制堆里,所以在外面的世界上没有什么可看的。

不过,从这个解释来看,我还是不明白接下来关于流动性聚集者的观点,不管它是谁。假设有几个有自己股份的流动性供应商,我想把它们合并到我的房子里,作为一个新的聚合器。为了使这种合并完全等同于不恶化市场条件,对外部市场堆栈的访问时间的错误,这是几分之一秒,那么显然只需要将堆栈合并到足够的深度,限价器和一般的任何挂单,这是在外部堆栈,将自动出现在外部堆栈,作为一个结果,在内部,合并的堆栈,因为挂单和形成任何堆栈。

但由于挂单通常是提前设定的,即比玻璃之间的绑定时间长得多,这里原则上不可能有任何预测,因为它们都已经从外部玻璃汇总到内部玻璃中了。

 

粗略地说,该计划如下。

  1. 你提前下单,它从你的ECN-经纪人的客户订单中进入内部堆栈。
  2. 然而,你的经纪人给你看的是虚拟堆栈=内部堆栈(ECN)+外部堆栈(STP)。
  3. 如果相反的订单出现在内部ECN中,两者几乎都能立即保证在成交量min(Limit1, Limit2)上被执行(匹配时没有任何滑点),而经纪人会收到双倍佣金(从每个订单中)。
  4. 如果一个满足你的订单的价格来自外部(例如来自第三流动性提供者--LP3),那么
  5. 您的订单将从内部ECN-Stack中删除(冻结)。
  6. 以特定的LiveTime(通常是几十或几百毫秒)发送到LP3。
  7. 你的订单,在LP3中收到时,通常比LP3中的现行价格 更差。因此,会有相应的正向滑移。
  8. 如果你的投标价格优于LP3的当前价格(可能在发货-交货期间发生变化),如果LiveTime的价格不令人满意,将会有回扣。
  9. 通过LiveTime,您的订单的余额(部分执行中)从LP3中移除,它被放置(解冻)在内部ECN。
  10. 在外部执行的情况下,经纪人获得相同的佣金减去LP3的佣金(LP3的经纪人只是代表客户的客户)。而你得到了一个潜在的积极的滑坡或回扣。

因此,在ECN/STP计划中,由于内部ECN有更有利的价格,并从经纪商的双倍佣金中获益,在聚合(STP)多个流动性供应商时有更有利的价格,同时给了他们伪装你的策略的可能性和潜在的积极滑点(和重定向)。

P.S. 为了兴趣,你可以尝试编写你自己的MT聚合器。这真的非常简单。但当你开始通过它进行交易时,你会看到大量的陷阱,当然,在上面的粗略计划中,这些陷阱并没有具体说明。

 
hrenfx:

大致上,该计划如下

谢谢你的计划,但仍有一些问题是以前提出过的。

1.这是实现聚合方案的唯一方案吗?

2.为什么不可能像我描述的那样,将滚揉机集合成一个单一的滚揉机?毕竟,在其中,与外部堆栈的互动是连续的,以形成一个单一的堆栈,而不仅仅是在请求触发的时候,这引入了一个不必要的延迟,必须不可避免地恶化执行的条件?此外,根据你的方案,挂单和市价单之间没有区别,因为一切都在最后一刻才执行,提前发送挂单没有意义,因为它只有在最后一刻才会进入外部市场。

 
Andrei01:

1.这是实现聚合方案的唯一方案吗?

大致上,是的。

2.为什么不可能实现我描述的聚合方案?

因为所有的流动性提供者都必须成为你的ECN系统的客户。有这样一个经纪人--LMAX。它实际上是一个纯粹的ECN(MTF-bearer),在它里面,流动性提供者是创建系统的客户。也就是说,与一些银行签订了某种协议,他们接受这种条款。我在上面已经提到了LastLook,除此之外,还有其他一些原因导致许多银行不选择这种条款。

毕竟,在其中,与外部投注窗口的互动是连续的,形成一个单一的投注窗口,而不仅仅是在订单触发的那一刻,这引入了一个不必要的滞后,应该不可避免地恶化了执行条件?

是的,在聚合中没有保证执行。有各种方法可以通过快照(过滤器)提高执行力,但这只是硬币的一面。上文已经多次表达了聚合的优点。

此外,根据你的方案,挂单和市价单之间没有区别,因为一切都在最后一刻才执行,没有理由提前发送挂单,因为它只有在最后一刻才能到达外玻璃。

有一个很大的区别:市场订单将在两个方向上执行滑点,限价订单--只在正方向上执行,否则将被错过。提前设置挂单(至少提前一秒)可以让我们避免对终端<->交易服务器<->聚合器的依赖,分别减少执行的时间,从而提高执行本身的效果。