Symbol Point Value

 

Morning!


Can someone tell me how MT5 calculates the symbol point value using the SYMBOL_POINT enum. For example the result of the following:

// GET POINT VALUE OF CURRENT SYMBOL
   double symbolPointVal = SymbolInfoDouble(CurrentSymbol,SYMBOL_POINT);


What is the calculation that it is doing to get this value from the specification?


Many thanks,


Ed

 
There is no “calculation,” it is simply getting the “value from the specification.”
 

Hi William,

This is the specification for Uk100 from Darwinex. I don't see a point value here. Or is it called something else?



 
EdFuk #: Hi William, This is the specification for Uk100 from Darwinex. I don't see a point value here. Or is it called something else?

There is point size (number of decimal digits) and there is point value. They are two different things. There is also tick size and tick value.

In many case point size and tick size are the same but not always. It is best to use tick size and tick value in your calculations, instead of point size and its value.

 
double
   dbTickSize   = SymbolInfoDouble( _Symbol, SYMBOL_TRADE_TICK_SIZE  ), // Tick size
   dbTickValue  = SymbolInfoDouble( _Symbol, SYMBOL_TRADE_TICK_VALUE ), // Tick value
   dbPointSize  = SymbolInfoDouble( _Symbol, SYMBOL_POINT ),            // Point size
   dbPointValue = dbTickValue * dbPointSize / dbTickSize;               // Point value

Remember, it's best to use tick size and tick value in your calculations, instead of point size and its value.

 
Fernando Carreiro #:
Remember, it's best to use tick size and tick value in your calculations, instead of point size and its value.

I think I need to change my code as I want one function to calculate position size for ALL instruments whether that be forex, equities, futures, indexes etc. At present I’m calculating the stop loss in terms of points so maybe I will have to do this in terms of ticks. I calculate the point size using the number of digits. I will change the code to use tick size and value. I think I’ve just been lucky up until now (although I’m still in demo) as the point size has been the same as tick size. Is this the way forward so that the calculation will be correct for any instrument


Fernando, Thanks for the heads up. Looking at the documentation the enum SYMBOL_POINT says it is symbol point value whereas you say it is point size?


cheers,


Ed

 
EdFuk #: I will change the code to use tick size and value. I think I’ve just been lucky up until now (although I’m still in demo) as the point size has been the same as tick size. Is this the way forward so that the calculation will be correct for any instrument?

Yes, using tick size and tick value is the correct way to do it to prevent any problems on all assets such as Shares, Futures, Indices, CFDs, Forex and anything else.

EdFuk #: Fernando, Thanks for the heads up. Looking at the documentation the enum SYMBOL_POINT says it is symbol point value whereas you say it is point size?

It's description is misleading. SymbolInfoDouble( _symbol, SYMBOL_POINT ) is the same as _Point and Point(). They all give the point size (not value).

 

Also read the following:

Forum on trading, automated trading systems and testing trading strategies

Point Tick Value and Tick Size

Ralf Kechel, 2011.09.02 16:30

Dear MT4 Users,

I am a bit confused about these three variables.
Taking DAX for example (#FDXU1):

Point: 0.1
Tick Size: 0.5
Tick Value: 12.5


While I understand that tick size is the minimal movement up or down on the prize, and tick value is the real monetary value of a tick,
I fail to understand what significance Point bears.
Also looking at the stock market I get info about tick value and tick size for every product, however Point only appears in MetaTrader.

Can someone please explain the meaning behind Point?

Thank you!

shinobi

Forum on trading, automated trading systems and testing trading strategies

Tick size vs Point(), can be a little tricky in Multicurrency EA

Fernando Carreiro, 2022.03.09 12:11

Tick Size and Point Size can be very different especially on stocks and other symbols besides forex.

Always use Tick Size to adjust and align your prices, not the point size. In essence, make sure that your price quotes, are properly aligned to the Tick size (see following examples).

...
double tickSize = SymbolInfoDouble( _Symbol, SYMBOL_TRADE_TICK_SIZE );
...
double normalised_price = round( price / tick_size ) * tick_size;
...
// Or use a function
double Round2Ticksize( double price )
{
   double tick_size = SymbolInfoDouble( _Symbol, SYMBOL_TRADE_TICK_SIZE );
   return( round( price / tick_size ) * tick_size );
};

Forum on trading, automated trading systems and testing trading strategies

Tick size vs Point(), can be a little tricky in Multicurrency EA

William Roeder, 2022.03.09 12:41

PIP, Point, or Tick are all different in general.
          What is a TICK? - MQL4 programming forum (2014)

Unless you manually adjust your SL/TP for each separate symbol, using Point means code breaks on 4 digit brokers, exotics (e.g. USDZAR where spread is over 500 points), and metals. Compute what a PIP is and use it, not points.
          How to manage JPY pairs with parameters? - MQL4 programming forum (2017)
          Slippage defined in index points - Expert Advisors and Automated Trading - MQL5 programming forum (2018)

 
Fernando Carreiro #:

Also read the following:

Thanks. I will have a go at updating my routine and post for you to have a look. 

Thanks for the info

Ed
 

Well I’ve finally got around to changing my lot size function to use ticks rather than points. I’m now looking to test it but I’m struggling to find a symbol that has a point and tick sizes that are different. Does anyone know if there are any symbols with Darwinex or IC markets that are like this? If not can anyone recommend other symbols with another broker?


many thanks,


Ed

 
EdFuk #: Well I’ve finally got around to changing my lot size function to use ticks rather than points. I’m now looking to test it but I’m struggling to find a symbol that has a point and tick sizes that are different. Does anyone know if there are any symbols with Darwinex or IC markets that are like this? If not can anyone recommend other symbols with another broker?

Here are two examples from AMP Global (Europe):

  • Micro E-mini S&P 500 (Futures): point size = 0.01, tick size = 0.25, tick value = $1.25
  • EURO STOXX Banks (Stock Index): point size = 0.01, tick size = 0.05, tick value = €2.50