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

 
MakarFX #:

Grazie

 
Mihail Matkovskij #:

La seconda opzione non funzionerà. Per fare l'overrun dalla fine della lista devi fare quanto segue:

Grazie, sono due giorni che ci penso).

 
Nerd Trader #:

Di solito ne faccio a meno, perché non funziona nel tester, ma qui il caso permette di avere dati reali - dovrò provarlo. Quello che ho capito, la versione di questo codice con la ridenominazione degli oggetti non è diversa dal passato, quando gli oggetti venivano ricreati con il cambio di colore, perché la ridenominazione fa la stessa cosa: crea un oggetto con il nuovo nome e cancella quello vecchio.


UPD

I pulsanti che uso per creare linee in mql4 in modalità debug sono assenti nel grafico

Stampella su stampella.

UPD

I pulsanti in tester in mt4 sono disegnati molto bene in tester, e funzionano anche a quello.

 
Potete dirmi per favore come scrivere la condizione dell'orario di apertura per lo scalper notturno? Non riesco a capirlo.

Se
Hour() >= start && Hour() <= end

non funziona se l'ora di inizio è 22 o 23 e l'ora di fine è 2-3.
 
Ivan Butko #:
Potete dirmi per favore come scrivere la condizione dell'orario di apertura per lo scalper notturno? Non riesco a capirlo.

Se
questo non funziona se l'ora di inizio è 22 o 23 ore e l'ora di fine è 2-3 del mattino.

Prova questo codice

//----------------------- Возвращает флаг разрешения торговли по времени
bool isTradeTime(string TimeBegin="00:00", string TimeEnd="00:00") {
 datetime dtBegin, dtEnd, TimeCur=TimeCurrent();
  dtBegin=StringToTime(TimeToString(TimeCur, TIME_DATE)+" "+TimeBegin);
  dtEnd  =StringToTime(TimeToString(TimeCur, TIME_DATE)+" "+TimeEnd);
  if(dtBegin>=dtEnd) {
   if(TimeCur>=dtEnd) dtEnd+=24*60*60; else dtBegin-=24*60*60;
  }
  return(TimeCur>=dtBegin && TimeCur<=dtEnd);
 }
 
Vitaly Muzichenko #:

Prova questo codice.

Vitaly, grazie!

 
Artyom Trishkin #:

Stampella su stampella.

UPD

I pulsanti nel tester in mt4 disegnano anche molto bene nel tester, e funzionano anche mentre lo fanno.

Cosa c'entra questo con il tester se sto scrivendo del debugger? E nel tester i pulsanti non funzionano correttamente, per esempio gli eventi click vengono ignorati.
 
Nerd Trader #:
E cosa c'entra il tester, se sto scrivendo di un debugger? E nel tester i pulsanti funzionano in modo incompleto, per esempio gli eventi di clic vengono ignorati.

E non c'è bisogno di guardare gli eventi. Non funzionano affatto nel tester. Dovete guardare lo stato.

UPD. Non modesto, naturalmente, ma se avessi ascoltato i miei suggerimenti per una volta, avresti già fatto tutto da tempo. In modo corretto e senza le stampelle di un multipiano.

Ma ognuno sceglie l'abisso in cui vuole immergersi.

 
Nerd Trader #:

Di solito ne faccio a meno, perché non funziona nel tester, ma qui il caso permette di avere dati reali - dovrò provarlo. Quello che ho capito, la versione di questo codice con la ridenominazione dell'oggetto non è diversa dal passato, quando gli oggetti venivano ricreati quando si cambiava colore, perché la ridenominazione fa la stessa cosa: crea un oggetto con un nuovo nome e cancella quello vecchio.


UPD

Per usare il debug in tester, imparate a scrivere in MQL5. Lì tutto funziona.

Non c'è rinominazione di oggetti. Pensatelo come la sostituzione di un oggetto esistente con un nuovo oggetto.

I pulsanti utilizzati per creare linee in mql4 in modalità debug non sono presenti sul grafico


Questo non può essere. Il tuo codice sembra un casino di cose. Questo è probabilmente il motivo per cui si verificano dei lag con i pulsanti. Come ti ho detto prima, inizia con qualcosa di semplice. Non complicare troppo le cose. E complicarlo gradualmente quando il semplice comincia a funzionare e si ha fiducia in esso.

 
законопослушный гражданин #:

Grazie, sono due giorni che ci penso).

Non bisogna solo pensare, ma anche agire. Per esempio, potete cercare su Google "loop per C++".