SymbolExist

指定された名称の銘柄が存在するかどうかを確認します。

bool  SymbolExist(
  const string  name,    // 銘柄名
  bool&   is_custom      // カスタム銘柄プロパティ
  );

パラメータ

name

[in]  銘柄名

is_custom

[out] 正常に実行されると設定されるカスタム銘柄プロパティ。trueの場合、検知された銘柄はカスタム銘柄です。

戻り値

falseの場合、銘柄は標準銘柄とカスタム銘柄のリストで見つかりません。

例:

#define SYMBOL_NAME "GBPUSDn"
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数                                              |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- カスタムシンボルフラグを宣言し、SYMBOL_NAMEで指定された名前を持つシンボルの存在を確認する
  bool custom = false;
  bool result = SymbolExist(SYMBOL_NAME, custom);
 
//--- デフォルトの「シンボルが見つかりません」メッセージテキストを宣言する
  string text = StringFormat("The symbol '%s' was not found among either the standard or custom symbols.", SYMBOL_NAME);
 
//--- シンボルが見つかった場合、シンボルが見つかったリストに応じてメッセージテキストを作成する
  if(result)
    {
    //--- これが標準シンボルの場合
    if(!custom)
        text = StringFormat("The '%s' symbol is available on the server.", SYMBOL_NAME);
    //--- これがカスタムシンボルの場合
    else
        text = StringFormat("The symbol '%s' was found in the list of custom symbols.", SYMBOL_NAME);
    }
   
//--- チェック結果に関するメッセージを操作ログに送信する
  Print(text);
  /*
  result for standard 'GBPUSD' symbol:
  The 'GBPUSD' symbol is available on the server.
 
  result for custom 'GBPUSDx' symbol:
  The symbol 'GBPUSDx' was found in the list of custom symbols.
 
  result for missing 'GBPUSDn' symbol:
  The symbol 'GBPUSDn' was not found among either the standard or custom symbols.
  */
 }

参照

SymbolsTotalSymbolSelectカスタム銘柄