指定時刻から自動でスクリーンショットを取得する

ここでは、「指定時刻から自動でスクリーンショットを取得する」 に関する記事を紹介しています。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
指定時刻から自動でスクリーンショットを取得するインディケーター

メタトレーダーには、チャート画面を画像として保存する機能があります。
1枚や2枚なら大した時間はとられませんが、10枚20枚となるとかなりの仕事量になります。
そこで、指定時刻から最後のバーまでのチャート画面を全て保存するインディケーターを作成しました。



画面に表示されている足の数を取得し、指定時刻の足番号になるまでWindowScreenShotを使って
保存しています。
保存される場所は、\\experts\\filesに\\shotsのフォルダーを作成して保存します。
保存できないなどのエラーが発生した場合は同じ場所に「ERROR.txt」のlogファイルを作成します。


指定時刻から自動でスクリーンショットを取得する


//+------------------------------------------------------------------+
//| SC.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property indicator_chart_window

extern string startday="";
extern bool shot=false;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

return(0);
}


//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{

int wbar=WindowBarsPerChart();
int con=0,i=0;
datetime SD=StrToTime(startday);
int check;
int shift=iBarShift(NULL,0,SD);
string SY=Symbol();
int PE=Period();




if(shot==true && startday!="")
{
for(i=-1; i<=shift+wbar; i+=wbar)
{
WindowScreenShot("\\shot\\S"+SY+PE+"_"+con+".gif",1274,865,i);
check=GetLastError();
if(check!=0)
{
int FileName=FileOpen("\\shot\\ERROR"+SY+PE+".txt", FILE_CSV|FILE_READ|FILE_WRITE,';');
FileSeek(FileName, 0, SEEK_END);
int fcheck=GetLastError();
FileWrite(FileName,con+":");
FileWrite(FileName,StringConcatenate("error(",check,"): "));
FileWrite(FileName,StringConcatenate("足番号(",i,"):"));
FileClose(FileName);
}
con++;
}
}



shot=false;
startday="";


//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
shot=false;
startday="";

//----
return(0);
}

コメント
この記事へのコメント
このコメントは管理者の承認待ちです
2012/11/22(木) 13:50 | | #[ 編集]
このコメントは管理者の承認待ちです
2013/03/04(月) 14:14 | | #[ 編集]
このコメントは管理者の承認待ちです
2014/07/18(金) 20:05 | | #[ 編集]
このコメントは管理者の承認待ちです
2014/07/22(火) 04:12 | | #[ 編集]
このコメントは管理者の承認待ちです
2014/07/25(金) 08:33 | | #[ 編集]
このコメントは管理者の承認待ちです
2014/07/27(日) 07:20 | | #[ 編集]
このコメントは管理者の承認待ちです
2014/08/10(日) 17:16 | | #[ 編集]
このコメントは管理者の承認待ちです
2014/08/28(木) 13:26 | | #[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://fxsk.blog105.fc2.com/tb.php/134-14bd5376
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。