Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1111

 
Alexey Viktorov:

È praticamente una linea di codice. Ma dobbiamo ottenere un biglietto di posizione per questo. Ecco un Expert Advisor di OnInit che apre la posizione con 0,2 lotti e ne chiude la metà con OnTick.

Oppure ecco il codice completo della classe CTrade

Grazie!

 
Artyom Trishkin:

Andate qui alla sezione Articoli e sfogliate - c'è molto su OOP, anche per i principianti.

Non sto rivendicando nulla. Ma perché non dove leggere ....

Variabili globali e locali. La scelta della dichiarazione di visibilità delle variabili è determinata dalla necessità di utilizzare i valori delle variabili della funzione in altre funzioni e, naturalmente, nel consigliere ontico. Cioè, se la funzione ha bisogno solo del valore che le viene passato, è corretto dichiarare tutte le variabili della funzione come locali. Se la funzione sta calcolando, e le variabili a cui sono assegnati i risultati del calcolo sono usate in altre funzioni, queste variabili devono essere dichiarate a livello globale.

Lo stesso vale per le classi e il livello di visibilità di variabili, funzioni, metodi. Se definiamo ciò che vogliamo dalla classe, quali funzioni, variabili, strutture e le dichiariamo come pubbliche. Se i membri della classe sono usati solo all'interno della classe, li rendiamo privati o protetti, a seconda se vogliamo l'ereditarietà.

Leggendo il manuale, si ha l'impressione che vi si parli delle proprietà di qualcosa e di come usarlo, indovinate da soli...

In generale, l'idea è che se il manuale fosse spiegato più chiaramente, la lingua sarebbe imparata più velocemente, e senza articoli aggiuntivi. Non posso farne a meno (ovviamente, sto parlando solo di me)). ). Complimenti agli autori degli articoli.

 

MQL ha un analogo di try, catch e throw del C++?

 

Saluti. Potete consigliarmi per favore?

Ho un indicatore che crea oggetti su un grafico, e un EA che lavora su questi oggetti, (passando attraverso la loro lista).

Ma l'EA rileva gli oggetti solo al prossimo tick dopo che sono stati creati.

È possibile che l'EA possa rilevare gli oggetti sullo stesso tick quando vengono creati?

 
Andrey Sokolov:

Saluti. Potete consigliarmi per favore?

Ho un indicatore che crea oggetti su un grafico, e un EA che lavora su questi oggetti, (passando attraverso la loro lista).

Ma l'EA rileva gli oggetti solo al prossimo tick dopo che sono stati creati.

È possibile che l'EA possa rilevare gli oggetti sullo stesso tick quando vengono creati?

È possibile trasferire l'algoritmo di un indicatore in un EA. Tali indicatori, che non hanno buffer, sono molto più facili da trasferire a un EA.

 
Alexey Viktorov:

È possibile trasferire l'algoritmo di un indicatore in un EA. Tali indicatori, che non hanno buffer, sono molto più facili da trasferire a un EA.

Questo è comprensibile, ma finora questa è la domanda.

Allo stesso tempo, se stampo i messaggi dell'indicatore e dell'EA, il primo viene dall'indicatore.

AncheChartRedraw(0); sia alla fine dell'indicatore che all'inizio dell'EA non ha aiutato.

 
Andrey Sokolov:

Questo è comprensibile, ma per ora questa è la domanda.

"Tale" come cosa? Come immagina di leggere qualcosa non ancora scritto o di vedere qualcosa non ancora disegnato?

 
Alexey Viktorov:

"Tale", è cosa? Come immagina di leggere qualcosa non ancora scritto o di vedere qualcosa non ancora disegnato?

"leggere" sullo stesso tick, ma dopo il disegno è possibile?

"Tale", che cos'è? "Perché l'Expert Advisor lavori con gli oggetti


Proverò tramiteOnChartEvent

 
Andrey Sokolov:

"leggere" sullo stesso tick, ma dopo il disegno è possibile?

"Tale", che cos'è? " - perché l'EA lavori sugli oggetti.
Certo che no. Immaginate che io stia scrivendo questo messaggio e che voi lo stiate leggendo nello stesso momento. Può accadere? Anche io non sto leggendo il messaggio, ma solo il testo digitato per il messaggio. Finché non c'è un oggetto, non ci sono proprietà di quell'oggetto. E ancora di più, provate a leggere leproprietà dell'oggetto subito dopo la sua creazione nell'indicatore stesso. Non funzionerà. Ci deve essere un certo "gap" temporale tra la creazione dell'oggetto e l'accesso alle sue proprietà.
 
Andrey Sokolov:

Proverò a usare OnChartEvent

In OnChartEvent è anche necessario conoscere il nome esatto dell'oggetto. E non c'è finché non c'è l'oggetto stesso.