Помогите высчитать среднюю по тиковому графику из файла - страница 2

 
zhuki писал(а) >>
А чего скрывать.


спасибо!!!!
 
grell писал(а) >>
Можно по минуткам, а можно и по тикам. Вопрос времени. Если правильно понимаю, в файл пишутся ближайшие разные котировки?


В файл пишутся котировки с двух инструментов одновременно если на каком либо инструменте был тик.
 
//+------------------------------------------------------------------+
int _StringLen(string fn){
  int hd = FileOpen(fn,FILE_CSV|FILE_READ,";");
  if( hd>0){
    int len = StringLen(FileReadString(hd));
    FileClose(hd);
    return(len);
  }else{
    return(-1);
  }
}
//+------------------------------------------------------------------+
double average(string fn){int i, hd, flen, strlen, pos; double res;
  hd = FileOpen(fn,FILE_CSV|FILE_READ,",");
  if(hd<=0){return(-1);}
  flen=FileSize(hd);
  strlen=_StringLen(fn);
  if(strlen<0){return(-1);}
  pos = flen -(strlen*1000);
  FileSeek(hd,pos,SEEK_SET);
  for(i=0;i<1000;i++){
     FileReadString(hd);
     FileReadString(hd);
     res=res+StrToDouble(FileReadString(hd));
     if(FileIsEnding(hd)){break;}
  } 
  FileClose(hd); 
  return(res/1000);
}
//+------------------------------------------------------------------+
 

вызов в индикаторе\советнике : средняя = average(имя файла);

 
xrust писал(а) >>

вызов в индикаторе\советнике : средняя = average(имя файла);


Хруст благодарен с меня пиво!!!
 

Хруст не могу разобрать не много, подскажи pos = flen -(strlen*1000); flen - объем файла в байтах, strlen - длина строки ( количество букв). Получается от байтов отнимаем буквы. Помоги разрулить, а то считает не верно.

 

Все всем спасибо все исправил все получилось!!!