封装一个常用交易品种信息的函数
这是一个关于基础知识, 结构体,函数综合练习
// 1. 创建交易品种信息结构体
struct SymbolInfo
{
double ask; // Buy方向的报价
double bid; // Sell方向报价
double point; // 最小报价单位
int digits; // 小数点的位数
int spread; // 点差
ENUM_ORDER_TYPE_FILLING filling_mode; // 订单模式
int stops_level; // 止损和报价之间最小间距;
};
void OnStart()
{
string sym = "EURUSD";
SymbolInfo symbol_info;
bool is = getSymbolInfo(sym,symbol_info);
printf("当前货币是否存在: %d",is );
}
// 2. 获取指定交易品种的信息
bool getSymbolInfo(const string symbol, SymbolInfo &symbol_info)
{
// 判断交易品种是否存在
// bool is_custom = false;
// bool is_exist = SymbolExist(symbol,is_cutom);
bool is_exist = SymbolSelect(symbol,true);
if(is_exist)
{
symbol_info.ask = SymbolInfoDouble(symbol, SYMBOL_ASK);
symbol_info.bid = SymbolInfoDouble(symbol, SYMBOL_BID);
symbol_info.point = SymbolInfoDouble(symbol,SYMBOL_POINT);
symbol_info.spread = (int)SymbolInfoInteger(symbol,SYMBOL_SPREAD);
symbol_info.filling_mode = (ENUM_ORDER_TYPE_FILLING)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
symbol_info.stops_level = (int)SymbolInfoInteger(symbol, SYMBOL_TRADE_STOPS_LEVEL);
}
// 如果指定货币对查询没找到,就返回false
return is_exist;
}