Вопрос программистам - Восьмибуферный многовалютный индикатор с вложенным 7 буферным. - страница 3
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Народ я вставил внутрь индикатор, но не поверите стало ещё хуже, полагаю, потому что увеличивается количество расчетов, ведь приходится с каждым обращением пересчитывать тоже самое...По крайней мере, я не понял как это организовать, чтоб не пересчитывал историю... Эмулировать буфера?
Я попробовал вставить хотя бы 2-хбуферный индикатор, там 2 цикла... 1 цикл пропадает, 1 остаётся, организую как функцию, отвожу место под массив. В результате виснет терминал, не загрузить индикатор...
Помогло, кстати, вычисления через минуту.
Эмулировать буфера?
естесно
в идеале нужно интегрировать все в одном зацикленном скрипте (индикатор и советник)
содержимое буферов транслировать в глобальные переменные и далее отдельным индикатором выводить на экран
переменные extern тоже заменить на глобальные переменные
еще одна идея по поводу такой организации -
сохраняем время последнего обращения к индикатору, затем при следующей вызове определяем сколько расчетных данных необходимо расчитывать - следствие : смещаем буфера расчета на определенное кол-во расчитывваемых значений и проводим расчет недостающих значений.. получается у нас уменьшается время расчета и увеличивается кол-во расчетных значений..только есть в этом случае некоторая загвоздка - если индикатор перерисовывающийся то придется отказаться от буфера пересчета..т.е. выше описанного метода..
Успехов..
естесно
в идеале нужно интегрировать все в одном зацикленном скрипте (индикатор и советник)
содержимое буферов транслировать в глобальные переменные и далее отдельным индикатором выводить на экран
переменные extern тоже заменить на глобальные переменные
содержимое буферов транслировать в глобальные переменные- это как?
содержимое буферов транслировать в глобальные переменные- это как?
А для чего в глобальные.?. не понял. Мне эти буфера выводить не надо,только для расчета, сделаю в одном цикле, хоть и запара это, и будет недостаточно? И главное, спасибо.
Привет всем. Я припознился (кучу вкусных советов уже накидали) но позволю себе вставить исчё один.
Если не принципиально использование Close или Open, то можно делать расчёт по Open и поставить запрет на запуск при каждом тике,
тогда появляется время для расчёта аж целый бар.
Я так делаю во многих тяжелых индюках.
____________________________________________________________________________________________________________Open рулит.
Привет всем. Я припознился (кучу вкусных советов уже накидали) но позволю себе вставить исчё один.
Если не принципиально использование Close или Open, то можно делать расчёт по Open и поставить запрет на запуск при каждом тике,
тогда появляется время для расчёта аж целый бар.
Я так делаю во многих тяжелых индюках.
____________________________________________________________________________________________________________Open рулит.
Это уже используется. На выходе получаю:
memory handler,
инкорреут старт позишн,
аррэй инициализатион функцион,
cannot resize array,
подвисание компьютера(с этим уже лучше после минутки) и терминала (осталось молится на 1 индикатор, а их желательно таких 6 повесить),
отсутствие параметров в индикаторе при повторном заходе.
Это уже используется...
А сколько времени идёт расчёт?
Это уже используется. На выходе получаю:
memory handler,
инкорреут старт позишн,
аррэй инициализатион функцион,
cannot resize array,
подвисание компьютера(с этим уже лучше после минутки) и терминала (осталось молится на 1 индикатор, а их желательно таких 6 повесить),
отсутствие параметров в индикаторе при повторном заходе.
лучше покажи как ты используешь память инициализация и изменение..