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

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*

ahuruglica
(ahuruglica)

Member Since Jun 28, 2013
852 posts
Dec 23 2013 at 20:34

Multiply with -1

😄

😄

Dec 23 2013 at 21:10

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

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

Dec 23 2013 at 21:37

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.

CrazyTrader
(CrazyTrader)

Member Since Nov 21, 2011
1718 posts
Dec 27 2013 at 10:55

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

B= MathAbs(-1.3810) = 1.3810

So if A > B then A - B else B - A = 1.3810 - 1.3800 = 10 pips

*Enjoy trading!*

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*

Thank you, Crazytrader!

*To win you have to risk loss*

ahuruglica
(ahuruglica)

Member Since Jun 28, 2013
852 posts
Dec 28 2013 at 12:08

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

But it can work:

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

if A-B>=0 then A-B

cheers

Please login to comment .