チャートのキャプチャ画像作成

チャートの画像をキャプチャするスクリプトです。
エントリー時の状況など、チャートのキャプチャを撮って記録したい場合にご利用いただけます。


チャートへドラッグ&ドロップすることで撮影されます。
作成されたファイルはデータフォルダ内の[MQL4]→[Files]へ保存されます。



#property copyright "Copyright 2016, gogojungle"
#property link "http://labo.fx-on.com"
#property version "1.00"
#property strict

void OnStart(){
takePicture();
}

bool takePicture(string file_name=NULL){
int width = 0;
int height = 0;
int subwindow_height = 0;
int sub_count = 1;

//デフォルトファイル名 通貨ペア名_時刻.png
if(file_name == NULL){
file_name = Symbol() + "_";
file_name += IntegerToString(Year());
if(Month() < 10) file_name += "0";
file_name += IntegerToString(Month());
if(Day() < 10) file_name += "0";
file_name += IntegerToString(Day());
if(Hour() < 10) file_name += "0";
file_name += IntegerToString(Hour());
if(Minute() < 10) file_name += "0";
file_name += IntegerToString(Minute());
if(Seconds() < 10) file_name += "0";
file_name += IntegerToString(Seconds());
file_name += ".png";
}

//サブウィンドウの合計高さを取得
while(true){
if(ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS, sub_count) > 0){
subwindow_height += (int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS, sub_count);
}
else break;
sub_count++;
}

//画像の横幅と高さを設定
width = (int)ChartGetInteger(0, CHART_WIDTH_IN_PIXELS, 0) + 45;
height = (int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS, 0) + subwindow_height + 20;

ChartRedraw();
if(ChartScreenShot(0, file_name, width, height, ALIGN_CENTER) == false){
Print(__FUNCTION__ + " ErrorCode:" + IntegerToString(GetLastError()));
return(false);
}

PlaySound("news.wav");
return(true);
}


スクリプトにすることで、ナビゲーターからファイル名を右クリックすることで、キーボードショートカットに登録できます。
煩わしい操作不要で簡単にキャプチャすることが可能です。
TwitterでシェアFacebookでシェアGoogle+でシェアはてなブックマークに追加

TOPへ