MQLでインデックスを表示する方法


  1. データベースのすべてのインデックスを表示する方法:
#property show_inputs
void OnInit()
{
   MqlRates rates[];
   int total = SymbolsTotal(false);
   for(int i = 0; i < total; i++)
   {
      string symbol = SymbolName(i, false);
      Print("Symbol: ", symbol);
      for(int j = 0; j < 10; j++)
      {
         string indexName = StringFormat("%s_%d", symbol, j);
         bool result = SymbolInfoInteger(symbol, SYMBOL_INDEX, indexName);
         if(result)
         {
            Print("Index: ", indexName);
         }
      }
   }
}

このコードは、データベース内のすべてのシンボルに対して、10個のインデックスを表示します。SymbolInfoInteger関数を使用して、シンボルごとにインデックスの存在を確認し、存在する場合はその名前を表示します。

  1. 特定のシンボルのインデックスを表示する方法:
#property show_inputs
void OnInit()
{
   string symbol = "EURUSD";
   Print("Symbol: ", symbol);
   for(int i = 0; i < 10; i++)
   {
      string indexName = StringFormat("%s_%d", symbol, i);
      bool result = SymbolInfoInteger(symbol, SYMBOL_INDEX, indexName);
      if(result)
      {
         Print("Index: ", indexName);
      }
   }
}

このコードは、特定のシンボル(ここでは"EURUSD")のインデックスを表示します。SymbolInfoInteger関数を使用して、指定したシンボルに対してインデックスの存在を確認し、存在する場合はその名前を表示します。

これらの例は、MQLを使用してデータベースのインデックスを表示する一般的な方法を示しています。必要に応じて、他のデータベース関数や条件を追加することで、さまざまな方法でインデックスを表示することができます。