EA fail trade 6 digits

 

Currently I'm demo trade using EA with interbankfx, alpari UK, and FXPro.

Everything running just fine with Interbankfx, and alpari UK, but not with FXPro.


There's no trade at all with FXPro !!!.


As you probably know, Interbankfx, alpari UK (and the rest of us) using 5 digits to measure unit (e.g EURUSD 1,5557/1.5559). But not FXPro, they using 6 digits (e.g. EURUSD 1.55573/1.55598). So 1 pip is 0.00001 and not 0.0001.


I ask FX Pro and they answer is : "... EA are executed completely under the client's responsibility as they depend directly on the client's trading terminal and the company bears no responsibility whatsoever."


Can you believe that ?. I got my trading terminal from them and this is their answer ("...as they [the EA] depend directly on the client's trading terminal...") !!!.


So far no help from them.


BTW, if you download MT4 from fXPro, is already built 216, so no live updates will show to update from 211 to 216.


What do you think ???.


Thanks a lot before and after for your assistance.

 

Easy... you have two demo accounts

.

and IF is so important why not just ditch fxPro and find another? - MetaQuotes says there about 100 brokers using MT so you not have any issue with getting more demo accounts, yes?


5 digits???

No - is 4 digits: 0.1234

is decimals side of price that the number 4 or 5 is describing.


for 0.12345 price format (5digits), search this forum - have seen somewhere, thread about this.



good luck

 

to : ukt


Thank for your response. I guess I have to ditch FXPro. Its too bad actually, they offer 1:500 leverage and 1 pip to us is equal 10 to them. That mean 10 times profit (or loss) than the usual pip as we know it.


And it is 6 digits, if they quote japanesse yen it still 6 digits and not 3 digits (USDJPY 105.756/105.789).

Fx Pro suggest to edit the EA, but the EA is copy protected.


Any one can help?.

 

you not thinking in mql speak..

digits used around here refer to decimal digits after or to the right of the decimal pointy thingy...

have you read mql book, read language help in editor?


for instance:

https://docs.mql4.com/predefined/variables/digits


https://docs.mql4.com/common/MarketInfo and then look for "MODE_DIGITS"



that is some leverage - just remember the words "or loss"



enjoy the trip

 

Hi ukt,


Long time no see eh...


Set Global variable :

double ThePoint; // This is to replace mq4's "Point"

int CharacterCount // To count string character


On init write like this :

CharacterCount = StringLen(DoubleToStr (Bid, Digits)); // how many character are there on Bid price ? eg. 1.2345 has 6 characters (5 numbers and 1 decimal point)

ThePoint = Point * MathPow(10, (CharacterCount-6)); //


Now everytime you must use mq4's "Point", change it by using "ThePoint".

eg. double TakeProfit = Ask + 37*Point: ===> double TakeProfit = Ask + 37*ThePoint;


I'll write again to explain this. cause right now I don't have much time.


C U

 
onewithzachy:

FxPro is standard sub-pip on most pairs, no six (decimal) places in prices

Recent EA's should be switchable, if not automatically handle full or sub-pip prices

Contact the vendor to see what they will do?

FWIW

-BB-

 

1 pip is 0.00001 and not 0.0001????

should use Point to get it !!!!!

 

Correction...my typing mistakes...


Put that code above on "start" instead on "init". I saw some not regulated broker change their quoting from 5 digits to 6 digits back and forth. UNBELIEVABLE.

And you better test it before using it cause Interbankfx also using 4 digits to quote their pairs.


I should mention/using the word "quote" on my post above. I was/am talking in daily everyday language not in mql4 language "digits" which is the amount on number after decimal point.

e.g.

FxPro is using 6 digits to quote their pairs, while interbankfx using both 6 digits to quote some pairs and 5 digits to quote other pairs. Alpari US and UK using 5 digits to quote their pairs but provide option for 6 digits on their MT4.


if USDJPY moves from 99.9990 to 100.001 . that still 6 digits quoting not 3 digits nor 4 digits (after decimal point). That mean USDJPY is move 1.1 points and not 11 points. They call this a pips fraction.

In the future brokers probably will use 1/100 fraction or even more.


Regards

 

onewithzachy wrote >>

Now everytime you must use mq4's "Point", change it by using "ThePoint".

eg. double TakeProfit = Ask + 37*Point: ===> double TakeProfit = Ask + 37*ThePoint;

20*Point is wrong on a 5 digit broker. You meant 20 pips == 20*0.0001 but get 20*0.00001 == 0.00020 (2 pips)

On a 4 digit broker, Point is one currency pip.

On a 5 digit broker, Point is 1/10 of a currency pip. You either need to multiply all your constants or change the code:


double pips2dbl = Point, pips2points=1;

if (Digits == 3 || Digits == 5) {pips2dbl *= 10.0; pips2points*=10;}


if ((OrdersTotal() >= 1) && (Ask <= (ibid-(20*pips2dbl)))) {


Ask, 3, is the same problem. You need 3*pips2points

OrderClose(ticket, OrderLots(), Ask, 3*pips2points, Red);

Reason: