Как вычислить координаты... - страница 2

 
Michelangelo:

Меня плющит!!!!

_p=((-18-65)/(19-65))*(1.48760-1.47804)+1.47804;



такого времени быть не может. время исчисляется в секундах с начала 1970 года. пользуйтесь фунцией iTime чтобы получить время бара.
 

-18-65=-83

19-65=-46

-83/(-46)=1 как ни странно:) именно так делятся отрицательные целые числа.

1*(1.48760-1.47804)+1.47804=1.4876

арифметика:)

 

нужно всегда иметь ввиду особенности выполнения операции целочисленного деления. Или избегать ее, задавая переменным тип double, либо используя в записи констант десятичную точку:

(-18.-65)/(19-65) это уже не 1, а 1.8043... Так как один из опреандов имеет тип double, все остальные приводятся автоматически к типу double. В выражениях с переменными, когда возникают сомнения, этого можно добиться примерно так:

int a,b;

......

double c=a/b; // с - целое число, т.к. оба операнда имеют тип "целое"



double d=(1.*a)/b // здесь d уже будет содержать "нормальное" частное
 
DDFedor:

ФОРМУЛА ЦЕНЫ

PrY = ((TmX - TmX0)/(TmX1 - TmX0)*(PrY1-PrY0))+PrY0

 
Michelangelo:

Меня плющит!!!!

_p=((-18-65)/(19-65))*(1.48760-1.47804)+1.47804;

Comment(_p);


результат - 1.4876 как это понимать?

Speed=(Price2-Price1)/(Bar1-Bar2); (пт/бар)

Соответственно, Price2=Price1+Speed*Point*(Bar1-Bar2);

Номер (отрицательный) конечного бара определяется Вашей вертикальной линией.

Ну, а по календарю раскидайте сами.

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