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

 
GameOver:


я привел пример последовательности - одно значение меньше в три раза, и три больше в три раза. какое среднее?

Ну дайте блин первоисток.

Вы приняли какуе-то величину последнего закрытого бара за 1?

а 4 бара за ним, по отношению к етой велечине имеют значение 0,33 0,33 3 3 ??? так?

Теперь вы ввели какой-то свой коеффициент для характеристики изминения и хотите расчитать етот коеффициент для [1] бара?

 
extern int aver_bar=3;					 // количество баров которые влияют на коефициент (входит и бар в котором ищется коефф.)
double muss[]; 						//  массив для коефициента поиска

for ( int n=1; n<=i; n++) 				// n - номер бара для поиска коеффициента, i- количество баров в которіх будет найдено коефф.
{
 double z,k,zz,f;
 
 k=0; 							// k счетчик
 z=Volume[n]; 						// Volume- буфер величины которую сравниваем, z-записываем чтобы каждый раз не обращаться в массив
 for (int m=n+1; m<=n+aver_bar-1;m++)			// перебор всех баров влияющих на коееф.
 {
  zz=Volume[m]/z-1; 					// отношение во сколько раз величина на исходном баре больше или меньше искомого 
  if( zz<0) zz= -1/(zz+1)+1; 				// если величина zz меньще 1
  k+=zz;						 // сумируем в k значение
 }
 muss[n]=k/((aver_bar-1)/1.0)+1;  			//  рассчітиваем коеффициент на n - м  баре
}

НУ вот код по нему был расчет при последовательности 1,2 0,8 1

Не проверял но кажись должен вернуть нужное значение

 
artmedia70:
А сдвинуть их всех влево : Shift+Tab

Спасибо!
 

Читаю справку. Написано:

Записи в двух видах бинарных файлов представляют последовательность данных без каких-либо разделителей. Такой порядок записи определяется фиксированной длиной для данных разного типа: 4 байта для данных типа int, bool, datetime и color и 8 байт (или 4 байта, в зависимости от параметров функции записи) для данных типа double.

Как понимать, что "или 4 байта в зависимости от параметров функции записи" ?

 
hoz:

Читаю справку. Написано:

Как понимать, что "или 4 байта в зависимости от параметров функции записи" ?


В С++ (не в MQL4) более дробное разделение типов переменных (в Дельфях то же самое). Форматов с плавающей запятой 2 типа: double (8 байт) и float (4 байта). В MQL4, как в нормальном урезанном Си, известен только double. Правду вынужденно приходится говорить только в файловых функциях чтения-записи, что double не единственный формат чисел с плавающей запятой. Скорее всего, имеется ввиду FLOAT_VALUE (4 байта).
 
gyfto:

В С++ (не в MQL4) более дробное разделение типов переменных (в Дельфях то же самое). Форматов с плавающей запятой 2 типа: double (8 байт) и float (4 байта). В MQL4, как в нормальном урезанном Си, известен только double. Правду вынужденно приходится говорить только в файловых функциях чтения-записи, что double не единственный формат чисел с плавающей запятой. Скорее всего, имеется ввиду FLOAT_VALUE (4 байта).

В том то и дело, что мкл только с double работает, а float не распознаёт по ходу. Потому я и задал вопрос. Там же ясно сказано про double. Про float не упоминается же. Значит должно быть какое-то обоснование этого.
 
hoz:

В том то и дело, что мкл только с double работает, а float не распознаёт по ходу. Потому я и задал вопрос. Там же ясно сказано про double. Про float не упоминается же. Значит должно быть какое-то обоснование этого.

Обоснование чего? Речь о файлах, или о типах данных?
 
hoz:

Значит должно быть какое-то обоснование этого.
Большая точность. А цели этого можно уже трактовать по-разному.
 
tara:

Обоснование чего? Речь о файлах, или о типах данных?

Я имею ввиду, что в документации не упоминается, что мкл работает с типом данных float. Значит, судя по всему, данная возможность не предусмотрена.
 
hoz:

Я имею ввиду, что в документации не упоминается, что мкл работает с типом данных float. Значит, судя по всему, данная возможность не предусмотрена.

В операциях с файлами - предусмотрена.