частота работы iClose

 

Здравствуйте!

Помогите новичку пожалуйста!

Вопрос следующий. я использую iClose() например

for (int j=1;j<=121;j++)

{

ExtMapBuffer1[j1]=iClose(NULL,PERIOD_W1,j1);

потом всякая вещь..............

.........................................

}

а именно вопрос как часто считываются данные закрытия?? каждую секунду или каждую неделю. Если каждую секунду, то как сделать, чтобы они считывались раз в неделю??

Я что-то пытался смотреть в документации про refresh, но не понял. Там вроде не прописывается временной интервал. Это надо т.к. я использую в индикаторе iClose 4 раза для разных таймфреймов и платформа начинает подвисать.

Плиз помогите.

С Уважением Олег

 

так определитесь j или j1...

Подвисает из-за ваших ошибок, выкладывайте весь код с описанием что хотели сделать.

 
splxgf:

так определитесь j или j1...

Подвисает из-за ваших ошибок, выкладывайте весь код с описанием что хотели сделать. Спасибо за ответ. Вопрос глобальный . Реально ли заставить iClose снимать массив только раз в неделю. это надо для того чтобы не подвисала платформа. если я скачал массив закрытия недели, то зачем мне надо каждую секунду его подкачивать. Страдает вес идюк. у меня айклозев 4 штуки по разным таймфреймам. я думал скачивать раз в неделю или раз в день для D1 итд. просто хочу оптимизировать код а именно память

 
Грузит скорее всего не из-за iClose() а потому, что пересчитывает много баров, если не все, на каждом тике.
 
AlexeyVik:
Грузит скорее всего не из-за iClose() а потому, что пересчитывает много баров, если не все, на каждом тике.


Все так. а как обмануть малой кровью???.
 
elisseev2000:


Все так. а как обмануть малой кровью???. надо заставить мт4 скачивать массивы на неделе только раз в неделю. на днях только раз в день. и все. и работаем со статикой
 
elisseev2000:


Все так. а как обмануть малой кровью???.
// есть простой прием
static datetime last_time = 0;
if (iTime(NULL, PERIOD_W1, 0) != last_time) {
        last_time = iTime(NULL, PERIOD_W1, 0);

        ***     здесь ваш код   
        *** будет выполнен один раз в начале недели

}
Дни, часы и прочее: - аналогично.
 

Правильно написанный индикатор при постановке на график пересчитывает все бары только по одному разу, а потом на каждом тике пересчитывает только последний бар.

Обман тут не поможет. Надо правильно переписать определение не посчитанных баров.

 
elisseev2000:


Все так. а как обмануть малой кровью???.

Ну так проверяйте добавился ли на нужном таймфреме новый бар, и пересчитывайте только вновь появившиеся. Как вариант вынести логику расчета во внешний индикатор, там чуть проще избежать ненужных пересчетов.
 
prorab:
Дни, часы и прочее: - аналогично.

А массив будет висеть в памяти ? другие тайфреймы будут этот массив считыватть в течение недели???
 

splxgf:

Ну так проверяйте добавился ли на нужном таймфреме новый бар, и пересчитывайте только вновь появившиеся. Как вариант вынести логику расчета во внешний индикатор, там чуть проще избежать ненужных пересчетов.

так тоже вопрос . будет ли массив данных в течение недели работать. т.е с него можно будет считывать

Причина обращения: