Пытаюсь сделать, чтобы эксперт ставил на графике рисунок с папка -images. Но не получается. Где допущена ошибка? Код представляю.

 

Добрый день!

Господа программисты, где ошибка?

Пытаюсь сделать, чтобы эксперт ставил на графике рисунок с папка -images/

Но не получается. 

Где допущена ошибка?

В папке Images(MQL) есть картинка leon.bmp,  где то 10 кб.

// Expert Advisor file

//---
string bmpfile = "\\Images\\leon.bmp";
 
// OnInit --------------------------------------------
int OnInit()
{
    ObjectCreate    ( 0, "Bitmap", OBJ_BITMAP, 0, 0, 0 );
    ObjectSetString ( 0, "Bitmap", OBJPROP_BMPFILE, 0, bmpfile );
    ObjectSetInteger( 0, "Bitmap", OBJPROP_XSIZE, 300 );
    ObjectSetInteger( 0, "Bitmap", OBJPROP_YSIZE, 100 );
    Print( "checked" );
    //---
    return(0);
}
// OnTick --------------------------------------------
void OnTick()
{
    //---
    return;
}
// OnDeinit ------------------------------------------
void OnDeinit(const int reason)
{
    ObjectDelete( "Bitmap" );
    //---
    return;
}
// End -----------------------------------------------
 
Или такое недоступно на мт4?
 

Попробуйте задать последние два параметра не как нули. К примеру:

// Expert Advisor file

//---
string bmpfile = "\\Images\\leon.bmp";
 
// OnInit --------------------------------------------
int OnInit()
{
    ObjectCreate    ( 0, "Bitmap", OBJ_BITMAP, 0, iTime(Symbol(), Period(), 10), iOpen(Symbol(), Period(), 10) );
    ObjectSetString ( 0, "Bitmap", OBJPROP_BMPFILE, 0, bmpfile );
    ObjectSetInteger( 0, "Bitmap", OBJPROP_XSIZE, 300 );
    ObjectSetInteger( 0, "Bitmap", OBJPROP_YSIZE, 100 );
    Print( "checked" );
    //---
    return(0);
}
// OnTick --------------------------------------------
void OnTick()
{
    //---
    return;
}
// OnDeinit ------------------------------------------
void OnDeinit(const int reason)
{
    ObjectDelete( "Bitmap" );
    //---
    return;
}
// End -----------------------------------------------
 
fon
fon
  • www.mql5.com
Скрипт устанавливает фон графика. Описание настроек: size_X  - размер изображения по оси xsize_Y  - размер изображения по оси yimages - путь к изображению и название изображения, по умолчанию изображение должно находится в папке: терминал - ... MQL4 - Images
 
Спасибо попробую 😀👍
 

Почти получилось.

Но только одну картинку .bmp ставит. Который выложил в zip-архиве.

А другие картинки .bmp  не хочет. Которые конвертировал с JPEG

В чем может быть дело?


string label_name="name";      
string root      ="\\Images\\dollar.bmp"; 

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
    
         bool created=ObjectCreate(0,label_name,OBJ_BITMAP_LABEL,0,0,0);
         ObjectSetInteger(0,label_name,OBJPROP_CORNER,CORNER_LEFT_UPPER);
         ObjectSetInteger(0,label_name,OBJPROP_XDISTANCE,0);
         ObjectSetInteger(0,label_name,OBJPROP_YDISTANCE,0);
         bool set=ObjectSetString(0,label_name,OBJPROP_BMPFILE,0,root);
        
        
      
     
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- удалим объект с графика 
   ObjectDelete(0,label_name);
  }
//+------------------------------------------------------------------+



Файлы:
dollar.zip  4 kb
 

может я не так конвертирую?

делал в онлайн-конвертерах.

Странно, почему только эту картинку ставит. Что в нем такого что бот его одобряет?))

может есть другие bmp файлы??

 
Alexander Ivanov:

Почти получилось.

Но только одну картинку .bmp ставит. Который выложил в zip-архиве.

А другие картинки .bmp  не хочет. Которые конвертировал с JPEG

В чем может быть дело?




Надо было выложить те, которые не хочет.

 
Alexander Ivanov:

может я не так конвертирую?

делал в онлайн-конвертерах.

Странно, почему только эту картинку ставит. Что в нем такого что бот его одобряет?))

может есть другие bmp файлы??

Предположу что при конвертации какие-либо галочки надо отжать, чтобы формат bmp  был рабоче-колхозный без примочек, но странно. Попробуйте просто в пайнт через буфер обмена скопировать картинку. пайнт то должен нормальные bmp-шки создавать, не подводил.

 

аа)))) сумел  таки,

надо сделать .bmp файлы определенной глубины цвета.

на онлайн конвертере указал глубину  =  8 bpp 

и рисунок ставится )))


теперь осталось сделать чтоб картинка была за графиком.

 

Добавил код

ObjectSetInteger(0,label_name,OBJPROP_BACK,True);

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