应对交易环境时的典型错误和如何处理这些错误 - 页 7

 
fxsaber:

恐怕这是歪理邪说。但我可能是错的,当然。如果能听一听其中的逻辑,那就很有意思了。

3英尺以上的仲裁

 
Комбинатор:

3英尺以上的套利

不同的逻辑可以用于这个TS。通常情况下,它是异步发送三个命令。但是,确实有这样的变体,即首先向最有可能成为强势的符号发送同步OrderSend。而如果OrderSend以开仓 结束--最不可能的是发送两个OrderSendAsync订单。

在这种情况下,似乎第一个 "头寸"--市场订单--需要一个机制来确定第一个 "头寸 "是否不完整。但是,第一个OrderSend通过的是当前价格或稍差的限价订单。因此,它不被认为是一个 "职位"。其他两个是市场订单,更多时候是市场订单。而把它们算作 "头寸",可以避免重新开仓的情况。在这种情况下,这种核算不会产生任何负面影响。

 

总而言之,按照我的理解--不会有解决方案。甚至不是一个解决方案,而是一个逻辑上正确的工作原则与订单 和仓位的数量

我说的是用于任何策略的功能,其他人说的是--对于每个策略--不同的拐杖。

 
fxsaber:

这个例子变成了更酷的例子。由经纪人自己放置的TP被重定向了!"。在重新注册后,经纪人几乎立即(我等待了115毫秒--显然这是MT5的一个错误)放置了下一个TP,并被执行。订单的评论没有在截图中显示出来。绿色的是ORDER_REASON_TP。因此,拒绝订单甚至有ORDER_POSITION_ID

这不是一个拒绝订单,而是一个被执行的正常成交订单。当它被执行时,就会得到位置ID。

另外,我们有两个订单,其中一个没有被执行。现在的问题是:有多少仓位(如果这些订单不是止损单而是仓位单),那么--你的方法会给你返回多少仓位?答案是:再来一个,这是假的。那你为什么要这样做呢?

 
Artyom Trishkin:

这不再是一个拒绝订单,而是一个正常填满-执行的订单。当执行时,就是收到位置ID的时候。

你的想法是错误的。


还有一件事:有两个订单,其中一个没有被执行。现在的问题是:有多少仓位(如果这些订单不是止损单而是仓位单),那么你的方法会给你返回多少仓位?答案是:再来一个,这是假的。那你为什么要这样做呢?

让我们再做一次。假设有两个空缺职位。并让我们设定这种未来的市场秩序。该函数返回2+1=3,TS认为有三个位置,一切正常。在16毫秒内,重装上阵。TS检查多少个位置 -2+0=2.而它需要3个!- 发出另一个市场订单。然后又是2+1=3.而命令被执行,得到3+0=3

 
Artyom Trishkin:

一般来说,按照我的理解--不会有解决方案。甚至不是一个解决方案,而是一个逻辑上正确的工作原则与订单 和仓位的数量

我说的是用于任何策略的功能,其他人说的是--对于每个策略--不同的拐杖。

我没有改变我的想法。该功能对99.9%的EA和交易平台仍然是通用的。

 
fxsaber:

你的想法是错误的。


让我们再看一遍。假设有两个空缺职位。而我们把这种未来市场的订单。该函数返回2+1=3,TS看了三个位置,一切正常。在16毫秒内,重装上阵。TS检查多少个位置 -2+0=2.而它需要3个!- 发出另一个市场订单。然后又是2+1=3.而命令被执行,得到3+0=3

#896615 - 拒绝,并且没有一个ID位置。

让我们换个说法。假设有两个空缺职位。我们得到一个信号,建立第三个头寸,向我们发出交易请求,并获得这个反向市场订单。如果有三个仓位,我们的EA将切换到使用不同的符号发送其他交易请求。TS查看三个 头寸并开始计算交易量,再拿下/停止三个头寸--按另一个符号,发送交易指令,按另一个符号开仓。16毫秒后,另一个符号的重叫到达。TS看起来有多少仓位 -2(当前)+3(2个仓位和一个来自另一个符号的市场)=5。而且应该是6个!- 以完全不同的价格为当前符号发送另一个市价订单,并计算第三个符号的新仓位的数量和起飞/停止。然后同样的混乱再次发生。

然后我们就抓耳挠腮了--他为什么会疯掉呢?

或者你认为你必须为一个--你的--TS建设的战略和逻辑创建功能?你错了。

 
fxsaber:

我没有改变我的想法。该功能对99.9%的EA和交易平台仍然是通用的。

不,只针对一种行为逻辑。

而且有成千上万的人。

 
fxsaber:

我没有改变我的想法。该功能对99.9%的EA和交易平台仍然是通用的。

该函数应该返回对它的要求。明确地、无条件地,而不是由用户决定他们以后需要什么。

我建议的逻辑应该是这样的

  • 问题:有多少个职位?
  • 答案:两个

...或者应该是这样的。

  • 问题:有多少个职位
  • 答案:等一下--还不清楚
  • 等待,那么问题来了:有多少个职位?
  • 答案:三

而你建议。

  • 问题:有多少个职位?
  • 答案是三个。
  • 好吧,这就是我等待的次数,继续数下去,在另一个符号上打开......。过了一会儿:真是一派胡言......。问题:有多少个职位?
  • 答案:两个。
  • 问题:你为什么说是三?
  • 回答:我想你以后可能需要它
  • 问题:其他符号有多少个位置
  • 答案:三
  • 是吗?你确定吗?就这样,用最后一个答案在另一个符号上输了钱......。
 
Artyom Trishkin:

#896615被拒绝,并且没有一个ID位置。

在上面的截图中,阅读左边第三个红框中的数字。

让我们换个说法。假设有两个空缺职位。我们获得开立第三个头寸的信号,发送交易请求并获得这个重定向的市场订单。如果我们有三个仓位,我们的EA将切换到使用不同的符号发送其他交易请求。TS查看三个 头寸并开始计算交易量,再拿下/停止三个头寸--按另一个符号,发送交易指令,按另一个符号开仓。16毫秒后,另一个符号的重叫到达。TS看起来有多少仓位 -2(当前)+3(2个仓位和一个来自另一个符号的市场)=5。而且应该是6个!- 以完全不同的价格为当前符号发送另一个市价订单,并计算第三个符号的新仓位的数量和起飞/停止。然后同样的混乱再次发生。

然后我们搔首弄姿,想知道他为什么会疯掉。

如果你不编写和编造弯曲的交易逻辑,你不仅会划伤自己的名誉。据我所知,在可能充斥着自由职业者的歪门邪道的TK中,这并不罕见。而且因为钱没有味道,有人就按原则接受他们,如果他们要求的是狗屎,做了就算了。梦魇中从来没有写过与此相近的东西。但我相信自由职业者比我更了解TK中粪便的等级。所以是的,对于不充分的TC来说,@Combinator 提出的选项非常有用--一旦发现有零ID的市场订单,就从TC上做脚。

或者你认为我们必须为一个--你的--建立TS的策略和逻辑创建功能?你错了。

我认为我们需要思考,至少要思考。而不是为滋生可恶的TC创造一个合适的环境。不幸的是,我无法制定一个标准来定义TC中的底层。为了不伤害任何人,我将颠覆世界观--我自己在底部,而已知的TK将漂浮在物理学规律上。


正如他们所说,配方是通用的。

  1. 遇到ID为零的市场订单--立即退出。
  2. MT5-OrderSend被重写,总是返回一个非零的Result.deal - 源代码被张贴在KB。
  3. 在每一个OrderSend或Sleep发送到步骤1之后。
用这种方法,任何(绝对100%)的TC都可以工作。