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
Um exemplo seria...
Assim (não a estrutura, mas a classe, é claro):
O que colocar onde, penso eu, é claro.
Não se esqueça no final:
Deixe-me reformular a frase. Está a perguntar-se se é possível, ao definir uma função
especificar apenas uma variável do tipo de estrutura como parâmetro formal, ignorando o nome da própria estrutura? Isto é, especificar, por exemplo, não void funcName(MqlTradeRequest & req), mas apenas void funcName(& req)?
Sim. É necessária uma função universal para qualquer estrutura simples --- Não há métodos, matrizes de din. etc. --- puramente uma sequência de tipos de dados específicos.
Uma vez que a composição do guião é pré-determinada por mim, posso especificar explicitamente o número de estruturas a tratar.
Mas para passar qualquer uma destas estruturas para afunção com um nome, tenho de usar a sobrecarga.
Há aqui algumas dificuldades.
1. o número de estruturas é limitado, porque a sobrecarga irá abrandar se tiver mais elementos.
2. Eu próprio posso cometer um erro ao copiar as funções de sobrecarga.
PS/// A funçãofunWrite() executa certos cálculos e executaFileWriteArray() com uma certa sequência e parâmetros calculados (de que índice escrever, quantos a ler).
Sim. É necessária uma função universal para qualquer estrutura simples --- Não há métodos, matrizes de din. etc. --- puramente uma sequência de tipos de dados específicos.
Como a composição do guião é pré-definida por mim, posso especificar explicitamente o número de estruturas a tratar.
Mas para passar qualquer uma destas estruturas para uma função com um nome, tenho de usar sobrecarga.
Estou a ver. Há algum tempo atrás fiz uma pergunta semelhante sobre se era possível não especificar o tipo de arrays ao definir uma função. Logo abaixo, Roche aconselhou uma sobrecarga.
Assim, cheguei à conclusão que funções "incorporadas" comoFileWriteArray(), quetêm alguns parâmetros especificados com tipo vazio, são elas próprias funções sobrecarregadas. Apenas não vemos a sua implementação.
Estou a ver. Uma vez fiz uma pergunta semelhante antes sobre se era possível não especificar o tipo de arrays ao definir uma função. Logo abaixo, Roche aconselhou uma sobrecarga.
Assim, cheguei à conclusão que funções "incorporadas" comoFileWriteArray(), quetêm alguns parâmetros especificados com tipo vazio, são elas próprias funções sobrecarregadas. Apenas não podemos ver a sua implementação.
As funções incorporadas são escritas numa linguagem de programação completa.
Em C, por exemplo, pode passar qualquer número de variáveis, e já na função obter uma lista de parâmetros passados e examiná-los.
void fun(...) { }
Na MQL5, não existe tal possibilidade. Em particular, faltam ligações e apontadores para tipos e estruturas de dados simples...
Deve ter algo a ver com a segurança. Acesso aos dados. Ir para fora da caixa de areia.
Mas ainda gostaria que estas características fossem implementadas na MQL5
Deve ter algo a ver com a segurança. Acesso aos dados. Ir para fora da caixa de areia.
Mas ainda quero que estas características sejam implementadas na MQL5
Assim (não a estrutura, mas a classe, é claro):
Penso que é claro o que colocar onde.
No final, não se esqueça:
A isto é que eu chamo ajuda: real e bastante concreta. Obrigado. Onde está o sinal de mais?
A propósito... Tenho pensado que isso é suficientemente bom para mim. Mas não quero ser formalista... ... por curiosidade, decidi que não faria mal tentar organizar uma matriz bidimensional. A MQL faz-me lembrar algo do C/C++, que tenho esquecido ao longo dos últimos doze anos ou assim. Agora tentei fazê-lo desta forma (sem loop - simplifiquei-o intencionalmente):
O compilador gera o erro: "'MABuffer' - a conversão de parâmetros não é permitida".
O que será que estou a fazer mal? Se não me engano, ao declarar uma classe com matriz multidimensional é necessário especificar numericamente uma das medidas, tornando-a estática?ArrayResize, entretanto, estabeleceum novo tamanho para a primeira dimensão.
x100intraday:
O que será que estou a fazer mal?
1) SetIndexBuffer trabalha com um conjunto de duplas da mesma dimensão.
2) Não está claro porque é que está a usar TBuffer*, ou seja, usando dinâmicas onde não é necessário?
3) (DICA) No exemplo, poderia ter feito com uma estrutura em vez de uma classe, para guardar um pouco de memória e algumas centenas de ciclos de relógio.
mql5:
3) (DICA) No exemplo, poderia ter feito com uma estrutura em vez de uma classe, para guardar um pouco de memória e algumas centenas de ciclos de relógio.
O conselheiro especializado utiliza o indicador num período de tempo diferente. Nos testes, a EA mostra dados incorrectos do indicador.
A própria EA funciona em M5, e o indicador em H4. Os indicadores que são chamados no mesmo período de tempo (M5) devolvem os valores correctos.
Os valores devolvidos são semelhantes aos valores do indicador, mas são diferentes dos valores reais que são visíveis quando o indicador é aplicado à janela do gráfico de preços.
Qual é o problema?
Exemplo de código de chamada de indicador: