How do you calculate the PIP's in every ticks?

 

How do you get the PIP's in every ticks? Is there any standard way to calculate the PIP?

What do you think of my formula?

I used the formula for 5 digit broker: 

(close - open) * 10000

/*

Example:

(1.12555 - 1.12545) * 10000 = 1 PIP

*/

 
Musngi: What do you think of my formula?
  1. It's broken. Fails on JPY pairs.
  2. There is Tick, PIP, and Point. They are all different in general. A tick is the smallest change of price. A Point is the least significant digit quoted. In currencies a pip is defined as 0.0001 (or for JPY 0.01)

    On a 4 digit broker a point (0.0001) = pip (0.0001). [JPY 0.01 == 0.01] On a 5 digit broker a point (0.00001) = 1/10 pip (0.00010/10). Just because you quote an extra digit doesn't change the value of a pip. (0.0001 == 0.00010) EA's must adjust pips to points (for mq4.) In currencies a tick is a point. Price can change by least significant digit (1.23456 -> 1.23457)

    In metals a Tick is still the smallest change but is larger than a point. If price can change from 123.25 to 123.50, you have a TickSize of 0.25 and a point of 0.01. Pip has no meaning.

    This is why you don't use TickValue by itself. Only as a ratio with TickSize. See DeltaValuePerLot()

       double pip = StringFind(_Symbol, "JPY") < 0 ? 0.0001 : 0.01;   // GBPAUD,M1: 0.0001
                                                                      // AUDJPY,M1: 0.01
Reason: