トップ  >  MQL4リファレンス  >  チャート操作  >  ChartScreenShot
スポンサーリンク
検索

↑の検索エンジンが表示されない人は、
↓の古い検索エンジンを使用して下さい。
カスタム検索
MQL4リファレンスツリー
ChartScreenShot


ChartScreenShot


指定したチャートIDのチャートのスクリーンショットを指定した拡張子(gif,png,bmp)の形式で保存します。
コマンドはチャートメッセージキューに追加され、キューが追加される前に持っているコマンドが処理された後に実行されます。


関数書式:
bool  ChartScreenShot(
   long               chart_id,                   // チャートID
   string             filename,                   // ファイル名
   int                width,                      // 幅
   int                height,                     // 高さ
   ENUM_ALIGN_MODE  align_mode = ALIGN_RIGHT  // アライメントタイプ
   );



■引数
引数名 初期値 I/O 詳細
chart_id - In チャートID
filename - In 保存ファイル名
width - In スクリーンショットの幅(ピクセル単位)
height - In スクリーンショットの高さ(ピクセル単位)
align_mode ALIGN_RIGHT In スクリーンショットの出力モード。
ENUM_ALIGN_MODE列挙の値で指定します。
ALIGN_RIGHTは右端から出力する事を意味します。



■戻り値
コマンドがチャートキューに追加された場合はtrueを返します。
それ以外はfalseを返します。
エラーコードの確認はGetLastError()関数を使用します。



■備考
チャートの特定の位置のスクリーンショットを取る場合は、ChartNavigate()関数を使用してチャート位置を指定する必要があります。
スクリーンショットの水平方向のサイズがチャートウインドウよりも小さい場合、
align_modeの設定に応じて出力されます。


サンプルソース:
void OnInit() {
    ChartScreenShot(0,"testcap.png",400,400,ALIGN_RIGHT);
}


結果:




保存されたスクリーンショット(test_wshot.png)



管理人の勝手なコメント:
拡張子は自動的に付与されないので、ファイル名指定する際に拡張子までの記載が必要です。
jpg形式には対応していません、jpg形式にした場合は実際の画像データはbmp形式で保存されます。

バックテスト中のキャプチャデータはMQL4/Filesフォルダでは無く、tester/fileフォルダに作成されます。

MT5ではバックテスト中(別ウインドウのストラテジーテスターが起動する履歴データのバックテスト)にキャプチャ出来ない(0byteの真っ白い画像データが保存される)バグがあるみたいです(MT5 Ver5.00 build3283時点)。




スポンサーリンク
スポンサーリンク


Copyright ©2015 MT4でEA自作しちゃお~ All Rights Reserved.


Top

inserted by FC2 system