Форум » Консультации по программированию » Увеличено количество буферов индикатора МТ4 до 512 » Ответить

Увеличено количество буферов индикатора МТ4 до 512

Genry: IndicatorBuffers Распределяет память для буферов, используемых для вычислений пользовательского индикатора. bool IndicatorBuffers( int count // количество расчетных буферов ); Параметры count [in] Количество расчетных буферов (от indicator_buffers до 512).

Ответов - 9 новых

Genry: https://docs.mql4.com/ru/customind/indicatorbuffers Неожиданно узнал что в МТ4 уже нет ограничения на 8 индикаторных буферов, можно и больше задействовать. Даже рисовать можно больше восьми.

Sergey: Genry пишет: Неожиданно узнал что в МТ4 уже нет ограничения на 8 индикаторных буферов, можно и больше задействовать. Даже рисовать можно больше восьми. Полезная информация!

Genry: Genry пишет: Полезная информация Да! Наконец возможности расширились , а то дурацкое ограничение доставало.


Scriptong: Да, такое нововведение имеет место. На сегодняшний день ему уже более трех лет. Правда, мне до сих пор не доводилось использовать эти возможности. Дело ведь в том, что все упирается в оперативную память. Каждый буфер индикатора автоматически занимает память, эквивалентную глубине истории. Исходя же из того, что пользователю достаточно редко нужны настолько глубокие данные, получаем, что память расходуется крайне неэкономно. Поэтому при небольших интервалах истории разумнее использовать графические объекты. Да, сам по себе этот метод более медленный, но в пересчете на количество данных может даже давать и выигрыш по сравнению с необходимостью пересчета всей истории для буфера индикатора. Но зато имеется безусловный выигрыш - оперативная память. Помнится, на эту тему даже возникал разговор с Ренатом. Предлагалось дать возможность программного указания глубины индикаторного буфера, чтобы не расходовать память зря. Он вроде бы даже согласился, но как-то с тех пор не видел информации о таком новшестве.

Genry: Scriptong пишет: Помнится, на эту тему даже возникал разговор с Ренатом. Предлагалось дать возможность программного указания глубины индикаторного буфера, чтобы не расходовать память зря. Он вроде бы даже согласился, но как-то с тех пор не видел информации о таком новшестве. Да, это полезное дополнение, жаль что зависло!

Sergey: Scriptong пишет: Предлагалось дать возможность программного указания глубины индикаторного буфера, чтобы не расходовать память зря. А разве SetIndexDrawBegin() не выполняет эту функцию?

Scriptong: Sergey пишет: А разве SetIndexDrawBegin() не выполняет эту функцию? Нет. Он только подавляет отрисовку значений. А сами элементы массива доступны в индикаторе. В справке прямо об этом написано: Значения индикаторного массива, находящиеся левее указанного бара, не будут рисоваться на графике и отображаться в окне DataWindow. По умолчанию устанавливается значение 0.

Balbesik: Scriptong пишет: Нет. Он только подавляет отрисовку значений. А сами элементы массива доступны в индикаторе. В справке прямо об этом написано: Вопрос решается вот здесь - Игорь, забыл добавить, что САМ МТ это 3 Гига (позволяет только в этом пределе и работаете Вы только в рамках этой 3-ки и "насрать" на Ваш комп) + Винда + "навороты" = остается "пшено" для сегодня = вариант "скидывать" память. P.S. Сделал c 2-х файлообменников, следовательно проблема форума.

Admin: Balbesik пишет: следовательно проблема форума. Нет, это не проблема форума. Ссылка вставлена неверно (было: http://shot.qip.ru/00QdZv-1f35S7lV0/, а нужно http://f1.s.qip.ru/~f35S7lV0.png, для удобства на файлообменнике даже список ссылок есть - используйте FastBB). Исправил.



полная версия страницы