iCustom пожирает оперативную память

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
mt1002
140
mt1002  

Добрый день, помогите с такой проблемой: Есть советник где в void OnTick() прописан вызов параметра индикатора:

1_H=iCustom(NULL,per,"Рога и копыта",1,2,10,0,0);

1_L=iCustom(NULL,per,"Рога и копыта",1,3,10,0,0);

2_H=iCustom(NULL,0,"Рога и копыта_2",per2,1,2,10,0,0);

2_L=iCustom(NULL,0,"Рога и копыта_2",per2,1,3,10,0,0);

Но сталкиваюсь с такой проблемой что по истечении времени работы советника, терминал жрет по нарастающей оперативную память, доходит даже до 1,5 Гб. Как только удаляю советник память сразу освобождается и доходит до ~70 Мб. В чем тут дело?

Evgeniy Zhdan
16792
Evgeniy Zhdan  
Вот как можно ответить без кода? Может там циклы в цикле насколько раз перебирают многомерные массивы
mt1002
140
mt1002  
Evgeniy Zhdan:
Вот как можно ответить без кода? Может там циклы в цикле насколько раз перебирают многомерные массивы

В коде только этот iCustom и пару if.

Vitalii Ananev
11045
Vitalii Ananev  
mt1002:

Добрый день, помогите с такой проблемой: Есть советник где в void OnTick() прописан вызов параметра индикатора:

1_H=iCustom(NULL,per,"Рога и копыта",1,2,10,0,0);

1_L=iCustom(NULL,per,"Рога и копыта",1,3,10,0,0);

2_H=iCustom(NULL,0,"Рога и копыта_2",per2,1,2,10,0,0);

2_L=iCustom(NULL,0,"Рога и копыта_2",per2,1,3,10,0,0);

Но сталкиваюсь с такой проблемой что по истечении времени работы советника, терминал жрет по нарастающей оперативную память, доходит даже до 1,5 Гб. Как только удаляю советник память сразу освобождается и доходит до ~70 Мб. В чем тут дело?

Может дело в вызываемом индикаторе.

Dmitry Fedoseev
57632
Dmitry Fedoseev  
Скорее всего ошибка в параметрах и он бесконечно загружается в память.
Ihor Herasko
21844
Ihor Herasko  
mt1002:

В коде только этот iCustom и пару if.

Спрашивали про код индикатора, а не советника.

Igor Zakharov
6651
Igor Zakharov  
если это пятёрка, то вы на каждом тике создаёте новый хэндл, т.е. очередную копию индикатора. делайте это в OnInit().
mt1002
140
mt1002  
Igor Zakharov:
если это пятёрка, то вы на каждом тике создаёте новый хэндл, т.е. очередную копию индикатора. делайте это в OnInit().

В MT4 делаю.

Evgeniy Zhdan
16792
Evgeniy Zhdan  
mt1002:

В коде только этот iCustom и пару if.

Значит дело в индикаторе. Может, на каждом тике делает перерасчет всех баров. Надо использовать IndicatorCounted()

Vitaly Muzichenko
14105
Vitaly Muzichenko  
mt1002:

В MT4 делаю.

Покажите скрин "Входных параметров" индикаторов

Вот это


Grigori.S.B
574
Grigori.S.B  
mt1002:

Но сталкиваюсь с такой проблемой что по истечении времени работы советника, терминал жрет по нарастающей оперативную память, доходит даже до 1,5 Гб. Как только удаляю советник память сразу освобождается и доходит до ~70 Мб. В чем тут дело?

Утечка памяти. Без кода советника и индикатора диагноз не поставить.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий