Программа использующая DLL либо запускается, либо не запускается.
Эта функция имеет смысл, только когда DLL можно подключать по необходимости. В этом случае у программы появляется возможность использовать либо внутреннею, либо внешнею реализацию своих функций.
Есть тайный смысл. Мы ещё не отказались от мысли сделать позднее связывание функций.
stringo: Есть тайный смысл. Мы ещё не отказались от мысли сделать позднее связывание функций.
Ну и замашки у вас! :) Такими темпами MQL скоро начнут преподавать в ВУЗах как один из обычных высокоуровневых языков. Жаль только, что на прикладную составляющую языка из-за такой гонки тратится меньше времени.
А можно будет для конкретного советника установить в чемпионатном терминале значение TERMINAL_MAXBARS не в 1 500 000 баров, а, допустим, в 5 000 тысяч? Ведь если эксперт использует индикаторы, которым нужно максимум 600 последних баров, то выделение памяти под остальные1 499 400 "старых" баров (99,9%) является попросту излишним, неэкономным и т.д. При этом программно автор кода повлиять на TERMINAL_MAXBARS не может.
Или же, в силу так называемого формального "принципа равноправия", эксперт будет вынужден потреблять ресурсы, которые ему нафик не нужны, - лишь бы оказаться "на равных" с затратными ресурсоёмкими соперниками ("на равных" - в отношении глубины индикаторных буферов)?
Или же, в силу так называемого формального "принципа равноправия", эксперт будет вынужден потреблять ресурсы, которые ему нафик не нужны, - лишь бы оказаться "на равных" с затратными ресурсоёмкими соперниками ("на равных" - в отношении глубины индикаторных буферов)?
Можно ведь не рассчитывать все бары в наличии, ограничиваясь каким-то максимальным числом, теми же 6000. А само выделение памяти под индюк много ресурсов не сожрет.
TheXpert: Можно ведь не рассчитывать все бары в наличии, ограничиваясь каким-то максимальным числом, теми же 6000. А само выделение памяти под индюк много ресурсов не сожрет.
Так я и не рассчитываю все доступные бары. Вопрос же ведь в том, что под индикаторные буферы выделяется ровно столько памяти, сколько требуется под значение TERMINAL_MAXBARS. Если я всё правильно понимаю. А это значит, что вне зависимости от количества рассчитываемых мною сотен баров терминал пожирает ресурсы в десятки раз больше (в рамках примера), чем требуется для работы программы. Да, при использовании одного индикатора потребление памяти может быть не так заметно. Но если у эксперта 6 валют, каждая из которых имеет по 3 индикатора, и каждый индикатор имеет по 4 буфера (которые не уменьшить ухищрениями из статей), то уже получается около 70 индикаторных буферов. И если при значении TERMINAL_MAXBARS в 5 000 баров терминал и компьютер чувствуют себя прекрасно (поедая, образно говоря, порядка 5000*70=350 000 баров), то при "стандартном чемпионатном" значении TERMINAL_MAXBARS в 1,5 млн. тут же появляются претензии вполне определённого рода.
А какой тайный смысл у этой функции?
Программа использующая DLL либо запускается, либо не запускается.
Эта функция имеет смысл, только когда DLL можно подключать по необходимости. В этом случае у программы появляется возможность использовать либо внутреннею, либо внешнею реализацию своих функций.
Есть тайный смысл. Мы ещё не отказались от мысли сделать позднее связывание функций.
... Мы ещё не отказались ...
А можно будет для конкретного советника установить в чемпионатном терминале значение TERMINAL_MAXBARS не в 1 500 000 баров, а, допустим, в 5 000 тысяч? Ведь если эксперт использует индикаторы, которым нужно максимум 600 последних баров, то выделение памяти под остальные1 499 400 "старых" баров (99,9%) является попросту излишним, неэкономным и т.д. При этом программно автор кода повлиять на TERMINAL_MAXBARS не может.
Или же, в силу так называемого формального "принципа равноправия", эксперт будет вынужден потреблять ресурсы, которые ему нафик не нужны, - лишь бы оказаться "на равных" с затратными ресурсоёмкими соперниками ("на равных" - в отношении глубины индикаторных буферов)?
Или же, в силу так называемого формального "принципа равноправия", эксперт будет вынужден потреблять ресурсы, которые ему нафик не нужны, - лишь бы оказаться "на равных" с затратными ресурсоёмкими соперниками ("на равных" - в отношении глубины индикаторных буферов)?
Можно ведь не рассчитывать все бары в наличии, ограничиваясь каким-то максимальным числом, теми же 6000. А само выделение памяти под индюк много ресурсов не сожрет.
Мы можем обьем истории вынести в настройки конкурсного счета. Каждый сможет выбрать глубину в разумных пределах.
Отлично! Вот это решение!
PS. Как ни странно, принцип равноправия тоже соблюден. о_О Всё гениальное - просто.
Мы можем обьем истории вынести в настройки конкурсного счета. Каждый сможет выбрать глубину в разумных пределах.
Мы можем обьем истории вынести в настройки конкурсного счета. Каждый сможет выбрать глубину в разумных пределах.
Карте место!!
:)