Сохраняем тики, строим тиковый и эквиобъемные графики

    Работать в MT c тиками встроенными средствами, к сожалению, затруднительно. Встроенный в терминал график тиков по существу является лишь информером, который не позволяет с собой работать и не сохраняет никаких данных.

    Принципиальная позиция разработчиков MetaTrader известна: тики — зло. В этой статье не будем выяснять, правы они или нет. Для меня очевидно другое: зло — это ограничения. Вот с ограничениями и будем бороться, используя сторонний инструментарий для хранения тиковых данных и построения тиковых графиков.

    Те же, кто с сомнением относится к полезности тиков, сможет использовать информацию из статьи для построения совершенно новых вневременных графиков — равнообъемных (или, как еще их называют, эквиобъемных).
 
 

Инструментарий


    Весь процесс поделен на 2 этапа — 1) сохранение тиковой истории и 2) использование ее на лету для построения графиков. Нам понадобятся два несигнальных советника:

  • Сборщик тиков TickSave — советник для сохранения тиковой истории. СКАЧАТЬ >>

  • EqualVolumeBars — советник для построения тикового и эквиобъемных графиков. СКАЧАТЬ >>

Разработчиком обоих советников является Андрей Хатимлянский.
На тематических ресурсах известен под ником komposter.
Личный сайт разработчика — www.komposter.me

 

Сохранение тиков в файл


    Установите советник TickSave на любой график, в параметрах укажите инструменты, по которым вы бы хотели вести запись тиков. Все указанные инструменты должны быть в окне «Обзор рынка».
    После запуска советника тиковая история тут же начнет записываться в файл csv в папку "\experts\files\[Ticks]\название сервера\".
    Название самого файла будет иметь вид «Инструмент_Год.Месяц.csv».
Собственно все просто, но есть замечания, с которыми вы можете ознакомиться на странице описания советника TickSave
 
 

Построение тикового графика на лету


    Запустите советник EqualVolumeBars на графике того инструмента, по которому желаете вывести тиковый график. Период графика значения не имеет.
    При запуске советника определите параметры:

  • TicksInBar — количество тиков в одном баре. Для построения тикового графика установите значение TicksInBar=1

  • StartYear и StartMonth
  • — соответственно год и месяц, с которых начинать построение тикового графика. Если у вас еще нет собранной истории, то укажите текущий год и месяц.

    Осталось открыть график. Для этого перейдите в пункт меню «Файл -> Открыть автономно» и из списка возможных графиков откройте тот, название которого начинается с "!Eqv" а заканчивается на «MX», где X — указанное вами значение параметра TicksInBar. Например, тиковый график EURUSD называться будет "!EqvEURUSD,M1"



    Если к этому моменту хоть сколько-нибудь тиковой истории уже собрано, то вы увидите график. Для тикового графика (т.е. при TicksInBar=1) рекомендуется отображение графика не в виде свечей, а в виде линии.

Канал, построенный на тиковом графике


    Если окно открылось, а никаких значений графика на нем не видно, то это может быть связано с масштабированием. Попробуйте задать фиксированный масштаб (вызвать Свойства графика, закладка «Общие»).

    Еще момент. Не обращайте внимание на подписи оси времени. Графики, построенные на основе тиков, зависят от времени в малой степени, т.к. скорость поступления тиков сильно различается. Поэтому ось времени используется в технических целях и в качестве точки отсчета используется дата 1 января 1970 года. Тем не менее, вы можете уточнить время прихода тика, если загляните в файлы, сохраняемые сборщиком тиков, где всегда пишется правильное время прихода тиков.
 
 

Важное замечание для обновления графика реал-тайм!


    По моим наблюдениям многие пользователи, пытающиеся использовать предложенный инструментарий, бросают попытки после того, как обнаруживают, что график не обновляется автоматически, и его приходится перестраивать всякий раз для обновления. Видел не одну просьбу, в которой пользователи просили дописать функционал для автоматического обновления. НО смею заверить, ничего дописывать не нужно. Советник прекрасно обновляет полученный тиковый график! Просто выполните следующую рекомендацию, общую для подобных случаев.

Вызовите свойства советника EqualVolumeBars (например, нажав F7 на графике с установленным советником). Отметьте галочкой опцию «Разрешить импорт функций из DLL». Нажмите OK. После этого вас могут спросить «Разрешить PostMessageA из user32.dll?» — ответьте утвердительно. Все!

    Теперь тиковый график будет обновляться действительно на лету по мере поступления котировок. На получившийся график можно накладывать линии тренда, фигуры и значки, строить каналы, масштабировать…
 
 

Эквиобъемные графики


    В данном случае это графики, в каждом баре которых всегда равное количество тиков. Чтобы получить такие графики, просто измените значение параметра TicksInBar советника EqualVolumeBars. Затем выберите из списка оффлайн графиков новый "!Eqv...,MХ" (вместо многоточия валютная пара, по которой вы строите графики, Х = TicksInBar).
    Например, при TicksInBar=10 мы увидим график, в котором каждый бар формируется за счет ровно 10 тиков. Проверить это обстоятельство можно, если вывести на графике объемы. Понятно, что они образуют ровный частокол.

Эквиобъемный график — 50 тиков в каждом баре, EURUSD 09.06.2010


 
 

Применение


    Тема применения подобных графиков в торговле на Forex выходит за пределы статьи, цель которой — познакомить трейдера с инструментом. Однако считаю нужным упомянуть, что:

1) Тиковый график является востребованным среди пипсовиков и скальперов.

2) Сохранение тиковой истории позволяет любому трейдеру изучать более подробно поведение рынка в тех или иных условиях. Например, развитие ситуации во время выхода важных новостей, когда минутные бары уже не всегда несут в себе данные, достаточные для детального анализа.

    Желаю Удачи!
  • +5
  • Просмотров: 91290
  • 9 июня 2010, 18:57
  • Kaur
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Инструменты трейдера - софт, железо, сервисы", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
JMA & JJMA
16 декабря 2009
15 сентября 2010

Брокер для ваших роботов, 15 лет на рынке

Комментарии (29)

+
+1
Очень необходимая мне штука! Пошел ставить.
avatar

  5  Kopernik Сообщений: 55 - Суперинтуит

  • 10 июня 2010, 12:35
+
+1
Не обращайте внимание на подписи оси времени. Графики, построенные на основе тиков, зависят от времени в малой степени, т.к. скорость поступления тиков сильно различается. Поэтому ось времени используется в технических целях и в качестве точки отсчета используется дата 1 января 1970 года.

Это серьезный минус. Смысл в дате есть и не маленький.
avatar

  11  pilot Сообщений: 410

  • 10 июня 2010, 19:10
+
0
Не знаете, в МТ5 можно будет работать с тиками без всяких ухищрений?
avatar

  8  Paguk Сообщений: 328 - суровый трейдер

  • 26 июля 2010, 20:30
+
+3
Нельзя без ухищрений, не хотят разрабы давать тики
avatar

  11  pilot Сообщений: 410

  • 29 июля 2010, 09:37
+
0
Скажите, если у меня название символа не EUR/USD a EUR/USD_m, тики он нормально собирает, но вот выводить графики он не собирается, показывает в открыть автономно: !EqvEURUSD_,M1. не хватает маленькой буковки m и он будет показывать график, а так не хочет показывать графики. Как избавиться от этой проблемы? Если что могу скрин сделать, все поймете…
avatar

  9  amyrgan145 Сообщений: 428 - Амыр

  • 13 мая 2011, 18:46
+
+2
Очень хитро решил эту проблему =))))) Просто перешел в другой терминал где имя валютной пары EURUSD, переименовал файл котировок из EURUSD_m_2011.05.csv в EURUSD_2011.05.csv и робот EqualVolumeBars — спокойно открыл мне график =) Ура! =) Теперь с помощью скрипта — OutQuotings.mq4 выгрузил тиковый график как минутный, залил котировки в чистый терминал и теперь я могу тестировать таких советников, которые работают по тикам, УРА!!! =))))))
avatar

  9  amyrgan145 Сообщений: 428 - Амыр

  • 13 мая 2011, 19:15
+
0
Хорошая работа, Амыр
avatar

  47  Kaur Автор Сообщений: 1331 - Руслан Каюмов

  • 13 мая 2011, 19:24
+
0
Истории тиков одного дня не достаточно чтобы провести тест… хм. Нужен как минимум недельный архив тиковой истории как маркет про тиков так и классик. с понедельника на ВПС надо закинуть и пусть готовит историю *улыбается*
avatar

  9  amyrgan145 Сообщений: 428 - Амыр

  • 13 мая 2011, 22:05
+
0
Есть у меня такая история за гораздо больший период. Так что можете подождать, выложу
avatar

  47  Kaur Автор Сообщений: 1331 - Руслан Каюмов

  • 14 мая 2011, 10:40
+
0
Очень буду рад скачать, и я хочу просить у вас помощи на нижний комментарий, потому что у меня возникнут проблемы с созданием и тестированием любого советника целью которого будет добиться 99% качества моделирования =)
avatar

  9  amyrgan145 Сообщений: 428 - Амыр

  • 14 мая 2011, 21:22
+
0
А у меня еще такой технический вопрос:

Тезис 1: При тестировании из загруженных с сервака котировак минут, там даются только цены опен лоу хай и клоус, т.е. поэтому при тестировании качество моделирования не превышает 90%, а при тесте минуток — не больше 25%.
Тезис 2: Мы научились сохранять каждый тик в отдельную базу котировок, т.е. у нас теперь есть не просто опен лоу хай и клоус, но и тики внутри интервала этой минуты.
Гипотеза: Сможем ли мы теперь, когда у нас есть тиковая история поднять качество моделировния при тестере советников до 99%?

P.S. 100% — достичь никогда не удастся.
avatar

  9  amyrgan145 Сообщений: 428 - Амыр

  • 14 мая 2011, 09:49
+
0
Сможем. Почему нет? Оценить количественно с высокой точностью качество все равно не удастся. Можно сказать, что оно будет 97% или 99% или 99,9999%, но оно будет выше, чем качество тестирования на М1, причем заметно.

Единственное — есть еще возможность повысить качество. Это исключить спайки, нерыночные выбросы. Если будете собирать тики, то такие выбросы непременно попадут в историю. Для их поиска можно наложить на тиковую историю контрольные точки (OHLC) от перезагруженного минутного графика.

Еще один момент. Качество приводится применительно к любой стратегии. Т.е. речь об универсальной оценке. Однако для тестирования, скажем, долгосрочной стратегии с целями и стопами, исчисляемыми сотнями пунктов, качество будет приближаться к 100%, даже при тестировании на М1, т.к. контрольных точек будет достаточно для тестирования.
Вместе с тем, для пипсовочной стратегии качество тестирования на М1 можно условно обозначить как 50%, т.к. движения внутри баров имеют решающее значение и без тиков тест имеет мало общего с реальностью.
Поэтому при тестировании надо всегда учитывать особенности стратегии.
avatar

  47  Kaur Автор Сообщений: 1331 - Руслан Каюмов

  • 14 мая 2011, 10:39
+
0
Руслан, я жду от вас историю тиков
avatar

  9  amyrgan145 Сообщений: 428 - Амыр

  • 16 мая 2011, 06:28
+
0
К сожалению, быстрой реакции не будет. Сервис архивов запустим согласно ранее намеченному плану.
avatar

  47  Kaur Автор Сообщений: 1331 - Руслан Каюмов

  • 16 мая 2011, 10:25
+
0
Жаль что так долго придется ждать… Ладно, пойду денюжку на вебмани закину и куплю впс =) Осуществлю свою затею которую я описал в своем последнем топике =)
avatar

  9  amyrgan145 Сообщений: 428 - Амыр

  • 16 мая 2011, 14:59
+
0
Очень пригодилось, спасибо
avatar

  0  elevator Сообщений: 1

  • 1 сентября 2011, 17:18
+
0
Здравствуйте *улыбается*Мне очень понравилось. Так весело торговать по тикам *улыбается*
И вопрос. Возможно ли сделать так чтобы на тиковом графике, полученного таким образом отображалась линия АКС вместе с линией БИД?
avatar

  1  Anry Сообщений: 1

  • 12 сентября 2011, 17:23
+
0
Я не понимаю когда я включаю ваш график то я не могу на нем в реальном времени торговать? Как сделать чтоб когда я устанавливаю на ваш график моего робота чтоб но читал график и торговал?
avatar

  0  tamaz Сообщений: 1

  • 29 ноября 2011, 00:34
+
0
Снова вернулся к тиковым графикам
avatar

  9  amyrgan145 Сообщений: 428 - Амыр

  • 10 февраля 2012, 10:08
+
0
Еще не пробовал данный советник на практике, но уже возник вопрос: как дела будут обстаять с новыми пунктами (5 знаков после запятой), значит ли это то что бар построенный допустим по 2000 микротикам будет точнее чем по тем же 200 тикам со старыми пунктами? но скорее всего погрешность всеравно какая то будет присутствовать.
avatar

  7  Reniel Сообщений: 27 - Андрей

  • 14 апреля 2012, 23:36
+
+1
Ну учитывая, что можно и шестизнак ввести, и семизнак, и т.д., то погрешность есть всегда. Другое дело — значимость этой погрешности :) 
Гораздо важнее, что на разных ДЦ котировки могут отличаться легко на 20-70 пунктов (пятизначных). Это не сравнить с погрешностью от тиков. Все-таки на форексе трейдеры имеют дело не с биржевыми ценами, а с фильтрованными из потока. Значит о мелких погрешностях говорить смысла вообще нет.
avatar

  12  BetMaster Сообщений: 433

  • 15 апреля 2012, 02:05
+
0
в реал тайме не работает. хоть ты тресни. нужно всё время обновлять.
avatar

  0  lemonad Сообщений: 1

  • 25 мая 2012, 00:31
+
0
при включении Разрешить импорт функций из DLL — обновляется один раз… как сделать онлайн?
avatar

  0  i999i Сообщений: 1

  • 10 декабря 2012, 16:45
+
0
Сделайте пожалуйста чтобы в советнике EqualVolumeBars можно было выбрать таймфрейм который будет появлятся в офлайн графиках. например кидаем EqualVolumeBars на график М1 в настройках указываем какой бы мы хотели видеть тайм, допустим Н4, после открываем офлайн графики и выбираем там тайм Н4 на котором будут тики. Т.е. сделать также как в этом советнике ренко баров (RenkoLiveChart_v3.3x2)
avatar

  0  ivan2007007 Сообщений: 1

  • 23 декабря 2012, 13:57
+
0
У меня советник EqualVolumeBars не запускается в навигаторе отображается серым цветом.Что мне делать не подскажете??
avatar

  0  clavikkk Сообщений: 1

  • 1 сентября 2015, 09:20
+
0
Серым цветом в навигаторе показываются все советники, которые не имеют исходника mql
Это не мешает работать скомпилированному файлу exe
avatar

  46  Bishop Сообщений: 5817 - АЛЬФАХАМЕЦ-Машковод

  • 1 сентября 2015, 15:28
+
0
EqualVolumeBars не запускается! При компиляции выдает 3 ошибки:
'_Symbol' — variable already defined
'_Period' — variable already defined
'_Symbol' — constant cannot be modified
*wall* 
avatar

  0  bum-bum Сообщений: 1

  • 14 декабря 2015, 12:37
+
0
переименуйте и скомпилируйте
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 26 января 2016, 12:05
+
0
Добрый день! Появилась одна мысль по поводу тиков, но чтобы о ней писать нужна серьезная база тиков. Нашел Ваш пост, скачал советника TickSave, на компе работает отлично, решил поставить его на терминал одного из VSP серверов и упсс… он отказывается там работать(( Служба поддержки отвечает что это не их юрисдикция и типа обращайтесь к разработчикам…
Пожалуйста, подскажите в чем может быть причина?
avatar

  0  Soprotivlenie Сообщений: 1

  • 26 января 2016, 11:14

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий