Download MetaTrader 5

Tick Value =5.0? on XAGUSD (Silver vs US dollar)

To add comments, please log in or register
Make profit on MQL5 services. It's easy!
Atsushi Yamanaka
5415
Atsushi Yamanaka 2016.01.30 09:56 

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???

Mohammad Soubra
24889
Mohammad Soubra 2016.01.30 10:01  
Please Clarify 
Atsushi Yamanaka
5415
Atsushi Yamanaka 2016.01.30 10:29  

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);
  }
Atsushi Yamanaka
5415
Atsushi Yamanaka 2016.01.30 10:39  

Let's say, XAGUSD on MT4 by MetaQuotes shows 10.0, and MT5 by same shows 0.01.

MT4 chart is Digits=2, and MT5 one is Digits=3 but still it's not match. 

Xiangdong Guo
3737
Xiangdong Guo 2016.01.30 22:30  

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.

Atsushi Yamanaka
5415
Atsushi Yamanaka 2016.01.31 01:50  
Xiangdong Guo:

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?


Xiangdong Guo
3737
Xiangdong Guo 2016.01.31 16:25  
Atsushi Yamanaka:

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; 

Atsushi Yamanaka
5415
Atsushi Yamanaka 2016.02.01 01:43  
Xiangdong Guo:

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. 

To add comments, please log in or register