Autoapprendimento del linguaggio MQL5 da zero - pagina 64

 
MrBrooklin:

Alert() deve essere usato, o è solo per informazione?

Non necessariamente, è solo per comodità

 
VVT:

Non necessariamente, è per comodità

Capisco.

Con rispetto, Vladimir.

 
MrBrooklin:

Ciao Valery! Grazie per i vostri consigli. Ho già fatto amicizia con l'operatore if-else, e ora ho bisogno di padroneggiare anche l'operatore switch. Devo usare Alert() o è lì solo per avere più informazioni?

Saluti, Vladimir.

Alla luce della mia esperienza di ingegnere elettronico. Quando c'è un incendio, una sirena, quando il pavimento non viene pulito, una nota per la pulizia. Il commento scrive sul grafico, stampa su log, wright su file, l'allarme suona, e c'è anche una casella di messaggio, anch'essa suona, ma non è nativa.

 
Valeriy Yastremskiy:

In considerazione dell'esperienza dell'elettricista. Sulla sirena del fuoco, sui pavimenti non puliti, osservazione al pulitore. Il commento scrive sul grafico, stampa su log, wright su file, l'allarme suona, e anche la scatola dei messaggi suona, ma questo non è nativo.

Grazie, l'hai spiegato molto bene!

Saluti, Vladimir.

 
Valeriy Yastremskiy:

Se le posizioni con il nostro Magik e sul nostro simbolo sono zero, controlliamo il tempo e apriamo una posizione, se è 1, non apriamo una posizione, controlliamo il tempo di chiusura e il trawl, se è più di 1, avvisiamo e non lavoriamo. Possiamo usare piggyback o se vogliamo controllarlo con iff.

Ciao Valery! Grazie mille, la tua versione "... se le posizioni con il nostro magik e al nostro simbolo sono uguali a zero, controlliamo il tempo e apriamo una posizione..." si è rivelata la più semplice ed efficace. L'ho aggiunto alla condizione di controllare il tempo && PositionTotal()==0 e solo una posizione con l'importo necessario è aperta!

   if(time_current.hour==time_open.hour && time_current.min==time_open.min && PositionsTotal()==0)
      OpenBUY();

Sinceramente, Vladimir.


 
Ecco un articolo interessante
https://www.mql5.com/ru/articles/35

Exp e indicatore.
 
Aleksey Masterov:
Ecco un articolo interessante
https://www.mql5.com/ru/articles/35

Exp e indicatore.

Ciao Alexey, grazie per il link all'articolo. Sì, ci sono molte cose interessanti.

Saluti, Vladimir.

 
MrBrooklin:
if(time_current.hour==time_open.hour && time_current.min==time_open.min


questo non è il modo migliore per confrontare il tempo di attesa per aprire una posizione

nel tester tutto funzionerà sempre senza problemi, nel conto reale possono verificarsi errori - l'expert advisor lavora all'arrivo di un tick, se per qualche motivo il tick non arriva esattamente nel momento in cui lo state aspettando, il vostro algoritmo non funzionerà correttamente e sarà molto difficile trovare questo errore logico in seguito


provare a riformulare questo problema per allontanarsi dal confronto rigoroso di uguaglianza ( == ) a condizione più o uguale ( >= ) ....( e/o condizione meno o uguale)

 
Igor Makanu:

questo non è il modo migliore per confrontare il tempo di attesa per aprire una posizione

nel tester tutto funzionerà sempre senza problemi, nel conto reale possono verificarsi errori - l'expert advisor lavora all'arrivo di un tick, se per qualche motivo il tick non arriva esattamente nel momento in cui lo state aspettando, il vostro algoritmo non funzionerà correttamente e sarà molto difficile trovare questo errore logico in seguito

provare a riformulare il problema per allontanarsi dal confronto rigoroso di uguaglianza ( == ) a una condizione maggiore o uguale a ( >= ) .... ( e/o condizione minore di uguale)

Ciao Igor, grazie per il consiglio. Completamente d'accordo con il tuo ragionamento, poiché le situazioni di zecca possono davvero essere diverse. Farò una correzione nel codice.

Saluti, Vladimir.

 

Corretto il codice, come raccomandato da Igor. Suggerimento molto buono e tempestivo! Ha eliminato un problema nel funzionamento di EA, che non avevo notato prima. Grazie ancora Igor!

Cordiali saluti, Vladimir.

Motivazione: