Download MetaTrader 5

Point() is giving me 1e-005.0 instead 1.12358... what is that?

To add comments, please log in or register
Wemerson Guimaraes
581
Wemerson Guimaraes  
I'm not certain about Point... I trying to get the value of the EURUSD actual tick usging Point(), but receive 1e-005.0 instead 1.12358... what is the way to get the value in right format?
PomeGranate
576
PomeGranate  

You seem to be looking for something else? 1e-005.0 equals 1*10 ^ -5 equals 0.00001, which is the smallest fraction the value of EURUSD can change by on your broker.

https://en.wikipedia.org/wiki/Scientific_notation 

Wemerson Guimaraes
581
Wemerson Guimaraes  

Ok... fine!

 

So, how can i get the actual tick value in the chart ? 

PomeGranate
576
PomeGranate  
wemersonrv:

Ok... fine!

 

So, how can i get the actual tick value in the chart ? 

It depends.... if a Lot is lets say USD 100,000 that would make a "Tickvalue" of $1 per Lot.

Check this out: https://www.mql5.com/en/forum/109552/page4#982936

Wemerson Guimaraes
581
Wemerson Guimaraes  

Try a lot of options about MarketInfo() and SymbolInfoDouble() and nothing...

SymbolInfoDouble(Symbol(), SYMBOL_TRADE_TICK_VALUE);

 

https://docs.mql4.com/constants/environment_state/marketinfoconstants

 

I just need to know the REAL PRICE of the tick... if when i open an order was 1.12345 now i need to know what is the price on the actual tick... just that!

whroeder1
15304
whroeder1  
wemersonrv:
I'm not certain about Point... I trying to get the value of the EURUSD actual tick usging Point(), but receive 1e-005.0 instead 1.12358... what is the way to get the value in right format?

1.12358 is a price Bid/Close[] MarketInfo, etc.

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()

What is a TICK? - MQL4 forum
PomeGranate
576
PomeGranate  
wemersonrv:

I just need to know the REAL PRICE of the tick... if when i open an order was 1.12345 now i need to know what is the price on the actual tick... just that!

And there you are, as stated by WHRoeder in a link to above link: ;)

double  PointValuePerLot(string pair="") {
    /* Value in acnSum 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 acnSum of the pair and the acnSum 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.
}

 Pointvalue=Tickvalue/Ticksize

Wemerson Guimaraes
581
Wemerson Guimaraes  

WHRoeder & PomeGranate, thansk for your answers. It' cleares my brain... I think that with Point i can get the price... thanks for the informations...

But my doubt still remains... for illustration, see the prints below:

First, at 13:36:10 i have the price 1.2282:

begin 

 

 And, after a couple of seconds the price is 1.12293 at 13:37:11

End

 

 

I just need to get both prices the prices to compare them on the code!

PomeGranate
576
PomeGranate  
wemersonrv:

I just need to get both prices the prices to compare them on the code!

wemersonrv:

I just need to know the REAL PRICE of the tick... if when i open an order was 1.12345 now i need to know what is the price on the actual tick... just that!

Lol. If the order is already filled, you could check OrderOpenPrice(). For the actual tick, why not take Bid, Ask or even iClose[NULL,PERIOD_CURRENT,0]?
Wemerson Guimaraes
581
Wemerson Guimaraes  
PomeGranate:
Lol. If the order is already filled, you could check OrderOpenPrice(). For the actual tick, why not take Bid, Ask or even iClose[NULL,PERIOD_CURRENT,0]?

I do not have opened orders... I'm just simulating orders and need to check the ACTUAL PRICE... just that! 

Don't know how many pips are more or minus... just the price!

PomeGranate
576
PomeGranate  
wemersonrv:
I do not have opened orders... I'm just simulating orders and need to check the ACTUAL PRICE... just that!

 https://docs.mql4.com/predefined/bid

By now you should know how to do it. If you don't, relax for some minutes and do something else, then return and read/think again. ;) 

12
To add comments, please log in or register