Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 251
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
Olá, quero escrever um painel comercial para minha EA em duas versões mql4 e mql5. Ainda não estou familiarizado com objetos gráficos. Usei um exemplo da classe CLabel da biblioteca padrão para criar um menu em movimento. Em mql5, o menu funciona bem, mas não em mql4. Quando um período gráfico é alterado, os objetos do menu são duplicados e sua localização em relação um ao outro muda. Talvez, o mql4 carece de alguns métodos na classe CLabel, que o mql5 tem? Você poderia sugerir o que acrescentar a esta classe para evitar tais problemas?
Também no código de exemplo da classe CLabel não está claro para mim o que estas linhas fazem:
Olá, quero escrever um painel comercial para minha EA em duas versões mql4 e mql5. Ainda não estou familiarizado com objetos gráficos. Usei um exemplo da classe CLabel da biblioteca padrão para criar um menu em movimento. Em mql5, o menu funciona bem, mas não em mql4. Quando um período gráfico é alterado, os objetos do menu são duplicados e sua localização em relação um ao outro muda. Talvez, o mql4 carece de alguns métodos na classe CLabel, que o mql5 tem? Você poderia sugerir o que acrescentar a esta classe para evitar tais problemas?
Além disso, não estou claro o que estas cordas fazem no exemplo do código da classe CLabel:
As linhas especificadas são macros que estão escritas no arquivo Defines.mqh. Literalmente, a primeira linha de controle de macro passa para a função de tratamento de eventos da classeCControlsDialog, depois as funções são executadas entre essas macros e a última macro passa o controle para a classeCAppDialog
As linhas especificadas são macros, que estão escritas no arquivo Defines.mqh. Literalmente, a primeira macro linha passa o controle para a função de manuseio de eventos da classeCControlsDialog, depois as funções entre essas macros são executadas, e a última macro passa o controle para a classeCAppDialog.
Obrigado, algo está começando a ficar claro) E você pode me dar um link para a documentação sobre o tópico de macros?
Obrigado, está começando a fazer sentido) Você pode me dar um link para a documentação sobre o tópico de macros?
https://www.mql5.com/ru/docs/basis/preprosessor/constant
int OnDeinit()
{
Alerta("beg OnDeinit()");
// err=StringToInteger(err);
//------------------------
retorno(0);
Alerta("fim OnDeinit()");
}
//OnDeinit();-----------
O erro cativo é descrito como um número inteiro
Não vejo qual é o problema.
Recebi a mensagem
int OnDeinit()
{
Alerta("beg OnDeinit()");
// err=StringToInteger(err);
//------------------------
retorno(0);
Alerta("fim OnDeinit()");
}
//OnDeinit();-----------
O erro cativo é descrito como um número inteiro
Não vejo qual é o problema.
Eu recebi uma mensagem
Não estou bem claro qual é a questão e onde o erro é gerado. Se você tem uma variável errada do tipo int, por que na linha comentada você está tentando convertê-la de string para int? Onde exatamente o erro ocorre?
Não está claro qual é a questão e de onde vem o erro. Se você tem um erro variável do tipo int, por que você está tentando convertê-lo de string para int na string comentada? Em que lugar ocorre um erro?
A mensagem do compilador indica a linha e a posição do erro. Você pode clicar na linha de descrição (linha inferior na figura) e o cursor indicará o erro no texto do programa. A função DeInit é executada imediatamente antes que o indicador ou o Expert Advisor seja removido do gráfico. Aqui, por exemplo, os elementos gráficos criados podem ser excluídos. Se não houver ações a serem realizadas (a função está vazia) - a função pode ser apagada... Se você tem algo como corda x=125, corrigir para corda x = (corda)125
Ao invés de err=StringToInteger(err); err=StringToInteger((string)err); embora alguns possam achar engraçado
A mensagem do compilador indica a linha e a posição do erro. Você pode clicar na linha de descrição (linha inferior na figura) e o cursor indicará o erro no texto do programa. A função DeInit é executada imediatamente antes que o indicador ou o Expert Advisor seja removido do gráfico. Aqui, por exemplo, os elementos gráficos criados podem ser excluídos. Se não houver ações a serem realizadas (a função está vazia) - a função pode ser apagada... Se você tiver algo como string x=125 correto para string x = (string)125
Ao invés de err=StringToInteger(err); err=StringToInteger((string)err); embora alguns possam achar engraçado
ms....
Eu fiz o que você recomenda
coloque a linhaerr=StringToInteger((string)err) na funçãoOpção; sem erro.
Mas o aviso de convocação implícita de corda para número ainda permanece, acho que o terminal terá que ser reinstalado afinal de contas.
Mas o aviso de convocação implícita de fio para número ainda permanece, acho que afinal terei que reinstalar o terminal.
Por favor, poste sua função OnDeinit - Eu a verei. E diga-me o que você quer dele. O MetaEditor dá este erro. Tenha uma cópia da pasta do terminal. Aqui Alexey Viktorov disse como reinstalar rapidamente