Back to contacts

Does anybody know, on an EA, how to get on a math operation

Hector Mestril (fxmiami)
Dec 23 2013 at 20:08
38 posts
Does anybody know, on an EA, how to get on a math operation ( substraction to be specific) only positive numbers?
I am running into the problem that, for example, when the open price less than the close price, and the open price is smaller, the result is negative. I need this result to be positive, on other words, I need to substract ALWAYS the bigger price from the smaller price. Again, if someone knows how to do this, and is willing to share, that would be great.
Thank you
To win you have to risk loss
Dec 23 2013 at 20:34
852 posts
Multiply with -1

😄
pumpingmonkey
Dec 23 2013 at 21:10
126 posts
double MathAbs( double value)
Returns the absolute value (modulus) of the specified numeric value.
Parameters:
value - Numeric value.

Sample:
double dx=-3.141593, dy;
// calc MathAbs
dy=MathAbs(dx);
Print('The absolute value of ',dx,' is ',dy);
// Output: The absolute

pumpingmonkey
Dec 23 2013 at 21:37
126 posts
ahuruglica posted:
Multiply with -1

😄

multiplying by negative one will only invert the negative or positive sign.

similar to doing a zero minus whatever your number is.

ie, if i have a variable X and i want to invert it...

x=0-x;

this will invert the sign, similar to multiplying by negative one.

the MathAbs function returns the absolute value of a signed number, whether it is positive or negative.

ie, xx=MathAbs(x);

happy coding.
Dec 27 2013 at 10:55
1718 posts
A= MathAbs(1.3800) = 1.3800
B= MathAbs(-1.3810) = 1.3810

So if A > B then A - B else B - A = 1.3810 - 1.3800 = 10 pips
Hector Mestril (fxmiami)
Dec 27 2013 at 23:31
38 posts
Thanks to all for the answer. I do not think the multipling by -1 will do as this will only work if the result is negative, however, what is the result is positive? then, the multiplication's result would be negative
To win you have to risk loss
Hector Mestril (fxmiami)
Dec 27 2013 at 23:31
38 posts
To win you have to risk loss
Dec 28 2013 at 12:08
852 posts
It was a little joke cause it remembered me primary school, and it was a math solution for many mathematical problems.

But it can work:

if A-B<0 then (A-B)*-1
if A-B>=0 then A-B

cheers
Hector Mestril (fxmiami)
Dec 29 2013 at 03:29
38 posts
Thank you ahuruglica
To win you have to risk loss