Price Per pip - page 4

 

I've experienced a broker append an apostrophe to the symbols that they enabled Instant Execution upon. This happened over a weekend and was quite difficult to spot - especially since they also retained the old symbol names for Market Execution only.

CB

 
cloudbreaker:

I've experienced a broker append an apostrophe to the symbols that they enabled Instant Execution upon. This happened over a weekend and was quite difficult to spot - especially since they also retained the old symbol names for Market Execution only.

What do u mean by 'Instant Execution'? (it's implied that it's not the same as 'Market Execution')...
 

wouldnt it be easier just to use Symbol() in all references to the symbol then even if the brokers server has EURUSD entered as mooncheese it wont matter as long as the EA also knows EURUSD is called mooncheese

 

i notice how mt4 refers to it as tick value, does this mean a tick is always equal to one pip ? i thought tick size could vary this brings me to another question, i was told you cant trade on volumes in mt4 as all volumes does is count the number of ticks per bar, but if each tick is equal to one pip then surely it is entirely possible to trade on volumes as this would mean the server would have to send a new tick every time the price changes by 1 pip so when there is a lot of trading going on and the price is changing rapidly the volumes would be high and would show the trading activity level right?

 
SDC:

i notice how mt4 refers to it as tick value, does this mean a tick is always equal to one pip? [...]

What is a TICK?

https://www.mql5.com/en/forum/126023

 
SDC:

wouldnt it be easier just to use Symbol() in all references to the symbol then even if the brokers server has EURUSD entered as mooncheese it wont matter as long as the EA also knows EURUSD is called mooncheese


That's what my code does, not sure where the confusion is coming from. Failure to communicate on my part somewhere I am guessing.
 

i read that thread before its full of condradictory information.

BarrowBoy - a change in bid and/or ask

Rosh - a "new price" event

kminler - each tick represents a closed trade

puncher - a tick is a pip

After reading other threads and discussions about ticks I had come to the conclusion that a tick has no specific value as all it contains is a new bid and a new ask, which could be 1 pip different to the last tick, no pips different or several pips difference so in itself the tick carries no price difference, only a new price.

But now i have been investigating how to calculate the value of a pip i come across MarketInfo MODE_TICKVALUE which appears to be a static set value, this in itself contradicts what most people seem to say about a tick, that it simply conveys a change in price, no specific amount, so how can there be such a thing as MODE_TICKVALUE it doesnt make any sense unless most people are wrong and 1 tick does in fact have a specific value equal to 1 pip, my problem is the lack of proper documentation how is one supposed to find out what is right and what is wrong, forum threads contain some information, much of it based on opinion or assumtion rather than fact which in most circumstances does not matter but when one is trying to write a program based on such sketchy and contradictory information it makes life very difficult

 
SDC:

i read that thread before its full of condradictory information. [...]

Sorry, didn't mean to confuse u. That thread, by it's nature, slowly builds up the big picture (and includes many opinions, some of which are not entirely accurate). The bottom line is this: a Tick is a change in any one of the 28 market information identifiers (available via MarketInfo() function). It also compromises the 'event' that calls the start() function (for the symbol the EA is attached to).


Unfortunately, the naming of MODE_TICKSIZE and MODE_TICKVALUE adds a second definition to Tick (which I presume is the source of the confusion...). The definition of Tick in this context is: a Tick is the smallest possible price change for the symbol in question:

  • MODE_TICKSIZE - the size of this change in price terms (the documentation claims "Tick size in points", but that's obviously inaccurate).
  • MODE_TICKVALUE - the value of this change in the account's deposit currency (this is calculated server-side by the broker).

Comments:

  1. A 'Point' (MODE_POINT) is the smallest possible price change on the left size of the decimal point for the symbol in question. This is NOT the same as MODE_TICKSIZE. Technically: MODE_TICKSIZE>=MODE_POINT, although almost always they are equal.
  2. A 'Pip' is a convention, something we all agree on. It is not a mathematical property of the symbol or a property of the MT4 server. So for example - with a 4digit broker for EURUSD a Pip is 1 Point, but for a 5digit broker a Pip is 10 Points...
  3. There's a good discussion about how to automatically determine the size of a Pip in Points here -> https://www.mql5.com/en/forum/124692.
  4. MODE_TICKSIZE can vary, although extremely rare (Point is fixed on the other hand). CB has a method to deal with these changes here -> https://www.mql5.com/en/forum/109552/page3#195878.
 

Yes MODE_TICKVALUE is the source of confusion it does make a lot more sense as you put it to mean smallest possible price change, from now on ill think of it as MODE_MINIMUMTICKVALUE so it does seem entirely possible to accuratly calculate the value of a pip from MODE_TICKVALUE

 
SDC:

[...] so it does seem entirely possible to accuratly calculate the value of a pip from MODE_TICKVALUE

The problem is finding pip in points... From there it's trivial to calculate it's value (using MODE_TICKVALUE). Unfortunately, finding a universal and completely automated way to convert pips to points is not trivial (discussed here -> https://www.mql5.com/en/forum/124692).
Reason: