📜  mql5 列出所有可用符号 - SQL (1)

📅  最后修改于: 2023-12-03 15:17:43.999000             🧑  作者: Mango

MQL5 列出所有可用符号

在 MQL5 中,符号(Symbol)是交易平台上的金融工具,如货币对、期货、股票等等。符号是交易和分析的基础,因此对于 MQL5 程序员来说,了解可用符号是非常重要的。本文将介绍如何列出所有可用符号,以及如何获取符号的相关信息。

列出所有可用符号

要列出所有可用符号,可以使用 SymbolsTotal() 函数获取符号总数,并使用 SymbolName() 函数获取每个符号的名称。以下是列出所有可用符号的代码片段:

int total = SymbolsTotal();
for (int i = 0; i < total; i++) {
    string symbol = SymbolName(i);
    Print(symbol);
}

这段代码会将所有交易平台上可用的符号名称打印出来。但是,这并不足够用于交易和分析,因为我们需要了解每个符号的交易时间、点差、交易手续费等信息。

获取符号的相关信息

要获取符号的相关信息,可以使用 SymbolInfoInteger()SymbolInfoDouble()SymbolInfoString() 函数。以下是一些常用的符号信息:

  • 交易时间:
datetime trade_start = SymbolInfoInteger(symbol, SYMBOL_SESSION_START);
datetime trade_end = SymbolInfoInteger(symbol, SYMBOL_SESSION_END);
  • 点差:
double spread = SymbolInfoDouble(symbol, SYMBOL_SPREAD);
  • 交易手续费:
double commission = SymbolInfoDouble(symbol, SYMBOL_COMMISSION);

还有其它的符号信息可以使用以上三个函数获取。以下是获取所有可用符号信息的代码片段:

int total = SymbolsTotal();
for (int i = 0; i < total; i++) {
    string symbol = SymbolName(i);
    datetime trade_start = SymbolInfoInteger(symbol, SYMBOL_SESSION_START);
    datetime trade_end = SymbolInfoInteger(symbol, SYMBOL_SESSION_END);
    double spread = SymbolInfoDouble(symbol, SYMBOL_SPREAD);
    double commission = SymbolInfoDouble(symbol, SYMBOL_COMMISSION);
    Print(symbol, " Trade start: ", TimeToString(trade_start), 
          " Trade end: ", TimeToString(trade_end), 
          " Spread: ", DoubleToString(spread, _Digits), 
          " Commission: ", DoubleToString(commission, _Digits));
}

这段代码会将所有交易平台上可用的符号及其相关信息打印出来。

结论

在 MQL5 程序中,了解可用符号及其相关信息是非常重要的。本文介绍了如何列出所有可用符号以及获取符号的相关信息。程序员可以根据自己的需要进行配置和策略制定。