MQL4 Reference Chart Operations WindowScreenShot

WindowScreenShot

Saves current chart screen shot as a GIF file.

bool  WindowScreenShot(
   string           filename,                   // file name
   int              size_x,                     // width
   int              size_y,                     // height
   int              start_bar=-1,               // first visible bar
   int              chart_scale=-1,             // scale
   int              chart_mode=-1               // mode
   );

Parameters

filename

[in]  Screen shot file name. Screenshot is saved to \Files folder.

size_x

[in]  Screen shot width in pixels.

size_y

[in]  Screen shot height in pixels.

start_bar=-1

[in]  Index of the first visible bar in the screen shot. If 0 value is set, the current first visible bar will be shot. If no value or negative value has been set, the end-of-chart screen shot will be produced, indent being taken into consideration.

chart_scale=-1

[in]  Horizontal chart scale for screen shot. Can be in the range from 0 to 5. If no value or negative value has been set, the current chart scale will be used.

chart_mode=-1

[in]  Chart displaying mode. It can take the following values: CHART_BAR (0 is a sequence of bars), CHART_CANDLE (1 is a sequence of candlesticks), CHART_LINE (2 is a close prices line). If no value or negative value has been set, the chart will be shown in its current mode.

Returned value

Returns true if succeed, otherwise false. To get the error code, one has to use the GetLastError() function.

Note

The screen shot is saved in the terminal_dir\experts\files (terminal_dir\tester\files in case of testing) directory or its subdirectories.

Example:

  int lasterror=0;
  //---- tester has closed one or more trades
  if(IsTesting() && ExtTradesCounter<TradesTotal())
    {
     //---- make WindowScreenShot for further checking
     if(!WindowScreenShot("shots\\tester"+ExtShotsCounter+".gif",640,480))
        lasterror=GetLastError();
     else ExtShotsCounter++;
     ExtTradesCounter=TradesTotal();
    }