Форум » Статьи Advance Tools » Тестирование на реальной истории » Ответить

Тестирование на реальной истории

Scriptong: Тестирование на реальной истории. Описана работа скрипта FXTFileMaker, который позволяет конвертировать тиковую историю из TKS-файлов в FXT-файлы и подставлять ее в папку тестера стратегий Meta Trader 4.

Ответов - 86, стр: 1 2 3 4 5 6 All

Sergey: Офигенный материал. Теперь бы не иметь пробелов в сборщике тиков. Цитата "Таким образом, важны и символ, и период текущего графика." Нет времени все проверить, а потому вопрос. Маркируется ли FXT-файл таймфреймом. Если советник использует данные с разных ТФ, то надо ли создавать несколько FXT-файлов. И далее "...При запуске процесса тестирования следует выбрать тот символ, для которого создавался FXT-файл, и тот же период графика. В противном случае тестер создаст свой тиковый файл на основании моделирования тикового потока." Можно ли создать FXT-файл на М1, а тестер сформирует соответствующие файлы на остальные периоды?

Scriptong: Sergey пишет: Теперь бы не иметь пробелов в сборщике тиков. На данный момент пробел лишь в истории тиков по Аdmiral Markets - торговая неделя с 30.06.14 по 04.07.14. Причем пробел был допущен по моей вине - недосмотр. В будущем пробелы могут возникнуть только по техническим причинам, т. к. пока все сервера в единственном экземпляре, без дублеров. Над поиском решений для запуска дублеров сейчас тоже ведется работа. Sergey пишет: Цитата "Таким образом, важны и символ, и период текущего графика." Они важны только с точки зрения обращения тестера к правильному файлу. Так, если FXT-файл был создан для М15, а в настройках тестера установлен ТФ Н1, то тестер не обратится к сгенерированному FXT-файлу, создав свой тиковый файл. Sergey пишет: Если советник использует данные с разных ТФ, то надо ли создавать несколько FXT-файлов. Нет, не нужно. В пределах истории, которая существует в FXT-файле тестер может обращаться к данным любого ТФ. Ведь FXT-файл - это тиковый файл, из которого можно получить любой ТФ, что тестер и делает. P. S. Для успокоения совести проверил этот момент в двух опытах: 1. На М1 FXT-файле правильно прочитаны данные со всех старших ТФ. 2. На D1 FXT-файле правильно прочитаны данные со всех младших ТФ.

Sergey: Огромное спасибо за разъяснения. Точность тестирования пробойных стратегий всегда вызывало сомнения из-за невозможности учета проскальзываний во время выхода новостей. Созданный механизм тестирования на реальной тиковой истории трудно переоценить.


Scriptong: Да, тиковая история помогает снять розовые очки при взгляде на графики цен во время новостей. Большинство гепов в такие периоды остаются незамеченными (они внутри минутных свечей). Остается лишь одна неточность в таком тестировании - использование фиксированного спреда тестером. Ведь информация по ценам Ask в тиковой истории имеется, но ее невозможно подставить в тестер легальным путем. Нужно только патчить терминал - некрасивое действие.

Sergey: Scriptong пишет: Нужно только патчить терминал - некрасивое действие. Мы видим, что терминал со временем проходит модернизацию. Может есть смысл сделать запрос? Глядишь в будущем и этот момент утрясется. Ведь встроили в тестер настройки по спреду, когда-то и такого не было. Еще раз огромный респект за проделанную работу.

Scriptong: Sergey пишет: Мы видим, что терминал со временем проходит модернизацию. Может есть смысл сделать запрос? На форумах MQL4/5 об это сломано немало копий. Разработчики серьезно упираются. Базой для отказов является их категорическая позиция по тиковой истории - не нужна. Их вполне можно понять, т. к. широковещательная передача тиковой истории сервером - дело затратное. С другой стороны, даже этот момент можно решить, значительно уменьшив трафик тиковой истории. Но, опять же, возвращаемся к тому, что позиция категорическая - это не нужно. Хотя вода камень точит.

Sergey: Мне не удается сформировать файл *.FXT TKS взят с 4.08 по 19.09 Alpari GBPUSD Вот настройки Скрипт ничего не выдает. Ни ошибок, ни результата. При смешении даты за пределы диапазона выдается ошибка, все работает.

Sergey: И еще....Уточняю.. Настройка спреда в пунктах. Это применительно к разрядности котировки (то есть в тиках как в тестере терминала)?

Scriptong: Sergey пишет: Скрипт ничего не выдает. Ни ошибок, ни результата. В любом случае должны быть хоть какие-то записи в журнале экспертов (окно "Терминал", вкладка "Эксперты"). Как минимум, о том, что скрипт был присоединен к графику, а потом закончил свое выполнение. Приведите, пожалуйста, эти сведения. Со своей стороны только что проверил запуск скрипта на чистом терминале с указанными настройками - файл создан в папке tester\history. Sergey пишет: Это применительно к разрядности котировки (то есть в тиках как в тестере терминала)? Будет использована величина пунктов, используемая тем счетом, на котором ведется тестирование. У Альпари на большинстве типов счетов (возможно даже на всех) у символа GBPUSD величина пункта равна 0.00001 (пятизначная котировка).

Sergey: Спасибо за напоминание о журнале. В описании к настройкам не было сказано об обязательном подключении DDL. В этом и оказалась проблема. После установки соответствующей галочки все получилось.

Scriptong: Sergey пишет: Спасибо за напоминание о журнале. И Вам спасибо. Добавил проверку разрешения на запуск DLL в код скрипта. Теперь подобных казусов быть не должно.

Sergey: Игорь, у меня опять вопросы! После переустановки терминала не могу сформировать файл *.FXT Ошибка "FXTFileMaker_Script_AD: количество баров в истории, предшествующее началу теста, недостаточно. Скрипт отключен." Раньше эта ошибка устранялась путем предварительной загрузки истории из архива брокера. Теперь не получается. Пробовал менять даты - не помогает. Даже при выставлении запредельных дат выпадает эта же ошибка.

Scriptong: Sergey пишет: Ошибка "FXTFileMaker_Script_AD: количество баров в истории, предшествующее началу теста, недостаточно. Начнем с самого простого и очевидного варианта. У скрипта есть такой настроечный параметр как "Количество баров до начала тестирования". Его можно установить в 0 (используйте новую версию скрипта, в которой убрано ограничение на значение 0). В итоге Вы не будете зависеть от текущей имеющейся истории брокера.

Sergey: Спасибо! Переустановка скрипта помогла.

Scriptong: Sergey пишет: Спасибо! Переустановка скрипта помогла. Вчера долго пытался вспомнить, по какой такой причине я запретил устанавливать предысторию, равную нулю. Для этого специально проверил, может ли быть создан подобный FXT-файл. Оказалось, что можно создавать файл тестера без предыстории. То есть я просто не рассмотрел такую возможность при создании скрипта. В итоге код скрипта похудел на 4 строки.

Sergey: Советник учитывает данные старшего периода. Нужно ли формировать файл истории по старшему ТФ? И будет ли такое тестирование корректным?

Scriptong: Sergey пишет: Советник учитывает данные старшего периода. Нужно ли формировать файл истории по старшему ТФ? И будет ли такое тестирование корректным? Вы уже задавали этот вопрос 13.08.2014 в 09:10 (см. выше по ветке) И ответ был дан в следующем посте этого же дня: Нет, не нужно. В пределах истории, которая существует в FXT-файле тестер может обращаться к данным любого ТФ. Ведь FXT-файл - это тиковый файл, из которого можно получить любой ТФ, что тестер и делает. P. S. Для успокоения совести проверил этот момент в двух опытах: 1. На М1 FXT-файле правильно прочитаны данные со всех старших ТФ. 2. На D1 FXT-файле правильно прочитаны данные со всех младших ТФ. Так что для мультипериодного советника достаточно создать файл ЛЮБОГО периода графика для тестируемого диапазона дат, хоть выше по ТФ, хоть ниже.

genfed: Scriptong пишет: Так что для мультипериодного советника достаточно создать файл ЛЮБОГО периода графика для тестируемого диапазона дат, хоть выше по ТФ, хоть ниже. Если я правильно понял, для тестирования и оптимизации мультипериодного советника в папке MQL4\Files должен находиться FXT-файл любого периода. А исходный TKS-файл тоже должен там присутствовать? Ведь по идее из него советник будет синтезировать FXT-файлы нужных периодов.

Scriptong: genfed пишет: Если я правильно понял, для тестирования и оптимизации мультипериодного советника в папке MQL4\Files должен находиться FXT-файл любого периода. Да. genfed пишет: А исходный TKS-файл тоже должен там присутствовать? Нет, не нужен. Ведь перед тестированием создается FXT-файл. Это и есть тиковый файл, но уже для тестера, в его формате. TKS-файл нужен только на этапе работы скрипта, который конвертирует данные из формата TKS в формат FXT.

genfed: В какой папке должен находиться файл TKS для конвертации тиковой истории из TKS-файла в FXT-файл?

Scriptong: genfed пишет: В какой папке должен находиться файл TKS для конвертации тиковой истории из TKS-файла в FXT-файл? В папке <каталог данных терминала>\MQL4\Files. Найти каталог данных можно путем использования главного меню терминала Файл - Открыть каталог данных.

genfed: Попытался провести тестирование на реальной истории в соответствии с рекомендациями статьи. Завел отдельный МТ4, скачал последний файл TKS(EURUSD) от GKFX, поместил скрипт FXTFileMaker на минутный график, ввел начальную и конечную даты в более узком интервале, чем скачанные котировки, указал количество баров до начала тестирования=0, спред=10. Конвертация прошла без замечаний. Тестер на минутках также отработал нормально, но в его журнале сплошные ошибки. Посмотрите, пожалуйста Вашим опытным глазом (не нашел, как вставить файл, даю ссылку на файлообменник) http://rgho.st/private/8wQjHsByJ/178a464e64b696e59199c333e0c95b69

Scriptong: В этом файле логов вижу только одну ошибку - 134, которая указывает на то, что не хватает средств на открытие сделки. То есть пока ошибка никак не вяжется именно с подстановкой другой истории. Скорее всего, задан большой объем. Тут два пути решения: Увеличить начальный депозит Уменьшить объем сделок

genfed: Благодарю за подсказку! В советнике риск стоял 120%. Еще вопрос: влияет ли на результат конвертирования и тестирования наличие подключения терминала к интернету?

Scriptong: genfed пишет: Еще вопрос: влияет ли на результат конвертирования и тестирования наличие подключения терминала к интернету? На конвертирование тиков в историю для тестера и на тестирование в режиме собственной истории подключение к интернету влиять не может никак - все данные для этого процесса должны иметься локально на компьютере. Наличие подключение влияет только в случае работы с тестером в "нормальном" режиме, когда он сам перед каждым запуском формирует тиковую историю.

genfed: Оптимизировал советника на тиковой истории. Все тиковые индикаторы работают отлично. Но дефрагментатор идентифицирует тиковый массив, как фрагментированный. Можно ли проводить его дефрагментацию?

Scriptong: genfed пишет: Но дефрагментатор идентифицирует тиковый массив, как фрагментированный. Можно ли проводить его дефрагментацию? Уточните, о каком дефрагментаторе идет речь? О дефрагментаторе диска? Если да, то можно. От этого содержимое файла никак не изменится.

Genry: "Tick Data Suite: тестирование с 99% моделированием" Автор: Владимир aka loopsider Автор пакета TickDataSuite, Cristi Dumitrescu, более широко известный в массах под ником Birt, является пионером этого метода тестирования. Не поручусь за приоритеты, но в широкие массы эта идея проникла явно с его подачи. Не удивительно, что ему удалось реализовать в своем пакете ряд уникальных функций, которых нигде больше нет. Об этих функциях мы сегодня и поговорим... https://www.argolab.net/tick-data-suite.html

Xenofan: Добрый день! Какое качество моделирования должно выдавать после загрузки тиковых данных?

Scriptong: Xenofan пишет: Добрый день! Какое качество моделирования должно выдавать после загрузки тиковых данных? На минутках - 25%, на остальных ТФ - 90%. 99% - это только в патченном (читать - взломанном) терминале, на который Genry недавно давал ссылку. Хотя я не понимаю, почему такое внимание обращается на этот показатель. Ведь никому, кроме разработчиков терминала неизвестен его алгоритм расчета и, тем более, что именно он показывает. Ведь терминал не может знать, что история "полная" или "неполная". У меня неоднократно возникали случаи, когда качество было 90%, но впоследствии на этих тестах я обнаруживал месяцы дыр в котировках. Поэтому для убедительного теста нужно "вручную" проверить качество истории, предоставляемой тестеру. Кстати, если имеется интерес среди здешнего общества, то могу сделать и скрипт, проверяющий качество тиковой истории в зависимости от настроек, заданных пользователем.

Genry: Scriptong пишет: Кстати, если имеется интерес среди здешнего общества, то могу сделать и скрипт, проверяющий качество тиковой истории в зависимости от настроек, заданных пользователем. Думаю это будет полезно. Я регулярно даю ссылки на сайт и базу, надеюсь это расшевелит народ.

Scriptong: Genry пишет: Думаю это будет полезно. Я регулярно даю ссылки на сайт и базу, надеюсь это расшевелит народ. Уже два голоса за скрипт

Genry: Котировки Альпари на 26 декабря 2016 года. UsdCad_m1 [pre2] 2016.12.26,10:09,1.35082,1.35083,1.35082,1.35083,2 2016.12.26,10:10,1.35082,1.35082,1.35082,1.35082,1 2016.12.26,10:12,1.35082,1.35082,1.35082,1.35082,1 2016.12.26,10:13,1.35093,1.35093,1.35082,1.35082,2 2016.12.26,10:16,1.35082,1.35082,1.35082,1.35082,1 2016.12.26,10:19,1.35082,1.35082,1.35082,1.35082,1 2016.12.26,10:36,1.35051,1.35051,1.35020,1.35020,4 2016.12.26,10:55,1.35067,1.35067,1.35067,1.35067,1 2016.12.26,10:56,1.35064,1.35064,1.35064,1.35064,1 2016.12.26,10:57,1.35045,1.35045,1.35045,1.35045,1 2016.12.26,11:01,1.35035,1.35035,1.35035,1.35035,1 2016.12.26,11:17,1.35038,1.35038,1.35038,1.35038,1 2016.12.26,11:21,1.35023,1.35023,1.35016,1.35021,31 2016.12.26,11:22,1.35019,1.35021,1.34988,1.34988,18 2016.12.26,11:23,1.34993,1.35005,1.34985,1.34989,23 2016.12.26,11:24,1.34994,1.34998,1.34989,1.34998,7 2016.12.26,11:28,1.34997,1.34997,1.34997,1.34997,1 2016.12.26,11:29,1.34998,1.34998,1.34998,1.34998,1 2016.12.26,11:31,1.34993,1.34993,1.34993,1.34993,1 2016.12.26,11:32,1.34986,1.34986,1.34937,1.34937,7 2016.12.26,11:33,1.34922,1.34922,1.34903,1.34903,2 2016.12.26,11:36,1.34890,1.34890,1.34890,1.34890,1 2016.12.26,11:38,1.34995,1.35000,1.34991,1.34999,18 2016.12.26,11:39,1.34994,1.35000,1.34989,1.34994,7 2016.12.26,11:50,1.34933,1.34933,1.34923,1.34923,21 2016.12.26,11:51,1.34918,1.34918,1.34895,1.34895,5 2016.12.26,12:06,1.34741,1.34787,1.34741,1.34770,42 2016.12.26,12:07,1.34788,1.34794,1.34751,1.34794,116 2016.12.26,12:08,1.34783,1.34794,1.34783,1.34794,12 2016.12.26,12:09,1.34785,1.34795,1.34785,1.34785,3 2016.12.26,12:10,1.34801,1.34843,1.34801,1.34843,12 2016.12.26,12:11,1.34843,1.34843,1.34843,1.34843,9 2016.12.26,12:12,1.34853,1.34853,1.34853,1.34853,1 2016.12.26,12:13,1.34843,1.34843,1.34843,1.34843,2 2016.12.26,12:14,1.34853,1.34853,1.34853,1.34853,1 2016.12.26,12:15,1.34843,1.34843,1.34824,1.34843,4 2016.12.26,12:16,1.34843,1.34843,1.34843,1.34843,1 2016.12.26,12:25,1.34843,1.34843,1.34843,1.34843,1 2016.12.26,12:30,1.34844,1.34844,1.34843,1.34843,6 [/pre2]

Scriptong: Genry пишет: Котировки Альпари на 26 декабря 2016 года. UsdCad_m1 Да, рынок был вялый, многие брокеры вообще не работали. Так что ничего удивительного.

Xenofan: На минутках - 25%, на остальных ТФ - 90%. 99% У меня в не патченом терминале на всех ТФ показывает: N/A Еще в разные дни с одними и теми же параметрами результаты теста разнятся. Кстати, если имеется интерес среди здешнего общества, то могу сделать и скрипт, проверяющий качество тиковой истории в зависимости от настроек, заданных пользователем. Я думаю такой скрипт был бы очень полезен

Scriptong: Xenofan пишет: У меня в не патченом терминале на всех ТФ показывает: N/A Приведите пожалуйста алгоритм (шаги), который используете перед тестированием на реальных тиках. Xenofan пишет: Еще в разные дни с одними и теми же параметрами результаты теста разнятся. Скорее всего, спред изменяется. Также от одного дня к другому может изменяться рыночное окружение. Также подобное поведение всегда имеется при тесте на кросс-парах, т. к. тестер берет для расчета стоимости тика текущее рыночное значение для всего периода тестируемой истории.

genfed: Xenofan пишет: Я думаю такой скрипт был бы очень полезен Не только полезен, но и необходим.

Scriptong: genfed пишет: Не только полезен, но и необходим. Три

Xenofan: Приведите пожалуйста алгоритм (шаги), который используете перед тестированием на реальных тиках. Делаю так как по инструкции, с помощью скрипта объединяю историю котировок, потом конвертирую в формат csv, после этого в формат FXT - все на графике M1. После этого запускаю тестирование за определенный период, например за год. Терминал не патченый - может из за этого так показывает?

Scriptong: Xenofan пишет: Делаю так как по инструкции, с помощью скрипта объединяю историю котировок, потом конвертирую в формат csv, после этого в формат FXT - все на графике M1. После этого запускаю тестирование за определенный период, например за год. Терминал не патченый - может из за этого так показывает? Ммм... Уточните, что за инструкцию используете. Дело в том, что ни здесь, ни здесь нет шага, связанного с конвертированием в csv-файл. Файл TKS напрямую конвертируется в формат FXT. И, если сделано именно так, то качество моделирования будет N/A, но ошибок рассогласования не должно быть. Это важный момент.

Xenofan: Ммм... Уточните, что за инструкцию используете. Дело в том, что ни здесь, ни здесь нет шага, связанного с конвертированием в csv-файл. Значит это было мое лишнее действие, буду теперь знать. Но, тем не менее файл TKS я не удаляю из папки, просто там лежит 2 файла: CSV и TKS, а значит скрипт берет за основу именно TKS для конвертации в FXT.

Scriptong: Xenofan пишет: CSV и TKS, а значит скрипт берет за основу именно TKS для конвертации в FXT. Да, все верно. Конвертация TKS в CSV перед тестированием не требуется.

innovision: Scriptong Посмотрел немного код относительно Range баров - нет учета излишка/остатка от i_chartPeriod ........ к сожалению Игорь, не делали ли Вы подробный расчет рэнжей для этого скрипта ? (написал сообщение позже, а оно выше моего предыдущего)))

Scriptong: innovision пишет: Посмотрел немного код относительно Range баров - нет учета излишка/остатка от i_chartPeriod ........ к сожалению Насчет превышения допустимого количества пунктов в баре у меня нет никаких решений кроме того, которое реализовано. К примеру, настроили бар высотой 10 пунктов. Сначала тики шли так, что высота бара увеличивалась последовательно на один пункт. В итоге пришли к значению 8 пунктов. И тут следующий тик поступает с небольшим гэпом, увеличивая высоту бара до 15 пунктов. Исходя из сути Range-бара, мы не можем сделать бар больше 10 пунктов. Поэтому текущий бар завершается с высотой 8 пунктов, а следующий бар начинается с той цены, которая пришла. Такой подход приводит к образованию гэпов на графике Range-баров. Да, это непривычно исследователям Rnage-баров, т. к. они до сих пор оперировали плавными графиками, без гэпов. Но объясняется это просто: все имеющиеся индикаторы Range-баров строятся на минутных, а не на тиковых данных, то есть изначально используется сглаженных график, без детализации. А потому там гэпов нет по определению. Да и сама технология построения графика получается немного другой. Меня уже несколько раз просили сделать вариант сглаженного графика Range-баров, который заполняет гэпы виртуальными свечами. Наверное, в нем тоже можно разглядеть какой-то смысл. Но лично мне на данный момент такой подход не нравится, т. к. пользователь будет видеть на графике множество несуществующих данных. Более того, подобный график (не Range-бары, но очень близкий к нему по смыслу) я уже делал на заказ. В итоге получал головную боль от вопросов: почему советник, основанный на данных сглаженного графика, заключает сделки с большим опозданием. При разборе каждой такой ситуации оказывалось, что в тех местах, где заказчик ожидал открытие сделки, не было реальных тиков. Был гэп, заполненный виртуальными свечами. Получается, что сглаженный график способствует самообману. На таких графиках делают множество тестерных Граалей.

innovision: Здравствуйте scriptong. спасибо за открытый код) - Вы красиво пишете)) Особенно понравился "Сборщик тиков" и класс и структуры - все подробно с комментариями) Я пока только в массивах тусуюсь(( :). Одним словом - Ваш код для меня есть пример того как нужно кодить) -- Игорь, вопрос есть по Вашему скрипту "FXTFileMaker_AnyData" Для теста выбрал золото, скачал последний файл по ссылке из "История тиков" GKFX Вашим скриптом FXTFileMaker_AnyData сделал FXT для ренджей Получил такую картинку Игорь, что я делаю не так? :) Вот пример - один и тот же день .. 50пп Первый - скриптом Второй - индикатор RangeBarChart_v203e_edu в реальном времени

Scriptong: innovision пишет: Игорь, что я делаю не так? :) Для золота высота бара 50 пунктов - это ни о чем. Ведь один тик по золоту нередко достигает 200-300 пунктов. В итоге высота Range-бара частенько превышается за пару тиков, начинается следующий бар. Отсюда и частые гэпы. Хотя и на других символах могут быть такие же гэпы (объяснил постом выше). Чтобы минимизировать количество гэпов, нужно выбирать высоту Range-бара, сопоставимую с дискретностью прихода тиков по заданному символу, не заходя за нижний предел. Для золота этот предел - пара сотен пунктов (на расширенных котировках, три знака).

Yan: Добрый день, Игорь! Спасибо большое за полезную статью. Все сделал по Вашей инструкции: 1) Скачал архивы в tks 2) Преобразовал их в один файл с помощью OneTicksFileMaker_Script_AD 3) Преобразовал tks в fxt с помощью FXTFileMaker_Script_AD Все работает, но качество моделирования выдает n/a, так и должно быть, или это признак того, что какой-то шаг сделан неверно?

Scriptong: Yan пишет: Все работает, но качество моделирования выдает n/a, так и должно быть, или это признак того, что какой-то шаг сделан неверно? Да. Это нормально, т. к. тестер не может отвечать за историю, которую создали вместо него. Ведь, по сути, скрипт использует недокументированную возможность МТ4, подкладывая тестеру пользовательскую историю и запрещая тестеру изменять или удалять ее.

Yan: Понял, спасибо! Еще подскажите пожалуйста по истории котировок, которая у Вас выложена (http://advancetools.net/index.php/instrumenty/tikovye-ob-emy/istoriya-tikov): для Альпари собраны данные для счета standard или ecn? Ведь тики там разные, если я правильно понимаю.

Scriptong: Yan пишет: Еще подскажите пожалуйста по истории котировок, которая у Вас выложена (http://advancetools.net/index.php/instrumenty/tikovye-ob-emy/istoriya-tikov): для Альпари собраны данные для счета standard или ecn? Ведь тики там разные, если я правильно понимаю. Счет типа Standart, реал.

fxman: всем привет. автору спасибо огромное за реал тест. нашел огромное различие в тиках время бар 18.54. и volume standart2 =299 а скачаный 449 разница пипец! привожу скрины с алпари счета реал standart2 и тиков скачаных отсюда http://advancetools.net/loads/Ticks_History/2018/2/Alpari/EURUSD.zip выделил цены между которыми нет тиков на счете standart2. где делись тики? это алпари их так придержал или фильтронул?

Scriptong: fxman пишет: нашел огромное различие в тиках время бар 18.54. и volume standart2 =299 а скачаный 449 разница пипец! Различие в собранных тиках и тех, которые предоставляет брокер всегда есть. Я еще не находил ни одного бара, для которого бы это количество совпадало. Причем разница бывает не только в меньшую, но и большую сторону. Редко, конечно, но бывает. При сборе тиков учитываются именно те тики, которые дошли до клиентского терминала. То, что пишет в тиковом объеме сам брокер, скорее всего, является числом всех котировок, которые он получает от имеющихся поставщиков. А вот клиентам этот поток фильтруется по алгоритмам, установленным самим брокером. То, что тики собираются именно в реалтайме, как раз и является преимуществом по сравнению с тиками, которые где-то выложены самим брокером. Ведь большая часть этих тиков не попадает к клиенту. А так получается, что мы оперируем реальной историей, а не кем-то выдуманной. fxman пишет: где делись тики? это алпари их так придержал или фильтронул? Ответ на этот вопрос я дал выше. Кроме того, нужно учитывать, что в сети информация тоже теряется. Тики могут просто не дойти до места назначения.

fxman: скопировал с базы алпари все тики бара 18.54 и посчитал их оказалось 299 и volume на графике м1 тоже показывает 299. получается что все четко совпало. но вы утверждаете что реальных тиков было или болше или меньше 299? точно могу сказать что в вашей тиковой истории их 449. чтож выходит пока тикал бар Volume[0] он мог набрать менее или более 299 а когда бар пошел в историю стал Volume[1] ==299 ? остается только самому записать реал тики и проверить на совпадение с базой алпари. посчитал чуток тиковый объём за бар м1: пришло 132 а показывает 143,не пришло 11 тиков,пока только в меньшую сторону. считал тики экспертом void OnTick() а он как оказалось и повторы считает стырый Ask Bid ==новый Ask Bid. но 229 и 449 это в большую сторону. пускай вместо 229 мнеб пришло 200. пока для меня загадка откуда 449 на какой скорости вы пишите тики что показывает Ping? посмотрите плиз счет алпари с которого вы считали тики сколько у вас там прописано тиков в истории за этот бар м1 29.06.2018 18:54 я просто скопировал в Exel тики бара и узнал их количество

Scriptong: fxman пишет: скопировал с базы алпари все тики бара 18.54 и посчитал их оказалось 299 и volume на графике м1 тоже показывает 299. получается что все четко совпало. Так ведь это их собственная база тиков, а не та, что пришла к клиенту. fxman пишет: но вы утверждаете что реальных тиков было или болше или меньше 299? Я могу лишь сказать, что их МОГЛО быть больше или меньше. Если имеется в виду данный конкретный случай, то нужно сидеть и сравнивать. Я к сожалению, заняться этим не могу. fxman пишет: чтож выходит пока тикал бар Volume[0] он мог набрать менее или более 299 а когда бар пошел в историю стал Volume[1] ==299 ? Брокер имеет возможность (и часто этим пользуется) редактировать историю. Кстати, чаще других это замечено как раз у Альпари. Именно поэтому используется метод сбора тиковой истории онлайн. Думаю, если сравнить итоговую историю за последние 4 года, то обнаружится немало расхождений. fxman пишет: остается только самому записать реал тики и проверить на совпадение с базой алпари. Да, именно это я и делаю (только пока без сравнений). fxman пишет: посчитал чуток тиковый объём за бар м1: пришло 132 а показывает 143,не пришло 11 тиков,пока только в меньшую сторону. Да, чаще всего доходит меньшее количество тиков. fxman пишет: считал тики экспертом void OnTick() а он как оказалось и повторы считает стырый Ask Bid ==новый Ask Bid. Все-таки лучше это делать индикатором (совет разработчиков МТ4). fxman пишет: пускай вместо 229 мнеб пришло 200. пока для меня загадка откуда 449 Да, я тоже не нашел точного ответа на этот вопрос. Только гора догадок, почему. fxman пишет: посмотрите плиз счет алпари с которого вы считали тики сколько у вас там прописано тиков в истории за этот бар м1 29.06.2018 18:54 Выходит 152 + 168 = 320

Scriptong: Одним из показателей того, что к тиковому объему не стоит подходить слишком уж серьезно, является разность тиковых объемов у Альпари на разных типах счетов: ECN (MT5) - 219 Standart3 MT4 - 299 Demo MT4 - 430

fxman: 449 это уже фантастическая цифра и нефига она нереальная. фантастическая"реальная история" выходит. можете сделать фотку индикатора где 449? только у вас есть возможность узнать откуда 449. демо показывает 430 а пришло 320(и это на индикаторе). по моим проверкам приходит всегда меньше. повешу я еще индюка рядом с советником пусть вместе считают. походу алпари тики вырезает. например за 10 секунд былоб плавное поднятие а после вырезки получилось за 1 секунду резкое поднятие. маштабная на"бка цена уже есть но нам она недоступна.жеесть.

Scriptong: fxman пишет: можете сделать фотку индикатора где 449? Я же показал рисунок. Или Вы что-то другое имеете в виду? fxman пишет: по моим проверкам приходит всегда меньше. Скажем так: в подавляющем большинстве случаев. fxman пишет: маштабная на"бка цена уже есть но нам она недоступна.жеесть. Это называется "индивидуальный подход к клиенту" Ведь у брокера есть возможность коррекции не только массового тикового потока, но и потока, предоставляемого конкретному клиенту.

fxman: так у вас выложена база алпари тиков с демо? никак не могу понять как вы наловили 449 тиков за этот бар м1 29.06.2018 18:54, если на счетах алпари столько не тикала. максимум на демо и то 430. мож есть какие предположения? я попробовал ловить идикатором-редко ловит меньше а вот советник с такимже кодом-чаще ловит меньше и даже меньше чем индюк, а почему? в большую сторону словил один раз 94 с 93

Scriptong: fxman пишет: так у вас выложена база алпари тиков с демо? Нет, с реала Standart3. fxman пишет: никак не могу понять как вы наловили 449 тиков за этот бар м1 29.06.2018 18:54, если на счетах алпари столько не тикала. Вы ошибаетесь. Я нигде не писал про 449 тиков. Это Ваши слова. fxman пишет: мож есть какие предположения? Предположений масса. Но без воспроизводимых доказательств о них даже говорить не стоит. Будет выглядеть как бред. fxman пишет: а вот советник с такимже кодом-чаще ловит меньше и даже меньше чем индюк, а почему? Я уже говорил выше, что советник пропускает тики, а индикатор - нет. Связано со спецификой архитектуры терминала. Только это не значит, что индикатор работает быстрее советника. Речь только о том, что до индикатора доходят все тики (пусть с опозданием, но доходят), которые дошли до клиентского терминала. А целью советника не является обработка каждого тика.

fxman: вот он 449 тиков во всей красе и это с вашей базы алпари. Как могло столько натикать да еще и на реале? есть мысль что это повторы натикались. на картинке выше видно что много повторов. но смысл слать поток с повторяющимися тиками. одни вопросы...

Scriptong: fxman пишет: вот он 449 тиков во всей красе и это с вашей базы алпари. Как могло столько натикать да еще и на реале? Мой рисунок приведен вверху. Там четко видно количество - 430 (это объем, который транслирует брокер). Рисунок я сделал с демо-счета. Индикатор, который приведен на рисунке, оперирует данными из тикового потока, снятыми с реала. Там набралось 320 тиков, а брокер на этом же реале транслирует 299. Как раз тот случай, о котором я говорил (собранных тиков больше, чем транслированных). Еще раз повторюсь: я не знаю, почему так происходит. Догадки есть, но все бездоказательные. Поэтому воздух сотрясать зря не буду. Как у Вас получилось 449 тиков, ума не приложу. У меня этот же файл - 320 тиков.

fxman: ссылка на файл EURUSD1_0.fxt, тестер мт4 билд 1090 на нем я и получил 449 тиков, время в тестере ставить от 2018.06.29 до 2018.06.30 файл маленький всего на 10 минутных баров. качайте тестите. хотелось бы выяснить причину такого количества тиков. click here Scriptong пишет: Индикатор, который приведен на рисунке, оперирует данными из тикового потока, снятыми с реала. а как это вы сделали счет демо а индикатор на реале? а кто в сети самый быстрый доставщик тиков какая контора?

Scriptong: fxman пишет: ссылка на файл EURUSD1_0.fxt, тестер мт4 билд 1090 на нем я и получил 449 тиков, время в тестере ставить от 2018.06.29 до 2018.06.30 файл маленький всего на 10 минутных баров. качайте тестите. хотелось бы выяснить причину такого количества тиков. click here Взял исходный тиковый файл. Да, там действительно 449 тиков. Просто я как-то упустил из виду, что тиком считается не только изменение Bid, но и Ask. На этой свече как раз много подобных моментов: Bid стоит на месте, а Ask изменяется. К сожалению, в тестере этого невозможно заметить, т. к. тестер оперирует только ценой Bid, вычисляя от нее Ask. А в том индикаторе, которым я измерил количество тиков, подсчитывается количество изменений цены, а не тиков. Потому и результат другой. Об этом я тоже забыл, давно не пользовался этим индикатором. fxman пишет: а как это вы сделали счет демо а индикатор на реале? Какая разница, на каком счете и что запускать? Тиковый поток записан (все равно, где). Затем он подставляется на любой другой тип счета (да хоть на счет другого брокера) и из него берет данные любо из моих тиковых индикаторов. Разве что далее будут поступать тики с текущего счета. Но ведь история то останется такой, которая записана в тиковый файл.

fxman: Scriptong пишет: Взял исходный тиковый файл. Да, там действительно 449 тиков. Просто я как-то упустил из виду, что тиком считается не только изменение Bid, но и Ask. На этой свече как раз много подобных моментов: Bid стоит на месте, а Ask изменяется. не важно сколько скачет Ask это все равно тик, volume прописан намертво к истории а тики отражаются на счете в истории тиков, так вот я уже писал что посчитал историю и она совпала с volume на standart2 реал = 299 тиков. вы ране писали: Scriptong пишет: Одним из показателей того, что к тиковому объему не стоит подходить слишком уж серьезно, является разность тиковых объемов у Альпари на разных типах счетов: ECN (MT5) - 219 Standart3 MT4 - 299 Demo MT4 - 430 Standart3 и Standart2 совпадают по тикам. вопрос остается открытым откуда 449 тиков на Standart3 реале? посмотрел бары следующее за баром который 449 тиков там тоже все завышено местами почти в два раза. где то косяк в коде мож в скрипте что fxt создает.

Scriptong: fxman пишет: вопрос остается открытым откуда 449 тиков на Standart3 реале? Столько натикало в онлайн. Что тут странного? А брокер мог потом подкорректировать показания Volume. Цели таких корректировок мне неизвестны. Сразу думать о его кознях - последнее дело, т. к. нужно иметь доказательства, которые можно собрать только с серверов брокера. Скорее всего, какая-то техническая коррекция, связанная с внутренними регламентами предприятия.

fxman: отличается все и даже High и Low, и что вы скажете что брокер их сместил? выложите скрин Standart3 реал этого бара

Scriptong: fxman пишет: выложите скрин Standart3 реал этого бара К сожалению, у меня нет такой возможности.

fxman: а вот ваша вы выкладывали демо Standart3, различие в Close на 1 пунктик что допустимо т.к время серверное между Standart2 и Standart3 отличается на милесекунды. выходит ошибка гдето в коде скрипта?

Scriptong: fxman пишет: а вот ваша вы выкладывали демо Standart3, различие в Close на 1 пунктик что допустимо т.к время серверное между Standart2 и Standart3 отличается на милесекунды. выходит ошибка гдето в коде скрипта? Никак не пойму, к чему Вы клоните. Вот добрался до реала и загрузил историю, которую дает брокер: Что Вы тут хотите увидеть?

fxman: Scriptong пишет: Никак не пойму, к чему Вы клоните. посмотрите внимательно выше я выложил два скрина, High Open Close Low все они отличаются., а они должны быть одинаковы! ваш скрипт что создает файл EURUSD1_0.fxt с ошибками! еще я делал два файла EURUSD1_0.fxt с разными времеными интервалами(1 час и 11 часов) и обнаружил случайно что один и тот же бар имеет разные цены!

Scriptong: fxman пишет: посмотрите внимательно выше я выложил два скрина, High Open Close Low все они отличаются., а они должны быть одинаковы! Обоснуйте, почему должны? fxman пишет: ваш скрипт что создает файл EURUSD1_0.fxt с ошибками! В чем они заключаются? fxman пишет: еще я делал два файла EURUSD1_0.fxt с разными времеными интервалами(1 час и 11 часов) и обнаружил случайно что один и тот же бар имеет разные цены! Приведите, пожалуйста, воспроизводимый пример.

fxman: Scriptong пишет: Обоснуйте, почему должны? да этож элементарно понять. вы ваще догоняете что я толкую что ваша база тиков алпари не совпадает с реальностью. база High: 1.16832 реальность High: 1.16826 смотрите картинку выше откуда появилась эта цена 1.16832 ? что ж получается ,цена была но алпари говорит что ее не было?

Scriptong: fxman пишет: вы ваще догоняете что я толкую что ваша база тиков алпари не совпадает с реальностью. Дело в том, что ни у Вас, ни у меня нет эталонных котировок. Да их и не может быть. Поэтому говорить о "реальности" нет смысла. Есть только тики, собранные индикатором в режиме онлайн. Раз такой тик (1.16832) пришел, то он был, как минимум, для моего счета (для других счетов его могло не быть, т.к . у брокера есть возможность предоставления персональных котировок каждому пользователю, см. функционал приложения Meta Manager). Также этот тик могли впоследствии подчистить, обычное дело. Историю нередко "причесывают", чтобы она выглядела красиво. Наиболее наглядный пример - спайки, которыми часто грешит в Альпари. На предоставляемой ими истории Вы не найдете ни одного такого примера. А вот в тех тиковых данных, которые имеются на сайте advancetools.net, при желании можно найти такие свидетельства, т. к. собранную историю я дополнительно не обрабатываю.

fxman: Scriptong пишет: Дело в том, что ни у Вас, ни у меня нет эталонных котировок. Да их и не может быть. CQG , Rithmic поставщики котировок напрямую с биржи, я думаю это и есть эталонные котировки. как думаешь на сколько отличаються котировки алпари от таких поставщиков? или насколько пунктов могут отличаються котировки алпари от таких поставщиков? мож кто сравнивал?

Scriptong: fxman пишет: CQG , Rithmic поставщики котировок напрямую с биржи, я думаю это и есть эталонные котировки. как думаешь на сколько отличаються котировки алпари от таких поставщиков? или насколько пунктов могут отличаються котировки алпари от таких поставщиков? мож кто сравнивал? Отличаться могут от плюс бесконечности до минус бесконечности. Каждый ДЦ - сам себе режиссер. Об этом прямо сказано в договорах, заключаемых с ДЦ. Эталонными котировки могут быть только в пределах одной биржевой площадки. Но ДЦ - не биржа.

fxman: Scriptong пишет: у брокера есть возможность предоставления персональных котировок каждому пользователю, см. функционал приложения Meta Manager а можно подробнее что за оно Meta Manager что где смотреть? чето google молчит.

Scriptong: fxman пишет: а можно подробнее что за оно Meta Manager что где смотреть? чето google молчит. Это приложение серверной части Meta Trader 4. Лет 10 назад я побывал на презентации МТ4, т. к. знакомый собирался открывать ДЦ. На презентации рассказывались все возможности сервера МТ4 и давали "пощупать" этот вот Meta Manager с эмуляцией работы ДЦ.

fxman: Scriptong пишет: fxman пишет: цитата: CQG , Rithmic поставщики котировок напрямую с биржи, я думаю это и есть эталонные котировки. как думаешь на сколько отличаються котировки алпари от таких поставщиков? или насколько пунктов могут отличаються котировки алпари от таких поставщиков? мож кто сравнивал? Отличаться могут от плюс бесконечности до минус бесконечности. Каждый ДЦ - сам себе режиссер. Об этом прямо сказано в договорах, заключаемых с ДЦ. Эталонными котировки могут быть только в пределах одной биржевой площадки. Но ДЦ - не биржа. как подключится к ECN напрямую минуя брокера, есть варианты? альпари берет ликвидность с биржи или с банков? допустим алпари получает котировки от 60 банков и передает их в мт4, как узнть какому банку пренадлежала определенная котировка? ведь алпари может нарисовать любую котировку как на standart так и на ECN счетах.

Scriptong: fxman пишет: как подключится к ECN напрямую минуя брокера, есть варианты? К сожалению, не спец в этом. fxman пишет: альпари берет ликвидность с биржи или с банков? Об этом знают только соответствующие сотрудники Альпари. fxman пишет: допустим алпари получает котировки от 60 банков и передает их в мт4, как узнть какому банку пренадлежала определенная котировка? Никак. Об этом не узнают даже сотрудники. Ведь поставщиков котировок у каждого ДЦ несколько. Из потока котировок посредством специально разработанных фильтров выбирается одна котировка, которая транслируется в терминал. И не факт, что в итоге это будет точно та же котировка. Она, скорее всего, будет изменена. fxman пишет: ведь алпари может нарисовать любую котировку как на standart так и на ECN счетах. Это может делать любой ДЦ.

Sart: я вот тут подумал: 1. в мт4 есть фишка - импорт минутных свечей их csv файла 2. можно файл для импорта сформировать таким манером каждая запись-минутка - это тик, то есь все цены OHLC равны Bid, а время открытия равно времени тика 3. думаю мт4 тестер все это съест и создаст FXT файл со всеми нашими реальными тиками будет время - проверю...

Scriptong: К сожалению, не получится. Тестер пропускает свечи, у которых объем 1. По этой причине и невозможно подставить реальный тиковый график даже при помощи FXFileMaker.

Balbesik: Привет Игорь! Частный вопрос. Твой советник MultiIndicators_AutoOptimize решает ли вопрос тестирования по тикам?

Scriptong: Balbesik пишет: Твой советник MultiIndicators_AutoOptimize решает ли вопрос тестирования по тикам? Здесь уместно указать, что это разработка не по моей идее (я делал его на заказ). То есть советник не совсем то и мой. От меня лишь реализация. Самой идеей я не вдохновился, а потому ничего от меня в плане творчества в нем нет. Только воплощение в коде. А теперь по сути: какая проблема тестирования по тикам имеется в виду? К примеру, в советнике имеется режим расчет значений индикаторов на каждом тике, а не на новом баре.

Balbesik: Scriptong пишет: Здесь уместно указать, что это разработка не по моей идее (я делал его на заказ)..... Я помню, что такая задача и не стояла. Поэтому и частный вопрос. Scriptong пишет: ...А теперь по сути: какая проблема тестирования по тикам имеется в виду?.... Пытаюсь понять, откуда взялся «грааль» в тестере, при «сетке». Сама «сетка», на мой взгляд, тут абсолютно не причем , просто открыть позицию «по месту» сейчас не реально – сплошные реквоты и кроме этого надо ждать противоположного тика (и «поймать» его) от направления открытия позиции, все это заставляет использовать отложенные ордера (для этого и «сетка»). Заинтересовала оптимизация внутри бара (как вариант, где «дыра»). Советник делает оптимизацию в реальном режиме времени, на нестандартном графике и по времени и по виду (ренко). График ренко могу строить переделанным Тикколлектором (скидывал на другой ветке), тогда будет запись тиков и запись нестандартного графика в историю. Что использует советник MultiIndicators_AutoOptimize, при оптимизации в реальном режиме времени, тики или берет данные с графика из истории (только OHLC)? P.S. Кроме этого попробую сделать индикатор вместо «сетки» (пока не придумал, как программно реализовать матожидание, просто для сравнения с среднеарифметическим (я знаю, что в бесконечности это в общем-то одно и тоже), но тут есть один момент), пока взял тут расчёт средней волатильности - https://www.mql5.com/ru/code/7755 если получится и результат повторится, где-нибудь здесь, на форуме, выложу (возможно тебя заинтересует) и будет ясно с тестером.

Scriptong: Balbesik пишет: Что использует советник MultiIndicators_AutoOptimize, при оптимизации в реальном режиме времени, тики или берет данные с графика из истории (только OHLC)? Тиков в МТ4 нет. Поэтому в онлайне их можно взять только в том случае, если имеется тиковый файл. Подкачку данных с тикового файла этот советник не использует.

Balbesik: Scriptong пишет: ...Подкачку данных с тикового файла этот советник не использует... Спасибо! Понятно. В разделе Идеи для статей в ветке Объемы и свечи размещаю индикатор (что получается).



полная версия страницы