Autoapprendimento del linguaggio MQL5 da zero - pagina 59

 
MrBrooklin:

Ciao Alexey, scusa se non ho risposto subito al tuo post. Il link è molto interessante. Ho esaminato i codici di tutti gli 11 tipi di trailing stop e le librerie di funzioni. È tutto molto interessante, anche se è scritto in MQL4. Ad essere onesti, non avrei mai immaginato che ci fossero così tanti tipi di trailing stop. Grazie mille per il vostro sostegno!

Sinceramente, Vladimir.


Tutto è a posto! :-)
Ad essere onesti mi aspettavo la tua reazione :-) :-)
Voglio farvi sapere che grazie a voi e a Vasily Sokolov io stesso ho iniziato a rivedere i miei codici e le mie librerie qui...
Grazie per la motivazione!
Ha spiegato tutto molto bene per quanto riguarda l'avvio del modello del sentiero. Tanto più che i nomi delle funzioni sono intuitivamente comprensibili. L'hai già affrontato tu stesso nel tuo codice. Qui tutto è chiaro. Il corpo e le funzioni dell'exp trawl vengono dopo. Sei già arrivato a questo punto da solo, quindi va bene. La cosa principale ora è prestare attenzione al loro carico semantico come il Breakeven e il trawl stesso per le posizioni di acquisto e vendita.
 
MrBrooklin:

Vasiliy, naturalmente ti ringrazio molto per aver fatto tanto lavoro per me, ma non mi ha portato più vicino a capire da dove vengono queste funzioni più operatori e, soprattutto, perché sono apparsi. Sarebbe stato più corretto arrivare al punto di scrivere quel codice, cosa che mi avete suggerito. Volevo davvero arrivare a questo punto da solo e ora voglio farlo.

Capisco che tu, come molti altri, sei stanco del mio continuo scandire tutte le linee di codice e calpestare il punto, ma il problema è che non ho ancora capito come tutto è costruito, dall'algoritmo alla scrittura del codice. Devo aggiungere la mancanza di conoscenza dell'inglese al problema, perché devo copiare e incollare quasi tutti i messaggi di errore e di avvertimento del compilatore, e altre parole inglesi in Google Translator. A proposito, se qualcuno ha provato a eseguire quei micro, anche nano-codici che ho postato in questo thread, tutti hanno passato la compilazione con "0 errori, 0 avvertimenti".

Ora ho bisogno di un po' di tempo per realizzare, o meglio per capire perché sono apparse queste funzioni e operatori. Quindi, in breve, è un orrore silenzioso. E io sono un cattivo studente quando non capisco le cose elementari.

Grazie a te e a tutti gli altri programmatori per aver tollerato la mia lentezza. Anche se mi rendo conto che la vostra pazienza non è infinita.

Sinceramente, Vladimir.


Se non capite qualcosa nel MetaEditor, premete F11 sugli operatori evidenziati nel codice del template di Vasiliy e leggete la guida su di essi.
 
Aleksey Masterov:

Se non capisci qualcosa nel meta-editor, premi F11 sugli operatori evidenziati nel codice del template di Vasiliy e studia l'aiuto su di essi.

Ciao Alexey, grazie per il suggerimento. Ho imparato il tasto F1 (forse è quello che intendi) quando ho appena iniziato a studiare MQL5. Io uso sempre l'HELP, cioè MQL5 Reference e guardo gli esempi disponibili che spiegano come usare questa o quella proprietà (variabile, operatore, ciclo, funzione, classe, ecc.).

Saluti, Vladimir.

 
MrBrooklin:

Ciao! Maxim ha detto correttamente che una breve descrizione di ciò che fa questa o quella funzione aiuta a capire e a ricordare,

Aggiungerei che le intestazioni aiutano a trovare il blocco giusto in un mucchio di codice, ad esempio un blocco di parametri di input inizia con un'intestazione

//+------------------------------------------------------------------+
//| Expert input parameters                                          |
//+------------------------------------------------------------------+
 
Un compito semplice per Vladimir:
Scrivi uno script per calcolare il fattoriale di un dato numero. Il numero è dato dai parametri e può essere nell'intervallo da 1 a 15 incluso, se supera l'intervallo specificato, emette un messaggio. Anche la risposta dovrebbe essere stampata.
 
Aliaksandr Hryshyn:
Un compito semplice per Vladimir:
Scrivi uno script per calcolare il fattoriale di un dato numero. Il numero è dato dai parametri e può essere nell'intervallo da 1 a 15 incluso, se è fuori dall'intervallo specificato, stampa un messaggio. Anche la risposta dovrebbe essere stampata.

Ciao, Alexander!

Ciao, cari partecipanti di questo thread!

Ho deciso di prendermi una pausa fino al prossimo fine settimana, cioè il 17 ottobre, per diverse ragioni:

  1. A causa dell'eccesso di informazioni ottenute in così poco tempo per me, è venuto un completo stupore!
  2. Ho bisogno di prendermi un po' di riposo e passare completamente ad altri argomenti, senza visitare il forum MQL5.
  3. Ho intenzione di sedermi di nuovo al computer questo fine settimana e leggere tutti i messaggi dalla 1a alla 59a pagina di questo thread.
  4. Analizzare tutto il materiale costruttivo fornito dai partecipanti a questo thread e trarre conclusioni.

In futuro cercherò di postare codice meno frequentemente, ma per renderlo più ricco e a tutto tondo e non come facevo prima, quando postavo poche righe alla volta, distraendo i partecipanti al forum da cose più importanti.

Questo messaggio non significa che ho deciso di arrendermi e capitolare a MQL5. In effetti, ho un forte desiderio di studiarlo, ma cercherò di farlo su un livello diverso di percezione delle informazioni.

Ci vediamo questo fine settimana!

Con grande rispetto per tutti, Vladimir.

 

Mentre TC è in time out...

Parallelamente a questo argomento insegno ai miei figli a programmare (dovrebbero essere a scuola, ma gli viene insegnato "ti ucciderebbe"). Pertanto, ci sono alcune conclusioni e note.

1. Il risultato visivo, tangibile, visibile e significativo è estremamente importante. La quantità minima di codice che mettete, stampata, dovrebbe produrre il massimo effetto.

2. Noi, come guru che si rispettano, anneghiamo il TC nei dettagli. Dovrebbe avere un casino di MQL e piattaforma API.

3. MQL è totalmente inadatto per imparare da 0 ...:-( avendo il background, è abbastanza semplice, ma la base è necessario per ottenere

per sostenere il TS nell'apprendimento degli zeri,

la prima è quella di fornire al tester un Expert Advisor con il codice minimo, che già completerà e modificherà.

l'ultimo (è il primo sul trailing stop) compito - dopo aver scritto ed eseguito il gufo nel tester, TS dovrebbe vedere come esattamente viene trainato uno stop.

 

Vedo che l'uomo è stato bombardato di consigli. Ho anche deciso di iscrivermi, forse mi libererò del desiderio))). Stavo solo scherzando.

Ok. Allora: voglio un trawl classico.

Dividiamo il compito in due parti:

  1. La pesca a strascico stessa.
  2. Qualcosa sullo schermo.
Scriviamo il codice:
enum EMessType{Init,Deinit,Set};

int OnInit(void){
   Messenger(Init);
   return INIT_SUCCEEDED;
}

void OnDeinit(const int reason){
   Messenger(Deinit);
}

void OnTick(){
   Messenger(Set,Tral());
}
  
string Tral() {return "0";}

void Messenger(EMessType fType,string fInfo=""){
   switch(fType){
      case Init:
      case Deinit:
         Comment("");
         break;
      case Set:
         Comment(fInfo);
   }
}

Cosa sta succedendo qui?

  1. Abbiamo una funzione Messenger che visualizza i messaggi.
  2. Abbiamo una funzione di Tral che traina gli ordini mentre è un cosiddetto "stub" che restituisce qualche valore valido per l'esecuzione del codice.
  3. C'è l'enumerazione EMessType che definisce ciò che vogliamo nella funzione Messenger; ha i blocchi Init, DeIni e Set

Questo è un esempio di decomposizione semplice.

Ecco, mia moglie è qui, sto evaporando))))

Domani continueremo)))

PS Se ti sei annoiato, non esitare a dirmelo)))

 
corso di una settimana su enum)
 
E perché continui con questa pesca a strascico? Lo strascico è un consiglio minore, niente di più. Sarebbe meglio smontare l'indicatore, come il cruscotto.