Изначально была идея писать тики с точностью миллисекунды, а не секунды, как позволяет MQL4/5. Но в кодобазе мой код зарубили, так как использовалась windows dll "Kernel32.dll". Заставили ее убрать и порезать функционал.
Вот оригинальные советники для МТ4/5 с точностью в миллисекунды, пользуйтесь лучше ими.
Изначально была идея писать тики с точностью миллисекунды, а не секунды, как позволяет MQL4/5. Но в кодобазе мой код зарубили, так как использовалась windows dll "Kernel32.dll". Заставили ее убрать и порезать функционал.
Вот оригинальные советники для МТ4/5 с точностью в миллисекунды, пользуйтесь лучше ими.
Алексей подскажите пожалуйста почему я не вижу ваши индикаторы на графике я уже все перепробовал
Алексей подскажите пожалуйста почему я не вижу ваши индикаторы на графике я уже все перепробовал
Разве вы что-то должны видеть на графике? Читайте описание, там написано: Утилита предназначена для записи тиковых котировок в текстовом (CSV) и бинарном (BIN) форматах.
Алексей, несколько замечаний.
1. У вас отсутствует выбирание символа через SymbolSelect, а это нужно для получения котировок по всем символам.
2. Желательно как-то учитывать текущий торговый сервер при задании имён (или пути) файлов. Чтоб при переключении на счёт другого брокера он не писал в те же самые файлы. Ну либо просто прекращать работу при смене торгового сервера.
3. Не мешало бы добавить проверку на наличие подключения к торговому серверу. Иначе при обрыве связи он будет продолжать писать, и потом не узнаешь, что в этом месте был обрыв.
4. В mql действует идиотское ограничение на количество одновременно открытых файлов (не более 64 штук), поэтому имейте ввиду, код надо усложнять.Разве вы что-то должны видеть на графике? Читайте описание, там написано: Утилита предназначена для записи тиковых котировок в текстовом (CSV) и бинарном (BIN) форматах.
Евгений, спасибо, почему-то не приходят сообщения в личку на новые комменты в КБ. Чисто случайно сейчас увидел.
Алексей, несколько замечаний.
1. У вас отсутствует выбирание символа через SymbolSelect, а это нужно для получения котировок по всем символам.
2. Желательно как-то учитывать текущий торговый сервер при задании имён (или пути) файлов. Чтоб при переключении на счёт другого брокера он не писал в те же самые файлы. Ну либо просто прекращать работу при смене торгового сервера.
3. Не мешало бы добавить проверку на наличие подключения к торговому серверу. Иначе при обрыве связи он будет продолжать писать, и потом не узнаешь, что в этом месте был обрыв.
4. В mql действует идиотское ограничение на количество одновременно открытых файлов (не более 64 штук), поэтому имейте ввиду, код надо усложнять.Алексей, спасибо за замечания, надо поправить. Только насчет Symbol Select не очень уверен. В хелпе в примерах он не используется и вообще описание крайне туманное. Такое чувство, что его вообще отключили в плане обновления данных, только в MarketWatch удаляет-выбирает символы.
Вот из хелпа кусок примера. А вот SymbolIsSynchronized наверное надо ставить.
Проверяет факт синхронизированности данных по указанному символу в терминале с данными на торговом сервере
void OnStart() { //--- int attempts=0; // счетчик попыток bool success=false; // флаг успешного выполнения копирования тиков MqlTick tick_array[]; // массив для приема тиков MqlTick lasttick; // для получения данных последнего тика SymbolInfoTick(_Symbol,lasttick); //--- сделаем 3 попытки получить тики
***
Алексей, спасибо за замечания, надо поправить. Только насчет Symbol Select не очень уверен. В хелпе в примерах он не используется и вообще описание крайне туманное. Такое чувство, что его вообще отключили в плане обновления данных, только в MarketWatch удаляет-выбирает символы.
Вот из хелпа кусок примера. А вот SymbolIsSynchronized наверное надо ставить.
Проверяет факт синхронизированности данных по указанному символу в терминале с данными на торговом сервере
***
К чему гадать. Всё ж легко проверяется. Попробуйте получить котировку по любому символу, отсутствующему в Обзоре рынка. Получите нули. Поэтому обязательно нужно его выбрать сначала.
А SymbolIsSynchronized - это что-то другое. Честно говоря, не очень понимаю её смысл, т.к. котировки вроде всегда синхронизируются с сервером (при наличии подключения). Хотя вот сейчас на выходных она выдаёт false. Возможно подразумевается не сервер, а торговая площадка, с которой поступают котировки. Тогда действительно это необходимая функция, которую тоже надо учитывать.
К чему гадать. Всё ж легко проверяется. Попробуйте получить котировку по любому символу, отсутствующему в Обзоре рынка. Получите нули. Поэтому обязательно нужно его выбрать сначала.
А SymbolIsSynchronized - это что-то другое. Честно говоря, не очень понимаю её смысл, т.к. котировки вроде всегда синхронизируются с сервером (при наличии подключения). Хотя вот сейчас на выходных она выдаёт false. Возможно подразумевается не сервер, а торговая площадка, с которой поступают котировки. Тогда действительно это необходимая функция, которую тоже надо учитывать.
Ясно, я всегда все символы держу в Обзоре, такого варианта не предусмотрел. Вот и наглядная польза от комьюнити, один человек что-то упусти, а другой заметит.
Помню, давно еще, студентами, с другом - электроником разрабатывали один проект, работали на пару, я был довольно хорошим электроником.
И заметили, насколько меньше стало ошибок и возросла скорость. Он что-то упустит, я подмечу, и наоборот.
PS: сайт подсвечивает красным слово Электроник, а это официальное название профессии, у меня так в трудовой и записано давным-давно. Не путать с фильмом "Приключения Электроника" ))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
SaveTicks:
Утилита предназначена для записи тиковых котировок в текстовом (CSV) и бинарном (BIN) форматах. Файлы записываются в папку MQL5\Files. Котировки пишутся с постоянной частотой выборки, что удобно для последующего анализа в математических программах.
Входные параметры
Автор: Alexey Volchanskiy