错误、漏洞、问题 - 页 3134

 
Mihail Matkovskij #:

但是,当我测试我的一个多符号指标时,它从输入参数字符串中加载符号列表到OnInit.并在OnCalculate中访问其价格。 此外,当我设置从Market Watch加载符号时,只有一个基本符号出现在测试器中。

我让所有的符号都出现,而引号则消失。瞬间的问题是当

SymbolInfoDouble("EURUSD",SYMBOL_BID,dataEURUSD)从相邻的SymbolInfoDouble("EURGBP",SYMBOL_BID,dataEURGBP)获取数据。

 
Yury Lemeshev #:

它并没有解决原来的问题

SeriesInfoInteger(symbol,timeframe,SERIES_SYNCHRONIZED)

你试过吗?

或者你是否尝试过在OnTick中调用CopyTime或CopyClose,比如说?

 
Yury Lemeshev #:

我的所有符号都出现了,而引号则消失了。瞬间的问题是当

SymbolInfoDouble("EURUSD",SYMBOL_BID,dataEURUSD)从邻近的SymbolInfoDouble("EURGBP",SYMBOL_BID,dataEURGBP)获取数据。

你是如何确定的?

 
Mihail Matkovskij #:

你是如何确定的?

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
 
Yury Lemeshev #:
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

所以你的意思是,你在一个点上访问同一个符号2次,得到不同的数据?2117,据我所知,这是行号?

 
Mihail Matkovskij #:

你的意思是说,你在一次勾选中访问同一个字符两次,得到不同的数据? 而2117是我理解的行号?

2117是一个行号。每一行都是一个独立的勾。在每个tick中,我都要求有EURGBP位。但在每一次打勾中,我都要求提供其他6种货币的价格。在某些时候,价格不是来自需要的符号,所以我从另一个符号设置另一个价格,而不是0或-1,或其他东西。

 
如果EA不是多币种,就不会有问题。
 
Yury Lemeshev #:
如果EA不是多币种,就不会有这样的问题。

它并不像那样工作。
一个正确编写的程序将正确工作。

 
Yury Lemeshev #:

我在MT5测试器中遇到了这个问题。

与多种货币一起工作,数据偶尔会从另一种货币中调换出来。检查测试器。请纠正它。

第一个值是SymbolInfoDouble(symbol,SYMBOL_BID)。

就像它不能接收价格一样SymbolInfoDouble(EURGBP,SYMBOL_BID);并从另一个正在工作的货币对中取值。有什么方法可以检查报价是否正确?

有什么方法可以检查报价 是否正确?

 
Vitaly Muzichenko #:

它并不像那样工作。
一个正确编写的程序将正确工作。

除非它是一个错误。