Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 115

 
Товарищи!

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

Проблема в том, что:
1. Очистить массив нельзя, выходит ошибка (оут оф рендж).
2. При обнулении данных соответственно график ползет к нулю.

Посоветуйте, в какую сторону копать. Благодарю.
 
Здравствуйте. Индикатор в ех4 сильно грузит процессор, если я сделаю индикатор вытаскивающий его буферы не на каждом тике а (через один, два) и поставлю вместо ех4 это поможет процессору?
 
Андрей:
Здравствуйте. Индикатор в ех4 сильно грузит процессор, если я сделаю индикатор вытаскивающий его буферы не на каждом тике а (через один, два) и поставлю вместо ех4 это поможет процессору?
Я бы выбрал два подхода:
- либо работать с буфером на новом баре;
- либо обновлять буфер на ограниченном периоде таймсерии.
 
terentjew23:
Я бы выбрал два подхода:
- либо работать с буфером на новом баре;
- либо обновлять буфер на ограниченном периоде таймсерии.
Я-бы выбрал третий вариант. Выбросил такой индикатор так, чтобы никто и никогда его не смог найти.
 
terentjew23:
Товарищи!

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

Проблема в том, что:
1. Очистить массив нельзя, выходит ошибка (оут оф рендж).
2. При обнулении данных соответственно график ползет к нулю.

Посоветуйте, в какую сторону копать. Благодарю.
Вместо нуля попробуй поставить EMPTY_VALUE
 

Я вставляю в индикаторы и советники

 

int init()
  {
   if(Digits==5){if(Close[0]>1)plus=0.00003; else plus=0.00002;}
   if(Digits==3){if(Close[0]>100)plus=0.003; else plus=0.002;}
}


void start()
  {
   if(time0!=Time[0]){ time0=Time[0]; hig=0; loww=1000;} 


   if((High[0]>hig)||(Low[0]<loww))  {hig=High[0]+plus; loww=Low[0]-plus;

код здесь, поскольку интересуют пиковые моменты индикаторов

хочу так
буфер_0=iCustom(NULL,0,"1rd",1,0);


}
 
Alexey Viktorov:
Вместо нуля попробуй поставить EMPTY_VALUE
Благодарю, помогло.
 

как сделать:

допустим у меня баланс аккаунта 5800

если (5800)\2000=   ( в данном случае должно выйти 2, все дроби отбрасываются, надо сами функции такой обработки)

 
trader781:
также как и 1800\2000=1
Нет. Будет 0.
 
Alexey Kozitsyn:
Нет. Будет 0.
я стер эту часть потому что по ходу придется ее делать отдельно
Причина обращения: