
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
E i nomi normali che si trovano nei commenti?
A proposito, sembra esserci un errore nel preprocessore mql.
si espande a 'i nt ll;' e dà un errore:
'i nt' - undeclared identifier t_t_t.mq4 50 1
Per quanto riguarda i commenti nell'enumerazione - in teoria, dovrebbero essere in tensione fino al preprocessore C. Quindi, anche se fosse possibile inserire un commento, sarebbe improbabile che abbia un effetto. In senso buono, dovete cambiare la sintassi (a _cmnt_, per esempio) e cambiare la sequenza di chiamata del preprocessore C con il preprocessore che tira i commenti. Le prospettive di tali riforme sono improbabili, credo ))
A proposito, sembra esserci un errore nel preprocessore mql.
si espande a 'i nt ll;' e dà un errore:
Dynamic ENUM è per uso interno, la finestra delle impostazioni non li mostra. I nomi/commenti normali non sono realmente necessari
L'ultimo metodo richiede di scrivere manualmente gli spazi vuoti per enum e la funzione che restituisce un array di valori. Ho deciso di capirlo e di scriverlo in modo tale che non sia più necessario. Tuttavia, non può essere compilato in mql, non ci sono macro con numero variabile di argomenti, ma teoricamente possono apparire. Comunque, ecco quello che ho:
Выхлоп printf:
----enum1-----
1
3
65
90
----enum2-----
100
-3
21
----enum3-----
871
213
226
// Codice generato per emum1
// enum enum1{
// q = 1,
// e = 3,
// t = 65,
// z = 90,
// };
// unsigned get_enum1_array(int *ar){
// int temp[] = { q, e, t, z, };
// if(ar != NULL)
// for(unsigned i = 0; i < sizeof(temp) / sizeof(int); ++i){
// ar[i] = temp[i]; }
// return sizeof(temp) / sizeof(int);
// }
Articolo su questo argomento http://jhnet.co.uk/articles/cpp_magic. Tutto sommato, un sacco di magia, naturalmente. Ma la tecnica può essere utile per una vasta gamma di compiti relativi alla generazione di codice preprocessore.
Ho letto il thread con interesse, tutto molto cool con le macro.
Non è chiaro, perché abbiamo bisogno di tutto questo ballare con gli enum? Può fare un esempio pratico?
È chiaro su TF, ma cos'altro?
Tuttavia non può essere compilato in mql, non ci sono macro con numero variabile di argomenti, ma teoricamente possono apparire.
In MQL5 le macro non solo hanno un numero fisso di argomenti, ma il loro numero è limitato a 8. Così si può fare una enum per soli 3 valori.
Per quanto riguarda l'aspetto teorico, sarà probabilmente più veloce ottenere una funzione interna per l'analisi degli enum, dato che gli sviluppatori hanno già promesso di fare qualcosa.
In MQL5 le macro non solo hanno un numero fisso di argomenti, ma il loro numero è limitato a 8. Quindi possiamo fare una enum per soli 3 valori.
Per quanto riguarda l'aspetto teorico, è probabilmente più veloce ottenere una funzione interna per l'analisi degli enum. Gli sviluppatori hanno già promesso di fare qualcosa.
Utilizza il metodo di enumerazione proposto in precedenza utilizzando l'array.
Nessun iteratore è previsto per l'enumerazione dei valori.
Usate il metodo precedentemente suggerito per enumerare i valori usando un array.