What is the highest precision that can be displayed by MT5 charts ?

 

First of all, HAPPY NEW YEAR for all of us.

I'm wondering if one can find out what is the highest precision that can be displayed by MT5 charts ?


It is mentioned in its RELEASE NOTE found here: https://www.metatrader5.com/en/releasenotes

Terminal

  1. Increased precision in displaying the calculation price in the trading instrument specification.

Well, increased to what precision ?

Thank you for any hint.

Market Watch - Trading Operations - MetaTrader 5 Help
Market Watch - Trading Operations - MetaTrader 5 Help
  • www.metatrader5.com
The Market Watch window provides an overview of price data of financial instruments: quotes, price statistics and tick chart. It also provides...
 
Soewono Effendi:
Happy New Year!!

In my view, the release note is quite generic. There is no specific maximum precision to refer to. The displayed precision depends on the symbol's digits as defined by the broker.

It simply refers to an improvement in how prices are shown, not to a specific numeric limit.
 
Thanks for the reply.
I should have been more precise (pun unintended) in my question, I'm trying to create custom symbol and wondering what might be the maximum limit of symbol's digits. So far I have tested up to 8 is accepted by MT5.

      CustomSymbolSetInteger(custom_symbol_name, SYMBOL_DIGITS, custom_digits);

best regards
 
Soewono Effendi #:
Thanks for the reply.
I should have been more precise (pun unintended) in my question, I'm trying to create custom symbol and wondering what might be the maximum limit of symbol's digits. So far I have tested up to 8 is accepted by MT5.


best regards

Based on my experience with custom symbols which is corroborated by the followeing user's post (emphasis added), 8 is the maximum.

Forum on trading, automated trading systems and testing trading strategies

Where can I edit the limit preferences in MetaTrader 5?

Nika Pubgeer, 2023.06.26 19:14

Hi,

I have been experimenting with the synthetic formula to generate custom symbols that are the reverse of primary symbols. For example, my broker displays USDJPY, but there is no JPYUSD symbol available. So, I attempted to create JPYUSD by using the formula 1/"USDJPY" and setting the digits to 8 and the tick size to the minimum possible, which is 0.000000000001. However, I encountered a problem. In the reversed version, the shadows mix into the candle bodies, resulting in a distorted appearance. To overcome this issue, it seems that I would need to set the tick size and digits to extended limits. Unfortunately, MetaTrader 5 does not allow such adjustments. For example, the maximum digit input limit is 8, and numbers greater than 8 automatically turn to 4...

 
This is not an undocumented limitation. It is explicitly stated in the official documentation.

In MQL5, key functions such as NormalizeDouble() accept a digits parameter in the range 0 to 8 only.

This does not mean that the double type itself is limited to 8 digits (it follows IEEE-754 and has about 15 significant digits). The restriction applies to price normalization and representation, because the MetaTrader 5 platform supports prices with a maximum of 8 decimal places.

If higher precision is required for internal calculations, it must be handled manually (for example, by scaling integers or using strings), but MT5 does not support more than 8 digits for normalized prices.
 
Miguel Angel Vico Alba #:
This is not an undocumented limitation. It is explicitly stated in the official documentation.
A citation would be helpful.
 
Ryan L Johnson #A citation would be helpful.
Sure. The limitation is documented in the MQL5 reference for NormalizeDouble().

According to the official documentation, the digits parameter must be in the range 0 to 8: https://www.mql5.com/en/docs/convert/normalizedouble

This restriction applies to price normalization and representation in MT5, not to the double type itself, which follows IEEE-754 and has higher internal precision.
 
Miguel Angel Vico Alba #:
According to the official documentation, the digits parameter must be in the range 0 to 8: https://www.mql5.com/en/docs/convert/normalizedouble
Thank you. I looked all over in digits documentation and found nothing. That explains why.
 
thanks for the updates.
[Deleted]  

MT5 will display whatever precision the broker provides, so the “increased precision” simply means the terminal now shows the full number of decimal places defined by the symbol’s specification rather than rounding it.