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

 
Nikolai Semko #:

Что-то поломали в билдах 5474, 5477.
Прозрачный канвас перестал быть прозрачным и закрывает собой чарт. Причем канвас всегда черный вне зависимости он цветовой схемы чарта. 


Не, если сделать _RAW то прозрачный канвас будет всегда БЕЛЫМ :).

Forum on trading, automated trading systems and testing trading strategies

New MetaTrader 5 Platform Build 5430: Enhanced Charts Powered by Blend2D

Andrey Barinov, 2025.12.12 04:56

Build #5474. Alfa channel is completely broken on Canvas....

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
#property strict
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
#define     CANVASNAME        "testcanvas_"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit(void)
   {
//===============
   ::EventSetTimer(1);
//===============

//===============
   const string canvasname   = CANVASNAME+::IntegerToString(::ChartID());
   const string resoursename = "::"+canvasname+".bmp";
   const uint width          = 500;
   const uint height         = 500;
   const uchar alfa          = 0;
   const uint clr            = ::ColorToARGB(clrWhite,alfa);
//===============

//===============
   uint canvasdata[];
   ::ArrayResize(canvasdata,width*height,0);
   ::ArrayInitialize(canvasdata,clr);
//===============

//===============
   ::ResourceCreate(resoursename,canvasdata,width,height,0,0,width,COLOR_FORMAT_ARGB_NORMALIZE);
//===============

//===============
   ::ObjectCreate(0,canvasname,OBJ_BITMAP_LABEL,0,0,0);
//===============

//===============
   ::ObjectSetInteger(0,canvasname,OBJPROP_CORNER,CORNER_LEFT_UPPER);
   ::ObjectSetInteger(0,canvasname,OBJPROP_ANCHOR,ANCHOR_LEFT_UPPER);
   ::ObjectSetInteger(0,canvasname,OBJPROP_SELECTABLE,true);
   ::ObjectSetInteger(0,canvasname,OBJPROP_SELECTED,true);
   ::ObjectSetInteger(0,canvasname,OBJPROP_XDISTANCE,100);
   ::ObjectSetInteger(0,canvasname,OBJPROP_YDISTANCE,100);
   ::ObjectSetInteger(0,canvasname,OBJPROP_XSIZE,width);
   ::ObjectSetInteger(0,canvasname,OBJPROP_YSIZE,height);
   ::ObjectSetString(0,canvasname,OBJPROP_BMPFILE,0,resoursename);
   ::ObjectSetString(0,canvasname,OBJPROP_BMPFILE,1,resoursename);
//===============

//===============
   ::ChartRedraw(0);
//===============

//===============
   return(INIT_SUCCEEDED);
//===============
   }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTimer(void)
   {
//===============
   ::ChartRedraw(0);
//===============
   }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
   {
//===============
   ::ObjectDelete(0,CANVASNAME+::IntegerToString(::ChartID()));
//===============
   } 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+


Here is what happens on chart: 

COLOR_FORMAT_ARGB_NORMALIZE

normalise


and this is 

COLOR_FORMAT_ARGB_RAW


raw


Both are WRONG...


 
Nikolai Semko #:

Что-то поломали в билдах 5474, 5477.
Прозрачный канвас перестал быть прозрачным и закрывает собой чарт. Причем канвас всегда черный вне зависимости он цветовой схемы чарта. 



и такое ощущение, что нет доступа к данным чарта, т.е. не работают функции Copy. Если чарт отключить программно, тогда функции Copy работают.



это случайно не то-же самое : https://www.mql5.com/ru/forum/499840/page14#comment_58686241

редко графикой занимаюсь, тут вдруг понадобилось и пришлось поматериться над прозрачностью

может макрос неудачно оптимизировали в Canvas

Проверьте в последней версии сопоставление индексов хранения цвета на каждом баре.
Проверьте в последней версии сопоставление индексов хранения цвета на каждом баре.
  • 2025.12.08
  • www.mql5.com
Проверьте в последней релизной и бета версии сопоставление индексов хранения цвета в терминале и тестере быстрый тест индикатором из Examples - ColorBars или любым другим рисующим цвет на каждом баре. На релизной версии есть баг с рендерингом цветов индикатора в виде линии. когда график скролишь вперед назад - иногда возникает произвольная смена цвета на обратный из двух доступных в индикаторе
 
Maxim Kuznetsov #:

это случайно не то-же самое : https://www.mql5.com/ru/forum/499840/page14#comment_58686241

редко графикой занимаюсь, тут вдруг понадобилось и пришлось поматериться над прозрачностью

может макрос неудачно оптимизировали в Canvas

пока не чекал внутри что происходит. 

 
Nikolai Semko #:

пока не чекал внутри что происходит. 

Интересно что в тестере в визуальном режиме все ОК работает... Только живые графики сломались.
 
Не могу подключить в личный кабинет свой счет для мониторинга. Пишет неверные данные. Брокер NPBFX но как в терминале МТ4 не могу выбрать такое же имя в личном кабинете. Его просто нет. Предлагает другой сервер система автоматически, но с теми данными не подключается
 
Ivan Butko #:
После обновления терминала на build 5474 исчезли знаки на кнопках



До обновления были


А тестере работает

Онлайн не работает

 
Ivan Butko #:
А тестере работает

Онлайн не работает
Не ставил ничего после b5430. Но уверен, что в Визуализаторе просто пока не включен Blend2D-движок.
 
fxsaber #:
Не ставил ничего после b5430. Но уверен, что в Визуализаторе просто пока не включен Blend2D-движок.
Уточните, пожалуйста, что значит "не ставил"

Это когда терминал настойчиво сигналит оповещением "Обновить сейчас" и Вы нажимаете "позже"?

Там ведь вроде принудительно всё
 
Ivan Butko #:
Уточните, пожалуйста, что значит "не ставил"

Это когда терминал настойчиво сигналит оповещением "Обновить сейчас" и Вы нажимаете "позже"?

Там ведь вроде принудительно всё

С номером билда немного напутал - b5440 стоит с 21-го ноября. За 24 дня не было ни разу никаких предложений обновиться. Переключался только между реальными счетами. Множество раз перезагружался.

Запрещалок на принудительное обновление не ставил. Кнопку "проверить обновления" специально не жму - Blend2D еще ни разу не видел.

 
Artyom Trishkin #:
Попробуйте скопировать всю папку терминала в иное место. Будут ли ошибки доступа? У меня тоже диск якобы без ошибок, но некоторые папки не дают доступа к себе. И всё это из-за южного моста на материке. 

Папка копируется и вырезается без проблем. Диск на наличие ошибок проверил - нет ошибок.

Yuriy Bykov #:
Могу сказать, что при первом запуске редактор, похоже, выполняет компиляцию всех найденных в рабочей папке советников, индикаторов. Или если в рабочую папку загружается все коды при подключении хранилища. Это как раз может визуально проявляться в виде такого глухого зависания.

вырезал все советники и индикаторы которые были в висящем редакторе и переместил в другую папку. Теперь редактор открывается пустой - и всё равно виснет намертво. Обновил терминал и редактор до последней релизной версии, а затем и до последней беты - никаких изменений - также висит.