プログラムからチャートのテンプレートを操作する方法

MT4にはチャートの設定(配色、表示中オブジェクトの情報、EAやインジケーターのパラメータなど)を保存し、簡単に複製できるテンプレート機能があります。
テンプレートの保存・チャートへの適用はプログラムからも行うことが可能です。

チャートをテンプレートとして保存するには、ChartSaveTemplate関数を使用します。

bool ChartSaveTemplate(
   long chart_id,
   const string filename
);

現在プログラムが稼働中のチャートをテンプレートとして保存するには、chart_idに0を指定します。
各チャートのチャートIDを適切に取得し、chart_idに指定することで稼働中のチャート以外をテンプレートに保存することも可能です。
filenameにはテンプレート名を指定します。
テンプレートファイルの拡張子.tplは自動で付加されるため、filenameに.tplを付ける必要はありません。(付けても問題なく動作します)


稼働中のチャートをテンプレートファイル(sample.tpl)として保存。

ChartSaveTemplate(0, "sample");


保存されているテンプレートをチャートへ適用にするには、ChartApplyTemplate関数を使用します。

bool ChartApplyTemplate(
   long chart_id,
   const string filename
);

chart_idにはテンプレートを適用するチャートのチャートIDを指定します。
0を指定すると稼働中のチャートにテンプレートを適用します。
filenameには適用するテンプレートファイル名を指定します。
ChartApplyTemplateと同様.tplは付けても付けなくても動作します。

ChartApplyTemplateを使用する注意点として、OnInit関数内での使用は避けましょう。
MT4はチャートにテンプレートが適用された際に初期化処理が実行されます。
OnInit関数内でChartApplyTemplateを使用すると、初期化とテンプレート適用が無限ループしてしまいます。


稼働中のチャートにテンプレートファイル(sample.tpl)を適用。

ChartApplyTemplate(0, "sample");


TwitterでシェアFacebookでシェアGoogle+でシェアはてなブックマークに追加

TOPへ