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

 
Igor Makanu:

datetime o_open = OrderOpenTime();

MqlDateTime dt_struct;

TimeToStruct( o_open, dt_struct;)

int min = dt_struct.min;

Senx.
 
Ho capito bene che non si possono creare nuovi fogli quando si scrive nel csv (programmaticamente, dal terminale)?
 
Yevhenii Levchenko:
nuovi fogli quando si scrive in csv
Perplesso. Ho provato a salvare un libro con 3 fogli in csv da Excel:


Ci sono solo separatori di colonna all'interno del csv, non credo che ci sia nessun altro markup
 
Aleksei Stepanenko:
Sconvolgente. Provato da Excel a salvare un libro con 3 fogli in csv:


Ci sono solo separatori di colonna all'interno del csv, non c'è altro markup

Ops, non sapevo che questa fosse una caratteristica del formato. Io, quando cerco di salvare un libro con più fogli, non si cancella così... Cancella semplicemente il foglio precedente e ne salva uno nuovo vuoto

Grazie!

 
Yevhenii Levchenko:

Sei il benvenuto :)

 
Buona giornata. Per favore ditemelo, hoscritto un indicatore con Alert (messaggi e uscite sonore in determinate condizioni), tutto funziona, ma ogni volta che cambio grafico Timeframe, dà di nuovo un segnale. Come posso rimediare? Il codice di allarme è posto in una funzione separata che viene chiamata per controllare da OnCalculate. Se è solo un EA, funziona bene, ma ho bisogno di una rappresentazione grafica come ho fatto, senza innescare di nuovo quando si cambia il timeframe.
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий. Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть...
 
Progaus:
Buon pomeriggio. Potete dirmi per favore, hoscritto un indicatore con Alert (messaggi e uscite sonore in determinate condizioni), tutto funziona, ma ogni volta che si cambia timeframe grafico, di nuovo dà un segnale. Come posso rimediare? Il codice di allarme è posto in una funzione separata che viene chiamata per controllare da OnCalculate. Se è solo un EA, funziona bene, ma ho bisogno di una rappresentazione grafica come ho fatto, senza innescare di nuovo quando si cambia il timeframe.

Quando il timeframe viene cambiato l'indicatore parte da 0.

Di conseguenza, dovremmo insegnargli a ricordare che Alert è già stato emesso - in modo affidabile, memorizzando tali informazioni in variabili globali del terminale o in un file temporaneo, e sembra che sia possibile (non l'ho usato io stesso) semplicemente fare una variabile statica.

Per esempio, è possibile salvare il tempo dell'ultimo allarme e non fischiare un nuovo allarme se il tempo è passato meno di 2 secondi.

 
Maxim Kuznetsov:

Sembra che sia possibile (non l'ho usato io stesso) semplicemente fare una variabile statica.

Quando si cambia TF, viene creata una nuova copia dell'indicatore e la vecchia viene cancellata.

per EA è possibile (e necessario ?) usare variabili statiche (o dichiarate globalmente) ... ci sono comunque alcune sfumature, ma in generale non ci sono problemi

Maxim Kuznetsov:

quando si cambia timeframe, l'indicatore partirà da 0.

prev_calculated sarà azzerato alla prima chiamata di OnCalculated()



cioè, creare una variabile globale del terminale o un oggetto grafico come indicatore che l'indicatore era già su questo grafico e cercare questo oggetto grafico durante la prima chiamata.

 
Colleghi, scusate subito per la domanda elementare, è solo che non sono al mio computer in questo momento, ma devo farlo.
Qual è il modo migliore per scoprire l'ora attuale in minuti.
 
Aleksey Masterov:
Colleghi, scusate subito per la domanda elementare, è che non ho un computer, ma devo farlo.
Qual è il modo migliore per scoprire l'ora attuale in minuti.

TimeCurrent()https://www.mql5.com/ru/docs/dateandtime/timecurrent

Usa la seconda versione della firma di questa funzione:

datetime  TimeCurrent(
   MqlDateTime&  dt_struct      // переменная типа структуры
   );


ZS: dovrei dirlo subito - funziona in MT4, l'ho usato ;)

UPD: in MT4 ho usato anche Hour() e Minute() - non li uso da molto tempo, ma dovrebbero dare l'ultimo tempo del server in ore e minuti

Motivazione: