Thanx for quick reply.
I don't wanna say any of the broker name here, but at least 2 brokers I found are one demo and one real.
using a script below.
void OnStart() { string com="Tick Value= "+DoubleToStr(MarketInfo(_Symbol,MODE_TICKVALUE)); Comment(com); }
How much tick value is?
Tick value is mainly calculated by CONTRACT_SIZE * POINTS.
If symbol's CURRENCY_PROFIT is not equal ACCOUNT_CURRENCY, above tick value will be converted by corresponding corss-pair.
How much tick value is?
Tick value is mainly calculated by CONTRACT_SIZE * POINTS.
If symbol's CURRENCY_PROFIT is not equal ACCOUNT_CURRENCY, above tick value will be converted by corresponding corss-pair.
Yes, so I did for JPY ACCOUNT_CURRENCY like below,
void OnStart() { double BaseCurrencyAdjust=1; if(AccountCurrency()=="JPY") BaseCurrencyAdjust=MarketInfo("USDJPY",MODE_BID); string com="Tick Value= "+DoubleToStr(MarketInfo(_Symbol,MODE_TICKVALUE)/BaseCurrencyAdjust,2)+"\n" +"Contract size= "+DoubleToStr(SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE),2); Comment(com); }
And yes it seems the CONTRACT_SIZE affected for this problem. The broker's CONTRACT_SIZE for silver is 5000oz/lot.
But I'm still confusing.
Even the CONTRACT_SIZE or Lot size is 3000oz, 4000oz or any other weird number, still the chart is the price for the unit in dollar, so the Tick Value should be 1 or 0.1 depends the Digits?
Yes, so I did for JPY ACCOUNT_CURRENCY like below,
And yes it seems the CONTRACT_SIZE affected for this problem. The broker's CONTRACT_SIZE for silver is 5000oz/lot.
But I'm still confusing.
Even the CONTRACT_SIZE or Lot size is 3000oz, 4000oz or any other weird number, still the chart is the price for the unit in dollar, so the Tick Value should be 1 or 0.1 depends the Digits?
CONTRACT_SIZE is not equal LOT(VOLUME).
For example:
Symbol: XAGUSD;
SYMBOL_TRADE_CONTRACT_SIZE = 5000;
SYMBOL_POINT = 0.001;
If ACCOUNT_CURRENCY = USD:
Tick value: 5000*0.001=5.00;
If ACCOUNT_CURRENCY = JPY:
Suppose USDJPY = 121.119;
Tick value: 5000*0.001*121.119=605.60;
If ACCOUNT_CURRENCY = EUR:
Suppose EURUSD = 1.08328;
Tick value: 5000*0.001/1.08328=4.62;
CONTRACT_SIZE is not equal LOT(VOLUME).
For example:
Symbol: XAGUSD;
SYMBOL_TRADE_CONTRACT_SIZE = 5000;
SYMBOL_POINT = 0.001;
If ACCOUNT_CURRENCY = USD:
Tick value: 5000*0.001=5.00;
If ACCOUNT_CURRENCY = JPY:
Suppose USDJPY = 121.119;
Tick value: 5000*0.001*121.119=605.60;
If ACCOUNT_CURRENCY = EUR:
Suppose EURUSD = 1.08328;
Tick value: 5000*0.001/1.08328=4.62;
I got it, thanx!
The chart is always showing the dollar price for 1 oz.
The contract size is different by each brokers.
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Please somebody help me to understand this.
All symbols they have "USD" on their right side, the Tick Value should be 1.0, ain't it?
Even if some digits difference make them, maybe they should be like 10.0 or 0.1.
But some brokers showing 5.0, this makes me confused.
A dollar equal five dollar???