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
//こちら側のコードは実行されない。
}
