Ошибки, баги, вопросы - страница 3038

 
Andrey Khatimlianskii:

Весь вопрос в соотношении "время на сжатие/распаковку" vs "занимаемое место на диске".

Конечно, можно найти более оптимальное решение. Просто в рамках терминала это немного сложнее, чем в рамках частного решения "для себя".

речь идет не о зиповании данных, а их логическом ужимании с формировании индексных массивов. Время доступа к элементу массива почти одинаковое. В некоторых случаях даже быстрее. 

 
Nikolai Semko:

речь идет не о зиповании данных, а их логическом ужимании с формировании индексных массивов. Время доступа к элементу массива почти одинаковое. В некоторых случаях даже быстрее. 

Готов предложить MQ решение?

Я не склонен считать кого-то, кто сделал что-то типа МТ, идиотами. Это не всегда оправдано, но часто именно так. Значит, скорее всего, в их решении есть какая-то подоплека. Но это не точно )

 
Andrey Khatimlianskii:

В чем костыльность?

Что миллион пользователей защищен (и брокеры вместе с ними), а тебе нужно перезагрузить терминал 2 раза?

По мне, так логичное решение. Куда логичнее, чем делать удобно одному тебе )

в чем защита, Андрей?
Не надо ничего перезагружать.
Данные уже есть в файлах. 

 
Andrey Khatimlianskii:

Готов предложить MQ решение?

Я не склонен считать кого-то, кто сделал что-то типа МТ, идиотами. Это не всегда оправдано, но часто именно так. Значит, скорее всего, в их решении есть какая-то подоплека. Но это не точно )

да перестань. 
Всегда можно найти решение, лучшее существующему. 
Не превращайся хоть ты в старпера.

 
Nikolai Semko:

в чем защита, Андрей?
Не надо ничего перезагружать.
Данные уже есть в файлах. 

В том, что эти данные не будут читать индикаторы и советники, загружая еще и оперативку. Зачем это?

 
Nikolai Semko:

да перестань. 
Всегда можно найти решение, лучшее существующему. 
Не превращайся хоть ты в старпера.

Уверен, что можно.

Значит, возможно, это не такая приоритетная задача.

 
Andrey Khatimlianskii:

В том, что эти данные не будут читать индикаторы и советники, загружая еще и оперативку. Зачем это?

ну для того чтобы выстрелить себе в ногу - существует и так бесчисленное множество вариантов. 
Как раз, если установить max_bars = Unlimited, то потребление памяти резко возрастает. 
Вот пример теминал с  max_bars = 5000

а теперь меняем  max_bars = Unlimited и перегружаем терминал.

При тех же открытых окнах потребление памяти увеличилось на более чем Гб. В моем случае в 11 раз !!!!
Нормальный такой некостыль ))
Можете проверить сами. 
max_bars = Unlimited - это очень жесткая роскошь.

Если бы моя просьба была бы удовлетворена, то можно ни когда не использовать max_bars = Unlimited.
И кроме экономии памяти в ОЗУ, также очень сильно бы уменьшилась эта папка, которая у меня сейчас около 31 Гб. Думаю где-то в раз 5. И было бы 6Гб вместо 30Гб


 
Andrey Dik:

костыльное решение - держать БД в одной папке, а в папки агентов подсунуть ссылки на папку с БД

предлагал давно ещё реализовать в МТ штатную возможность выбирать путь к папкам с исходниками, историческими базами.

если несколько терминалов обращаются к с символу одного брокера, то используя ссылки можно нарваться на ошибку доступа, но для агентов это не должно (теоретически) быть проблемой.

Неужто оно?! В справке по МТ5 ничего не нашёл об этой вкладке настроек, когда появилась? - категорически затрудняюсь себе ответить.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Andrey Dik, 2021.05.30 19:58

костыльное решение - держать БД в одной папке, а в папки агентов подсунуть ссылки на папку с БД

предлагал давно ещё реализовать в МТ штатную возможность выбирать путь к папкам с исходниками, историческими базами.

если несколько терминалов обращаются к с символу одного брокера, то используя ссылки можно нарваться на ошибку доступа, но для агентов это не должно (теоретически) быть проблемой.


 
Nikolai Semko:

ну для того чтобы выстрелить себе в ногу - существует и так бесчисленное множество вариантов. 
Как раз, если установить max_bars = Unlimited, то потребление памяти резко возрастает. 
Вот пример теминал с  max_bars = 5000

а теперь меняем  max_bars = Unlimited и перегружаем терминал.

При тех же открытых окнах потребление памяти увеличилось на более чем Гб. В моем случае в 11 раз !!!!
Нормальный такой некостыль ))
Можете проверить сами. 
max_bars = Unlimited - это очень жесткая роскошь.

если теперь разговор о потреблении памяти, то помнится пару месяцев назад @fxsaber бился с такой же проблемой, но при загрузке тиков - после освобождения массивов с тиками, терминал не освобождает память, а хранит (секунд 10? ) эти тики в качестве кэша

высока вероятность, что и Ваша просьба будет иметь аналогичную проблему - потребление памяти не уменьшится, а наоборот увеличится ( в пике )

 
Anton:

Это обеспечивает терминал.

Да, именно так.

Спасибо за ответ!

Было бы очень удобно иметь оператор/функцию в языке MQL5, которая проверяет окончание расчета всех индикаторов, и если индикаторы рассчитаны, то выдает true, иначе это приходится делать своей функцией, проверяя каждый буфер индикатора. Это очень актуально для советника, работающего с мульти ТФ индикаторами. И, данная особенность задержки расчета не позволяет корректно использовать режим OHLC, так как на первом да и втором тике не все индикаторы рассчитываются, что критично.