Тестируем 'CopyTicks' - страница 5

 
Karputov Vladimir:
Так я уже две страницу прошу: дайте максимально короткий пример (уточняю, на всякий случай, что "пример" - это *.mq5 файл в количестве один штук - то есть совсем один) который показывает проблему.
Не, ну зато Вам дали целую гифку... А я вначале подумал, что монитор помирает...
 

Во вложении исходник, формирующий два последующих текстовых файла. Скрин части этих файлов выше, это пример разницы и во флагах и в объемах. 

 
zimbabve15:

Во вложении исходник, формирующий два последующих текстовых файла. Скрин части этих файлов выше, это пример разницы и во флагах и в объемах. 

Я же говорил - упростить нужно. Вот индикатор: выводит одной строкой флаги их двух структур MqlTick (одна структура заполняется через CopyTicks, вторая через SymbolInfoTick). Дополнительно идёт сравнение флагов этих двух структур - в случае если флаг равен нулю, то сразу Alarm.
 

результат работы вашего индикатора на моем терминале.

Я не совсем понял посылку вашего последнего сообщения, то ли мне переделать нужно, то ли вы показали как надо было сделать и сделали сами. Что ваш метод, что мой показывает различие в структуре принятых разными способами тиков. К чему мы пришли?  

 
zimbabve15:

результат работы вашего индикатора на моем терминале.

Я не совсем понял посылку вашего последнего сообщения, то ли мне переделать нужно, то ли вы показали как надо было сделать и сделали сами. Что ваш метод, что мой показывает различие в структуре принятых разными способами тиков. К чему мы пришли?  

Вы на каком торговом сервере и на каком инструменте тестируете? У Вас явно приходят флаги с "0" - это косяк торгового сервера.
 

Допустим, с флагами косяк торгового сервера. Как быть с объемами? Пару постов выше я присылал скрин и два текстовых файла, где явно видно, что и флаги не только бывают нулевые, но на одних и тех же тиках полученных разными способами они разные это раз, и разные объемы - это два. Если ошибка при передаче с сервера и SymbolInfoTick получает неверную информацию, то на основе каких данных берет тики функция CopyTicks с другим объемом? И чему верить?  

 
Два прикрепленных файла - такими же способами собранные тики, но по паре евро доллар у брокера FiboGroup. Посмотрите, там хотя нулей и нет, но с флагами чехарда
Файлы:
 

Ниже скрин и файлы тиковой истории сервера MetaQuotes-Demo. Флаги у одних и тех же тиков полученных разными способами разные. 

 

как итог: на двух разных торговых форекс-серверах  разных компаний один и тот же тик, полученный через CopyTicks и через SymbolInfoTick  имеют разные флаги, на биржевом торговом сервере наряду с этим же транслируются еще и разные объемы. 

Файлы:
 
zimbabve15:

Ниже скрин и файлы тиковой истории сервера MetaQuotes-Demo. Флаги у одних и тех же тиков полученных разными способами разные. 

 

как итог: на двух разных торговых форекс-серверах  разных компаний один и тот же тик, полученный через CopyTicks и через SymbolInfoTick  имеют разные флаги, на биржевом торговом сервере наряду с этим же транслируются еще и разные объемы. 

Это они у Вас разные на MetaQuotes-Demo - так как, повторюсь ещё раз, пример должен максимально простым. У меня за сегодня на MetaQuotes-Demo флаги одинаковые.
 

попробуйте в вашем индикаторе задать глубину запроса тиков равную двум и в отладчике посмотреть следующие значения:

 

 элемент с индексом 0 массива tick_array показывает историю, то есть второй запрошенный тик. И если смотреть как меняются значения на каждой итерации -  три из них меняются синхронно и показывают текущее значение флага, и это же значение на следующем шаге прогона должно показываться в tick_array[0]. Как оно должно быть не происходит. Или функция CopyTicks корректно работает с глубиной истории не больше 1 тик?

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