対応しているチャートの通貨ペア名を取得するSymbol()関数【MQL4】

Symbol()関数

書式

string Symbol();//対応チャートの通貨ペア名を取得する。引数なし

戻り値(返り値)

現在チャートのシンボル(通貨ペア)の名前を文字列で返す。
※業者によって通貨ペア名の後に文字列があることがあります。
例えば、
選択しているチャートがUSDJPYだった場合

Comment(Symbol()); //USDJPYと表示される
//if文での動作
if(Symbol()=="USDJPY"){
   //true
   //こちらのコード実行されます。
}

サンプルコード

//FXDDでそのまま取得する場合(通貨ペア名のみ表示される業者の場合)
Comment("シンボル(通貨ペア)は"+Symbol());//選択しているチャートの通貨ペア名を取得する関数Comment()


//FXTF最初の6文字のみを切り取って取得する場合(通貨ペア名の後に文字列が表示される業者の場合)
Comment("シンボル(通貨ペア)は"+StringSubstr(Symbol(),0,6));//開いていて選択しているチャートの通貨ペア名を取得する
OrderSend(Symbol(),...);//OrderSend()関数などにも使える。

ページリンク:EAで注文を送信するOrderSend()関数の使い方(MQL4)

関連記事一覧:関数StringSubstr(),関数Comment()

サンプルの実行結果

FXDDの場合

通貨ペアはUSDCHF
実行結果:シンボル(通貨ペア)はUSDCHF
サンプルの実行結果
※Comment()関数で出力

FXTFの場合

通貨ペアはEURUSD-cd
実行結果:シンボル(通貨ペア)はEURUSD-cd
サンプルの実行結果
※Comment()関数で出力
関連記事:Comment()

通貨ペア名の違い

画像上がStringSubstr()を使って最初の6文字だけ切り取って取得。
実行結果:シンボル(通貨ペア)はEURUSD

画像下がそのまま取得した場合。
実行結果:シンボル(通貨ペア)はEURUSD-cd
サンプルの実行結果
※Print()関数で出力
ページリンク:変数の中身を出力してくれるPRINT()関数(MQL4)
関連記事一覧:関数OrderSymbol()

if文に入れたときの動作

通貨ペアのあとに文字列がある奴と
通貨ペアのあとに文字列が無い奴をif文に入れた場合

//実行結果はfalse
if("EURUSD-cd"=="EURUSD"){
   //true
   //こちら側のコードは実行されない。
}else{
   //false
   //こちら側のコードが実行される。
}

通貨ペアのあとに文字列が無いもの同士をif文に入れた場合

//実行結果はtrue
if("EURUSD"=="EURUSD"){
   //true
   //こちら側のコードが実行される。
}else{
   //false
   //こちら側のコードは実行されない。
}

通貨ペアのあとに文字列があるもの同士をif文に入れた場合

//実行結果はtrue
if("EURUSD-cd"=="EURUSD-cd"){
   //true
   //こちら側のコードが実行される。
}else{
   //false
   //こちら側のコードは実行されない。
}

シェアする

  • このエントリーをはてなブックマークに追加

フォローする