Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 937

 

Eu quero criar uma matriz unidimensional onde 0 a 4 elementos irão armazenar o dobro, 5 a 9 irão armazenar o datetame, 10 a 14 irão armazenar o int. É possível organizá-lo em mql4? Em caso afirmativo, poderia me mostrar como fazê-lo? Vi um exemplo com estruturas em C++, mas perdi o link para o site?

 
Seric29:

Eu quero criar uma matriz unidimensional onde 0 a 4 elementos irão armazenar o dobro, 5 a 9 irão armazenar o datetame, 10 a 14 irão armazenar o int. É possível organizá-lo em mql4? Se sim, você poderia me mostrar como fazê-lo? Vi um exemplo com estruturas em C++, mas perdi o link para o site.

Uma matriz só pode ter um tipo.

Mas quem proíbe ter um tipo de matriz com um tipo de dados máximo? Neste caso, é o dobro.

 
Artyom Trishkin:

Uma matriz só pode ter um tipo.

Mas quem proíbe ter um tipo de matriz com um tipo de dados máximo? Neste caso, o dobro.

Preciso que o nome seja o mesmo, caso contrário, terei que fazer verificações à esquerda. Não posso usar uma estrutura para declarar variáveis nela e depois combiná-las em uma matriz? Você não pode colocar um operador sindical na mistura?

 
Seric29:

Preciso que o nome seja o mesmo, caso contrário, terei que fazer verificações à esquerda. Não posso fazer isso através de uma estrutura, declarar variáveis nela e depois combiná-las em uma matriz? Você não pode colar um operador sindical a ele?

O nome de quê?

 
Artyom Trishkin:

O nome de quê?

Nome da matriz. Como entendo que é impossível, mesmo que você faça uma estrutura, terá que usar um ponto e combinar as informações em um nome, talvez eu tenha visto o errado, eu perdi o link.

 
Seric29:

Nome da matriz. Entendo que mesmo que você faça uma estrutura, terá que usar um ponto e combinar as informações em um nome, talvez eu tenha visto o errado, sinto muito por ter perdido o link.

Por que devemos fazer nomes diferentes para uma matriz? Como você pode imaginar?

Portanto, você tem uma matriz para armazenar vários tipos numéricos (exceto fio, é claro). A matriz deve ter um tipo igual ao tipo de dados máximo nela escrito. Portanto, encha-o com diferentes tipos. E quando você os obtém, tome cuidado com os índices, que você já conhece, para que as variáveis certas com os tipos certos obtenham valores de diferentes células da matriz.

De 0 a 4 elementos será armazenado duplo, de 5 a 9 será armazenado datetame, de 10 a 14 será armazenado int

double array[15];
array[0]=0.0; array[1]=0.1; array[2]=0.2; array[3]=0.3; array[4]=0.4;
array[5]=(datetime)5; array[6]=(datetime)6; array[7]=(datetime)7; array[8]=(datetime)8; array[9]=(datetime)9;
array[10]=(int)10; array[11]=(int)11; array[12]=(int)12; array[13]=(int)13; array[14]=(int)14;
Um nome:array
 
Artyom Trishkin:

Por que fazer nomes diferentes para a mesma matriz? Como você sequer imagina isso?

Portanto, você tem uma matriz para armazenar diferentes tipos numéricos nela (exceto fio, é claro). A matriz deve ter um tipo igual ao tipo máximo de dados escritos nela. Portanto, encha-o com diferentes tipos. E quando você os obtém, tome cuidado com os índices, que você já conhece, para que as variáveis certas com os tipos certos obtenham valores de diferentes células da matriz.

O nome é o mesmo: array

Assim, eles irão armazenar dados diferentes.

 
Seric29:

É assim que diferentes dados serão armazenados neles.

O que está "neles"?

 
Seric29:

Vi um exemplo com estruturas, mas estava em C++, mas perdi o link para o site?

se seu exemplo não tivesse indicações, portar para a MQL não será problema

Seric29:

Você não pode colar o operador do sindicato ao caso?

união não é um operador! é um tipo! é descrito como uma estrutura, mas é usado para armazenar diferentes tipos de dados em um espaço de memóriahttps://www.mql5.com/ru/docs/basis/types/classes#union


Seric29:

Eu queria corrigi-la, passar um array para macro e chamar função sobrecarregada em macro e retornar o resultado. Parece ser uma tarefa primitiva, mas quando chamo função sobrecarregada em macro recebo um aviso de que existem 3 funções, então devo escrever em macro um critério que irá determinar qual das funções sobrecarregadas chamar, mas aqui novamente tenho que perguntar como fazer esta verificação, em geral, a idéia falhou.

comece a ler pelo menos um livro sobre C++, suas perguntas são uma explosão, você escreve termos técnicos, à primeira vista parece que você está fazendo uma pergunta específica, mas na verdade você apenas opera em termos sem entender a essência .... o que a macro retornará? onde retornará? no corpo da função recarregável da macro.... Não consigo nem mesmo começar a explicar como é sua pergunta.

Para entender o que é uma macro, escreva o termo corretamente, macroSUMÁRIO, talvez seja mais fácil para você entender o que é

 
Seric29:

Deveria funcionar desta forma.

Em geral, quero alcançar este efeito, mas não tenho experiência na área das aulas. O código compila e funciona.

Isso é legal.

Razão: