Ошибки, баги, вопросы - страница 2333

 
Vladimir Pastushak:

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

В любом случае возвращает true есть файл или нет, и если файла нет то ошибку 5019. По справке должна при отсутствии файла вернуть false.

   
bool file_exists=FileIsExist(FileName); Работает правильно

Вы определитесь, какой вариант функции хотите использовать - https://www.mql5.com/ru/docs/files/filegetinteger


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

Мне было бы удобно, если макрос хотя бы один раз где-то упомянут в #define, #ifdef, #undef и т.д. Даже если он не определен.

Это потому что у Вас многие идентификаторы большими буквами, в то время как существует негласное правило что большие буквы предназначены для макросов (выделение макросов не цветом а шрифтом)

 
A100:

Это потому что у Вас многие идентификаторы большими буквами, в то время как существует негласное правило что большие буквы предназначены для макросов (выделение макросов не цветом а шрифтом)

Нет. Удобно, потому что логика однозначна.

 
fxsaber:

Нет. Удобно, потому что логика однозначна.

У меня логика простая: Х до #define Х это еще не макрос, а после #undef Х это уже не макрос (соответственно X выделяется цветом только там где он - макрос)
 
A100:
У меня логика простая: Х до #define Х это еще не макрос, а после #undef Х это уже не макрос (соответственно X выделяется цветом только там где это макрос)

Использую mqh, в которых нет #define, но при этом есть #ifdef. Почему они не должны подсвечиваться - не ясно.

 
fxsaber:

Никогда по цвету не пытался определить. Более того, если все находится в #ifdef, то в MQL4 и MQL5 могут быть разные подцветки. Проще всего сделать ALT+G на имени макроса, чтобы понять, есть он или нет.

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

Находясь в строке (3) нажимаю ALT+G -> переход к строке (1)

Вопрос: макрос есть или нет?

 
A100:

Находясь в строке (3) нажимаю ALT+G - переход к строке (1)

Вопрос: макрос есть или нет?

Мне, мягко говоря, не понятны Ваши стенания. Умею с макросами работать. Отлично понимаю, что обозначает ALT+G и что макрос может быть отменен через #undef. Мне нравится именно такое поведение редактора.

Занудство иногда хорошо, но не в данном случае.

 
fxsaber:

Использую mqh, в которых нет #define, но при этом есть #ifdef. Почему они не должны подсвечиваться - не ясно.

Если ранее нет #define X, то X в #ifdef X - не подсвечивается (*) потому что - тут все нормально (по крайней мере в MetaEditor)

У меня к Разработчикам вопрос только один: почему в MetaEditor подсвечивается X в #define X, если ранее не было #define X, при том как это происходит выше в (*)

У Вас вопрос был наоборот:                            почему на сайте не подсвечивается X

 

Какое свойство символа ответственно за запрет выставления SL/TP открытой позиции?


 
fxsaber:

Какое свойство символа ответственно за запрет выставления SL/TP открытой позиции?


Наверное исполнение Market или Instant

Причина обращения: