Errori, bug, domande - pagina 2333

 
Vladimir Pastushak:

bool file_exists=(bool)FileGetInteger(FileName,FILE_EXISTS);

In ogni caso restituisce true se c'è il file o no, e l'errore 5019 se non c'è il file. Secondo l'aiuto, dovrebbe restituire false se non c'è nessun file.

bool file_exists=FileIsExist(FileName); funziona correttamente

Decidete quale variante della funzione volete usare - https://www.mql5.com/ru/docs/files/filegetinteger


Документация по MQL5: Файловые операции / FileGetInteger
Документация по MQL5: Файловые операции / FileGetInteger
  • www.mql5.com
[in]  Идентификатор свойства файла. Значение может быть одним из значений перечисления ENUM_FILE_PROPERTY_INTEGER. Если используется второй вариант функции, то можно получать значения только следующих свойств: [in]  Указывает на местоположение файла. Если параметр равен false, то просматривается каталог данных терминала, в противном случае...
 
fxsaber:

Sareitranquillo se una macro fosse menzionata almeno una volta da qualche parte in #define, #ifdef, #undef, ecc. Anche se non è definito.

Questo perché avete molti identificatori in lettere maiuscole, mentre c'è una regola non detta che le lettere maiuscole sono riservate alle macro (evidenziazione delle macro non nel colore ma nel carattere)

 
A100:

Questo perché avete molti identificatori in lettere maiuscole, mentre c'è una regola non detta che le lettere maiuscole sono riservate alle macro (evidenziazione delle macro non nel colore ma nel carattere)

No. Conveniente perché la logica è inequivocabile.

 
fxsaber:

No. Conveniente perché la logica è inequivocabile.

La mia logica è semplice: X prima di #define X non è ancora una macro, e dopo #undef X non è più una macro (rispettivamente X è colorato solo dove è una macro)
 
A100:
La mia logica è semplice: X prima di #define X non è ancora una macro e dopo #undef X non è più una macro (rispettivamente X è evidenziato solo dove è una macro)

Io uso mqh, che non ha #define, ma ha #ifdef. Perché non dovrebbero essere evidenziati non è chiaro.

 
fxsaber:

Non ho mai provato a determinare in base al colore. Inoltre, se tutto è in #ifdef, MQL4 e MQL5 possono avere sottocolori diversi. Il modo più semplice è fare ALT+G sul nome della macro per vedere se c'è o no.

#define  PRICEST_TICK_PRICE //(1)
//...
#undef   PRICEST_TICK_PRICE //(2)
//...
void OnStart()
{
        int PRICEST_TICK_PRICE; //(3)
}

Quando sono nella linea (3) premo ALT+G -> passo alla linea (1)

Domanda: la macro c'è o no?

 
A100:

Quando sono nella linea (3), premo ALT+G per andare alla linea (1).

Domanda: la macro c'è o no?

Non capisco il tuo lamento, per usare un eufemismo. So come lavorare con le macro. So bene cosa significa ALT+G, e so perfettamente che una macro può essere annullata tramite #undef. Mi piace il comportamento di questo particolare editore.

La nerditudine a volte è buona, ma non in questo caso.

 
fxsaber:

Io uso mqh, che non ha #define, ma ha #ifdef. Perché non dovrebbero essere evidenziati non è chiaro.

Se prima non c'è #define X, allora X in #ifdef X - non è evidenziato (*) perché - qui tutto è normale (almeno in MetaEditor)

Ho solo una domanda agli sviluppatori: perché in MetaEditor X è evidenziato in #define X, se prima non c'era #define X, mentre succede sopra in (*)

La tua domanda era il contrario: perché X non è evidenziato sul sito

 

Quale proprietà del simbolo è responsabile del divieto di una posizione aperta SL/TP?


 
fxsaber:

Quale proprietà del simbolo è responsabile del divieto di una posizione aperta SL/TP?


Probabilmente Mercato o Esecuzione immediata