目次

チャートのシンボル名を取得したい

FX のチャートを表示できるアプリケーション、 MT4 ( Metatarder 4 )でチャートのシンボル名、通貨ペア名?を取得したいことがあったので、 EA のテストをしてみました。「USDJPY」「AUDJPY」などのシンボル名を文字列で取得出来ればと思います。

目次まで戻る

ChartSymbol 関数を使用

チャートのシンボル名を取得するには、 ChartSymbol 関数を使用すれば良いようなので、以下のソースコードを書いてみました。 Print 関数で MT4 のターミナルに出力される予定です。

003816.mq4 のソースコード:

int OnInit(){
    Print( ChartSymbol( 0 ) ); // 0 は現在のチャートの...という意味になるようです。 Print 関数で MT4 のターミナルに出力してみます。
    return(INIT_SUCCEEDED); //OnInit() の中に最初から入っていた一文です。試しに削除してみるとエラーが発生したので、元に戻しました。
}

「USDJPY,H1」のチャートで上記の EA( 003816.mq4 )を実行してみたいと思います。「USDJPY」を取得することが出来れば成功だと思います。試してみます。

MT4 の USDJPY のチャート画面
USDJPY のチャートで EA「003816.mq4」を実行してみます。

EA を実行してみると、以下の内容が MT4 のターミナルに出力されました。 2 行目に「USDJPY」と出力されています。チャートのシンボル名の取得に成功したようです。

003816 USDJPY,H1: initialized
003816 USDJPY,H1: USDJPY //USDJPY が取得されている。
Expert 003816 USDJPY,H1: loaded successfully
MT4 のターミナルの画面。
MT4 のターミナル( Ctrl + T で表示)に出力された内容です。 2 行目に「USDJPY」と出力されています。

目次まで戻る

AUDJPY のチャートで実行

もう一回テストしてみます。今度は、同じ EA を「AUDJPY,H1」のチャートで実行してみたいと思います。

AUDJPY のチャート画面
同じ EA を「AUDJPY」のチャートで実行してみます。

実行した結果、以下のようにターミナルに出力されました。 2 行目に「AUDJPY」が出力されています。成功したようです。

MT4 のターミナルの画面
出力結果の 2 行目に「AUDJPY」の文字があります。

目次まで戻る

参考情報

ChartSymbol 関数のマニュアルは、 MQL4 Reference > Chart Operations の中にありました。

Print 関数のマニュアルは、 MQL4 Reference > Common Functions の中にありました。

目次まで戻る

あとがき

チャートのシンボル名を取得することが出来れば、シンボル名を含めた名前でチャートのテンプレートを保存したり、メールで何かの通知をする時に、どの通貨ペアのチャートから発信されたのかを記載したりと、色々と使用出来そうですね。

初の MT4 関係の投稿になりました。間違ってないと良いですが。

以上、閲覧ありがとうございました。

目次まで戻る

[ Amazon.co.jp アソシエイト ] MT5 関係の本
https://amzn.to/3H8hvsU

前後の投稿