Ошибки, баги, вопросы - страница 3038
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
костыльное решение - держать БД в одной папке, а в папки агентов подсунуть ссылки на папку с БД
предлагал давно ещё реализовать в МТ штатную возможность выбирать путь к папкам с исходниками, историческими базами.
если несколько терминалов обращаются к с символу одного брокера, то используя ссылки можно нарваться на ошибку доступа, но для агентов это не должно (теоретически) быть проблемой.
Неужто оно?! В справке по МТ5 ничего не нашёл об этой вкладке настроек, когда появилась? - категорически затрудняюсь себе ответить.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Andrey Dik, 2021.05.30 19:58
костыльное решение - держать БД в одной папке, а в папки агентов подсунуть ссылки на папку с БД
предлагал давно ещё реализовать в МТ штатную возможность выбирать путь к папкам с исходниками, историческими базами.
если несколько терминалов обращаются к с символу одного брокера, то используя ссылки можно нарваться на ошибку доступа, но для агентов это не должно (теоретически) быть проблемой.
ну для того чтобы выстрелить себе в ногу - существует и так бесчисленное множество вариантов.
Как раз, если установить max_bars = Unlimited, то потребление памяти резко возрастает.
Вот пример теминал с max_bars = 5000
а теперь меняем max_bars = Unlimited и перегружаем терминал.
При тех же открытых окнах потребление памяти увеличилось на более чем Гб. В моем случае в 11 раз !!!!
Нормальный такой некостыль ))
Можете проверить сами.
max_bars = Unlimited - это очень жесткая роскошь.
если теперь разговор о потреблении памяти, то помнится пару месяцев назад @fxsaber бился с такой же проблемой, но при загрузке тиков - после освобождения массивов с тиками, терминал не освобождает память, а хранит (секунд 10? ) эти тики в качестве кэша
высока вероятность, что и Ваша просьба будет иметь аналогичную проблему - потребление памяти не уменьшится, а наоборот увеличится ( в пике )
Это обеспечивает терминал.
Да, именно так.
Спасибо за ответ!
Было бы очень удобно иметь оператор/функцию в языке MQL5, которая проверяет окончание расчета всех индикаторов, и если индикаторы рассчитаны, то выдает true, иначе это приходится делать своей функцией, проверяя каждый буфер индикатора. Это очень актуально для советника, работающего с мульти ТФ индикаторами. И, данная особенность задержки расчета не позволяет корректно использовать режим OHLC, так как на первом да и втором тике не все индикаторы рассчитываются, что критично.
маленький хинт - можно закрыть все графики кроме нужного, тогда потребление будет примерно на уровне того, как если бы ваш костыль реализовали.
старперская логика
На VPS у меня так и есть, но рабочем компе уж извините. Не хочу быть ничем ограничен.если теперь разговор о потреблении памяти, то помнится пару месяцев назад @fxsaber бился с такой же проблемой, но при загрузке тиков - после освобождения массивов с тиками, терминал не освобождает память, а хранит (секунд 10? ) эти тики в качестве кэша
высока вероятность, что и Ваша просьба будет иметь аналогичную проблему - потребление памяти не уменьшится, а наоборот увеличится ( в пике )
не понимаю почему.
Я знаю как пользоваться функцией ArrayFree.
Тем более я буду изпользовать функцию, о которой прошу, только лишь раз. Но при этом мне не нужно влючать Unlimited.
Вся история по одному инструменту умещается где-то в 80-100 Мб (и в ОЗУ и на диске). Сейчас на диске это где-то 500 Мб.
Включил терминал - загрузил массив структур с файла в память и работаешь спокойно. Никаких пиков нет.
Я бы использовал штатную структуру данных. Хрен с тем, что места много есть. Но мне нужно время для High и Low.
Тики я и так использую на полную катушку в формировании моей структуры данных, но они не имеют всей глубины истории и имеют, как правило рассогласования с минутными барами. То тики есть, баров нет, то бары есть - тиков нет.
ну для того чтобы выстрелить себе в ногу - существует и так бесчисленное множество вариантов.
Как раз, если установить max_bars = Unlimited, то потребление памяти резко возрастает.
Вот пример теминал с max_bars = 5000
а теперь меняем max_bars = Unlimited и перегружаем терминал.
При тех же открытых окнах потребление памяти увеличилось на более чем Гб. В моем случае в 11 раз !!!!
Нормальный такой некостыль ))
Можете проверить сами.
max_bars = Unlimited - это очень жесткая роскошь.
Если бы моя просьба была бы удовлетворена, то можно ни когда не использовать max_bars = Unlimited.
И кроме экономии памяти в ОЗУ, также очень сильно бы уменьшилась эта папка, которая у меня сейчас около 31 Гб. Думаю где-то в раз 5. И было бы 6Гб вместо 30Гб
Так ты предлагаешь всем сделать невыключаемый Unlimited!
Если у одной программы есть доступ ко всем барам, то он есть у всех.
Почему графики должны показывать тысячу баров, если индикатору доступно миллион?
Другой вопрос — открыть доступ к формату hcc и к папке с историческими файлами. Но там тоже не все просто — кэши, экономный сброс, проверка на корректность, что-то еще..
2940
был код индикатора: всё замечательно работало и на чарте и в тестере.
создал новую версию индикатора с внесёнными изменениями: на чарте работает нормально а в тестере нет (совершенно ничего не рисует, хотя в окне данных буферы отображаются и они пустые).
потратил несколько часов что бы разобраться, откатывал назад вплоть до предыдущей версии кода, ничего не помогало. помогло только обновление в Навигаторе терминала и новый код стал работать в тестере тоже а не только на чарте.
по моему что то сломалось в автоматическом обновлении компилятов которые видит тестер, другой причины не вижу.
Я бы использовал штатную структуру данных. Хрен с тем, что места много есть. Но мне нужно время для High и Low.
Тики я и так использую на полную катушку в формировании моей структуры данных, но они не имеют всей глубины истории и имеют, как правило рассогласования с минутными барами. То тики есть, баров нет, то бары есть - тиков нет.
Были бы тики за 20 лет, использовал бы их? Можно я не буду интересоваться — зачем? )
Ну ок, можно настраивать супер-умную само-адаптирующуюся стратегию, и из интереса прогнать ее разок на 20-тилетней тиковой истории. Из интереса. Разок.
Но не для работы, не в виде штатной возможности.
А если рассинхрон, почему веришь барам? Это вообще нонсенс.
Так ты предлагаешь всем сделать невыключаемый Unlimited!
Если у одной программы есть доступ ко всем барам, то он есть у всех.
Почему графики должны показывать тысячу баров, если индикатору доступно миллион?
Другой вопрос — открыть доступ к формату hcc и к папке с историческими файлами. Но там тоже не все просто — кэши, экономный сброс, проверка на корректность, что-то еще..
не надо открывать доступ к формату hcc и к папке с историческими файлами. Во-первых на это MQ никогда не пойдет, во-вторых в этом нет необходимости. Просто получить массив M1 с этих файлов будет достаточно.
В том то и дело, что я хочу получить возможность никогда не включать Unlimited. Т.к. такое включение начинает качать данные по всем инструментам. Но мне не нужно по всем, а только по одному в данный момент времени. Зачем мне перегружать систему закачками дополнительных ненужных сотен Мб исторических данных, причем безконтрольный.