Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 162
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
per strutture e classi che includono stringhe o array dinamici o riferimenti di classe, sizeof() punterà il dito verso il cielo.
e posso capirlo :-)
Il tipo di stringa in mql è molto complicato, e non è completamente rivelato nella documentazione.
Ma si può intuire dal linguaggio C, che l'array di char (buffer) è avvolto nel tipo di stringa
E poi si inizia a ballare per capire come funziona ))
Il tipo di stringa in mql è molto complicato, e non è completamente rivelato nella documentazione.
Ma il linguaggio C suggerisce che il tipo di stringa è un array di char (buffer)
E poi si inizia a ballare per capire come funziona ))
Non ci sono stringhe in C.
per strutture e classi che includono stringhe o array dinamici o riferimenti di classe, sizeof() punterà il dito verso il cielo.
e posso capirlo :-)
Ma perché?
Con qualsiasi array dinamico mostrerà la dimensione dell'oggetto array dinamico, che è 52 byte in MQL5
Non ci sono tanga in C.
Credo che ci sia già, ma non è questo il punto.
Sì, C ha char[], è avvolto nella stringa mql
Ma perché?
Con qualsiasi array dinamico mostrerà la dimensione dell'oggetto array dinamico, che è 52 byte in MQL5
la dimensione di cosa e per chi mostrerà?
52 byte è solo il loro dispositivo interno.
Perché non è 64 non è chiaro, potrebbero essersi allineati :-)
Credo che ci sia già, ma non è questo il punto.
Sì, C ha char[], è avvolto nella stringa mql
Beh, lo capisco.
Non uso affatto le funzioni di stringa. Li converto immediatamente in un array di char usando la funzione StringToCharArray e poi lavoro con l'array. L'ho trovato molto più efficiente.
Soprattutto quando si tratta di fare il parsing.
la dimensione di cosa e per chi mostrerà?
52 byte è solo la loro struttura interna.
Non è chiaro perché non sia 64, potrebbero averlo allineato :-)
Probabilmente una specie di struttura con diversi tipi. Per esempio, 5 ulong e 3 uint. Forse il tempo è presente per l'elaborazione interna e l'ora dell'ultimo accesso. NON LO SO. Chissà cosa può contenere questa struttura.
Beh, è comprensibile.
Non uso affatto le funzioni di stringa. Li converto immediatamente in un array di char usando la funzione StringToCharArray e poi lavoro con l'array. L'ho trovato molto più efficiente.
Molto probabilmente, la stringa mql è short[] o wchar_t[] o wchar_t*.
Dopo tutto, le stringhe mql sono in Unicode, mentre utf è di 2 byte.
E StringToCharArray converte da short[] a char[].
E molto probabilmente sotto mql string c'è short[]
Dopo tutto, ci sono 2 byte in stringa in Unicode in mql.
E StringToCharArray converte da short[] a char[]
No, l'avrei notato. Anche se non escludo che in alcuni casi (quando si lavora con Unicode) sia possibile. In Java, per esempio, il tipo char è 2 byte.
Ho provato ad analizzare i dati dal crypto-exchange in due varianti: tramite questa libreria JSON e tramite il lavoro con l'array di char.
La differenza si è rivelata essere 700(!!!) volte per la velocità. Ero scioccato. Forse era lontano dalla migliore implementazione JSON.