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

 
Sergey T #:

Посмотрите, пожалуйста, нет ли у вас в логе записей invalid base record или подобных? Линиии открытых позиций в стандартных цветовых схемах должны быть видны, если они включены в настройках.

Все включено. Это андроид версия. Где там посмотреть лог?
 
Yauhen Zhuk #:
Все включено. Это андроид версия. Где там посмотреть лог?

https://www.metatrader5.com/ru/mobile-trading/android/help/settings_journal

Выбрать пункт журнал в левом дравере.

Журнал - MetaTrader 5 для Android - Справка по MetaTrader 5 Android
  • www.metatrader5.com
Данный раздел позволять просмотреть журнал работы MetaTrader 5 для Android. В него выводятся различные служебные сообщения, а также записи о...
 
MetaQuotes #:

Дайте больше деталей, пожалуйста.

Излагаю: В build 3808 поменялось поведение #define

#define MACRO(X,Y)        X##Y
#define Open    Close
void functionOpen()  { Print( 1 ); }
void functionClose() { Print( 2 ); }
void OnStart()
{
    MACRO(function,Open)();
}

Результат до     : 2    //до 3808 был свой особый путь

Результат после: 1    //после 3808 стало как в С\С++

Казалось бы: Правильной дорогой идете товарищи! Но нет и здесь есть ошибка суть которой далее

 
#define Красный     Синий
#define Помидор     Баклажан
#define MACRO1(X,Y)        X##Y      //(*)
#define MACRO2(X)          #X
#define MACRO3(X)          MACRO2(X)
void OnStart()
{
    Print(MACRO3(MACRO1(Красный,Помидор)));
}

Результат в build 3808: СинийПомидор

Но Помидор не может быть Синим

либо СинийБаклажан (свой особый путь до build 3808)

либо КрасныйПомидор (как в C\C++)

А так получается, что в build 3808 в одной операции скрестили ежа с ужом

Это как если бы при сложении 2+2 считать первую двойку цифрой, а вторую двойку символом и поэтому результатом не 4, а 52

 

И да, если разум возобладает, то заодно можно поменять и это давнишнюю особенность:

Если в (*) примера выше добавить пробелы:

#define MACRO1(X,Y)        X ## Y     //(**)

то получается принципиально другой результат: Синий Y

Итого в сумме имеем четыре (!) разных результата, там, где должен быть один:

КрасныйПомидор
СинийБаклажан
СинийПомидор
Синий Y

А то как недавно выяснилось некоторые пользователи любят бездумно добавлять пробелы, там где не надо ожидая при этом что результат не изменится

 
A100 #:

В build 3808 поменялось поведение #define

Хреново. Затачиваешься годами на одно поведение, а потом втихую все разом сломано. Задолбало.

 
fxsaber #:

Хреново. Затачиваешься годами на одно поведение, а потом втихую все разом сломано. Задолбало.

То же немало удивлен... Когда последний раз вносились изменения в #define - наверное лет 5 назад. Но скорее всего проявилась архитектурная ошибка - то, что компилятор (вопреки обыкновению и Документации) не отделен от препроцессора (меняли компилятор и задели препроцессор) что подтверждается примером:

#define MACRO   1A2 //Error: invalid suffix 'A2'

Компилятор уже заранее решил (до построения препроцессором конечного выражения), что MACRO это вещественное число, а не другая сущность

 
Sergey T #:

https://www.metatrader5.com/ru/mobile-trading/android/help/settings_journal

Выбрать пункт журнал в левом дравере.

Спасибо. Просмотрел все несколько раз, но никаких ошибок не увидел.
Может у кого тоже не отображаются позиции? Помогите пожалуйста разобраться.
 
Yauhen Zhuk #:
Спасибо. Просмотрел все несколько раз, но никаких ошибок не увидел.
Может у кого тоже не отображаются позиции? Помогите пожалуйста разобраться.
Разобрался! По умолчанию цвет не указан, поэтому ничего не видно.
 
fxsaber #:

Достаточно даже запустить скрипт без изменений на "SBER" Metaquotes-Demo, чтобы увидеть, что получается совсем не то, что ожидаешь.

Выяснил, что CustomRatesReplace работает некорректно для некоторых символов (похоже, для всех не Forex), поэтому разработчикам нужно исправлять ошибку.

2017.09.10 21:56:23.386 HistoryCache    'SBER_custom' container header read error [error: 0, readed: 0]
2017.09.10 21:56:23.386 HistoryBase     'SBER_custom' invalid container (1970.01.01) found (off: 712539, size: 23364, file: 15144)

Аналогичная ошибка. Разработчики с тех пор как-то продвинулись в ее исправлении?

DS      3       18:21:01.316    HistoryCache    'BTCUSDT.bncf' container header read error [0]
ME      3       18:21:01.316    HistoryBase     'BTCUSDT.bncf' invalid container (1970.01.01) found (off: 3359020632, size: 86589, file: 2964434)

Кстати форум в последнее время сильно тормозит и не копирует посты, на которые отвечаешь. Вот ссылка на оригинальный пост: https://www.mql5.com/ru/forum/1111/page1994#comment_5737759

Вот еще про эту ошибку:
https://www.mql5.com/en/forum/363224
https://www.mql5.com/en/forum/360938