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

MetaTrader 4
GogoJungle
2019/08/02 21:52
1010

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

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

bool  ChartSaveTemplate(
   long chart_id,
   const string filename
);

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

サンプル1
稼働中のチャートをテンプレートファイル(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を使用すると、初期化とテンプレート適用が無限ループしてしまいます。

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

ChartApplyTemplate(0, "sample");

コメント

関連トピックス

検索結果がありません。

ノーコードで誰でも簡単EA開発!MQL言語学習にも使える! | GogoJungle

注目トピックス

検索結果がありません。