错误、漏洞、问题 - 页 3132

 
Yury Lemeshev #:

有一个问题,它是随机和偶尔出现的。

在测试器中使用几种货币时出现。

在每个周期中,我要求提供符号的实际价格。如果由于某种原因,测试者没有收到某个特定符号的报价,它就会使用先前获得的另一个符号的报价。

如果价格高于指定价格,我应该开仓。如果我从另一个符号得到错误的数据,我应该开仓。

如果价格高于1.45117,则欧元兑加元符号打开。1.74425>1.45117? 是的,它更高,但它是另一个符号的价格。

我们在500个订单中发现了7个错误订单。

我只能推测,从符号的价格请求,响应被扔进一个相同的环境变量。只是快速检查一下,看看是否等于前一个值。如果是另一个符号就等于非常少。

 
Yury Lemeshev #:

代码中没有错误,代码被重写以消除错误,而且错误没有定期出现,完全是混乱的。

奇迹不会发生在这个世界上......这里有一个还没有狂欢的心灵感应者,也在谈论一个错误。

 
Yury Lemeshev #:

有一个问题,它是随机和偶尔出现的。

在测试器中使用几种货币时出现。

在每个周期中,我要求提供符号的实际价格。如果由于某种原因,测试者没有收到某个特定符号的报价,它就会使用先前获得的另一个符号的报价

如果价格高于指定价格,我应该开仓。如果我从另一个符号得到错误的数据,我应该开仓。

如果价格高于1.45117,则欧元兑加元符号打开。1.74425>1.45117? 是的,它更高,但它是另一个符号的价格。

我们在500个订单中发现了7个错误的订单。

答案就在问题本身。机器人可以使用不相关的报价来自另一个符号的错误数据。我不知道这个想法到底是什么。但是,代码中显然有一些问题...

 
Mihail Matkovskij #:

答案就在问题本身。机器人可以使用不相关的报价来自另一个符号的不正确数据。当然,我不知道这个想法是什么。但代码中显然有问题。

代码中存在一些问题。在逻辑上存在漏洞。一般来说,闪烁的卡口是很难预见和抵御的。

 
2021.12.31 22:14:19.911 2019.01.24 18:50:09 -2117- eurgbp 0.86993
2021.12.31 22:14:19.912 2019.01.24 18:50:10 -2117- eurgbp 0.86994
2021.12.31 22:14:19.912 2019.01.24 18:50:10-2117- EURGBP 1.5969
2021.12.31 22:14:19.912 2019.01.24 18:50:10 即时买入0.01欧元英镑,价格为0.86993(0.86985 / 0.86993 / 0.86985)。
2021.12.31 22:14:19.912 2019.01.24 18:50:10 交易#13在0.86993买入0.01欧元GBP完成(基于订单#13)。
2021.12.31 22:14:19.912 2019.01.24 18:50:10 交易完成 [#13在0.86993买入0.01欧元GBP]
2021.12.31 22:14:19.912 2019.01.24 18:50:10 执行的订单在0.86993买入0.01 [#13在0.86993买入0.01欧元兑英镑]

每个周期都是可以的,但来自另一个符号的数据在此刻被替换掉了。1.5969>0.88506是,开仓。这不是一个代码错误。这是测试器的一个错误。

euSY01b=0;euSY01a=0;
   if(SymbolInfoDouble(euSY01,SYMBOL_BID,euSY01b)==true && SymbolInfoDouble(euSY01,SYMBOL_ASK,euSY01a)==true && euSY01b>0 && euSY01a>0)
      {
      GlobalVariableSet("["+MAGICs+"] "+euSY01+" LAST BID",euSY01b);GlobalVariableSet("["+MAGICs+"] "+euSY01+" LAST ASK",euSY01a);
      }
 
Valeriy Yastremskiy #:

在代码中都是这样的。在逻辑上存在漏洞。一 般来说,闪烁的关节是很难预见和抵御的。

你认为没有代码的逻辑是什么?

 
Yury Lemeshev #:
2021.12.31 22:14:19.911 2019.01.24 18:50:09 -2117- eurgbp 0.86993
2021.12.31 22:14:19.912 2019.01.24 18:50:10 -2117- eurgbp 0.86994
2021.12.31 22:14:19.912 2019.01.24 18:50:10-2117- EURGBP 1.5969
2021.12.31 22:14:19.912 2019.01.24 18:50:10 即时买入0.01欧元英镑,价格为0.86993(0.86985 / 0.86993 / 0.86985)。
2021.12.31 22:14:19.912 2019.01.24 18:50:10 交易#13在0.86993买入0.01欧元GBP完成(基于订单#13)。
2021.12.31 22:14:19.912 2019.01.24 18:50:10 交易完成 [#13在0.86993买入0.01欧元GBP]
2021.12.31 22:14:19.912 2019.01.24 18:50:10 执行的订单在0.86993买入0.01 [#13在0.86993买入0.01欧元兑英镑]

每个周期都是可以的,但此刻来自不同符号的数据被替换了。1.5969>0.88506是,开仓。这不是一个代码错误。这是测试器的一个错误。

然后,在进入 信号搜索之前检查符号的时间。

 
Mihail Matkovskij #:

你认为什么是没有代码的逻辑?

问题陈述/定位 - 解决算法或解决逻辑 - 代码。不幸的是,这一点在这里常常不被理解,因为是以一当十的模式。编码在问题明确提出之前就开始了,甚至连解决算法都没有。当然,任何查询总是被执行的逻辑不仅在测试者那里是不正确的,而且在现实中也是如此。因此,我们需要正确的行动来避免闪烁事件的有毒后果)))节日快乐!!!!

 
Valeriy Yastremskiy #:

节日快乐!!!!

谢谢你。你也一样!

在问题的本质上,上面我写了需要做什么。然后这个逻辑就会起作用。

 
Mihail Matkovskij #:

然后,在进入 信号搜索之前检查符号是否同步。

   if(SymbolIsSynchronized(euSY01)==true && SymbolInfoDouble(euSY01,SYMBOL_BID,euSY01b)==true && SymbolInfoDouble(euSY01,SYMBOL_ASK,euSY01a)==true && euSY01b>0 && euSY01a>0)

如果你这样做了,并且在代码中有7个货币对的7个这样的行,那么市场概览将只有一种货币的报价。


原因: