Errori, bug, domande - pagina 3012

 
Andrei Trukhanovich:

l'aiuto non è d'accordo con questa interpretazione.

L'aiuto è scritto per mql e mql è scritto in ci ))
Conoscendo le basi del c, sarà chiaro cosa è cosa.

 
Roman:
Penso che sia semplice - non hai capito cosa dice la guida
 
Andrei Trukhanovich:
Penso che sia semplice - non hai capito cosa dice la guida

In generale, non è corretto!

 
Roman:

In generale, non è corretto!

Non ho intenzione di discutere su questo.

 
Roman:

L'aiuto è scritto per mql, e mql è scritto in ci ))
Se conosci le basi del C, saprai cosa è cosa.

In C, le dimensioni di un array e di una stringa sono sconosciute a priori, mentre in MQL sono note - questa è una differenza significativa - quindi, in MQL, i parametri ridondanti che li duplicano non sono necessari.

 
A100:

In C, le dimensioni dell'array e della stringa sono sconosciute in anticipo, mentre MQL è noto - questa è una differenza significativa - quindi in MQL non avete bisogno di parametri ridondanti che li duplicano.

Un array dinamico è dinamico, ed è per questo che si aspetta che l'utente ottenga qualsiasi dimensione.
Affinché un array dinamico capisca ciò che vuole, il programmatore dovrebbe dirgli:

-Ehi, array dinamico, voglio mandarti dei dati.
e lui risponde:
-E di che tipo e dimensione dei tuoi dati?
tu gli dici:
-Guarda, char 100 elementi
lui risponde:
-Okay, se sono dello stesso tipo, alloca una memoria di 100 byte per questi elementi e poi mandala. Altrimenti non lo accetterò.

;))

Ma avete semplificato la vita specificando anche zero nel parametro, l'automazione del processo stesso calcolerà la dimensione dei dati da trasferire.
Per dire una protezione aggiuntiva contro i nuovi arrivati. Ma è meglio passare la dimensione esplicitamente per controllarla, altrimenti avrete problemi di debugging in seguito.
 
Roman:

Un array dinamico è dinamico perché si aspetta che l'utente ottenga qualsiasi dimensione.
Affinché un array dinamico capisca cosa vuole, il programmatore dovrebbe dirgli:

-Hey, dynamic array, I want to send you data.
ed esso vi dirà:
-How big is your data?
voi gli dite:
-Here, 100
esso vi dirà:
-Okay, allocate la memoria per 100 elementi, e poi inviateli. Altrimenti non lo accetto.

;))

Ma vi siete semplificati la vita specificando anche zero nel parametro, l'automazione del processo stesso calcolerà la dimensione dei dati trasferiti.
Per dire una protezione aggiuntiva contro i nuovi arrivati. Ma è meglio passare la dimensione esplicitamente per controllarla, altrimenti avrete problemi di debugging in seguito.

Francamente parlando, questa è una crudeltà in casi critici per un array. quello che vediamo sotto forma di un overrun di un array dinamico.... anche se in circostanze normali è conveniente...

 
Valeriy Yastremskiy:

per essere onesti, questo è un capriccio in casi critici per un array. come vediamo sotto forma di un'uscita oltre la dimensione di un array dinamico.... anche se è conveniente in condizioni normali...

Array overrun, questo è il livello del programmatore ))

 
Roman:

Entrare al di fuori dell'array è un livello da programmatore ))

Questa è una situazione comune quando le barre della cronologia non sono completamente caricate. anche il classico controllo del caricamento della cronologia in base alla larghezza della finestra non è sempre rilevante.

E non è sempre il livello dell'algoritmista, soprattutto se la situazione è a bassa frequenza.

 
Valeriy Yastremskiy:

Questa è una situazione comune quando le barre della cronologia non sono completamente caricate. Anche il classico controllo del caricamento della cronologia in base alla larghezza della finestra non è sempre pertinente.

e non è sempre il livello dell'algoritmista, soprattutto se la situazione è a bassa frequenza.


Non aiuta?
Solo che questa è una peculiarità della piattaforma MT5, non le basi del linguaggio.
Se questo non aiuta, allora probabilmente dovreste informare gli sviluppatori.

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Организация доступа к данным - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5