fxsaber:
Биржа не может делать дублей
Советник показывает, когда два соседних стакана являются копиями друг друга
Результат
Причин таких ситуаций может быть много: от пропуска MT5 некоторых стаканов, до генерацией самой биржей дубль-стаканов.prostotrader:
Биржа не может делать дублей
Вот этого просто не знаю. У меня стакан доступен только на 20 уровней. Возможно, биржа генерирует стакан для брокеров на большее количество уровней, а MT5 потом его обрезает. И вот если в стакане биржи, например, на 21-м банде произошли изменения, то MT5 отправит пользователю данные, что стакан пришел, но изменений в нем не будет видно. Это, как гипотеза.
Биржа не может делать дублей
fxsaber:
Вот этого просто не знаю. У меня стакан доступен только на 20 уровней. Возможно, биржа генерирует стакан для брокеров на большее количество уровней, а MT5 потом его обрезает. И вот если в стакане биржи, например, на 21-м банде произошли изменения, то MT5 отправит пользователю данные, что стакан пришел, но изменений в нем не будет видно. Это, как гипотеза.
В биржевом ПО - потоки, а нам отдаются срезы потоков, поэтому не может быть дублей
Вот этого просто не знаю. У меня стакан доступен только на 20 уровней. Возможно, биржа генерирует стакан для брокеров на большее количество уровней, а MT5 потом его обрезает. И вот если в стакане биржи, например, на 21-м банде произошли изменения, то MT5 отправит пользователю данные, что стакан пришел, но изменений в нем не будет видно. Это, как гипотеза.
fxsaber:
Советник показывает, когда два соседних стакана являются копиями друг друга
Результат
Причин таких ситуаций может быть много: от пропуска MT5 некоторых стаканов, до генерацией самой биржей дубль-стаканов.Процедура сравнения не очевидна:
if (_R(Array1[i]) != Array2[i])
С явным сравнением будут выдаваться те же результаты?
Vasiliy Sokolov:
Явное сравнение просто не пройдет - нет операторов сравнения для структур.
Процедура сравнения не очевидна:
С явным сравнением будут выдаваться те же результаты?
fxsaber:
Явное сравнение просто не пройдет - нет операторов сравнения для структур.
Явное сравнение просто не пройдет - нет операторов сравнения для структур.
А переопределить оператор? ;-)
Dennis Kirichenko:
Для MqlBookInfo?!
А переопределить оператор? ;-)
fxsaber:
Явное сравнение просто не пройдет - нет операторов сравнения для структур.
Явное сравнение просто не пройдет - нет операторов сравнения для структур.
Dennis Kirichenko:
А переопределить оператор? ;-)
Усложняете парни. Три строчки ведь требуется вставить:
void BookCompare(MqlBookInfo info1, MqlBookInfo info2) { bool res = info1.type == info2.type && info1.price == .... return res; }* double лучше сравнивать православно, а не как у меня в примере. Ну это я думаю и так понятно.
Vasiliy Sokolov:
А универсальное решение сравнения любых массивов?Усложняете парни. Три строчки ведь требуется вставить:
template <typename T> bool ArrayEqual( const T &Array1[], const T &Array2[] ) { const int Amount = ArraySize(Array1); bool Res = (Amount == ArraySize(Array2)); if (Res) for (int i = 0; i < Amount; i++) if (_R(Array1[i]) != Array2[i]) // https://www.mql5.com/ru/code/16280 { Res = false; break; } return(Res); }
fxsaber:
А универсальное решение сравнения любых массивов?
А универсальное решение сравнения любых массивов?
А особенности чисел типа double?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Советник показывает, когда два соседних стакана являются копиями друг друга
Результат
Причин таких ситуаций может быть много: от пропуска MT5 некоторых стаканов, до генерацией самой биржей дубль-стаканов.