新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 485

 
Artyom Trishkin:

难道不会有重新报价吗? 我想关于测试器中的重新报价问题的第一个答案(!!!)是开盘价 混在一起。

还是我已经忘记了一切?

弗拉基米尔-祖博夫

测试器中也会有重新报价。

在测试器中运行它

void OnTick()
  {
   if(OrdersTotal() == 0)
    {
     Print("Bid = ", Bid);
     int ticket = OrderSend(_Symbol, OP_BUY, 0.1, Bid, 50, 0, 0);
     if(OrderSelect(ticket, SELECT_BY_TICKET))
      Print("OrderOpenPrice ", OrderOpenPrice());
    }
  }

并看到结果。

2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: OrderOpenPrice 1.05119
2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: open #1  buy 0.10 EURUSD at 1.05119 ok
2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: Bid = 1.051
 
Vladislav Andruschenko:

我同意你的观点。

这个话题非常老套,仍然没有100%解决错误停车的问题。

  1. 2*范围
  2. 3个*散布
  3. 0-1分

所有这些选择都有一个地方。

如果你能在符号信息中拉出一个浮动点差,为什么你不能拉出一个浮动的止损水平,我不清楚。

所以,这就是我们的想法。毕竟,止损水平是由经纪人监管的。

他们可以随心所欲地改变它,甚至在新闻发布时再改变10次。

为什么不呢?SYMBOL_TRADE_STOPS_LEVEL为零表示浮动的(不等于零,但是浮动的)停止。然后你必须猜测--一次或两次你可以抓住130个错误,根据价差逐渐增加止损的大小。

 
Alexey Viktorov:

在测试器中运行它

并看到结果。


这是因为滑移量被设定为50

 
Artyom Trishkin:

为什么不可能呢?零的SYMBOL_TRADE_STOPS_LEVEL表示一个浮动的(不等于零,但是浮动的)止损。然后你必须猜测--一次或两次你可以抓住一个130的错误,根据价差逐渐增加止损规模。

没错,这就是猜测。:-)

止损比例也会因经纪商的不同而改变,从新闻发布、交易主管的DR等。

即使是经纪公司的规定也是这样说的。

 
Alexey Viktorov:

在测试器中运行它

并看到结果。

很奇怪。也许这些终端的构建已经被纠正了很久了......

我在很久以前(大约10年前)就犯了这些 "幼稚 "的错误--然后在测试器里有重新报价。我不明白为什么。但后来我发现我是用Bid买的:)从那时起,我记得这种行为,但我自己再也没有抓到过--通常一次就足以让我不再继续这样写代码。

 
Vladislav Andruschenko:


你对这种说法有100%的把握吗?

弗拉德,关于这个问题的进一步讨论正陷入对经纪人的讨论中。所以你最好把价格、价差打印出来,自己进行比较和分析。

至于正好是两个价差,这可以追溯到浮动价差 的引入之初。这时我读到它,使用它,并不想记住我在哪里读到的,谁写的和其他细节。

 
Vladislav Andruschenko:

没错,这就是猜测。:-)

止损比例也会因经纪人的不同而变化,因新闻发布、交易主管的生日等而变化。

我们可以使用止损因素作为指标,我们将看看这样做会发生什么。

嗯,这是水。

我写了该怎么做。不幸的是,没有其他办法。

 

这种方式已经使用了很长时间,也被所有人使用。

论坛上有几十个主题。

但从来没有人证明它应该乘以2(而不是3)。

Alexey Viktorov:

弗拉德,对这个问题的进一步讨论沦为对经纪人的讨论。所以你最好把价格、价差打印出来,自己进行比较和分析。

至于正好是两个价差,这可以追溯到浮动价差 的引入之初。这时我读到它,使用它,并不想记住我在哪里读到的,谁写的和其他细节。

我不需要它。我问你,你是否确信这一点,或者你是否这样认为,因为它很有效。(但你没有在100多个经纪人身上测试过这个理论)

它对你有用吗? 很好。我只是在暗示--你不必对它如此肯定。

你可能会被抓...


如果止损点太小--就更容易虚拟关闭。

 

所以你可以摆脱这种情况--如果出现错误,那么每次你试图修改订单时,止损都要增加1点。直到订单被正常修改。

结果是这样的。

 
Vladislav Andruschenko:

这种方式已经使用了很长时间,也被所有人使用。

论坛上有几十个主题。

但从来没有人证明它应该乘以2(而不是3)。

我不需要它。我问你是否确定,或者你是否这样认为,因为这很有效。(但你没有在100多个经纪人身上测试过这一理论)。

弗拉德,除了讨论其他计划有风险之外,还有发送订单和执行订单之间的自然价格变化。在一种情况下,价格偏差可能会增加从当前价格到设定的止损点的距离,而在另一种情况下,它可能会减少它。而在这种情况下,与价格的距离,恰恰是与当前价格的距离,而不是与订单开盘价 的距离,将小于两个价差。正是在这种情况下,你会得到一个错误。