Hi,
Recently I ran into a problem of calculating the value of a tick in deposit currency for Futures & CFDs.
Has anyone done this before? Any help would be much appreciated.
Well, I usually use MODE_TICKVALUE for the calculations, but I found one broker where this value is set incorrectly, so I can't use this value.
I don't have a problem calculating the tick value for forex symbols, but I have no clue how to cope with Futures & CFDs.
Well take the MODE_TICKSIZE and times it by relevant currency cross eg. if your trading US stocks your ticksize will be in US $ and your trading in £ so to cross is GBP/USD so you want to divide the $ ticksize by the current GBP/USD rate and you get the ticksize in GBP. Well that's the theory anyway :)
Yes, but how can I figure out the relevant currency cross in code? I want to automate the process.
Well, I usually use MODE_TICKVALUE for the calculations, but I found one broker where this value is set incorrectly, so I can't use this value.
//double PipValuePerLot(string pair=""){ return(DeltaValuePerLot(pair)*pips2dbl);} double DeltaValuePerLot(string pair=""){ /* Value in account currency of a Point of Symbol. * In tester I had a sale: open=1.35883 close=1.35736 (0.0147) * 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.0/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.0001 respectively, I've seen this * (intermittently) change to 14.00 and 0.0002 respectively (just example * tick values to illustrate). * https://forum.mql4.com/43064#515262 zzuegg reports for non-currency DE30: * MarketInfo(analyze.pair,MODE_TICKSIZE) returns 0.5 * MarketInfo(analyze.pair,MODE_DIGITS) return 1 * Point = 0.1 * Prices to open must be a multiple of ticksize */ if (pair == "") pair = Symbol(); return( MarketInfo(pair, MODE_TICKVALUE) / MarketInfo(pair, MODE_TICKSIZE) ); // Not Point. }
Please take a look at the values on the broker's platform:
When you place a 1 lot trade on EURUSD the value in MT4 is $1/point, but the broker's settings indicate a different value.
What's the name of the broker ?. Are you using mini, or micro account or something like that ?
Noble Service Ltd's Forex Broker Inc.
This is a standard demo account ($1/point on a 1lot trade).
My first guess was that they have the TICKVALUE setting set incorrectly on their server...
Please take a look at the values on the broker's platform:
When you place a 1 lot trade on EURUSD the value in MT4 is $1/point, but the broker's settings indicate a different value.
Hi ArturZ,
If your broker 1 lot = 100.000 unit then tick value should be 100.000*Point which is 1, or $1/Point
If your broker 1 lot = 10.000 unit then tick value should be 10.000*Point which is 0.1, or $ 0.1/Point
See if anyone agree ...
Hi ArturZ,
If your broker 1 lot = 100.000 unit then tick value should be 100.000*Point which is 1, or $1/Point
If your broker 1 lot = 10.000 unit then tick value should be 10.000*Point which is 0.1, or $ 0.1/Point
See if anyone agree ...
As you can see from the screenshots this is 1 lot = 100.000 units (it is indeed $1/Point when you place a trade and look at the values displayed in MT4), but not according to calculation made using the MarketInfo function.
I'm a bit puzzled and I started thinking that maybe I'm missing some piece of vital information.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi,
Recently I ran into a problem of calculating the value of a tick in deposit currency for Futures & CFDs.
Has anyone done this before? Any help would be much appreciated.
Regards,
Artur