Erro ao chamar uma class

 

Boa Noite!!


Pessoal eu não sou novo no fórum, ms tbm só venho aqui pedir ajuda quando não consigo encontrar outra resposta, e esse é um desses casos.

Estou fazendo um teste para autenticar meu robo: e fiz uma classe de autenticação, classe simples.. mas esta me dando muita dor de cabeça:

Criei três instancias para tentar colocar módulos

Criei primeiro um arquivo Autentica.mqh

#include <Includes.mqh>


//+------------------------------------------------------------------+
//|                       VARIÁVEIS GLOBAIS                          |
//+------------------------------------------------------------------+
const    long        Allowed_accounts[] = {123548, 1855687, 4566871, 6689756, 364487};

datetime             Validade   =StringToTime("30/12/2025");



class Autentic{

                                private:

                                public:

                     Autentic();
                    ~Autentic();


        bool ValConta(){

                if(TimeCurrent()<=Validade){


//--- Faço as configurações iniciais para operar
                        if(!account.TradeAllowed()){
                                Print("Negociação restringida na conta");
                                return(false);}

                        if(!account.TradeExpert()){
                                Print("Negociação automática restrita.");
                                return(false);}

                        if(!mysymbol.IsSynchronized()){
                                Print("O Terminal NÃO está sincronizado.");
                                return(false);}

                        if(account.TradeAllowed() && account.TradeExpert() && mysymbol.IsSynchronized()){
                                for(int i=0; i<ArraySize(Aallowed_accounts); i++){
                                        if((double)account.Login() == Aallowed_accounts[i]){
                                                return(true);
                                                break;}}}}
                                                
                return(false);
        }

};
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Autentic::Autentic(){   }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Autentic::~Autentic(){  }
//+------------------------------------------------------------------+ 

Depois o Arquivo Includes deixo as chamadas em um único Arquivo Includes.mqh

#include <Autentica.mqh>;

Autentic     autenticar;  //Linha 3

Por fim o EA Robo.mql5  que tem o chamdo em ontick(){

//Variavel Global
static bool ContaValida = false;


if(!autenticar.ValConta()){  // Linha 49
		ContaValida=true; //Linha 50
}else{return;}


Quando  compilo o arquivo Autentica, gera o seguinte erro:

Obs. Os demais complia sem erro.

'Autenticar' - unexpected token, probably type is missing? Includes.mqh 3 1

'autenticar' - semicolon expected Includes.mqh 3 12

'autenticar' - undeclared identifier Robo.mqh 49 5

';' - unexpected token Robo.mqh 50 19

expression not boolean Robo.mqh 50 14

'(' - unbalanced left parenthesis Robo.mqh 49 4

empty controlled statement found StartRobo.mqh 50 19


Se eu remover a classe deixar em um arquivo simples e compilar não da erro.

No Robo ele compila sem dar erro e funciona perfeitamente.(Quero saber com arrumar esse erro nesse arquivo)

Agradeço desde já .

Obrigado!!

 
MZ2020:

Boa Noite!!


Pessoal eu não sou novo no fórum, ms tbm só venho aqui pedir ajuda quando não consigo encontrar outra resposta, e esse é um desses casos.

Estou fazendo um teste para autenticar meu robo: e fiz uma classe de autenticação, classe simples.. mas esta me dando muita dor de cabeça:

Criei três instancias para tentar colocar módulos

Criei primeiro um arquivo Autentica.mqh

Depois o Arquivo Includes deixo as chamadas em um único Arquivo Includes.mqh

Por fim o EA Robo.mql5  que tem o chamdo em ontick(){

Quando  compilo o arquivo Autentica, gera o seguinte erro:

Obs. Os demais complia sem erro.

'Autenticar' - unexpected token, probably type is missing? Includes.mqh 3 1

'autenticar' - semicolon expected Includes.mqh 3 12

'autenticar' - undeclared identifier Robo.mqh 49 5

';' - unexpected token Robo.mqh 50 19

expression not boolean Robo.mqh 50 14

'(' - unbalanced left parenthesis Robo.mqh 49 4

empty controlled statement found StartRobo.mqh 50 19


Se eu remover a classe deixar em um arquivo simples e compilar não da erro.

No Robo ele compila sem dar erro e funciona perfeitamente.(Quero saber com arrumar esse erro nesse arquivo)

Agradeço desde já .

Obrigado!!

Corta o include do includes. Ele tem uma definição que só vai ser definido mais tarde.