Bug di ridimensionamento degli array nella build beta 530 - pagina 4

 
SDC:

Hai già codificato in MQL5 angevoyageur?

Si. Perché?
 
angevoyageur: Sì, hai ragione, sarà una transizione difficile. Tuttavia, penso che sarà difficile non per i neofiti ma per i codificatori sperimentati di mql4 che non conoscono ancora mql5. In generale, i neofiti non leggono la documentazione

Sono d'accordo con te questa volta . La maggior parte delle persone che hanno investito tempo per imparare mql4 avrebbero paura di reimparare la nuova sintassi.

mql4 ora ha più livelli di mql5 (immaginatelo).

  • c'è la sintassi mql4_non_oop.
  • c'è la sintassi mql5_non_oop.
  • c'è la sintassi mql5_object_oriented.

La buona notizia è che non devi usare ciò che non conosci. Penso, mi piace il modo in cui metaQuotes sta facilitando i programmatori mql4_ in mql5 e OOP.

Per i fan di metaTrader, questo linguaggio è probabilmente il linguaggio del futuro; quindi prima lo superiamo meglio è ..... solo le mie opinioni .

 
SDC: Penso che quando la nuova versione sarà rilasciata causerà molta confusione sul forum per i neofiti perché la nuova documentazione di mql4 è basata sulla codifica di mql5. Ciò significa che molto di ciò che è descritto su questo forum e nel codebase sarà contraddetto dalla documentazione di mql4. Impostazione di un buffer di indicatori dalla nuova documentazione di mql4: (Questo in realtà ha degli errori e non si compila)
Credo che sarà molto simile a mql5.com. Alcuni neofiti non riceverebbero aiuto con la codifica sul forum a seconda dello stile che stanno usando. Esempio: se lo stile che stanno usando è mql5_oop allora la maggior parte delle risposte li indirizzerebbe verso gli mql5_docs. Tuttavia, se postano i loro codici mql4_codes allora ci saranno molte più persone in grado di leggere i codici reali.
 
ubzen:

Sono d'accordo con te questa volta. La maggior parte delle persone che hanno investito tempo per imparare mql4 avrebbero paura di reimparare la nuova sintassi.

mql4 ora ha più livelli di mql5 (immagina questo).

  • c'è la sintassi mql4_non_oop.
  • c'è la sintassi mql5_non_oop.
  • c'è la sintassi mql5_object_oriented.

La buona notizia è che non devi usare ciò che non conosci. Penso, mi piace il motivo per cui metaQuotes sta facilitando i programmatori mql4_ in mql5 e OOP.

Per i fan di metaTrader, questo linguaggio è probabilmente il linguaggio del futuro; quindi prima lo superiamo meglio è ..... solo le mie opinioni.

Hai ragione, ma io direi piuttosto: non devi usare ciò che non ti serve.
 
ubzen:

La buona notizia è che non devi usare ciò che non conosci. Penso, mi piace il modo in cui metaQuotes sta facilitando i programmatori di mql4_ in mql5 e OOP.

Per i fan di metaTrader, questo linguaggio è probabilmente il linguaggio del futuro; quindi prima lo superiamo meglio è..... solo le mie opinioni.

Sono d'accordo ed è qualcosa con cui ho rimandato l'apprendimento... ma non per molto tempo, se qualcuno si imbatte in qualche buona introduzione ai principi dell'OOP mi mandi un PM.


La mia più grande preoccupazione è la documentazione, spero che non sia lasciata ad un ripensamento piuttosto che le venga dato il tempo e l'attenzione di cui ha bisogno... speriamo che i miei timori siano infondati.

 
angevoyageur:
Sì. Perché?

Perché voglio chiedervi, pensate che imparare mql5 sia valsa la pena? Avete realizzato cose in mql5 che non avreste potuto fare nel vecchio mql4? Inoltre sei un programmatore esperto di oop?

Hai ragione, sarà una transizione difficile, non so se avrò mai il tempo di imparare tutte queste nuove cose.

Mi chiedo anche perché quell'esempio di codifica non si compila, gli ENUM sono una costante predefinita?

il primo errore è 'ENUM_APPLIED_PRICE' - dichiarazione senza tipo TestCopyBuffer1.mq4 23 7...

 
RaptorUK:

Sono d'accordo ed è qualcosa con cui ho rimandato di fare i conti. . . ma non per molto tempo ancora, se qualcuno si imbatte in qualche buona introduzione ai principi dietro l'OOP per favore mi mandi un PM.


La mia più grande preoccupazione è la documentazione, spero che non sia lasciata ad un ripensamento piuttosto che le venga dato il tempo e l'attenzione di cui ha bisogno... speriamo che i miei timori siano infondati.

Penso di essere d'accordo anch'io, non sono sicuro fino a che punto oop sia davvero necessario. Altri sarebbero d'accordo sul fatto che oop riguarda più la struttura di un programma che la sua funzione o capacità? O dobbiamo davvero pensare a oop per sfruttare al meglio le caratteristiche di mql5?

 

Ho un suggerimento per chi vuole sperimentare la nuova beta ma vuole anche mantenere il 509 per scopi di thrading. Altri hanno detto che se aggiornate un terminale alla beta, l'aggiornamento live aggiornerà anche tutti gli altri che avete. Questo non è successo a me, ho capito che UAC sta proteggendo il mio terminale di trading principale dalle interferenze dell'aggiornamento automatico dal vivo.

Quindi puoi installare un 509 nei file di programma e attivare UAC. Quello sarà il tuo terminale di trading principale.

Installare un altro 509 in una cartella separata, può essere anche in Program Files non importa, io ho usato ProgramFiles/MetaTraderBeta/ Collegare questo terminale al server di prova MT4 e lasciare che si aggiorni alla beta 530

Ora quando chiudete la versione beta e aprite il terminale di trading 509, l'UAC informerà che un programma ha bisogno del vostro permesso per continuare. Questo è il liveupdate. Non date il permesso e il terminale si caricherà normalmente e rimarrà la versione 509. Questo accadrà ogni volta che riavvierete la 509.

 
SDC:

Perché voglio chiedervi, pensate che imparare mql5 sia valsa la pena? Avete realizzato cose in mql5 che non avreste potuto fare nel vecchio mql4? Inoltre sei un programmatore esperto di oop?

Hai ragione, sarà una transizione difficile, non so se avrò mai il tempo di imparare tutte queste nuove cose.

Mi chiedo anche perché quell'esempio di codifica non si compila, gli ENUM sono una costante predefinita?

il primo errore è 'ENUM_APPLIED_PRICE' - dichiarazione senza tipo TestCopyBuffer1.mq4 23 7..

Probabilmente non sono un buon esempio, dato che sono un programmatore professionista. Quindi non è uno sforzo enorme per me, e mi piace imparare nuovi linguaggi di programmazione. Ho anche qualche esperienza con oop.

Penso che molti programmatori di mql4 non sono programmatori professionisti e hanno imparato mql4 per avere la possibilità di automatizzare il trading con la speranza di guadagnare qualche soldo. Anche senza parlare di oop, mql5 è più difficile da imparare di mql4. mql5 è più strutturato, meno permissivo. Prendo solo 1 esempio, l'uso di iCustom. Con mql4 devi usare 1 chiamata a iCustom, con i parametri necessari, per ottenere il valore di un buffer per una data candela. Con mql5, si deve lavorare in 2 passi, in primo luogo usare iCustom per ottenere un handle per l'indicatore, e in secondo luogo usare una funzione CopyBuffer per ottenere i dati (1 valore o 10000 valori con 1 chiamata). Quindi un codificatore dilettante in mql4 può capire più facilmente chi usare iCustom per ottenere 1 valore, con mql5 bisogna capire il concetto di un handle, poi padroneggiare la funzione CopyBuffer. Più difficile. Ma più efficiente se hai bisogno di ottenere 3, 4, 10 o anche 1000 valori dal buffer di un indicatore.

Inoltre ci sono molti miglioramenti, per esempio quasi tutto ciò che ha bisogno di usare la dll di windows (postMessage...) con mql4 può essere fatto direttamente con mql5. Non è necessario usare oop, tutte le funzioni sono disponibili in modo procedurale.

Come conclusione, non preoccupatevi dell'oop. Secondo me la cosa migliore da fare è procedere passo dopo passo. Quello che avete usato fino ad ora è ancora disponibile con piccole modifiche. Quando hai bisogno di una soluzione per un nuovo problema, vedi se le nuove possibilità possono offrire una soluzione.


 
SDC:<br/ translate="no">

Ho un suggerimento per chi vuole sperimentare la nuova beta ma vuole anche mantenere il 509 per scopi di thrading. Altri hanno detto che se aggiornate un terminale alla beta, l'aggiornamento live aggiornerà anche tutti gli altri che avete. Questo non è successo a me, ho capito che UAC sta proteggendo il mio terminale di trading principale dalle interferenze dell'aggiornamento automatico dal vivo.

Quindi puoi installare un 509 nei file di programma e attivare UAC. Quello sarà il tuo terminale di trading principale.

Installare un altro 509 in una cartella separata, può essere anche in Program Files non importa, io ho usato ProgramFiles/MetaTraderBeta/ Collegare questo terminale al server di prova MT4 e lasciare che si aggiorni alla beta 530

Ora quando chiudete la versione beta e aprite il terminale di trading 509, l'UAC informerà che un programma ha bisogno del vostro permesso per continuare. Questo è il liveupdate. Non date il permesso e il terminale si caricherà normalmente e rimarrà la versione 509

Abbiate pazienza per la beta. Metaquote rimuove il suo topic su di essa perché la versione attuale non è ancora pronta per un test di massa.

Se volete testare, ed evitare l'aggiornamento di altri terminali, dovete rimuovere la seguente cartella:

  • Windows 7 : C: \ ProgramData \ MetaQuotes \ WebInstal dopo un aggiornamento riuscito, il terminale di prova agli altri terminali non sono aggiornati.
  • Windows XP: C: \ Documents and Settings \ All Users \ Application Data \ MetaQuotes \ Webinstall \
Motivazione: