文章 "如何在莫斯科交易所安全地使用您的 EA 进行交易"

 

新文章 如何在莫斯科交易所安全地使用您的 EA 进行交易已发布:

本文深入研究了交易方式, 通过莫斯科交易所衍生产品市场的例子来说明如何确保在股票和低流动性市场中交易操作的安全性。它带来了一些实践方法, 其交易原理在文章 "Principles of Exchange Pricing through the Example of Moscow Exchange's Derivatives Market - 莫斯科交易所衍生产品市场为例的定价原则" 里描述。

所有在金融市场里交易的人都要承受经济损失的风险。这些风险的性质不同, 但结局一致 - 赔了钱, 浪费了时间以及持久的挫败感。为了避免这些不愉快的事情, 我们应该遵循一些简单的规则: 管理我们的风险 (资金管理), 制定可靠的交易算法, 并使用有利可图的交易系统。这些规则涉及到不同的交易领域, 我们应该将它们结合起来, 令我们有可能希望可靠的正面交易结果。

目前, 您可以找到大量涵盖资金管理问题的书籍和文章, 以及可以在日常交易活动中使用的交易系统。不幸的是, 在市场交易安全规则的基础上这些全是不真实的。

本文旨在通过说明上述在市场进行交易时必须遵守的安全规则, 来改变这种状况。这些规则由方法和交易实施组成, 可令您避免因价格尖刺、流动性缺乏和其它不可抗力导致的巨额经济损失。本文的重点在于技术风险, 撇开交易策略的开发与风险管理的话题。

它带来了一些实践方法, 其交易原理在文章 "Principles of Exchange Pricing through the Example of Moscow Exchange's Derivatives Market - 莫斯科交易所衍生产品市场为例的定价原则" 里描述。尽管所提到的文章涉及交易所定价原理, 本文描述的是当一些危险的交易价格要素导致偶然的金融崩溃时, 保护您和您的 EA 的机制。

1.2. 价格尖刺

由于缺乏流动性, 价格缺口可能到达很高的数值而产生 价格尖刺 (在距市场偏离很高的价位成交)。无论对于手工交易者或自动交易系统, 它们都是很危险的。这样的尖刺会在非常不利的价位触发停止挂单的执行。

然我们来想象一个简单的情况: 假设我们交易一笔 RUB/USD 期货合约, 且在 64 200 之处放置一笔高位买订单。止损放置于 64 100。我们期望价格上移, 即使它没有发生, 我们的止损在 64 100, 限定我们的亏损为 100 点。我们的风险好似受控, 但实际上这不是真的。让我们观察发生价格尖刺的情况, 我们的挂单在十分不同的价位被激活:


图示. 4. 分时价图表示一个尖刺, 以及高位买订单执行

作者:Vasiliy Sokolov

 

又是一篇好文章。祝贺你,瓦西里!

备注:

  1. 在交易面板的按钮下(或按钮上,而不是滑点上),最好能看到大概在哪个价位进场。
    而在滑点参数附近,您可以指定进场时的成交量。
  2. 与其写"-1",不如写"> xxx",其中 xxx 是最大滑点,可通过堆栈订单 计算。
  3. 点差过滤器看起来很可疑。一般来说,点差是一个合成的概念,尤其是在有堆栈的实时交易所。
    在我看来,指定最大滑点和限价器进入就足够了。

  4. 但这当然是另一篇文章的主题,并非每个人都需要。此外,它在测试器中也不起作用。
  5. 我不同意 "滑点 = 噪音 "的说法。
    在聪明的书籍中,他们会写到大利润和罕见的交易,但实际上,在我亲眼所见的情况下,利润是由许多小交易组成的,因此,即使每次进入和退出 0.5 个点,结果也会发生数量级的变化。
    但这可能过于绝对。只需说明 "滑点 = 噪音 "只适用于目标较大的头寸交易即可;)
否则,一切都很好。有用、切中要害、表述方便、有代码和插图。

谢谢!

 
附议。好文章!清晰、易懂、优美!非常感谢你们的劳动!
 
Andrey Khatimlianskii:

又是一篇好文章。祝贺你,瓦西里!

评论

  1. 在交易面板的按钮下(或按钮上,而不是滑点上),最好能看到大概在哪个价位进场。
    在滑点参数附近,您可以指定进场时的交易量。
  2. 与其写"-1",不如写"> xxx",其中 xxx 是最大滑点,可通过堆栈订单计算。
  3. 点差过滤器看起来很可疑。一般来说,点差是一个合成的概念,尤其是在有堆栈的实时交易所。
    在我看来,指定最大滑点和限价器进入就足够了。

  4. 但这当然是另一篇文章的主题,并非每个人都需要。此外,它在测试器中也不起作用。
  5. 我不同意 "滑点 = 噪音 "的说法。
    在聪明的书籍中,他们会写到大利润和罕见的交易,但实际上,在我亲眼所见的情况下,利润是由许多小交易组成的,因此即使每次进出 0.5 个点,结果也会发生数量级的变化。
    但这可能过于绝对。只需说明 "滑点 = 噪音 "只适用于目标较大的头寸交易即可;)
否则,一切都很好。有用、切中要害、表述方便、有代码和插图。

谢谢!

Vladimir Malinin:
我支持。很棒的文章!清晰、易懂、漂亮!非常感谢你们的劳动!

谢谢大家。

如果说到面板的外观,它更便于每个人使用自己的设置和信息。但主要的想法并不在于可视化和面板本身,而在于借助限价订单和对堆栈的控制,可以以较低的滑点成本实现安全入市

不同意周三的过滤器。点差通常是我们在历史记录和 MetaTrader4 中可以获得的有关市场微观结构的唯一信息。价差本质上是一叠非常短的切片。因此,它与整体流动性密切相关,可以而且应该加以利用。只需下载 "点差记录 "指标,并在价格波动剧烈时查看其读数,点差通常会在此时扩大。这意味着流动性变小,无法以预期价格入场。多亏了点差,我们才能在历史记录中追踪到这种时刻。


  1. 但这当然是另一篇文章的主题,并非每个人都需要。此外,它在测试版中也无法运行。

我坚决不同意这个观点。价格流不应该被扭曲和转换(例如平滑)。我们不是根据价格流的移动平均值进行交易,而只是根据市场提供给我们的价格或我们自己设定的价格(限价订单)进行交易。平滑价格流 "只是我们的想象,在现实中并不存在,因此不能使用。在这方面,"周三过滤器 "是完美的,因为事实上它只截断了价格峰值,而没有扭曲价格流本身。

  1. 我不同意 "滑点 = 噪音 "的说法。
    在聪明的书中,他们会写到丰厚的利润和罕见的交易,但实际上,在我亲眼所见的情况下,利润是由许多小交易组成的,因此,即使每次进场和出场 0.5 个点,结果也会发生数量级的变化。
    但这可能过于绝对。只需说明 "滑点 = 噪音 "只适用于目标较大的头寸交易即可;)

问题是,你看到的这些策略都是基于市场微观结构的。它们的进入和退出不受滑点影响。相反,我们的滑点就是他们的利润。对于这些策略来说,滑点不是噪音成分,但对于手动交易和中期交易来说,滑点是非交易因素,因此也是噪音。市场和任何系统一样,都在追求最大熵。就其本身而言,这意味着每种交易情况的成功率趋于 50/50。因此,滑点并不总是坏事。很多时候,限价单根本不起作用,止损单进入市场时也有很大的滑点,但方向性波动仍会将它们带向天空,带来丰厚的正收益。这意味着,我们的滑点一般都是噪音--它既会带来积极的结果,也会带来消极的结果。

 

我的理解是否正确,如果限价形式的止损不起作用,因为它不是一个发夹式止损,而是一个大缺口,之后价格继续进一步移动而没有返回(关闭缺口),那么下一个止损将是追加保证金和止损的形式,而不是任何平仓,尽管是在一个非常糟糕的价格?


那么

--

让我们举例说明如何做到这一点。假设我们在 Si-6.15 开立了一个多仓,止损价位是 56960。我们需要将滑点限制设置为 5 点,那么 "止损限价 "值将等于 56,960 - 5 = 56,955 点:

如您所见,在交易所执行模式下,这种卖出限价止损订单配置成为可能。当当前价格达到 51650 点时,我们的 "止损 "将被触发,但如果由于某种原因价格低于 51647 点,我们将不会执行我们的止损水平,因为我们认为这种情况是不正常的。

--

如果价格是从 56xxx 开始的,那么 51xxx 价格从何而来?

 
Ploughman:

还有这个

--

让我们举例说明如何做到这一点。假设我们在 Si-6.15 上开了一个多仓,止损价位是 56,960。我们需要将滑点限制设置为 5 点,那么 "止损限价 "值将等于 56,960 - 5 = 56,955 点:

如您所见,在交易所执行模式下,这种卖出限价止损订单配置成为可能。当当前价格达到 51650 点时,我们的 "止损 "将被触发,但如果由于某种原因价格低于 51647 点,我们将不会执行我们的止损水平,因为我们认为这种情况是不正常的。

--

如果价格从 56xxx 开始,那么 51xxx 的价格从何而来?

感谢您的留言。更正如下:

如您所见,在 Exchange Execution(交易所执行)模式下,这种卖出止损限价订单配置成为可能。当当前价格达到 56,960 时,将在 56,955 处发出限价止损卖出订单。由于 56,960 的当前价格优于限价订单的指定价格,它将立即以 56,960 的价格执行。如果没有足够的流动资金在此价位买入,它将在其后的价格执行,直至 56,955 的价位。但是,我们的限价止损单的执行价格不会低于这个价位,从而保证我们的最大滑点为 5 个点:56 960 - 56 955 = 5.

(由于截图错误,本例必须重做。价格发生了变化,但这些变化并没有在文章中出现)。

 
Ploughman:

我的理解是,如果限价形式的止损不起作用,因为它不是一个发夹式止损,而是一个大缺口,之后价格继续进一步移动而没有返回(关闭缺口),那么下一个止损将是追加保证金和止损的形式,而不是任何平仓,尽管是在一个非常糟糕的价格?

是的,没错。但是,交易限额可以防止价格下跌或上涨到无穷大。因此,价格仍不能偏离当前价格超过 5%(平均价格限制水平)。日内可以延长限价,但这仍需要时间,在此期间您可以安全平仓。
 
Vasiliy Sokolov:

我不同意周三的过滤器。价差往往是我们在历史记录和 MetaTrader4 中可以获得的有关市场微观结构的唯一信息。价差本质上是一个非常短的叠加片段。因此,它与整体流动性密切相关,可以而且应该加以利用。只需下载 "点差记录 "指标,并在价格波动剧烈时查看其读数,点差通常会在此时扩大。这意味着流动性变小,无法以预期价格入场。多亏了点差,这种时刻可以在历史记录中追踪到。

有一个入场信号。我们对价格 X 感到满意(它是信号的一部分,即我们对该价格感兴趣)。

我们设置限制器。要么触发,要么不触发。设置限价时的价差有什么关系?

价格可能会回升并抓住我们的订单,然后一切都会好起来,也可能不会回升,然后订单会在一段时间后被取消。点差与此有关吗?

如果信号出现时(例如,开仓时)价差很大(例如,交易开始时),一分钟后价差趋于正常,价格没有任何变化--我们为什么要错过信号呢?

Vasiliy Sokolov:

我坚决不同意这种说法。绝不能对价格流进行扭曲和转换(如平滑)。我们不是根据价格流的移动平均值进行交易,而只是根据市场提供给我们的价格或我们自己设定的价格(限价订单)进行交易。平滑价格流 "只是我们的想象,在现实中并不存在,因此不能使用。在这方面,"周三过滤器 "是完美的,因为事实上它只截断了价格峰值,而没有扭曲价格流本身。

一分钟分析一次价格就不算扭曲?=)))

平滑化可以避免尖峰,在我看来,这比以分钟为单位进行离散分析要有效得多。

 
Andrey Khatimlianskii:

如果信号出现时价差很大(例如,在柱状图开盘时),一分钟后价差趋于正常,价格没有任何变化--我们为什么要错过信号呢?

我并没有说我们应该错过信号。恰恰相反,最好是等待点差收盘(下一个刻度线或更远一点),然后根据信号入市。

试想一下,您的机器人收到 Ask 信号流,希望在 50:43、44、47、48、80 时做 它收到 Ask 80 后进入市场。然后,流动性恢复,有限价盘在 49、50、51....。但您已经吃了 80 的出价,只是因为在购买时没有其他更有利的出价。当您吃下 80 的出价时,最佳出价仍在 48-50 的水平上,也就是说,此时价差扩大得厉害。但是,如果机器人分析了最佳买入价和卖出价之间的差异,它就会明白,卖出的流动性突然消失了,在 80 点买入是个错误。控制价差的关键在于分析 "最佳 "卖出价和 "最佳 "买入价的实际 "最佳 "程度。

H.I. 简单地说:价差扩大 = 空杯。在一个空杯子里,你永远不应该用栅栏来撞击--否则你会被撞得粉碎。我们分析价差并不是为了计算我们的入市水平,而是为了了解是否有可能利用市场上的报价。

 
Andrey Khatimlianskii:

有一个入场信号。我们对价格 X 感到满意(它是信号的一部分,即我们对这个价格感兴趣)。

我们设置限制器。要么触发,要么不触发。设置限价时的价差有什么关系?

价格可能会回升并抓住我们的订单,然后一切都会好起来,也可能不会回升,然后订单会在一段时间后被取消。这与点差有什么关系?

当然,限价器没有区别。但我并不是说您应该进行限价交易 控制点差。我的主要观点是,限价交易和价差控制是控制风险的不同方法,根据不同的任务和入市条件,您应该采用不同的解决方案。如果您无法使用玻璃,并且您想获取流动性而不是给予流动性,您必须监控这种流动性的水平,至少是通过点差间接监控。
 

顺便说一句,看看 RTS-6.15 现在正在做什么:


令人毛骨悚然的尖峰时刻》(Moments of Creepy Spikes)--正好说明了那些在交易中使用止损单(如止损)的人是如何被剥离的。毕竟,有人成功地在 87,200 点卖出,而 RTS 的价值约为 91,000。结论很简单,如果他看的是底部价差,他就不会采取 "最佳 "需求,因为他知道事实上堆栈几乎是空的,这比分析堆栈的全部流动性要容易得多,也更容易获得。