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
Os erros do compilador quando eu coloco o caminho para o ícone no diretório_dados_do_terminal, o erro diz que não é possível abrir um arquivo em uma pasta da loja virtual mesmo que eu não tenha especificado uma pasta na loja virtual. Eu especifiquei uma pasta no diretório_de_dados_do_terminal.
A única maneira de fazê-lo funcionar era colocar o arquivo na mesma pasta do código fonte e não especificar um caminho, apenas # ícone de propriedade "MyIcon.ico".
Oi, caso alguém tenha problemas com o ícone de propriedade "MyIcon.ico", você deve considerar o tamanho do ícone 96x96 px ou superior. Eu também já experimentei o erro, mas agora funciona.
Notei que o compilador executa fundição que eu não esperaria que ocorresse.
Eu tenho o seguinte código:
onde a classe do objeto chave é MT4String, enquanto a função getKey() retorna uma classe mais genérica. O mesmo caso é com o objeto botão. A fundição explícita é omitida.
O código original tinha este aspecto:
Em JAVA, seria necessário fundição explícita, mas o compilador MQL4 também trabalha com esta sintaxe de forma adequada.
Esta fundição implícita é uma característica, que também é válida em C++? Ou é um bug?
Não sou especialista em C++, mas passar de uma classe base para uma classe infantil é chamado de downcasting e, de acordo com esta página, parece que o downcasting também deve ser explícito em C++. (como Java) ?
Como a MQL4 permite o downcasting implícito, ou é uma "característica" ou um bug :)
Se for uma "característica", provavelmente significa que o compilador falhará em avisar o codificador de um erro potencial, então não é uma grande característica. Tanto C+++ quanto Java requerem downcasting explícito por uma razão?
Além disso, na MQL4, não há nenhuma maneira construída para verificar a classe de um objeto (por exemplo, instanceOf etc.), então isso significa que um erro de tempo de execução não pode ser evitado a menos que você implemente sua própria verificação de "tipo"...
Não sou especialista em C++, mas passar de uma classe base para uma classe infantil é chamado de downcasting e, de acordo com esta página, parece que o downcasting também deve ser explícito em C++. (como Java) ?
Como a MQL4 permite o downcasting implícito, ou é uma "característica" ou um bug :)
Se for uma "característica", provavelmente significa que o compilador falhará em avisar o codificador de um erro potencial, então não é uma grande característica. Tanto C+++ quanto Java requerem downcasting explícito por uma razão?
Além disso, na MQL4, não há nenhuma maneira construída para verificar a classe de um objeto (por exemplo, instanceOf etc.), então isso significa que um erro de tempo de execução não pode ser evitado a menos que você implemente sua própria verificação de "tipo"...
Sim, eu também apreciaria uma instância ou ".classe ", mas até onde percebi, ela não está disponível nem mesmo no C++. Mesmo o depurador MQL4 não sabe o tipo do objeto vigiado. Eu não me importo muito, porque o recurso OOP na MQL4 é implementado surpreendentemente muito bem, e se este fosse o único bug, então eu diria hurray. Eu só estava curioso, se ele estivesse seguindo algum padrão existente, mas parece que era um bug.
no antigo MT4 eu utilizo um arquivo dll para criar o comércio de um clique da EA
Eu posso digitar o parâmetro... LOT, TP SL diretamente sobre aquelas caixas de texto brancas
quando clico em comprar ou vender... meu EA leu o texto de entrada na caixa.
no novo MT4 eu vejo a função botão... mas não consigo encontrar a função para criar uma caixa de texto como essa
no antigo MT4 eu utilizo um arquivo dll para criar o comércio de um clique da EA
Eu posso digitar o parâmetro... LOT, TP SL diretamente sobre aquelas caixas de texto brancas
quando clico em comprar ou vender... meu EA leu o texto de entrada na caixa.
no novo MT4 eu vejo a função botão... mas não consigo encontrar a função para criar uma caixa de texto como essa
Para a entrada do teclado há o tipo de objeto OBJ_EDIT. Ele dispara o evento CHARTEVENT_OBJECT_ENDEDIT se você pressionar a tecla Enter. Mas parece que a tecla Enter é a única maneira de terminar a edição, por exemplo, clicar com o mouse fora dos limites do objeto não termina a edição. Ela me impede de distribuir o objeto como sendo de uso não amigável.
Além disso, se a string vazia for fornecida como valor inicial, então aparece o texto automático "Edit" (e esta palavra até pode ser editada), o que é realmente confuso.
Eu criei este botão para editar o texto dentro dele e gostaria de ler e converter a seqüência de texto em uma variável dupla ou int, mas não funciona e não imprime o "O texto no campo Editar do objeto com nome" foi alterado".
você pode me ajudar?