Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 937

 

Voglio creare un array unidimensionale in cui da 0 a 4 elementi memorizzeranno double, da 5 a 9 memorizzeranno datetame, da 10 a 14 memorizzeranno int. È possibile organizzarlo in mql4? Se sì, potresti mostrarmi come farlo? Ho visto un esempio con strutture in C++, ma ho perso il link al sito?

 
Seric29:

Voglio creare un array unidimensionale in cui da 0 a 4 elementi memorizzeranno double, da 5 a 9 memorizzeranno datetame, da 10 a 14 memorizzeranno int. È possibile organizzarlo in mql4? Se sì, potresti mostrarmi come fare? Ho visto un esempio con strutture in C++, ma ho perso il link al sito.

Un array può avere solo un tipo.

Ma chi vieta di avere un tipo di array con un tipo di dati massimo? In questo caso è doppio.

 
Artyom Trishkin:

Un array può avere solo un tipo.

Ma chi vieta di avere un tipo di array con un tipo di dati massimo? In questo caso - doppio.

Ho bisogno che il nome sia lo stesso, altrimenti dovrò fare controlli a sinistra. Non posso usare una struttura per dichiararvi delle variabili e poi combinarle in un array? Non si può inserire un operatore sindacale nel mix?

 
Seric29:

Ho bisogno che il nome sia lo stesso, altrimenti dovrò fare controlli a sinistra. Non posso farlo attraverso una struttura, dichiarare le variabili in essa e poi combinarle in un array? Non puoi incollarci un operatore sindacale?

Il nome di cosa?

 
Artyom Trishkin:

Il nome di cosa?

Nome della matrice. Da quanto ho capito è impossibile, anche se fai una struttura, dovrai usare un punto e combinare le informazioni in un nome, forse ho visto quello sbagliato, ho perso il link.

 
Seric29:

Nome della matrice. Capisco che anche se fai una struttura, dovrai usare un punto e combinare le informazioni in un nome, forse ho visto quello sbagliato, mi dispiace di aver perso il link.

Perché dovremmo fare nomi diversi per una stessa matrice? Come potete immaginare?

Quindi, avete un array per memorizzare vari tipi numerici (tranne le stringhe, ovviamente). L'array deve avere un tipo uguale al massimo tipo di dati scritto in esso. Quindi, riempilo con diversi tipi. E quando li ottenete, fate attenzione agli indici, che già conoscete, in modo che le variabili giuste con i tipi giusti ottengano valori da celle diverse dell'array.

Da 0 a 4 elementi saranno memorizzati double, da 5 a 9 saranno memorizzati datetame, da 10 a 14 saranno memorizzati 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;
Un nome:array
 
Artyom Trishkin:

Perché fare nomi diversi per lo stesso array? Come puoi anche solo immaginarlo?

Quindi, avete un array per memorizzare diversi tipi numerici in esso (tranne le stringhe, ovviamente). L'array deve avere un tipo uguale al massimo tipo di dati scritto in esso. Quindi, riempilo con diversi tipi. E quando li ottenete, fate attenzione agli indici, che già conoscete, in modo che le variabili giuste con i tipi giusti ottengano valori da celle diverse dell'array.

Il nome è lo stesso: array

Quindi memorizzeranno dati diversi.

 
Seric29:

Questo è il modo in cui i diversi dati saranno memorizzati in essi.

Cosa c'è "in loro"?

 
Seric29:

Ho visto un esempio con strutture ma era in C++ ma ho perso il link al sito?

se il vostro esempio non ha puntatori, allora portarlo in MQL non sarà un problema

Seric29:

Non si può incollare l'operatore sindacale alla cassa?

L'unione non è un operatore! È un tipo! È descritto come una struttura, ma è usato per memorizzare diversi tipi di dati in uno spazio di memoriahttps://www.mql5.com/ru/docs/basis/types/classes#union


Seric29:

Volevo risolverlo, passare un array alla macro e chiamare la funzione sovraccaricata nella macro e restituire il risultato; sembra essere un compito primitivo, ma quando chiamo la funzione sovraccaricata nella macro, avverte che ci sono 3 funzioni, quindi devo scrivere criteri nella macro che determineranno quale delle funzioni sovraccaricate chiamare, e dovrò chiedere di nuovo come controllare questo; in generale, l'idea è persa.

inizia a leggere almeno un libro sul C++, le tue domande sono uno sballo, scrivi termini tecnici, a prima vista sembra che tu stia facendo una domanda specifica, ma in realtà operi solo in termini senza capirne l'essenza .... cosa ritornerà la macro? dove ritornerà? nel corpo della funzione macro ricaricabile.... Non posso nemmeno iniziare a spiegare com'è la tua domanda.

Per capire cos'è una macro, scrivete il termine correttamente, macroSUMMARY, forse vi sarà più facile capire cos'è

 
Seric29:

Dovrebbe funzionare così.

In generale, voglio ottenere questo effetto, ma non ho esperienza nel campo delle classi. Il codice si compila e funziona.

Questo è forte.