Если вы обращаетесь к hst файлам из экспертов штатно, то все работает и совместимость поддерживается. Конвертация данных работает на лету.
Если же самостоятельно читаете и модифицируете рабочие hst файлы, то делаете это на свой страх и риск.
Главная причина смены формата - совместимость с МТ5 и последующая миграция к более эффективному режиму работы с базами истории.
Посмотрите новую статью о форматах: https://www.mql5.com/ru/articles/1387
Если вы обращаетесь к hst файлам из экспертов штатно, то все работает и совместимость поддерживается. Конвертация данных работает на лету.
Если же самостоятельно читаете и модифицируете рабочие hst файлы, то делаете это на свой страх и риск.
Главная причина смены формата - совместимость с МТ5 и последующая миграция к более эффективному режиму работы с базами истории.
Посмотрите новую статью о форматах: https://www.mql5.com/ru/articles/1387
Ренат, спасибо. Остался маленький нюанс: в статье описан новый формат структуры для хранения информации о ценах, объемах и спреде:
struct MqlRates { datetime time; // время начала периода double open; // цена открытия double high; // наивысшая цена за период double low; // наименьшая цена за период double close; // цена закрытия long tick_volume; // тиковый объем int spread; // спред long real_volume; // торговый объем };
но ничего не упоминается о структуре заголовка файла истории. Она осталась неизменной? Или изменилась? Если изменилась, то какова она теперь?
но ничего не упоминается о структуре заголовка файла истории. Она осталась неизменной? Или изменилась? Если изменилась, то какова она теперь?
так со временем спреды в тестере будут такие же кривые как и в МТ5 ? Я очень против этого! Как по мне, то возможность самому выставлять спред - лучшее решение.
Возьмем к примеру минутную историю в МТ5. В реальности спреды меняются, а в истории остается спред близкий к максимальному за эту минуту. У меня в эксперте есть специальный модуль который как раз борется с такими расширениями. Но тестить весь бар на расширенном спреде - неправильно! С форексом ситуация еще более менее нормальная. А вот индекс РТС В тестере вообще бессмысленно тестировать, если стратегия предусматривает даже несколько сделок в минуту.
так всё-таки позвольте уточнить:
какова теперь структура заголовка файла .hst в мт4 ? то что она не изменилась - это мягко говоря не правда.
так всё-таки позвольте уточнить:
какова теперь структура заголовка файла .hst в мт4 ? то что она не изменилась - это мягко говоря не правда.
Пишу, как и раньше:
string copyright="(C)opyright 2003, MetaQuotes Software Corp."; int unused[13] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; FileWriteInteger(m_fileHandle, 401, LONG_VALUE); FileWriteString(m_fileHandle, copyright, 64); FileWriteString(m_fileHandle, m_symbol, 12); FileWriteInteger(m_fileHandle, m_tfNameInMinutes, LONG_VALUE); FileWriteInteger(m_fileHandle, m_digits, LONG_VALUE); FileWriteInteger(m_fileHandle, 0, LONG_VALUE); FileWriteInteger(m_fileHandle, 0, LONG_VALUE); FileWriteArray(m_fileHandle, unused, 0, 13);
Если же писать и читать нештатными способами, то, конечно же, отличия будут, т. к. произошел переход на Unicode с ANSI.
простите, не совсем понял,
это у вас mql4 ? и я правильно вижу, что у вас тут функции для записи а не для чтения ? просто чтобы понять друг друга
мне записывать пока ничего не надо, мне просто прочитать файл программкой на c#, раньше примерно пару лет назад проблем не было никаких, а теперь всё как у товарища в начале этой темки. Если быть точнее, то считывается версия=401 длиной 4 байта, потом копирайт длиной 64 байта, потом нормально тикер длиной 12 байт, а вот дальше непонятно, всё ломается - таймфрейм длиной 4 байта уже считывается некорректно и т.д.
так со временем спреды в тестере будут такие же кривые как и в МТ5 ? Я очень против этого! Как по мне, то возможность самому выставлять спред - лучшее решение.
Возьмем к примеру минутную историю в МТ5. В реальности спреды меняются, а в истории остается спред близкий к максимальному за эту минуту. У меня в эксперте есть специальный модуль который как раз борется с такими расширениями. Но тестить весь бар на расширенном спреде - неправильно! С форексом ситуация еще более менее нормальная. А вот индекс РТС В тестере вообще бессмысленно тестировать, если стратегия предусматривает даже несколько сделок в минуту.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В субботу обновил терминал до v.4.00 b.604 - я просто не думал, что наступит апокалипсис!!!
Структура файла котировок с привычной и описанной в документации
изменилась непонятно как. Все скрипты и эксперты в MQL5, которые пользовались вышеописанной структурой для обращения к котирам из MT4 работать тупо перестали!
Зачем менять то, что работает?! Зачем тихушничать и не объявлять заранее о таких радикальных изменениях?! Какая теперь структура файла котировок?
Прикрепляю старый и новый формат, кто не верит - проверьте.