# Different price size

87

Hi there,

why if

```double getDigits() {
return MarketInfo( Symbol(), MODE_DIGITS );
}```

getDigits() = 5

then

```int start() {
double prevClose = Close[1];
double actOpen = Open[0];

gapSize = ( actOpen - prevClose );
Print( "Gap detect - Size: ", gapSize );
}```

Prints -> "Gap detect - Size: 0"

Because prevClose and actOpen is 4 digits....

so for example 1.38157 - 1.38151 = 0 but should be 0.00006

I'm a bit confuse

Andy

Moderator
2293

What is gapSize cast as?
87

gapSize is double.. :) I omitted the definition
3245

`Print( "Gap detect - Size: ", DoubleToString(gapSize, Digits));`
198

( actOpen - prevClose ) is boolean. Remove parenthesis.

87

I found that

```Print( "prevClose: ", prevClose );
```

is 1.3783...... so Close[1] is 4 digits...

I need 5digits, why I lost a digit?

87

The use of DoubleToString( gapSize, Digits ); only give: 0.00000

:/

87

Ok,

this works....

```int start() {
double prevClose = NormalizeDouble( Close[1], Digits );
double actOpen = NormalizeDouble( Open[0], Digits );
double range = prevClose - actOpen;

Print( "prevClose = ", DoubleToString( prevClose, Digits ) );
Print( "actOpen = ", DoubleToString( actOpen, Digits ) );
Print( "range = ", DoubleToString( range, Digits ) );

return(0);
}
```

but is fuckin' insane.

Moderator
33780

Mindexperiment:

Ok,

this works....

but is fuckin' insane.