Inverting double value

 

Part of my indicator uses USDCHF open price inverted to give CHFUSD open value which normally is 1/USDCHF.

My indicator is working on one or two time frames but on others I am getting an error "zero divide" and it is pointing to this line of code? 

double   Quote = 1/ iOpen(EnumToString(QuoteCurrency),0,i); 

Is there another way to invert the USDCHF open value to stop this error? 

 
EnumToString(QuoteCurrency) is not a valid symbol, why don't you simply use "USDCHF"?
 
GumRai:
EnumToString(QuoteCurrency) is not a valid symbol, why don't you simply use "USDCHF"?

Sorry EnumToString(QuoteCurrency) is an input I sometimes also use USDCAD

input   ENUM_FX_PAIRS  QuoteCurrency = USDCHF; 

 
Since iOpen(EnumToString(QuoteCurrency),0,i) is returning zero, find out why. Print _Symbol and EnumToString(QuoteCurrency) and _LastError.
 

Thanks 

I got 4051 not sure why?

ERR_INVALID_FUNCTION_PARAMETER_VALUE4051Invalid function parameter value.
 
How should we know? You didn't show the function parameter value(s)
 
fx_matt:

Sorry EnumToString(QuoteCurrency) is an input I sometimes also use USDCAD

input   ENUM_FX_PAIRS  QuoteCurrency = USDCHF; 

That is the problem with using names that do not describe the variable

Print out  EnumToString(QuoteCurrency), and make sure that it is a valid symbol (as WHRoeder has already said.)

Many brokers use a prefix or suffix and USDCHF will not be recognised. 

 
GumRai:

That is the problem with using names that do not describe the variable

Print out  EnumToString(QuoteCurrency), and make sure that it is a valid symbol (as WHRoeder has already said.)

Many brokers use a prefix or suffix and USDCHF will not be recognised. 

Interesting, do you know a broker which use a prefix ?
Reason: