Пользовательские символы. Ошибки, баги, вопросы, предложения. - страница 35
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ошибка (b3510) в работе CustomTicksAdd - нарушена хронология в истории тиков.
Результат запуска на MQ-Demo.
Нарушена хронология!
Строка для поиска: Oshibka 053.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Тестер стратегий MetaTrader 5: ошибки, баги, предложения по улучшению работы
fxsaber, 2022.11.20 23:43
Тестер берет какие-то скрытые настройки из кастомного символа, которые недоступны через MQL-свойства и json-конфигурацию. Почему свойства кастомного символа не имеют полной прозрачности - отдельный (важный) вопрос.
Что хранится в свойствах кастомного символа - полностью пока неизвестно.
Подскажите знающие.
Вот тут столкнулся впервые с кастомными символами. Думал что может быть проще чем операции импорта/экспорта :)
Вообщем создал символ, загрузил историю по минуткам. Спред поставил везде 1, тиковый объём =10. реальный объём = 1. График символа отображается, всё норм. В архиве котировок, если посмотреть, всё норм, красных баров нету. Запускаю визуальный тестер - результата нет никакого. Он просто не запускается.
Что тут надо сделать такого очевидно-невероятного, чтобы всё заработало?
Если важно вот куски кода:
Данные идут из такого файла:
<TICKER>;<PER>;<DATE>;<TIME>;<OPEN>;<HIGH>;<LOW>;<CLOSE>
SPFB.RTS;60;030122;080000;159,950.0000000;160,960.0000000;159,200.0000000;159,540.0000000
SPFB.RTS;60;030122;090000;159,530.0000000;160,580.0000000;159,470.0000000;160,530.0000000
Всё это запиcываю в цикле в структуру MqlRates:
Ну а далее делаю так:Я сбросил время котировки из файла, и поставил минутное время начала баров с текущего символа.
Изначально тиковый объём был = 1, но тоже не заработало. Тут начитался на форуме что это может оказывается влиять, поэтому поставил 10 но результат тот же - нулевой.
Только что подумал что может быть незаполнил что то важное в описании символа. В итоге скопировал евробакс, снёс всё его историю и загрузил свою, но результат тот же - нулевой.
Кто нить в тестер вообще смогу загрузить кастомный символ ? Поделитесь магией.
Запускаю визуальный тестер - результата нет никакого.
Похоже, очень хороший способ решить проблему с кастомными символами в Тестере - метод воспроизведения в виде архива.
Так сделал здесь. Посмотрите содержимое архива. Там только те файлы, что нужны для воспроизведения проблемы на любом билде Терминала. Вы можете поступить аналогично, тогда любой при желании сможет воспроизвести проблему меньше, чем за минуту. Удобный и универсальный способ. И безопасный, т.к. нет никаких exe-файлов.
Попробуйте разобраться один раз в архиве по ссылке. И по аналогии создайте zip-файл. Это максимальный перевод решения проблемы в конструктив. Наилучший способ разобраться в проблеме.
Кто нить в тестер вообще смог загрузить кастомный символ ?
Продолжительное время работаю ТОЛЬКО с кастомными символами в Тестере и рекомендовал бы делать так любому разработчику.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Пользовательские символы. Ошибки, баги, вопросы, предложения.
Alexey Oreshkin, 2022.12.03 15:07
rt[num].time = 0;
CustomRatesUpdate(in_new_symbol_name, rt);
Сам использую только CustomRatesReplace. В любом случае при работе с Custom-функциями для разборов всегда нужно проверять возвращаемое значение и код ошибки.
Сам использую только CustomRatesReplace. В любом случае при работе с Custom-функциями для разборов всегда нужно проверять возвращаемое значение и код ошибки.
Я вначале обнуляю время, Мне оно из файла не важно ,а далее вот тут
вставляю это время с существующих минутных баров. Поэтому когда дохожу до
CustomRatesUpdate
то время уже есть. Да и в истории цены тоже есть
Сейчас проверю ссылку и архив выше.Но главное вот: Продолжительное время работаю ТОЛЬКО с кастомными символами в Тестере - значит всё работает, осталось разобраться, жаль конечно что не всё так просто и очевидно, и приходиться тратить время на сопутствующие вещи а не на основные.
CustomTicksReplace и CustomTicksAdd не сохраняют флаги TICK_FLAG_BUY и TICK_FLAG_SELL. Соответственно на пользовательском символе не будут работать индикаторы типа Дельты. Почему разработчики решили не сохранять эти флаги?
Ivan Titov #:
CustomTicksReplace сохраняет вроде. Правда при этом зачем-то удаляет минутные бары.
Бары автоматически перестраиваются согласно записанным тикам.
A CustomTicksAdd выдает ошибку 5310, хотя входной массив упорядочен.
Скрипт с воспроизведением - меньше гадать.
Бары автоматически перестраиваются согласно записанным тикам.
Скрипт с воспроизведением - меньше гадать.
Я добавляю тики только с флагами TICK_FLAG_BUY и TICK_FLAG_SELL. Они разве имеют отношение к барам?