Библиотеки: Easy Canvas - страница 16

 
Nikolai Semko #:

для работы нужна версия iCanvas 1.54

Nikolai Semko #:
Последняя версия 1.53

Мне тоже интересно.

 
Edgar Akhmadeev #:

Мне тоже интересно.

Уже обновил и прикрепил в предыдущем сообщении 
 
Peter Vorobyev #:
Николай, можно ли использовать вашу библиотеку для отрисовки динамически изменяющихся "прямоугольников" привязаных к свечам, чтобы заменить ими использующиеся сейчас объекты типа OBJ_RECTANGLE. Нужно для того чтобы визуально красиво отображалось наложение прямоугольников (т.е. наличие прозрачности).
Возможно есть пример такого использования?

Есть пример отрисовки привязанных к свечам фигур в книге.

Учебник по MQL5: Расширенные средства языка / Ресурсы / Прикладное применение графических ресурсов в трейдинге
Учебник по MQL5: Расширенные средства языка / Ресурсы / Прикладное применение графических ресурсов в трейдинге
  • www.mql5.com
Расширенные средства языка - Программирование на MQL5 для трейдеров - Учебник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Stanislav Korotky #:

Есть пример отрисовки привязанных к свечам фигур в книге.

лучше не использовать эти примеры. В них используются функции ChartXYToTimePrice,  ChartTimePriceToXY, использование которых ведет очень сильным лагам. Они работают в десятки тысяч медленне чем должны. Это очень старый симантический баг у MQ, который они не будут исправлять.
В этой библиотеке эта проблема решена, если использовать следующие функции:

   double            X(double bar){return((double)W.Left_bar-bar)*W.dx_pix;}; //The X coordinate by the bar number. The bar number must be of type double, otherwise, the bar will be interpreted as time.
   double            X(datetime Time);                                        //The X coordinate by the time.
   double            Y(double Price) {if(W.dy_pix==0) W.dy_pix=1; return((W.Y_max-Price)/W.dy_pix); }; //The Y coordinate by the price.
   double            Price(int y)     {return (W.Y_max-y*(W.Y_max-W.Y_min)/W.Height);};       // Price by the Y coordinate
   double            Bar(int x) {return((double)W.Left_bar+1-(double)x/(double)W.dx_pix);};   // bar number by coordinate X                                                                      
   datetime          TimePos(int x);
 
Nikolai Semko #:
Уже обновил и прикрепил в предыдущем сообщении 

Спасибо. Не сразу понял, что iCanvas_CB__1.mqh это и есть iCanvas.mqh v1.54

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