Discussione sulla documentazione MQL4 - pagina 6

 

Nessuno dubita che un giorno apparirà un vero e proprio libro di testo MQL. L'unica questione è il tempo.
A questo proposito è interessante sapere cosa faranno coloro che non impareranno a programmare senza di esso (non può)? Per esempio, se gli sviluppatori si siedono al libro ora e dicono che un libro di testo sarà pubblicato tra 1-2 anni cosa faranno quelli che vogliono questo libro di testo ora? Aspetteranno 1-2 anni e poi inizieranno una filiale simile a questahttps://www.mql5.com/ru/forum/51086? ;o)
Solo per curiosità.

 
Penso che la maggior parte della gente stia già cercando di capirlo, ma alcuni aspetteranno e solo una parte di quella parte aspetterà e non sputerà su tutto. Infatti, tra 2 anni arriverà MQL5. Perché dovrebbe esserci un libro di testo su MQL4?
 

È interessante sapere cosa fanno a questo proposito coloro che non imparerebbero a programmare senza (non possono)?


Chi ne ha veramente bisogno lo farà e potrà farlo. Come ultima risorsa, faranno semplicemente un accordo con un programmatore che codificherà ciò di cui hanno bisogno.

Se non ci sono soldi per lui, allora nel primo caso, faranno qualcosa da soli. Questo è un vero investimento nel capitale più importante: la conoscenza.

Quando ho imparato Trubo Pascal per la prima volta nella mia vita, una settimana è stata sufficiente per padroneggiarlo nel volume, sufficiente per leggere due semestri di lezioni agli studenti, per i quali la specialità "Programmazione di sistema" non era profilo. Allo stesso tempo sono riuscito a scrivere il mio programma di circa 500-600 righe di codice, che riformatta un file di testo da una colonna a molte colonne (sarete d'accordo, non è un compito per un principiante). Non sto costruendo le mie dita, sto solo dicendo quanto tempo ci vuole approssimativamente per iniziare a scrivere qualcosa di normale in MQL4. Il linguaggio C non è più difficile (ripeto: esattamente C, non C++).

Significa che o non avete abbastanza cervello o non avete abbastanza perseveranza. Che tipo di commercianti meccanizzati sono?
 

Un'altra opzione è l'apprendimento a distanza. Per esempio, così:

  1. Qualcuno da un programmatore esperto invia i più semplici esempi di script, indicatori, consulenti con commenti dettagliati su letteralmente ogni linea.
  2. Lo studente li legge, li analizza, cambia i parametri, fa domande.
  3. Il programmatore risponde alle domande e dà esempi più complicati con solo le nuove caratteristiche commentate.
  4. Lo studente lavora di nuovo sul materiale e fa domande su di esso e chiede un'idea (uso di medie, statistiche, indicatori esterni, ecc.).
  5. Il programmatore risponde alle domande e dà una serie di funzioni che possono essere utilizzate per risolvere il problema.
  6. Lo studente affronta il compito, ringrazia di cuore l'insegnante e, avendo capito il principio e le basi della programmazione, va a nuotare, di tanto in tanto facendo domande sul forum, studiando autonomamente articoli, manuali, esempi, ecc.
  7. Il programmatore, soddisfatto del successo dello studente, va a ritirare la sua quota da WebMoney e aspetta altre offerte di formazione.

Questo tipo di formazione sarebbe abbastanza efficace, secondo me. In 5-10 sessioni, se il programmatore è abbastanza abile e lo studente ne è capace, è possibile raggiungere il livello dopo il quale il programmatore può facilmente passare all'auto-miglioramento. Per quanto riguarda l'ordinazione di Expert Advisors, poi di nuovo, secondo me, nella maggior parte dei casi, è uno spreco di denaro. La strategia deve essere migliorata (affinata). Quali sono le possibilità di colpire immediatamente la "miniera d'oro"? Il mercato Forex cambia e bisogna adattarsi ad esso. Dovete scrivere solo voi stessi o entrare in rapporti commerciali a lungo termine con un programmatore e lavorare con un team. Cosa ne pensate? Sono particolarmente interessato a sapere se qualcuno dei programmatori è disposto ad assumere la formazione in linea di principio.

 
Penso che sia un'ottima idea, penso che ci saranno studenti e insegnanti volenterosi :-)
 
Ne deduco che:
  • disponibilità di documentazione integrata su MQL4 (in due lingue) in MetaEditor
  • sviluppo del sito web della comunità di programmazione MQL4 in tre lingue (russo, inglese e cinese)
  • Pagare gli articoli dei commercianti indipendenti in MQL4
  • Organizzazione del campionato di trading automatizzato
  • manutenzione della libreria online Codebase con accesso diretto da MetaEditor
  • Supporto tecnico e consulenza continua dei trader da parte degli sviluppatori nei nostri forum.
lo è e basta:

Questo è l'approccio del programmatore sovietico: "Abbiamo scritto un sistema supergeniale e chiaro, e tu, stupido, non puoi capirlo.


E il cortese interesse degli sviluppatori per dichiarazioni dirette del genere:

Non voglio imparare il C++. Non ne avrò mai bisogno, e non ho tempo per questo hobby

diretto provoca una tempesta di indignazione con la continuazione di dichiarazioni simili.


Sfortunatamente, tutto si riduce alla pigrizia e alla mancanza di volontà di leggere anche ciò che è già presente su questo sito e nella documentazione integrata. Cioè, chiediamo la documentazione, ma siamo troppo pigri per leggerla.
 

Mi sembra che nessuno degli sviluppatori inizialmente avesse idea che la gente avrebbe iniziato a imparare le basi della programmazione in mql. Molto probabilmente, i programmatori più o meno preparati avrebbero dovuto programmare Expert Advisors, script e indicatori. E gli utenti useranno solo quelli già pronti :-)
Da qui la documentazione relativamente modesta. E se vi affidate a dei completi estranei alla programmazione e scrivete un tutorial di programmazione per loro, diventerà un lavoro molto voluminoso. Perché dovrete iniziare dalle basi - capire cosa significano bit e byte. :-)

Un po' di storia


La prima versione di MQL è stata scritta nel 2001 (6 anni fa) per la piattaforma di trading MetaQuotes. Era un interprete molto semplice basato su stack, ma ci permetteva già di automatizzare il trading. Cioè, scrivere sistemi che gestissero effettivamente gli ordini. Era l'anno 2001, quando quasi nessuno dei programmi pubblicamente disponibili (né Omega né Metastock) aveva alcuna relazione con la gestione reale del conto (gestivano solo virtualmente e a distanza dal mercato).

La seconda versione di MQL 2 è stata rilasciata nel 2002 per la piattaforma MetaTrader 3. Era una lingua molto più vicina al linguaggio facile. Sfortunatamente, questa strada era un vicolo cieco. Si è scoperto che:
  • Non esistono "lingue facili".
  • Un programmatore non professionista non scriverà mai qualcosa di decente per definizione
  • Un programmatore professionista sarà scioccato da un linguaggio così "facile" ma non professionale e non vorrà spendere tempo per imparare un nuovo linguaggio
Di conseguenza, ci siamo concentrati sull'uso del linguaggio C-like MQL4 e sulla scrittura di un buon compilatore per dare il massimo delle possibilità a quei programmatori che hanno familiarità con C/C++/C#/Java. Il linguaggio è molto veloce, sicuro e possiamo scriverci quasi tutto ciò di cui abbiamo bisogno (le DLL aiutano con il resto).


Politica verso MQL4


Personalmente ho più volte spiegato sul forum http://www.metatrader4.com/ru/forum la nostra politica riguardo al linguaggio MQL4 e il suo chiaro posizionamento specifico per i programmatori. In altre parole, non facciamo dichiarazioni del tipo "garantiamo che chiunque può scrivere qualsiasi cosa voglia in MQL4". La programmazione è un campo davvero difficile, che richiede studio.

Il fatto di aver scelto il C come base dà a chiunque l'opportunità di iniziare a imparare leggendo uno qualsiasi delle migliaia (in realtà ce ne sono centinaia e migliaia) di libri C/C++. La soglia di entrata in MQL4 è piuttosto bassa.


Supporto e documentazione


Durante tutti i nostri sviluppi abbiamo sempre sostenuto gli utenti, risposto alle loro richieste e implementato molti dei loro desideri. Negli ultimi 2 anni abbiamo investito molto nella documentazione e nello sviluppo di risorse correlate per i trader. E l'investimento continua.
 

Renat! Mi dispiace molto di averti offeso! Ora mi è chiaro che il linguaggio è rivolto esclusivamente a programmatori con una conoscenza di base del C++. Le mie affermazioni erano basate sul fatto che C++ è un linguaggio più complicato rispetto a MQL4 con funzioni completamente diverse. È illogico imparare qualcosa di più complicato per capire qualcosa di semplice ma in qualche modo simile. Ma se insistete ancora, vi prego di consigliarmi quali parti di numerosi libri di testo C++ vale la pena studiare prima di affrontare MQL4. Perché battete i piedi e sputate?

Ma comunque Renat, è molto interessante conoscere la tua opinione sull'idea di apprendimento a distanza di cui sopra. È irrealistico senza studiare i libri di testo C++, ma solo con esempi?
 
>>>> Ho basato le mie affermazioni sul fatto che C++ è un linguaggio più complicato rispetto a MQL4, che ha funzioni assolutamente diverse. È illogico >>>> imparare qualcosa di più complicato per capire qualcosa di semplice ma simile in qualche modo. Se insisti ancora, per favore consiglia >>>> quali parti dei numerosi libri di testo sul C++ dovresti studiare prima di provare MQL4.

Con
un approccio del genere è improbabile che tu diventi mai un programmatore! E non si tratta di chi ti insegnerà e come, e cosa leggerai a tale scopo.
Per quanto riguarda la lettura preliminare, posso dire subito che nessuno ti obbliga a leggere tutto il C++. Vi è stato detto chiaramente che MQL4 è un linguaggio simile al C. Tutto quello che dovete fare è leggere la programmazione C. Il C++ è un'estensione del C introducendo classi, strutture, ecc. ecc. che MQL4 non ha. In generale, sulle dita può apparire come segue:
1. Vai alla libreria più vicina
2. Sullo scaffale della programmazione, trovate il libro più sottile (<200 pagine) ed economico sul linguaggio C. Può essere intitolato "Fundamentals of C Programming", "Introduction to C Programming" o semplicemente "C Programming for Dummies".
3. Leggetelo "in diagonale", estraendo da esso solo l'idea generale di come le funzioni e gli operatori sono descritti, quali tipi di dati esistono ecc, non concentrandosi sugli esempi di utilizzo del C.
4. Cominciate a leggere l'aiuto di MetaEditor (https://docs.mql4.com/ru/). Dopo di che capirete che MQL4 nel suo significato è il 95% o più del linguaggio C.
5. Successivamente, inizierai a leggere attentamente gli articoli di Rosh http://old.alpari.org/ru/experts/articles/ e cercherai di capire cosa segue nella costruzione di EA, indicatori e script.
6. Leggete (quando leggete per la prima volta, potete andare "in diagonale") gli articoli di questo sito, solo per avere informazioni su "dove si trova qualcosa" e dove potreste aver bisogno di andare per ulteriori riferimenti.
7. Dopo tutto questo comincerete a programmare e a fare domande tecniche su questo forum. La gente non ha problemi ad aiutare, soprattutto perché le vostre domande saranno le stesse che sono sorte una volta con altri.
8. Successivamente, inizierai a cercare consapevolmente la tua strategia di trading. Senza programmare l'algoritmo la ricerca di una strategia di trading è di solito costruita sul principio del "mi è sembrato che questi o quegli indicatori siano redditizi, e ho anche fatto 99 operazioni di successo su 100 durante tutto il mese di demo a mano". Se leggete questo e altri forum dove la gente viene quasi ogni giorno che vuole avere qualcosa di così brillante programmato (a volte la gente accetta anche di pagare solo soldi per questo brillante). Tuttavia, a giudicare dalle recensioni programmatori esperti non cose ingegnose per i soldi che non hanno dovuto programmare.

In generale, un algoritmo approssimativo per diventare un programmatore, ho delineato. Puoi cambiare l'ordine delle tappe a tua discrezione.
 
A proposito della documentazione, ho notato una cosa strana quando ho premuto F1 sulla proprietà OBJPROP_FIBOLEVELS nel tooltip, qualcosa va storto, o meglio non succede quasi nulla. Se ho selezionato la scheda Errori o qualsiasi altra scheda diversa da Aiuto, la scheda passa ad Aiuto, ma visualizza le vecchie informazioni sulla richiesta precedente, e su questa proprietà non vuole dire. Solo una ricerca nel navigatore ha portato alla risposta. E penso che sia stato lo stesso per qualche altra proprietà, ma non ricordo. Per favore, correggetelo.