
Работать в 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) Сохранение тиковой истории позволяет любому трейдеру изучать более подробно поведение рынка в тех или иных условиях. Например,
развитие ситуации во время выхода важных новостей, когда минутные бары уже не всегда несут в себе данные, достаточные для детального анализа.
Желаю Удачи!
Комментарии (29)
5 Kopernik Сообщений: 55 - Суперинтуит
Это серьезный минус. Смысл в дате есть и не маленький.
11 pilot Сообщений: 410
8 Paguk Сообщений: 328 - суровый трейдер
11 pilot Сообщений: 410
9 amyrgan145 Сообщений: 428 - Амыр
9 amyrgan145 Сообщений: 428 - Амыр
47 Kaur Автор Сообщений: 1331 - Руслан Каюмов
9 amyrgan145 Сообщений: 428 - Амыр
47 Kaur Автор Сообщений: 1331 - Руслан Каюмов
9 amyrgan145 Сообщений: 428 - Амыр
Тезис 1: При тестировании из загруженных с сервака котировак минут, там даются только цены опен лоу хай и клоус, т.е. поэтому при тестировании качество моделирования не превышает 90%, а при тесте минуток — не больше 25%.
Тезис 2: Мы научились сохранять каждый тик в отдельную базу котировок, т.е. у нас теперь есть не просто опен лоу хай и клоус, но и тики внутри интервала этой минуты.
Гипотеза: Сможем ли мы теперь, когда у нас есть тиковая история поднять качество моделировния при тестере советников до 99%?
P.S. 100% — достичь никогда не удастся.
9 amyrgan145 Сообщений: 428 - Амыр
Единственное — есть еще возможность повысить качество. Это исключить спайки, нерыночные выбросы. Если будете собирать тики, то такие выбросы непременно попадут в историю. Для их поиска можно наложить на тиковую историю контрольные точки (OHLC) от перезагруженного минутного графика.
Еще один момент. Качество приводится применительно к любой стратегии. Т.е. речь об универсальной оценке. Однако для тестирования, скажем, долгосрочной стратегии с целями и стопами, исчисляемыми сотнями пунктов, качество будет приближаться к 100%, даже при тестировании на М1, т.к. контрольных точек будет достаточно для тестирования.
Вместе с тем, для пипсовочной стратегии качество тестирования на М1 можно условно обозначить как 50%, т.к. движения внутри баров имеют решающее значение и без тиков тест имеет мало общего с реальностью.
Поэтому при тестировании надо всегда учитывать особенности стратегии.
47 Kaur Автор Сообщений: 1331 - Руслан Каюмов
9 amyrgan145 Сообщений: 428 - Амыр
47 Kaur Автор Сообщений: 1331 - Руслан Каюмов
9 amyrgan145 Сообщений: 428 - Амыр
0 elevator Сообщений: 1
И вопрос. Возможно ли сделать так чтобы на тиковом графике, полученного таким образом отображалась линия АКС вместе с линией БИД?
1 Anry Сообщений: 1
0 tamaz Сообщений: 1
9 amyrgan145 Сообщений: 428 - Амыр
7 Reniel Сообщений: 27 - Андрей
Гораздо важнее, что на разных ДЦ котировки могут отличаться легко на 20-70 пунктов (пятизначных). Это не сравнить с погрешностью от тиков. Все-таки на форексе трейдеры имеют дело не с биржевыми ценами, а с фильтрованными из потока. Значит о мелких погрешностях говорить смысла вообще нет.
12 BetMaster Сообщений: 433
0 lemonad Сообщений: 1
0 i999i Сообщений: 1
0 ivan2007007 Сообщений: 1
0 clavikkk Сообщений: 1
Это не мешает работать скомпилированному файлу exe
46 Bishop Сообщений: 5817 - АЛЬФАХАМЕЦ-Машковод
'_Symbol' — variable already defined
'_Period' — variable already defined
'_Symbol' — constant cannot be modified
0 bum-bum Сообщений: 1
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Пожалуйста, подскажите в чем может быть причина?
0 Soprotivlenie Сообщений: 1
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий