Новая версия платформы MetaTrader 5 build 1595: доступ к ценовой истории - страница 12
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В новой версии терминала, которая скоро выйдет, мы полностью переписали работу с огромной историей и теперь ничего не тормозит.
Если без багов, то очень хорошо! Правда, почему потребление памяти выросло на 70%? И, вообще, почему такое огромное количество памяти уходит на прогон 29 Мб тиков?
И могли бы рассказать причину, почему не сделали принципиально такой давно проверенный подход работы с историей?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.04.20 09:11
если в терминале и так есть история, то почему к ней обязываете обращаться через HistorySelect, а не по принципу MT4 - SELECT_BY_POS? И что совсем непонятно, зачем HistoryDealGet* реализован через тикет с соответствующей O(N), когда логично опять же через SELECT_BY_POS?
Очень интересные записи
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.04.19 22:15
HistoryDealGet* и HistoryOrderGet*-функции написаны очень странно, с точки зрения производительности.
Когда делаю HistorySelect, например, на 100К отдельных записей. То HistoryDealGet-функция требует первым аргументом не номер записи в исторической таблице, а тикет. При этом таблица отсортирована по времени, а не по тикету. Поэтому при выполнении, первое, что делает HistoryDealGet-функция, это бежит каждый раз по таблице и ищет подходящий Ticket.
Зачем столь нерациональное расходование ресурсов?! Получается, что самый первый тикет и самый последний будут выполняться с разными скоростями. И чтобы получить все характеристики последней сделки, HistoryDealGet-функции будут каждый раз пробегать всю таблицу.
Почему не сделать нормально?
И как HFT-робота тестировать, если для того, чтобы узнать размер комиссии текущей позиции, нужно лезть каждый раз в тормозную историю через HistorySelect и ни в коем случае не через HistorySelectByPosition? Посмотреть проскальзывание отложенного ордера превращается в треш производительности!
Экспорт истории работает, а импорта нету. Уже много лет обещают и никак сделать не могут. Мне кажется это из-за неправильного подхода хранения исторических данных. Когда-то я пытался расшифровать файлы истории MT5 и оказалось в них целый атомный ледокол "Ленин", - то есть навороченные типа "горе от ума". Нечто похожее я видел в НиньдзяТрейдер (содрали с них, что ли). Фактически в МТ5 все что нужно было сделать, это взять те же файлы hst как в MT4 и добавить OHLC - Ask, без всякой записи какого-то среднего спреда, что неправильно как это сделано в МТ5. Это было бы просто и оптимально. И работать было бы с историей легко.
Если на написание скрипта для импорта в hst для MT4 нужно потратить 2-3 часа, а с интерфейсом в виде дополнения 2-3 дня, ну неделю от силы. То для МТ5 разработчикам видимо понадобится 2-3 года. Уже более года наверное прошло, как было заявлено.
Экспорт истории работает, а импорта нету. Уже много лет отбещают и никак сделать не могут. Мне кажется это из-за неправильного подхода хранения исторических данных. Когда-то я пытался расшифровать файлы истории MT5 и оказалось в них целый атомный ледокол "Ленин", - то есть навороченные типа "горе от ума". Нечто похожее я видел в НиньдзяТрейдер (содрали с них, что ли). Фактически в МТ5 все что нужно было сделать, это взять те же файлы hst как в MT4 и добавить OHLC - Ask, без всякой записи какого-то среднего спреда, что неправильно как это сделано в МТ5. Это было бы просто и оптимально. И работать было бы с историей легко.
Вы все в свое костылестроение смотрите. Тем более, что вы своими импортами пытаетесь решать проблемы, которые давно уже штатно решены в МТ5.
А мир изменился и ему нужно другое - пользоваться и не задумываться. Именно так МТ5 и работает: все данные и тики доступны автоматически.
Мир - это не 100 трейдеров, которым нравится играть в импорт и собственную разработку инфраструктуры. Трейдеры совсем в другом месте находятся и им совсем другого уровня сервис нужен.
Вы все в свое костылестроение смотрите. Тем более, что вы своими импортами пытаетесь решать проблемы, которые давно уже штатно решены в МТ5.
А мир изменился и ему нужно другое - пользоваться и не задумываться. Именно так МТ5 и работает: все данные и тики доступны автоматически.
Мир - это не 100 трейдеров, которым нравится играть в импорт и собственную разработку инфраструктуры. Трейдеры совсем в другом месте находятся и им совсем другого уровня сервис нужен.
1596 мт5
терминал перестал принимать индикаторы. перегрузил счет, открыл новые графики - ни один индикатор не ставится на график.
В логах ничего.
1596 мт5
терминал перестал принимать индикаторы. перегрузил счет, открыл новые графики - ни один индикатор не ставится на график.
В логах ничего.
А в свойствах индикаторов, случайно, не отключили все таймфреймы:
?
А в свойствах индикаторов, случайно, не отключили все таймфреймы:
?
Извините, индикатор не мой. открыл код - там перерасчет Массивов МА.
из-за этого на всей истории он "вешает" терминал. поставил - обрабатывать макс 100 баров - все работает
Недавно обновился на новый билд и обнаружил, что перестало работать копирование простых структур друг в друга. При том что в документации эта возможность всегда была чётко прописана. И прописана до сих пор:
Простые структуры
Структуры, которые не содержат строки, объекты класса и объекты динамических массивов, называются простыми структурами; переменные таких структур могут свободно копироваться друг в друга, даже если это разные структуры.
За долгие годы было написано много кода по этим правилам. А теперь в сервис-деске вдруг заявляют, мол теперь копирование структур запрещено, а справку забыли поправить. Вот так просто. Причём даже никаких анонсов этого нововведения я не видел. Ну как так можно, господа? Почему вы так несерьёзно и наплевательски относитесь к пользователям? Сами не пробовали поставить себя на их место? Годами отлаживаешь коды, потом вдруг правила меняются на ходу - и всё по новой. Бесконечный процесс переписывания кода. Сейчас вот юнионы подсовывают, завтра опять поменяют правила... Зачем нужен такой язык?
Я понимаю раньше, когда язык был просто дополнительной фичей для МТ, то такое наплевательское отношение ещё можно было понять. Но сейчас когда на базе языка уже выстроена куча сервисов...
Недавно обновился на новый билд и обнаружил, что перестало работать копирование простых структур друг в друга.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2017.04.27 13:38
Там произвольный кастинг через union - любые простые структуры без кастомных конструкторов и операторов копирования. Для всех статей на этом ресурсе этот кастинг будет работать.
Более тонкое изменение, это то, что теперь указатель на объект класса считается компилятором также объектом. Например, если указатель является полем структуры, то она перестает быть простой.
Так это всегда так было.
Но вообще я речь вёл не о том, как придумать очередной костыль к MQL, а о том, что может пора бы уже разработчикам начать серьёзней относится и к своему продукту, и к пользователям. Тем более если эти пользователи на базе этого языка создают продукты в Маркете, принося потом доход компании. По факту MQL - вечно сырой продукт. Сегодня программа на нём работает, а через месяц уже нет. Куда такое годится.