Alexey Petrov: Ссылки поправили. Спасибо за сообщение.
Ошибки остались.
Пункт "Введение":
...
Прежде чем приступить к непосредственному рисованию с помощью класса CCanvas, нужно узнать некоторые определения, связанные с обработкой цвета. Например, что такое прозрачность и что такое альфа-канал.
...
Пункт "5.1. Создание скрипта "Illusion.mq5""
...
Рисуем закрашенный круг. Круг будет рисоваться поверх цвета, которым мы заполнили канвас (canvas_XRGB_NOALPHA.Erase(ColorToARGB(colr,alpha));).
canvas_XRGB_NOALPHA.CreateBitmapLabel - Здесь мы создали графический ресурс, привязанный к объекту чарта.
Выводим текст - тип обработки изображения для данного канваса. Цвет текста в формате ARGB и альфа-каналом равным 255, то есть цвет выводимого текста
Если мы хотим, чтобы все нарисованное отобразилось на экране, нужно обновить экран.
Так как мы создавали графический ресурс с привязкой к объекту чарта (метод CreateBitmapLabel), то удаление ресурса выполним с помощью метода Destroy() - заодно
Приветствую, ребята а не подскажите как сделать информационную панель так что бы значки сделок не накладывались сверху.
Вроде вынесена на передний план, все рисуется за ней, а вот сделки накладываются сверху.
void CreateEdit(long chart_id, // id графикаint sub_window, // номер окна (подокна)string name, // имя объектаcolor font_color, // цвет шрифтаint x_size, // ширинаint y_size, // высотаint x_distance, // координата по оси Xint y_distance, // координата по оси Ylong z_order, // приоритетcolor background_color) // цвет фона
{
// Если объект создался успешно, то...if(ObjectCreate(chart_id,name,OBJ_RECTANGLE_LABEL,sub_window,0,0))
{
// ...установим его свойстваObjectSetInteger(chart_id,name,OBJPROP_CORNER,CORNER_LEFT_UPPER); // установка угла графикаObjectSetInteger(chart_id,name,OBJPROP_COLOR,font_color); // цвет шрифтаObjectSetInteger(chart_id,name,OBJPROP_BGCOLOR,background_color); // цвет фонаObjectSetInteger(chart_id,name,OBJPROP_XSIZE,x_size); // ширинаObjectSetInteger(chart_id,name,OBJPROP_YSIZE,y_size); // высотаObjectSetInteger(chart_id,name,OBJPROP_XDISTANCE,x_distance); // установка координаты XObjectSetInteger(chart_id,name,OBJPROP_YDISTANCE,y_distance); // установка координаты YObjectSetInteger(chart_id,name,OBJPROP_SELECTABLE,false); // нельзя выделить объект, если FALSEObjectSetInteger(chart_id,name,OBJPROP_ZORDER,z_order); // приоритет объектаObjectSetInteger(chart_id,name,OBJPROP_READONLY,true); // только для чтенияObjectSetInteger(chart_id,name,OBJPROP_ALIGN,ALIGN_LEFT); // выравнивание по левому краю//--- отобразим на переднем (false) или заднем (true) плане ObjectSetInteger(chart_id,name,OBJPROP_BACK,false);
ObjectSetString(chart_id,name,OBJPROP_TOOLTIP,"\n"); // нет всплывающей подсказки, если "\n"
}
}
MQL4 ;)
Я не приветствую MQL4. Все примеры только на MQL5.
И результат работы скрипта:
Владимир, вопрос к Вам как к спецу.
Есть панель в виде холста. А потом на графике рисуются трендовые линии. Как их спрятать за холст?
Скриншоты торговой платформы MetaTrader
RTS Splice, H1, 2016.10.16
АО ''Открытие Брокер'', MetaTrader 5, Demo
Владимир, вопрос к Вам как к спецу.
Есть панель в виде холста. А потом на графике рисуются трендовые линии. Как их спрятать за холст?
Спасибо за статью. К сожалению, все ссылки на документацию в ней битые.
Спасибо за сообщение - справка перестроилась, поэтому ошибки. Ссылки поправим.
By means of the class CCanvas?
P.S. Use CCanvas.CreateBitmap:
Creates a graphical resource bound to a chart object.
1. Creates a graphical resource in the main window of the current chart.
bool CreateBitmap(
const string name, // name
const datetime time, // time
const double price, // price
const int width, // width
const int height, // height
ENUM_COLOR_FORMAT clrfmt=COLOR_FORMAT_XRGB_NOALPHA // format
);
Thus you will be able to bind one corner of a Сanvas. But width and height, all the same, will be set in pixels.
а можно по русски писать здесь?
А то вы одним указания даете, а на самом деле двойные стандарты исповедуете.
Спасибо за статью. К сожалению, все ссылки на документацию в ней битые.
Ссылки поправили. Спасибо за сообщение.
Ошибки остались.
Пункт "Введение":
...
Прежде чем приступить к непосредственному рисованию с помощью класса CCanvas, нужно узнать некоторые определения, связанные с обработкой цвета. Например, что такое прозрачность и что такое альфа-канал.
...
Пункт "5.1. Создание скрипта "Illusion.mq5""
...
Рисуем закрашенный круг. Круг будет рисоваться поверх цвета, которым мы заполнили канвас (canvas_XRGB_NOALPHA.Erase(ColorToARGB(colr,alpha));).
canvas_XRGB_NOALPHA.CreateBitmapLabel - Здесь мы создали графический ресурс, привязанный к объекту чарта.
Заполняем весь канвас цветом в формате ARGB c прозрачностью alpha
Выводим текст - тип обработки изображения для данного канваса. Цвет текста в формате ARGB и альфа-каналом равным 255, то есть цвет выводимого текста
Если мы хотим, чтобы все нарисованное отобразилось на экране, нужно обновить экран.
Так как мы создавали графический ресурс с привязкой к объекту чарта (метод CreateBitmapLabel), то удаление ресурса выполним с помощью метода Destroy() - заодно
...
Приветствую, ребята а не подскажите как сделать информационную панель так что бы значки сделок не накладывались сверху.
Вроде вынесена на передний план, все рисуется за ней, а вот сделки накладываются сверху.