📅  最后修改于: 2023-12-03 15:17:43.999000             🧑  作者: Mango
在 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 程序中,了解可用符号及其相关信息是非常重要的。本文介绍了如何列出所有可用符号以及获取符号的相关信息。程序员可以根据自己的需要进行配置和策略制定。