

gooly: Hi, it's an old problem but still not really solved. Recently I was in trouble with a new broker and its Goldprice: 1234.340! For a 5digitbroker 1 Goldpip should be 0.1 = 10 Points now here 1 Goldpip is 100 Point  sigh!! So I thought to calculate a pip (and digits) from the value of the lotsize. Instead of using what I found in the internet: pip = 0.0001 and a point has 1 more digit. That gets into troubles with gold and other new symbols like in my case DAX30. I would like to calculate 1 pip and its digitnumbers from the baseprice of 1 lot (MarketInfo(sym,MODE_LOTSIZE) so that 1 pip = 10 basecurr.units: in my case I see on the chart (on a EURAccount!): Has anybody arguments against this approach? I am a little bit astonished as this very nasty problem could be solved so easily but why can't I find this in the internet? Regards, Gooly if( Digits%2>0.5 ){ Points*=0.1; Speed*=0.1; } 
On USDJPY a pip is 0.01000
There is no 'approximately'. There is only the actual value.
Your code is wrong. It looks like total babble to me.
Use mine.
Your solution (behind your link I tried but never felt comfortable) fails with Gold and Silver. If you would have a single solution for those symbols like
you would fail again as I now have a broker that has 3 digits for Gold and Silver and a pip would be 100 points and his DAX30 has 2 Digits but a 10EuroPIP would be 1000 points.
So either you generate a huge list with brokers and their pips and points or you just start to think what might have been behind the definition and what might be important for you and your risk and strop and target setting.
My solution let you easily define a target of 100 units of your account which would be 10 (of mine) pips.
I think it has a lot more advantages as I am not trading someone else definitions but my money and around 10 bugs is a good base for comparisons.
gooly