Ошибки, баги, вопросы - страница 3134

 
Mihail Matkovskij #:

точно не помню. но когда я тестирую один из своих мультисимвольных индикаторов, то в OnInit подгружает список символов из строки в input параметрах. а обращение к их ценам идёт в OnCalculate. при чем, когда я устанавливаю в настройках загрузку символов из Market Watch, то в тестере появляется только один основной символ. не знаю как в роботах, но думаю там всё аналогично.

У меня все символы появляются и котировки идут. Моментная проблема, когда 

в SymbolInfoDouble("EURUSD",SYMBOL_BID,dataEURUSD) попадают данные соседнего SymbolInfoDouble("EURGBP",SYMBOL_BID,dataEURGBP)

 
Yury Lemeshev #:

Это не решает проблемы изначальной

SeriesInfoInteger(symbol,timeframe,SERIES_SYNCHRONIZED)

пробовали?

или, например, CopyTime или CopyClose пробовали вызывать в OnTick?

 
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 раза к одному и тому же символу за 1 тик и получаете разные данные? а 2117, это номер строки на сколько я понял?

 
Mihail Matkovskij #:

то есть, вы хотите сказать, что обращаетесь 2 раза к одному и тому же символу за 1 тик и получаете разные данные? а 2117, это номер строки на сколько я понял?

2117 это номер строки. Каждая строчка это отдельный тик. В каждом тике запрос бида по символу EURGBP. Но так же в каждом цикле я запрашиваю еще цены по другим 6 валютам. И вот в какой то момент цена не приходит от нужного символа, и всето того чтобы выдать 0 или -1, или еще чтото, заполняется котировкой от соседнего запроса по другому символу.

 
если советник не мульти валютный такой проблемы и не будет
 
Yury Lemeshev #:
если советник не мульти валютный такой проблемы и не будет

Так не бывает.
Правильно написанная программа будет работает корректно.

 
Yury Lemeshev #:

Проблему наблюдаю в MT5 тестере.

Работая с несколькими валютами, переодически происходит подмена данных с другой валюты. Проверьте тестер. Поправте, пожалуйста.

Первое значение это SymbolInfoDouble(symbol,SYMBOL_BID);

Как будто в моменте он не может получить цены SymbolInfoDouble(EURGBP,SYMBOL_BID); и берет значение с другой пары которая в работе. Есть способ проверки на коректность котировки?

Сентябрь.  Есть способ проверки на коректность котировки?

 
Vitaly Muzichenko #:

Так не бывает.
Правильно написанная программа будет работает корректно.

не бывает, если только это не баг.

Причина обращения: