Difference between Tick Size and Point?

 

Here is another beginner question.

When using MarketInfo() to detect the Point value or the Tick Size of a currency pair I get the same result, e.g. 0.00001 for EURUSD. (I have a 5 decimal broker) but I get 0.00100 for the Point value and 0.00000 for the Tick Size based on the USDJPY currency pair.

I normally use "Point" when calculating a Buy/Sell price from a stop loss or profit target.

Is the "Point" value the decimal value with which the price can change and "Tick Size" the value in currency with which the tick value changes? E.g. if the currency is USD the the value of the Tick Size will be 1$?

I am obviously confused - please clear this up for me!

 

I have a little "Indicator" that gives me all this info as a "comment" . . on my USDJPY chart it says Point and Ticksize are both 0.00100

 
RaptorUK:

I have a little "Indicator" that gives me all this info as a "comment" . . on my USDJPY chart it says Point and Ticksize are both 0.00100

Ok! I am running two laptops at the same time to speed up my testing and have not checked the data on the second laptop since I use only EURUSD in the testing. I found that there is zero database records for USDJPY on the second computer where I ran the tests. That should explain my zero results.

But still, what exactly is the difference between "Point" and "Tick Size"?

 
ernest02:

Ok! I am running two laptops at the same time to speed up my testing and have not checked the data on the second laptop since I use only EURUSD in the testing. I found that there is zero database records for USDJPY on the second computer where I ran the tests. That should explain my zero results.

But still, what exactly is the difference between "Point" and "Tick Size"?


I ran a little test to compare the two and they seem to be the same EXCEPT on Gold (XAUUSD). On XAUUSD the point size is 0.01 but the tick size is 0.05. Tricky. This is with Alpari UK on a GBP account. Other brokers may vary. The cursors and readouts are all in points but the actual price is moving 5 points at a time. Hence the smallest price movement is actually the tick size and not a point in this case.

Unless you are trading metals it probably isn't an issue for you.

 
  1. Tick size and point are not necessary the same according to CB We only use it as a ratio:
    double  PointValuePerLot(string pair="") {
        /* Value in account currency of a Point of Symbol.
         * In tester I had a sale: open=1.35883 close=1.35736 (0.00147)
         * gain$=97.32/6.62 lots/147 points=$0.10/point or $1.00/pip.
         * IBFX demo/mini       EURUSD TICKVALUE=0.1 MAXLOT=50 LOTSIZE=10,000
         * IBFX demo/standard   EURUSD TICKVALUE=1.0 MAXLOT=50 LOTSIZE=100,000
         *                                  $1.00/point or $10.00/pip.
         *
         * https://forum.mql4.com/33975 CB: MODE_TICKSIZE will usually return the
         * same value as MODE_POINT (or Point for the current symbol), however, an
         * example of where to use MODE_TICKSIZE would be as part of a ratio with
         * MODE_TICKVALUE when performing money management calculations which need
         * to take account of the pair and the account currency. The reason I use
         * this ratio is that although TV and TS may constantly be returned as
         * something like 7.00 and 0.00001 respectively, I've seen this
         * (intermittently) change to 14.00 and 0.00002 respectively (just example
         * tick values to illustrate). */
        if (pair == "") pair = Symbol();
        return(  MarketInfo(pair, MODE_TICKVALUE)
               / MarketInfo(pair, MODE_TICKSIZE) ); // Not Point.
    }
    
  2. On On 5Digit Broker Stops are only allowed to be placed on full pip values. How to find out in mql? That non-currency had Point at 0.1 but Ticksize of 1.0
 
  1. WHRoeder:
    1. Tick size and point are not necessary the same according to CB We only use it as a ratio:
    2. On On 5Digit Broker Stops are only allowed to be placed on full pip values. How to find out in mql? That non-currency had Point at 0.1 but Ticksize of 1.0

    Ticksize of 0.5 https://www.mql5.com/en/forum/135345 Pending order prices must be a multiple of tickSize.


  2. I normally use "Point" when calculating a Buy/Sell price from a stop loss or profit target.
    EA's must adjust for 4/5 digit brokers, TP, SL, AND slippage.
    //++++ These are adjusted for 5 digit brokers.
    int     pips2points;    // slippage  3 pips    3=points    30=points
    double  pips2dbl;       // Stoploss 15 pips    0.0015      0.00150
    int     Digits.pips;    // DoubleToStr(dbl/pips2dbl, Digits.pips)
    int     init(){
         if (Digits % 2 == 1){      // DE30=1/JPY=3/EURUSD=5 https://www.mql5.com/en/forum/135345
                    pips2dbl    = Point*10; pips2points = 10;   Digits.pips = 1;
        } else {    pips2dbl    = Point;    pips2points =  1;   Digits.pips = 0; }
        // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl
    //---- These are adjusted for 5 digit brokers.
        /* On ECN brokers you must open first and THEN set stops
        int ticket = OrderSend(...)
        if (ticket < 0)
           Alert("OrderSend failed: ", GetLastError());
        else if (!OrderSelect(ticket, SELECT_BY_POS))
           Alert("OrderSelect failed: ", GetLastError());
        else if (!OrderModify(OrderTicket()...)
           Alert("OrderModify failed: ", GetLastError());
         */
    
Reason: