// Получение пути к файлу логотипа
string logoFilename = "logo.bmp"; // Имя файла логотипа
// Отображение логотипа
int chartId = (int)ChartFirst();
if(chartId != 0)
{
ChartSetInteger(chartId, CHART_AUTOSCROLL, false); // Отключаем автопрокрутку графика
// Получаем ширину и высоту графика
,,,,,,,,,,,,,,,,,,,,
убрал , ни чего не поменялось . на графике экрана нажал все объекты, думал сразу может за графиком логотип, но нет объекта на экране.
2024.03.16 22:26:12.562 trader (EURUSD,H1) Координаты логотипа установлены: X =-210, Y =10
создал проверки на наличие ошибок, все равно нет логотипа ,логотип формат bmp 200x200
не пойму ,что не так. пробовал удалять из папки files логотип, тогда да выдает ошибку, нет файла .
Здравствуйте. Помогите с логотипом ,формат мт5 , сделал вроде все, но на графике не отображается логотип, не создается. В журнале терминала, ошибку не пишет.
файл помесил в папку: мт5\\\\files
Имя файла: logo
подскажите, что сделал не так ?
переделал :
//+------------------------------------------------------------------+
//| // Отображение логотипа |
//+------------------------------------------------------------------+
// Получение пути к файлу логотипа
string logoFilename = "osiris.png"; // Имя файла логотипа "osiris. png "
if (!FileIsExist(logoFilename))
{
Print("Файл логотипа не найден:", logoFilename);
return; // Если файл не найден, выходим из функции OnInit()
}
// Добавляем код для отображения логотипа
int chartId = (int)ChartFirst();
if(chartId != 0)
{
ChartSetInteger(chartId, CHART_AUTOSCROLL, false); // Отключаем автопрокрутку графика
// Получаем ширину и высоту графика
int chartWidth = (int)ChartGetInteger(0, CHART_WIDTH_IN_PIXELS);
int chartHeight = (int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS);
// Получение ширины и высоты логотипа
int logoWidth = 200; // Замените это на реальную ширину вашего логотипа
int logoHeight = 200; // Замените это на реальную высоту вашего логотипа
// Установка координат для логотипа
int logoX = chartWidth - logoWidth -10; // 10 пикселей отступа от правого края графика
int logoY = 10; // 10 пикселей отступа от верхнего края графика
// Создание логотипа на графике
long logoHandle = ObjectCreate(chartId, "logo", OBJ_BITMAP, 0, 0, 1000);
if(logoHandle != -1)
{
Print("Логотип успешно создан. Идентификатор объекта:", logoHandle);
ObjectSetInteger(chartId, "logo", OBJPROP_XDISTANCE, logoX); // Устанавливаем координату X
ObjectSetInteger(chartId, "logo", OBJPROP_YDISTANCE, logoY); // Устанавливаем координату Y
ObjectSetString(chartId, "logo", OBJPROP_BMPFILE, logoFilename); // Устанавливаем путь к файлу логотипа
Print("Координаты логотипа установлены: X =", logoX, ", Y =", logoY);
}
else
{
Print("Ошибка при создании логотипа.");
}
}
else
{
Print("No chart found.");
}
не помогло ошибка в эксперте :
2024.03.16 23:38:49.545 trader (EURUSD,H1) Логотип успешно создан. Идентификатор объекта:0
2024.03.16 23:38:49.545 trader (EURUSD,H1) Координаты логотипа установлены: X =1204, Y =10
переделал :
//+------------------------------------------------------------------+
//| // Отображение логотипа |
//+------------------------------------------------------------------+
// Получение пути к файлу логотипа
string logoFilename = "osiris.png"; // Имя файла логотипа "osiris. png "
if (!FileIsExist(logoFilename))
{
Print("Файл логотипа не найден:", logoFilename);
return; // Если файл не найден, выходим из функции OnInit()
}
// Добавляем код для отображения логотипа
...
--
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Логотип, нет объекта на графике
Nikolai Semko, 2024.03.16 22:07
Лучше для лого использовать png#include "Png.mqh" // https://www.mql5.com/en/code/45439 #resource "logo.png" as uchar png_logo[] CPng logo(png_logo, true,10,10); //+------------------------------------------------------------------+ int OnInit() { logo.Resize(100); logo._CreateCanvas(10, 10); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnTick() {} //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if (id == CHARTEVENT_CHART_CHANGE) { long w; ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0,w); ObjectSetInteger(0,logo.C.m_objname,OBJPROP_XDISTANCE,w-logo.C.m_width-logo._C.m_width-10); ObjectSetInteger(0,logo._C.m_objname,OBJPROP_XDISTANCE,w-logo._C.m_width-10); ChartRedraw(); } }
...
Вставляйте правильно код -
----------------
MQL5.community - Памятка пользователя
Кнопка предназначена для вставки исходного кода в текст сообщения. При нажатии появляется пустое окно, в которое необходимо вставить код и далее нажать кнопку Вставить. Для отмены вставки кода необходимо нажать кнопку Отмена.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Помогите с логотипом ,формат мт5 , сделал вроде все, но на графике не отображается логотип, не создается. В журнале терминала, ошибку не пишет.
файл помесил в папку: мт5\\\\files
Имя файла: logo
подскажите, что сделал не так ?