Autoapprendimento del linguaggio MQL5 da zero - pagina 49

 
MrBrooklin:

Peter, quindi creiamo il codice finale nello script? Grande! Quello che avete elencato lo prendo ora come sezioni di base e comincio a descriverle a parole, in modo che sia chiaro come scrivere funzioni, cicli, ecc. in seguito. È corretto?

Saluti, Vladimir.

Non puoi usare alcuno script per il trailing. Questo mina l'idea stessa di quello che sto cercando di dirvi.
Scriverò più tardi al mio computer.
Abbiamo una linea generale: usiamo solo funzioni. Scriverò come più tardi.
 
Vasiliy Sokolov:
Non si può usare alcuno script per il trailing. Mina l'idea stessa di quello che sto cercando di dirvi.
Scriverò più tardi sul computer.
La linea generale è la stessa: usiamo solo funzioni. Come - scriverò più tardi.

Capito, Vassili! Allora ho messo tutto in attesa.

Saluti, Vladimir.

 
Vasiliy Sokolov:
Non puoi usare alcuno script per il trailing. Mina l'idea stessa di quello che sto cercando di dirvi.
Scriverò più tardi sul computer.
La linea generale è la stessa: usiamo solo funzioni. Scriverò come più tardi.
È così che usiamo le funzioni anche nello script, Vasiliy. Sì, è meno comodo che nell'Expert Advisor, ma Vladimir implementa il piano di autoapprendimento. Non è auspicabile discostarsene, perché si potrebbe confondere completamente gli obiettivi e il materiale. Pertanto, ho sostenuto il suo desiderio di fare il trailing nello script, anche se non è molto corretto.
 
MrBrooklin:

Capito, Vassili! Metterò tutto in attesa allora.

Con rispetto, Vladimir.

Non c'è una differenza fondamentale su dove scrivere le funzioni di trailing, l'importante è scrivere e imparare.
 
Реter Konow:
Non c'è una differenza fondamentale su dove scrivere le funzioni di trailing, l'importante è scrivere e imparare.

Non si può chiamare OnTick nello script)

 
MrBrooklin:

Capito, Vassili! Metterò tutto in attesa allora.

Con rispetto, Vladimir.

Affrontiamo il trailing passo dopo passo. Ora vi propongo di scrivere l'algoritmo di trascinamento su carta: cioè fare un ToR dettagliato, punto per punto, senza un codice di come dovrebbe funzionare secondo voi. Lavoreremo con questo in futuro.
 
Valeriy Yastremskiy:

Non si può chiamare OnTick nello script)

Non aveva intenzione di farlo. Avrebbe bloccato il thread dello script e sarebbe rimasto per sempre in loop nell'ambiente di trading. Cioè, lo farebbe tutto in una volta in modo brutale.
 
Vladimir Simakov:

C'è l'osservazione che una volta che si inizia a scricchiolare, è difficile fermarsi, e di conseguenza, il codice del progetto si trasforma in ciò che è noto come d.c.

Lasciatemi spiegare:

  1. Avete un progetto con una soluzione intermedia funzionante e il numero di caratteristiche implementate conta=0.
  2. Il nostro compito è quello di implementare la funzione ++count.
  3. Per aggiungere le caratteristiche di cui abbiamo bisogno:
    • scrivere i metodi dell'albero degli oggetti e collegare tutte queste cose ai gestori di eventi con la logica (tempo stimato 3 ore *conteggio; count=0).
    • scrivere una stampella sotto forma di variabile globale e usarla in diversi metodi, dove ne abbiamo bisogno (tempo stimato 15 min *conteggio.).
  4. Bug di autonumerazione (questa è una segnalazione di bug per le meta-citazioni).
  5. Naturalmente, abbiamo scelto una stampella (è davvero difficile farci lavorare in questo caso)
  6. se (l'abbiamo fatto) goto 2
  7. altrimenti tutto va a rotoli, gridando help-mi e leggendo commenti esilaranti che è sbagliato farlo.

Spero che abbiate prestato attenzione al fatto, che il contatore delle caratteristiche implementate, aumenta il tempo di implementazione della prossima caratteristica, ma quando è implementato correttamente, si azzera?

Questa è un'idea molto esagerata, ma è così che funziona nella vita reale.

Quello che voglio dire è che se non riscrivi il progetto dopo aver implementato tutte le caratteristiche, andrà in produzione come uno spoiler illeggibile. E poi, il ciclo di vita di qualsiasi progetto porta a un mal di testa per il management: o mettere l'intera squadra su un refactoring globale di tutte le cose che hanno filato (e i concorrenti non dormono, loro, cattivi ragazzi, scrivono nuove funzionalità), o continuare a scrivere stampelle e patchare i bug, perdendo a torrenti.

Regolamentazione e ancora regolamentazione. E per le violazioni, la scomunica)))) e in una procedura monolitica tutto può essere attuato anche )))).

Anche se, ok, sono d'accordo, tutti i primi possono ancora essere, ma nuovi lavoratori nelle regole è un costo extra).

E per essere onesti, ovviamente, dopo aver avuto più di 3-5 diverse fonti di dati e più di 3 diversi algoritmi di elaborazione, le variabili globali senza una chiara regolamentazione della loro dichiarazione sono il male.

In fase di esecuzione, tutte le variabili di calcolo sono dichiarate globalmente. Dopo l'elaborazione, potete avvolgerli in qualsiasi cosa vi piaccia)

 
Valeriy Yastremskiy:

Regolamentazione e ancora regolamentazione. E per le infrazioni, la scomunica))))) e in una procedura monolitica tutto può anche essere attuato))))

Anche se, sono d'accordo, tutto il primo può ancora essere fatto, ma è troppo costoso mettere nuovi dipendenti nella procedura)

Ecco perché è più facile / più facile / più economico per addestrare i combattenti appena arrivati comando "globals è il male" - lacrime, auto-sparate, rabbia dei compagni più anziani immediatamente diminuire l'ordine. E le caratteristiche complesse attraverso i globali di cui i principianti non hanno ancora bisogno.
 
Vasiliy Sokolov:
Non aveva intenzione di farlo. Avrebbe bloccato il flusso del copione e in un eterno loop avrebbe fatto sobbalzare l'ambiente del trading. Vale a dire, lo farebbe tutto in una volta in modo brutale.

Questo è quello che ho immaginato, ma solo con la funzione Sleep nello script e la possibilità di impostare il periodo di sonno da 1 a 10 secondi.

Con rispetto, Vladimir.

Motivazione: