Discussão do artigo "O uso de bibliotecas de classe de negócio padrão MQL5 ao escrever um Expert Advisor" - página 3
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Também há linhas na classe COrderInfo
return(FormatType(str,Type())); ... FormatType(type,Type()) ... if(m_type==Type() && m_state==State() &&Mas a função Type() não está presente na classe.
A seção 1.4 do artigo fornece os recursos da classe COrderInfo, que, a julgar pela descrição, foi projetada para trabalhar com pedidos pendentes ativos. Sugere-se fazer o seguinte:"Para usar essa classe para obter as propriedades das ordens pendentes, primeiro solicitamos o número total de ordens e as selecionamos por tíquete de ordem"
Mas se a função HistorySelect() foi criada para consultaro "histórico de transações e ordens", ou seja, para consultar o histórico de ordens, por que usar essa função ao consultar o número total de ordens pendentes ativas?Na classe COrderInfo ...
Mas a função Type() está ausente na classe.
Alguém pode me explicar? Aqui está um trecho de código da classe CDealInfo:
Aqui, a função CDealInfo::FormatDeal(string& str) contém essa linha:
symbol.Name(Symbol());Por sua vez, a função Symbol() é definida na própria classe CDealInfo e entre as funções padrão do terminal do cliente. Qual função é passada como argumento para a função symbol.Name()? Por qual regra?Alguém pode me explicar? Aqui está um trecho de código da classe CDealInfo:
Aqui, a função CDealInfo::FormatDeal(string& str) contém essa linha:
Por sua vez, a função Symbol() é definida na própria classe CDealInfo e entre as funções padrão do terminal do cliente. Qual função é passada como argumento para a função symbol.Name()? Por qual regra?A mesma regra do escopo das variáveis funciona aqui. Se uma variável for declarada com um nome nos níveis global e local, dentro do escopo local o nome apontará para a variável local e, fora dele, para a global.
Acontece que, se uma função padrão for sobrecarregada dentro de uma classe, o corpo da sobrecarga será chamado na própria classe e o corpo da função padrão será chamado no nível global. O corpo da função sobrecarregada pode ser chamado em nível global por meio do ponteiro da classe.
A mesma regra funciona aqui como no escopo das variáveis. Se uma variável for declarada com o mesmo nome nos níveis global e local, então, dentro do escopo local, o nome apontará para a variável local e, fora dele, para a global.
Acontece que, se uma função padrão for sobrecarregada dentro de uma classe, o corpo da sobrecarga será chamado na própria classe e o corpo da função padrão será chamado no nível global. O corpo da função sobrecarregada pode ser chamado em nível global por meio do ponteiro da classe.