Inherited class not using correct function overloads?!

 

Hi All,

I'm trying to use the OO methodology to create my next EA. I used the wizard to create my framework, and then modified the signal MQH file my method is based upon. My signal class is defined as follows:

class CSignalMA : public CExpertSignal

{

...

public:

...

   bool      CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);

   bool      CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration); 

...

 

Both CheckOpenLong() and CheckOpenShort() are defined further down in the header file, with my code. When run, the program does not use my CheckOpenLong or CheckOpenShort, it uses those functions from the CExpertSignal class! I can tell as i have put printf() statements identifying which code is executed. I am reusing the functions correctly, as far as I can tell, the names and arguments are all the same, and the inheritance works for everything else. Originally I was using LongCondition() and ShortCondition(), but these do not fulfill my requirement of having to specify the order price. Any ideas? Driving me mad!

 
No ideas? :(
Reason: