【MT4】FXチャートを定期的に画像保存するインジケーターの作り方

FXで勝てるようになる為に重要な事の一つに、
どれだけ過去検証を行うかってのがあるかと思います。

過去検証する方法はいろいろありますが、
過去チャートをなぞって検証する方法だと、
どうしても結果(未来)が見えてる状態なので、
実際にトレードする時と少し状況が違ってしまいます。

そこで、定期的に画像としてチャート画面を残して
画像を使って過去検証する方法をご提案します。

そのために画像を自分で定期的に残すのは大変ですよね?
繰り返しの同じ作業はプログラムに任せるのが良いですよね。

ってことで、FXチャートを定期的に画像保存するインジケーターの作り方を書いていきます。

画像保存する命令はとっても簡単!

ChartScreenShot(チャートID,ファイル名,Xサイズ,Yサイズ,スクリーンショットの出力モード) 

なんと、このたった一行で出来ちゃうんです!!

後は定期的に保存する方法ですね。

今回はチャートの時間足が変わった最初の段階で保存するようにしたいと思います。
つまり、5分足であれば5分毎、1時間足であれば1時間ごとに保存するって形です。

バーの始まりで処理する方法は、以下のnoteを参考にして下さいね。

ファイル名の作り方

string sFileName = "";
datetime now = TimeLocal();
sFileName = Symbol() + IntegerToString(Period()) + "_" + StringFormat("%4d%02d%02d_%02d%02d%02d",
          TimeYear(now),
          TimeMonth(now),
          TimeDay(now),
          TimeHour(now),
          TimeMinute(now),
          TimeSeconds(now)
          ) + ".gif"; 

sFileName ってのが最終的なファイル名を入れてます。
複数のチャートで設定して保存する事を考えて

「通貨名時間軸_YYYYMMDD_HHMMSS.gif」

って形で保存されるようにしてます。
これでファイル名の設定とか何もせずに、インジケーターセットするだけでOK!

画像ファイルの保存先

画像ファイルの保存先は指定できません(T_T)
MT4の仕様でファイルの出力できるフォルダは指定されてます。

保存先:“ターミナルディレクトリ\MQL4\Files”

ターミナルディレクトリってのは、
「ファイル」-「データフォルダを開く」として出てくるフォルダです。

画像1

チャートを表示してない範囲まで画像保存できるんです

この関数の良いところが、実際のモニターに表示されてない範囲まで
画像保存出来ちゃいます。

複数のチャートを表示していて、全部画像保存したいって時に普通なら小さくなりそうですよね?(表示されてるように保存される気がするので)
が、この関数で保存すると、指定したXとYのサイズで、表示されてない範囲まで保存出来ちゃいます!!

保存ファイルはこんな感じ

画像2

これは5分足に設定した物になります。

まとめ

この関数かなり便利だと私は思ってます^^;
これで過去のその時点のチャートが見れるので、
席を外してた時間のチャートを画像で確認して過去検証が出来ますよ!

自分で書くのめんどくさいって人のために、全ソースコードを販売してます。あとは、コンパイルするだけって状態です。
ご利用は自己責任でお願い致します。

ここから先は

2,218字
この記事のみ ¥ 500

この記事が気に入ったらサポートをしてみませんか?