FXCM's live chat staff are ABSOLUTE BLOODY MORONS!
I'm asking them why the TICK_VALUE on XAUUSD and XAGUSD is returning as a 0.01, they're answer is:
"Because we round it down to $0.01 - Thats the smallest tick value..." - Ok... well whats the smallest lot size = 1.00 which equates to $0.10 ... so run that past me one more time? What's the smallest tick value? "$0.01" man they're so dumb!!
If that is correct then how does this make sense :
Current open XAUUSD position: 137.60 points up - open P & L £17.22 ... I'm no wizard with numbers but I have 2 troy ounces open which is supposed to be £0.02 pence per 0.01 tick...
137.60 * £0.02 = £2.750
1376.0 * £0.02 = £27.52
13760 * £0.02 = £275.2
None are correct...
That's according to what this FXCM specialist is telling me lol!?
How can you be 137.60 points up? There is no decimal point when talking about points.
Do you mean that the difference between the order open price and current price is 137.60? If that is the case, it would mean that you must have opened the trade at the end of August. Is that true?
If not, please show the order open price, current price and current profit.
You have been asked numerous times to show the code for the print statement. Unless I have missed it, you still have not shown it.
What code are you on about? The XAUUSD position is (and yes you're right, I dont mean points - just mix up of terms - I'm merely looking at the way pull the number through):
XAUUSD open position: Open Price: 1297.22 -- Size: 2.00 -- Current Price: 1283.24 -- Term Currency: $27.96 -- Deposit Currency: £17.49.
The prints are also in below - I have put them in to make it easier to see?
//Lot calculation - Facilitates Notional and Lots within MT4 - As well as find the tick value relative to the account denomination. double risk_amount = AccountBalance( )*RiskPercent/100;
double Lot_Step = MarketInfo(Symbol(), MODE_LOTSTEP);
double ts = MarketInfo(Symbol(), MODE_TICKSIZE);
double tv = MarketInfo(Symbol(), MODE_TICKVALUE);
double minlot = MarketInfo(Symbol(), MODE_MINLOT);
//+-------------------------------------------------------------------------------------+//| Order Buy Function |//+-------------------------------------------------------------------------------------+ //Place a pending buystop if no orders exists. Pending or otherwise.if(direction==0)
{
//Get Highest Price in our lookback range and set buy price above it.int iTBT = iBarShift(NULL,60, triggerBarTime, true),
iHH = iHighest(NULL,60, MODE_HIGH, iTBT + CandlesBeforeBiasObtained, 0);
double Buy_Here = High[iHH] + Buy_Pad;
double buyPrice= NormalizeDouble(Buy_Here,Digits);
Print(" buyPrice: ", buyPrice );
2013.11.1122:36:42009.07.2717:00 V1 - XAUUSD XAUUSD,H1: buyPrice: 959.79double BuyStopPriceMath = MA - ATR;
Print(" MA - ATR: ", MA, " - ", ATR, " = ", BuyStopPriceMath);
2013.11.1122:36:42009.07.2717:00 V1 - XAUUSD XAUUSD,H1: MA - ATR: 952.0315 - 2.7714 = 949.2601double BuyStopPrice = NormalizeDouble(BuyStopPriceMath,Digits);
Print(" BuyStopPrice: ", BuyStopPrice);
2013.11.1122:36:42009.07.2716:00 V1 - XAUUSD XAUUSD,H1: BuyStopPrice: 949.3//get our buystop price from below the ma and our takeprofit based on our r:r ratio.double pips_to_bsl=buyPrice-BuyStopPrice;
Print(" pips_to_bsl formula: ", buyPrice, " - ", BuyStopPrice, " = ", pips_to_bsl);
2013.11.1122:36:42009.07.2716:00 V1 - XAUUSD XAUUSD,H1: pips_to_bsl formula: 959.75 - 949.3 = 10.45double loss_for_1_lot = pips_to_bsl / ts * tv ;
Print(" loss_for_1_lot formula: ", pips_to_bsl, " / ", ts, " * ", tv ," = ", loss_for_1_lot );
2013.11.1122:36:42009.07.2716:00 V1 - XAUUSD XAUUSD,H1: loss_for_1_lot formula: 10.45 / 0.01 * 0.01 = 10.45
double LotSize_Buy = MathFloor( risk_amount / loss_for_1_lot/ Lot_Step) * Lot_Step ;
Print(" LotSize_Buy: ( ", risk_amount, " / ", loss_for_1_lot, " / ", Lot_Step, " ) * ", Lot_Step);
2013.11.11 22:47:4 2009.07.27 16:00 V1 - XAUUSD XAUUSD,H1: LotSize_Buy: ( 78.1668 / 10.45 / 1 ) * 1
...
I have an open order now on XAGUSD with FXCM - Minimum size is 50.00 lots. Again, tick value is apparently 0.01 (fact).
XAGUSD:
Entry is 21.245 - SL is 21.812 - Size is 100.00 - Account balance in GBP is £3,840.51 - Risk applied to this trade is 1.5% of the AccountBalance(). (+£53 give or take in open P & L).
50.00 Lots on XAGUSD is $0.01 per 1 lot, so $0.50 per tick size - 0.01. (TICK_SIZE is telling me that it is "0.001" even though I have checked that 50 lots is $0.50 per 0.01 with staff at FXCM and tested it?)
$0.50 / GBPUSD is tick value...
-- Therefore, based upon my formula, I am shy 50 lots on the 100 lot size allocated to this trade because FXCM server settings are screwed. (in terms of Tick Value 0.001 || Tick Size: 0.001)...
DomGilberto: Can anyone help suggest a work around when tick value and tick size are telling me its 0.001 and 0.001?
Not ideal, but can't you calculate the correct ish Tick Value by using the rates of XAUUSD, GBPUSD and the GBPUSD TickValue? So your code checks to see if the Tick Value returned by MarketInfo() is likely to be invalid and if it is then it calculates it instead, then for a Broker that is competent it doesn't need to calculate the TickValue.
I've seen something similar done for calculating TickValues to use in the Strategy Tester . . . ideally you will code a function that looks at the pairs of the symbol and your base currency and then executes the relevant calculation . . .
Also, in your opinion, is FXCM in the wrong with how I am seeing the Tick Value? They're adamant that it's perfectly normal? You wouldn't know why it is they're screwing it up would you?
I'm asking them why the TICK_VALUE on XAUUSD and XAGUSD is returning as a 0.01, they're answer is:
"Because we round it down to $0.01 - Thats the smallest tick value..." - Ok... well whats the smallest lot size = 1.00 which equates to $0.10 ... so run that past me one more time? What's the smallest tick value? "$0.01" man they're so dumb!!
(pips_to_ssl could be 45.32 pips for example - 0.10 is $0.10 per tick 0.01 per 1.00 lot on fxcm)
If that is correct then how does this make sense :
Current open XAUUSD position: 137.60 points up - open P & L £17.22 ... I'm no wizard with numbers but I have 2 troy ounces open which is supposed to be £0.02 pence per 0.01 tick...
137.60 * £0.02 = £2.750
1376.0 * £0.02 = £27.52
13760 * £0.02 = £275.2
None are correct...
That's according to what this FXCM specialist is telling me lol!?
How can you be 137.60 points up? There is no decimal point when talking about points.
Do you mean that the difference between the order open price and current price is 137.60? If that is the case, it would mean that you must have opened the trade at the end of August. Is that true?
If not, please show the order open price, current price and current profit.
You have been asked numerous times to show the code for the print statement. Unless I have missed it, you still have not shown it.
XAUUSD open position: Open Price: 1297.22 -- Size: 2.00 -- Current Price: 1283.24 -- Term Currency: $27.96 -- Deposit Currency: £17.49.
The prints are also in below - I have put them in to make it easier to see?
Did you calculate this yourself, or does it come from the broker?
"Term Currency: $27.96 "
I have an open order now on XAGUSD with FXCM - Minimum size is 50.00 lots. Again, tick value is apparently 0.01 (fact).
XAGUSD:
Entry is 21.245 - SL is 21.812 - Size is 100.00 - Account balance in GBP is £3,840.51 - Risk applied to this trade is 1.5% of the AccountBalance(). (+£53 give or take in open P & L).
50.00 Lots on XAGUSD is $0.01 per 1 lot, so $0.50 per tick size - 0.01. (TICK_SIZE is telling me that it is "0.001" even though I have checked that 50 lots is $0.50 per 0.01 with staff at FXCM and tested it?)
$0.50 / GBPUSD is tick value...
-- Therefore, based upon my formula, I am shy 50 lots on the 100 lot size allocated to this trade because FXCM server settings are screwed. (in terms of Tick Value 0.001 || Tick Size: 0.001)...
Workings out like this:
Risk (£): £57.60 (1.5% of £3,840.51)
(SL)21.812 - (Entry)21.245 = 56.7
50.00 lots = $0.50 / 1.59841 = £0.31 ( per 50.00 lots)
150.00 = £0.93 per tick * 56.7 = £52.73 risk on this trade...
Can anyone help suggest a work around when tick value and tick size are telling me its 0.001 and 0.001?
I've seen something similar done for calculating TickValues to use in the Strategy Tester . . . ideally you will code a function that looks at the pairs of the symbol and your base currency and then executes the relevant calculation . . .
. . . this is what I was thinking of when I said I had seen something similar: https://www.mql5.com/en/forum/127798/page2#356736
Also, in your opinion, is FXCM in the wrong with how I am seeing the Tick Value? They're adamant that it's perfectly normal? You wouldn't know why it is they're screwing it up would you?