Autoapprendimento del linguaggio MQL5 da zero - pagina 15

 
Vasiliy Sokolov:

I programmatori hanno due problemi: errori del compilatore e problemi di architettura. Mentre sei un principiante, ti concentri sul combattere il compilatore, e il tuo obiettivo finale è un programma che funzioni correttamente. Tuttavia, molto rapidamente un programma per principianti si trasforma nel cosiddetto codice spaghetti, che l'autore stesso non riesce a capire abbastanza presto. Ecco perché vi suggerisco di concentrarvi non sul compilatore e sulla correttezza dello script finale, ma su questioni architettoniche. È come imparare a suonare il pianoforte: prima si impara a tenere le dita correttamente e a sedersi allo strumento in modo adeguato, nessuno pretende di suonare Bach da un principiante.

Avete due gruppi di parametri che determinano il comportamento del vostro script: il primo è impostato staticamente, come una macro. Il secondo è impostato dall'utente quando carica lo script sul grafico. Ora l'utente non sarà in grado di selezionare il tipo di ordine da effettuare senza ricompilare questo script. Questo non va bene. Pertanto, sarebbe meglio abbandonare queste macro in favore del parametro aggiuntivo:

Di conseguenza, abbiamo definito una nuova enumerazione che abbiamo implementato come parametro di selezione per l'utente.

Ora ho riso vedendo il tuo stile, anche con errori specifici, scarabocchiare un po 'di più.

 
MrBrooklin:

Ciao, Peter! Studio il libro di testo quando è necessario, cioè quando vedo una lacuna nella mia conoscenza. Ora, sento che dovrò fare una piccola pausa e studiare il libro di testo più da vicino. Tutte le raccomandazioni dei partecipanti al forum sono prese in considerazione e sto cercando di attenervisi. E ora sono stupito di essere riuscito a scrivere qualcosa usando solo MQL5 Reference book per così poco tempo.

Saluti, Vladimir.

Il libro MQL4 Reference di Kovalev è il migliore. È disponibile da qualche parte su questo sito. Non ne troverete uno migliore.
 
Vasiliy Sokolov:

Il prossimo problema del tuo codice è che si espande in un lungo foglio procedurale. Tutti i principianti scrivono così. E questo è un problema che rimane con loro per anni. Imparate a spezzare il vostro algoritmo in parti, partendo dalle basi come questo script. Ci sono due modi per farlo: attraverso funzioni e classi. Il concetto di classi è troppo difficile da afferrare all'inizio, quindi ti suggerisco di concentrarti sul lavoro con le funzioni... perché non scriverne una tu stesso?

La cosa principale che una funzione vi dà è la capacità di pensare strutturalmente e di abbozzare schematicamente un algoritmo. Per esempio, se ci fosse un insieme speciale di funzioni di cui avete bisogno in MQL per il vostro compito, potreste scrivere un algoritmo molto semplice:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()                                                    
  {
   if(orderType1=="BUY_STOP")
     SendBuyStop(Lots, Distance);     
   if(orderType2=="SELL_STOP")
     SendSellStop(Lots, Distance);
  }
  

E questo è tutto. Abbiamo davanti agli occhi un semplice schema di algoritmo che funziona anche. Un sogno in una parola.

 
Roman:

Ora ho riso quando ho visto il tuo stile, e con errori specifici, scarabocchiare ancora un po'.

Cosa c'entri tu con gli errori, non sai nemmeno come funziona, ma stai dando consigli. Sono stati messi sul posto in realtà, senza offesa)

 
Реter Konow:
Notate che il tutorial MQL4 di Kovalev è il migliore. È disponibile da qualche parte su questo sito. Non ne troverete uno migliore.

È solo roba vecchia che non serve a nessuno al giorno d'oggi. È meglio leggere Kafka prima di andare a letto. È più utile.

 

Qui, il modo migliore per iniziare a imparare un linguaggio applicato per compiti altamente specializzati, senza farsi confondere dai consigli dei dilettanti o rompersi la testa per compiti inopportuni:

Il libro di testo di Sergei Kovalevhttps://book.mql4.com/ru

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня...
 
Vasiliy Sokolov:

Non sai nemmeno come funziona, ma dai consigli. (Sei stato messo alle strette, senza offesa)

Oh ho ho ho ))

Ci sono altre persone che danno consigli qui.
È stato fissato un compito rispetto alla condizione per, nessuno ha risposto, compreso te!
Di quale posto si può parlare, se vedo l'immagine opposta))

 
Vasiliy Sokolov:

È solo roba vecchia che non serve a nessuno al giorno d'oggi. È meglio leggere Kafka prima di andare a letto. È più utile.

Cosa intendi per "roba vecchia"? Un alfabeto, un libro ABC, potrebbe essere spazzatura? Forse l'aritmetica è vecchia?

Sei un buon programmatore, ma come insegnante non vedi le informazioni che sono rilevanti per il tuo studente e giudichi male il suo livello. Deve padroneggiare le basi nel giusto ordine, e solo un buon libro di testo aiuta).

 
Реter Konow:
Vasily, quell'uomo non ha ancora padroneggiato gli array. È troppo presto per lui per ascoltare tali lezioni).

Peter, non facciamolo. Ricordiamoci come vi abbiamo spiegato l'OOP al forum qualche anno fa).

Beh, la verità è che nemmeno tutti i programmatori moderni capiscono cosa sia un array. Tutti lavorano con le liste, e non tutte le lingue hanno un array all'interno. Da qualche parte è enumeratore + mappa, per esempio, e il pubblico non si lamenta.

 
Vasiliy Sokolov:

Peter, non facciamolo. Ricordiamoci come vi abbiamo spiegato l'OOP al forum qualche anno fa).

Beh, la verità è che nemmeno tutti i programmatori moderni capiscono cosa sia un array. Tutti lavorano con le liste, e non tutte le lingue hanno un array all'interno. Da qualche parte è enumeratore + mappa, per esempio, e il pubblico non si lamenta.

No, tu sei troppo.))) (Mi sono ricordato che ci diamo del tu, è passato molto tempo da quando sei stato qui:))

Tutti dovrebbero conoscere gli array!)), ma l'OOP non è richiesto. Naturalmente è buono, ma è troppo presto per parlarne.