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.
Vedo che si tratta di una macro. In questo caso non c'è bisogno di vedere #define laterally.
L'inconveniente è chiaro: è impossibile capire se l'identificatore PRICEST_TICK_PRICE è stato precedentemente definito o no.
Non ho mai cercato di determinarlo in base al colore. Inoltre, se tutto è in #ifdef, MQL4 e MQL5 possono avere colori diversi. Il modo più semplice è fare ALT+G sul nome della macro per vedere se c'è o no.
Regola pratica: l'identificatore è rosso solo se precedentemente(!) è stato definito
Sarei tranquillo se la macro fosse menzionata almeno una volta da qualche parte in #define, #ifdef, #undef, ecc. Anche se non è definito.
Secondo l'aiuto, dovrebbe restituire false se il file non esiste.
In senso stretto, non segue dalla documentazione che il risultato di FileGetInteger(FileName,FILE_EXISTS) sia necessariamente un bool
Ma la logica è ornata in ogni caso
https://www.mql5.com/ru/forum/1111/page1788#comment_4071879
Forum sul trading, sistemi di trading automatico e strategie di trading di prova
Biblioteche: PriceChannel
fxsaber, 2018.11.28 08:19
#define PRICEST_TICK_PRICE bidIl motore del sito non evidenzia la macro in rosso.
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.
Il modo corretto sarebbe
Preso in mt 5
Si prega di fornire il codice da studiare, via PM
Il motore del sito web non evidenzia la macro in rosso.
Dovrebbe essere evidenziato in rosso solo se la macro è stata precedentemente definita
Altrimenti come fate a sapere che una macro non è stata definita prima? E non è un override accidentale
A volte funziona anche in MetaEditor:
Il colore dovrebbe essere evidenziato solo se la macro è stata precedentemente definita
altrimenti come facciamo a sapere che la macro non è stata definita in precedenza?! e questo non è un override accidentale
Allora dobbiamo definire cos'è una macro evidenziata e cos'è una macro non evidenziata?
Pensavo che tutte le macro fossero evidenziate. A quanto pare la regola è diversa.
Poi dobbiamo decidere cosa è una macro evidenziata e cosa non è evidenziata?
Pensavo che tutte le macro fossero evidenziate. A quanto pare, la regola è diversa.
Penso che dobbiamo decidere a cosa serve evidenziare, è solo per la bellezza o per l'informazione? Non ci sono regole in quanto tali al momento:
In generale, è auspicabile che se un identificatore è già stato definito e non è indifeso, sia evidenziato a colori
Penso che dobbiamo decidere a cosa serve l'illuminazione: è per bellezza o per informazione? Non ci sono regole in quanto tali al momento:
Per me, la regola generale è: la macro è sempre rossa.
Per me la regola è comoda: la macro è sempre rossa.
L'inconveniente è chiaro: non si può dire se l'identificatore PRICEST_TICK_PRICE è stato precedentemente definito o meno
E perché dovrebbe qui (3)
essere rosso? E se non è rosso qui (3), perché dovrebbe essere rosso in (1)?
Regola pratica: un identificatore è rosso solo se è stato precedentemente(!) definito e non annullato
A100:
А в чем здесь удобство?
Vedo che si tratta di una macro. In questo caso non c'è bisogno di vedere #define laterally.
L'inconveniente è chiaro: è impossibile capire se l'identificatore PRICEST_TICK_PRICE è stato precedentemente definito o no.
Non ho mai cercato di determinarlo in base al colore. Inoltre, se tutto è in #ifdef, MQL4 e MQL5 possono avere colori diversi. Il modo più semplice è fare ALT+G sul nome della macro per vedere se c'è o no.
Regola pratica: l'identificatore è rosso solo se precedentemente(!) è stato definito
Sarei tranquillo se la macro fosse menzionata almeno una volta da qualche parte in #define, #ifdef, #undef, ecc. Anche se non è definito.