Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 868

 
для чего мне нужно - паралельно работает один эксперт на многих инструментах . при изменении данных информация передается через глобальные переменные остальным копиям эксперта. они перерисовывают каждый свое окно. я подумал что было бы неплохо их разгрузить  и сделать так чтобы перерисовывалось только в окне , которое сейчас активно и его видно. остальные перерисовывать не будут пока на них не переключится пользователь
 
pycha:
для чего мне нужно - паралельно работает один эксперт на многих инструментах . при изменении данных информация передается через глобальные переменные остальным копиям эксперта. они перерисовывают каждый свое окно. я подумал что было бы неплохо их разгрузить  и сделать так чтобы перерисовывалось только в окне , которое сейчас активно и его видно. остальные перерисовывать не будут пока на них не переключится пользователь

Для этого API не нужно, все не просто, а очень просто. 

 
tara:

Для этого API не нужно, все не просто, а очень просто. 

 

ну так подскажи пожалуйста решение новичку
 
Новичку-не новичку, могу посоветовать сохранять в тех же GV имя валютной пары в момент запуска эксперта. 
 
они все запускаются одновременно во время запуска клиента.  либо я тебя опять не понял, либо
сохранять в тех же GV имя валютной пары в момент запуска эксперта. 
не даст никакой пользы
 
pycha:
они все запускаются одновременно во время запуска клиента.  либо я тебя опять не понял, либо не даст никакой пользы

Вам просто кажется, что Вы не любите кошек. 

Вы просто не умеете их готовить.  

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

 
я понял, пол беды уже снялось))). но там и в в самом эксперте выполняются фукции по подготовке к перерисовке, очищению массивов,  вбивание в масивы новых данных - что можно и не делать .  сейчас эксперт работает на 20 инструментах и  проц постоянно загружен на  5 - 10 %.  ищу любые способы облегчения и оптимизации )))))
 
Не ко мне. 
 
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//--- check for bars count
   if(rates_total<InpMAPeriod-1 || InpMAPeriod<2)
      return(0);
//--- counting from 0 to rates_total
   ArraySetAsSeries(ExtLineBuffer,false);
 //  ArraySetAsSeries(ExtLineBufferFid,false);
   ArraySetAsSeries(close,false);
//--- first calculation or number of bars was changed
   if(prev_calculated==0)
   {
      ArrayInitialize(ExtLineBuffer,0);
      ArrayInitialize(ExtLineBufferFid,0);  
   }       
//--- calculation
  
    CalculateSimpleMA(rates_total,prev_calculated,close);
    
    ExtLineBufferFid[rates_total-3]=(ExtLineBuffer[rates_total-2]*InpMAPeriod+close[InpMAPeriod+1])/(InpMAPeriod+1);
  //sma99[i]=(sma100[i]*100-d[i-100])/99;
//(firstValue*InpMAPeriod+price[i+1])/InpMAPeriod;
///(firstValue*InpMAPeriod+price[InpMAPeriod+1])/(InpMAPeriod+1);
// Y[i]=Y[i+1]+(X[0]-X[N])/N    
    Print("  ",ExtLineBufferFid[rates_total-3]
         ,"  ",ExtLineBufferFid[rates_total-2]
         ,"  ",ExtLineBuffer[rates_total-2]
             );      
//--- return value of prev_calculated for next call
   return(rates_total);
  }

 Вы уж извините, стыдно обращаться по сто раз на одном и том же.

Ну уже почти месяц смотрю как баран на ворота. Ничего не пойму.

Задача высчитать скользящую среднюю меньшего порядка, имея скользящую 13,

то есть высчитать период 12, основываясь на 13

 
Top2n:

 Вы уж извините, стыдно обращаться по сто раз на одном и том же.

Ну уже почти месяц смотрю как баран на ворота. Ничего не пойму.

Задача высчитать скользящую среднюю меньшего порядка, имея скользящую 13,

то есть высчитать период 12, основываясь на 13

 

Какой же смысл высчитывать не прямо на том же периоде, который нужен?!
Причина обращения: