Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В глобальных переменных чисто. Может как-то можно выгрузить часть памяти?
да никак - этим заведует винда - сколько процесс попросит столько она и выделит
попробуйте в индикаторах использовать меньшее количество буферов, попробуйте перейти на статический массив - т.е. ограничить размерностью
Так ведь расчет идет только по последнему бару (1 индикатор). Я уже этому индикатору урезал расчет. Вместо от лимит до 0 сделал от 2 до 0. На каждом тике переменные меняют значения, в буфера значения не складываются.
ну нам отсюда не видно :)
я про такие конструкции:
if (li_12 > Bars) li_12 = Bars;
ArrayResize(lda_16, li_12);
ArraySetAsSeries(lda_16, TRUE);
ArrayResize(lda_20, li_12);
ArraySetAsSeries(lda_20, TRUE);
может они и сьедают всю память при расчетах, а буфера это не то
При каждом вызове iCustom с оригинальнвм набором значений параметров для него заводятся копии индикаторных буферов. На всю историю.
P.S. То есть каждый такой вызов эквивалентен добавлению нового экземпляра индикатора на график.
За полчаса набегает 1.5Г, висит всего один индикатор. Расчет ведется всего по 2 последним барам, но по 14 парам и на 5 ТФ.
Только в этих условиях можно хоть что-то оптимизировать. Ну можно также баров уменьшить на графике и посмотреть как влияет.
Дык ведь речь об индикаторе, советник не нужен. Делал специально для ручной торговли.
Но ведь индикатор же не использует всю историю, он даже не знает сколько баров в истории (убрал расчет).
Дык ведь речь об индикаторе, советник не нужен. Делал специально для ручной торговли.
Но ведь индикатор же не использует всю историю, он даже не знает сколько баров в истории (убрал расчет).
У iCustom расчет из 8 индикаторов (только последний бар). Может и там расчет урезать?