チャートのスクリーンショットを取得 WindowScreenShot 関数

関数

チャート操作関数

WindowScreenShot 関数

この関数は、現在のチャートのスクリーンショットを拡張子 GIF形式のファイルで保存します。

ChartScreenShot関数でも厳密には違いますが同様の処理を行なうことができます。

データ型と構成・戻り値

bool WindowScreenShot(①, ②, ③, ④, ⑤, ⑥);

戻り値は、処理が成功した場合は true、それ以外は falseが返されます。
発生するエラーについては、GetLastError関数で取得することができます。

引数 [6]

WindowScreenShot関数は 6個の引数で構成されます。


引数名データ型単位初期値説明
filenamestringスクリーンショットのファイル名。拡張子名 gifも含めて指定してください。
size_xintpixelスクリーンショットの幅(ピクセル単位)。
size_yintpixelスクリーンショットの高さ(ピクセル単位)。
start_barint-1スクリーンショットで最初に表示されるバーのインデックス。0の値が設定されている場合、現在の最初に表示されているバーが撮影されます。
初期値 -1は、インデントを考慮して、チャートの終わりのスクリーンショットが撮影されます。
chart_scaleint-1スクリーンショットの水平チャートスケール。
0(縮小)~5(拡大)の範囲で指定できます。
初期値 -1は、現在のチャートスケールが適用されます。
chart_modeint-1チャート表示モード。
0:CHART_BAR(バー)
1:CHART_CANDLE(ローソク足)
2:CHART_LINE(終値線)
初期値 -1は、現在のチャートモードで表示されます。
※初期値があるものは省略可能です。省略した場合、初期値が設定されます。

取得したスクリーンショットは、使用しているMT4のメニューのファイルから「データフォルダを開く」のフォルダの「MQL4」→「Files」フォルダの中に保存されます。

使用例 

WindowScreenShot関数によるスクリーンショットの保存

WindowScreenShot関数を使って現在のチャートのスクリーンショットを保存します。

コード

// WindowScreenShot関数によるスクリーンショットの保存
#property strict
void OnInit() {

bool tf1 = WindowScreenShot("Wscshot1.gif", 300, 200);           // ①
bool tf2 = WindowScreenShot("Wscshot2.gif", 300, 200, 20, 5, 0); // ②
bool tf3 = WindowScreenShot("Wscshot3.gif", 300, 200, 20, 5, 2); // ③

Print("①スクリーンショットの成否:", tf1);
Print("②スクリーンショットの成否:", tf2);
Print("③スクリーンショットの成否:", tf3);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

次のように画像が「Files」フォルダの中に保存されます。

Wscshot1.gif

Wscshot1.gif

Wscshot2.gif

Wscshot2.gif

Wscshot3.gif

Wscshot3.gif

タイトルとURLをコピーしました