Хороший вопрос, только не сказан, много похожих индикаторов (один индикатор и разные настройки, или разные индикаторы целиком).
Когда много индикаторов, важным является использование памяти, хотелось бы услышать мысли и на этот счет.
И у меня вопрос про индикаторы, если индикатор есть в советнике, но советник обращался к нему пару часов/дней назад, то при повторном обращении он будет пересчитан/досчитан или независимо от обращения расчеты индикатора происходят на каждом тике (новом баре)?
Хороший вопрос, только не сказан, много похожих индикаторов (один индикатор и разные настройки, или разные индикаторы целиком).
***
Пока речь об одном типе индикатора, на одном таймфрейме, но с разными настройками. Например iTriX: у каждого из 100 создаваемых индикаторов разные периоды усреднения.
***
Когда много индикаторов, важным является использование памяти, хотелось бы услышать мысли и на этот счет.
***
Уже ищу ответы
string text=""; StringConcatenate(text, "Terminal memory used ",TerminalInfoInteger(TERMINAL_MEMORY_USED),", MB", "\n", "The memory size used by MQL5 program ",MQLInfoInteger(MQL_MEMORY_USED),", MB"); Comment(text);
***
И у меня вопрос про индикаторы, если индикатор есть в советнике, но советник обращался к нему пару часов/дней назад, то при повторном обращении он будет пересчитан/досчитан или независимо от обращения расчеты индикатора происходят на каждом тике (новом баре)?
По идеи после создания индикатора он живёт своей жизнью - сам себя обсчитывает.
Пример:
"A lot of iTriX.mq5"
version "1.000"
Отображение сколько памяти кушает терминал на экране.
Пример:
"A lot of iTriX.mq5"
version "1.000"
Отображение сколько памяти кушает терминал на экране.
Вот бы понять, сколько памяти кушает индикатор :) Терминала потребления можно посмотреть и штатными средствами винды.
А как это сделать, ну наверное надо измерить объем памяти до вызова индикатора, и после, спустя какое то время, что б он успел произвести свои расчеты/подсчеты.
По идеи после создания индикатора он живёт своей жизнью - сам себя обсчитывает.
И я так думаю, но иногда компы так жужжать начинают, что я сомниваюсь... как бы это точно проверить!?
Вот бы понять, сколько памяти кушает индикатор :) Терминала потребления можно посмотреть и штатными средствами винды.
А как это сделать, ну наверное надо измерить объем памяти до вызова индикатора, и после, спустя какое то время, что б он успел произвести свои расчеты/подсчеты.
***
Там две строчки - вставьте в индикатор и проверяйте.
Диспетчер задач и
string text=""; StringConcatenate(text, "Terminal memory used ",TerminalInfoInteger(TERMINAL_MEMORY_USED),", MB", "\n", "The memory size used by MQL5 program ",MQLInfoInteger(MQL_MEMORY_USED),", MB"); Comment(text);
- это не одно и тоже. Можете проверить.
Там две строчки - вставьте в индикатор и проверяйте.
Диспетчер задач и
- это не одно и тоже. Можете проверить.
А, понял, это значение за вычетом самого терминала, только пользовательские программы, верно?
А, понял, это значение за вычетом самого терминала, только пользовательские программы, верно?
У меня нет 100% информации. Поэтому не могу сказать.
При таком количестве индюков( а значит - и ограничений!) Вы будете иметь сигнал на вход примерно ОДИН В МЕСЯЦ.
:-)))))))))))))))))))))
Я думаю, что индикаторы, о которых идет речь, при проектировании не были предусмотрены для единовременного использования с сотней других индикаторов, следовательно их необходимо ПЕРЕПРОЕКТИРОВАТЬ под необходимые условия.
- Вычисление буферов индикаторов перенести с CPU на GPU с помощью OpenCL. Это позволит тратить меньше времени на получение новых значений. Например, на минутном таймфрейме это сыграет в большой плюс, т.к. если оставить вычисления на CPU, минуты может не хватить, чтобы получить новые данные
- Ограничить диапазон используемой информации для вычислений. Ну, скажем до 50 баров от последних данных (тут можно для каждого индикатора подобрать свой диапазон).
- Уменьшить размер буферов, хранящих значения индикаторов.
При таком количестве индюков( а значит - и ограничений!) Вы будете иметь сигнал на вход примерно ОДИН В МЕСЯЦ.
:-)))))))))))))))))))))
Не обязательно, индикаторы с разными входными параметрами (например усреднение), дают интересную картину, пример из 20 индикаторов с разным периодом усреднения.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Попробую разобраться как лучше решить такую задачу: в эксперте нужно обращаться к данным сотни индикаторов.
Сразу вопросы возникают: