My Questions:
(1) Is this a Broker 2 issue? Like maybe they have their settings wrong?
(2) Should my calculation consider the contract size, and if so, how? (For ForEx, this value is typically 100000)
Or . . .
(3) Am I missing something else in my calculation?
When the data provided by a broker are not reliable you have to find a way to calculate it by yourself.
You can also ask the broker to fix his symbol settings.
Scenario:
2 separate brokers who both have a NASDAQ100 index. When I calculate Lot value in USD (base currency), Broker 2 is 100X greater than Broker 1.
The Calculation:
Result for Broker #1:
2019.07.18 08:51:32.893 Test - MoneyManagement (#USNDAQ100,H4) CPips::GetLotValue(#USNDAQ100): contract [1.00] tickValue [$0.01] tickSize [0.0100000] lotValue [$1.00] pointValue [$0.01] pipValue [$0.01] - clsPips.mqh (80)
Result for Broker #2:
2019.07.18 08:47:52.983 Test - MoneyManagement (USTECHIndex,H4) CPips::GetLotValue(USTECHIndex): contract [10.00] tickValue [$1.00] tickSize [0.0100000] lotValue [$100.00] pointValue [$1.00] pipValue [$1.00] - clsPips.mqh (80)
The Issue:
I've been using the above code for ForEx without a hitch. Thus, when I calculate a SL or TP, I can determine the value in USD (the base currency). However, when I looked at the SL/TP generated on the index chart for Broker 2, the values were 100X what I expected. So I pulled up the same index (although a different symbol) on Broker 1. The results for Broker 1 were in line with what I expected.
Notes:
One further oddity:
Broker 2's tickValue is $0.10 as stated on the website.
This is different from:
My Questions:
(1) Is this a Broker 2 issue? Like maybe they have their settings wrong?
(2) Should my calculation consider the contract size, and if so, how? (For ForEx, this value is typically 100000)
Or . . .
(3) Am I missing something else in my calculation?