ENUM_SYMBOL_INFO_INTEGER
标识符 | 描述 | 类型 |
---|---|---|
SYMBOL_SECTOR | 所属板块 | ENUM_SYMBOL_SECTOR |
SYMBOL_INDUSTRY | 所属行业 | ENUM_SYMBOL_INDUSTRY |
SYMBOL_CUSTOM | 判断是否是自定义交易品种 | bool |
SYMBOL_BACKGROUND_COLOR | 市场报价的交易品种背景颜色 | color |
SYMBOL_CHART_MODE | 图表当前报价的模式 | ENUM_SYMBOL_CHART_MODE |
SYMBOL_EXIST | 检测交易品种是否存在 | bool |
SYMBOL_SELECT | 指定交易品种是否可以选择 | bool |
SYMBOL_VISIBLE | 是否在交易品种中可见 | bool |
SYMBOL_SESSION_DEALS | 总交易订单数 | long |
SYMBOL_SESSION_BUY_ORDERS | 做多交易订单数 | long |
SYMBOL_SESSION_SELL_ORDERS | 做空交易订单数 | long |
SYMBOL_VOLUME | 总成交量 | long |
SYMBOL_VOLUMEHIGH | 当日最大订单 | long |
SYMBOL_VOLUMELOW | 当日最小订单 | long |
SYMBOL_TIME | 最后报价时间 | datetime |
SYMBOL_TIME_MSC | 最后报价毫秒数 | long |
SYMBOL_DIGITS | 小数点位数 | int |
SYMBOL_SPREAD_FLOAT | 是否存在点差 | bool |
SYMBOL_SPREAD | 差值 | int |
SYMBOL_TICKS_BOOKDEPTH | 市场深度最大数量 | int |
SYMBOL_TRADE_CALC_MODE | 合约价格计算模式 | ENUM_SYMBOL_CALC_MODE |
SYMBOL_TRADE_MODE | 订单执行模式 | ENUM_SYMBOL_TRADE_MODE |
SYMBOL_START_TIME | 交易品种交易开始日期(通常用于期货) | datetime |
SYMBOL_EXPIRATION_TIME | 交易品种交易结束日期(通常用于期货) | datetime |
SYMBOL_TRADE_STOPS_LEVEL | 止损价格与当前收盘价最小间隔点数 | int |
SYMBOL_TRADE_FREEZE_LEVEL | 冻结订单的点位,在指定范围内订单不可以操作 | int |
SYMBOL_TRADE_EXEMODE | 订单执行模式 | ENUM_SYMBOL_TRADE_EXECUTION |
SYMBOL_SWAP_MODE | 手续费模式 | ENUM_SYMBOL_SWAP_MODE |
SYMBOL_SWAP_ROLLOVER3DAYS | 隔夜利息 | ENUM_DAY_OF_WEEK |
SYMBOL_MARGIN_HEDGED_USE_LEG | 对冲模式 | bool |
SYMBOL_EXPIRATION_MODE | 挂单到期模式 | int |
SYMBOL_FILLING_MODE | 订单执行模式 | int |
SYMBOL_ORDER_MODE | 下单模式表 | int |
SYMBOL_ORDER_GTC_MODE | 订单止损止盈的模式 | ENUM_SYMBOL_ORDER_GTC_MODE |
SYMBOL_OPTION_MODE | 期权交易模式 | ENUM_SYMBOL_OPTION_MODE |
SYMBOL_OPTION_RIGHT | 期权交易权限 | ENUM_SYMBOL_OPTION_RIGHT |
void OnStart()
{
// 获得货币兑名称
string symbol = _Symbol;
// 所属板块
ENUM_SYMBOL_SECTOR sector = (ENUM_SYMBOL_SECTOR)SymbolInfoInteger(symbol, SYMBOL_SECTOR);
// 所属行业
int industry = (int)SymbolInfoInteger(symbol,SYMBOL_INDUSTRY);
// 判断是否是自定义交易品种
bool custom = SymbolInfoInteger(symbol,SYMBOL_CUSTOM);
// 市场报价的背景颜色
color background_color = (color)SymbolInfoInteger(symbol,SYMBOL_BACKGROUND_COLOR);
// 图表当前报价的模式
ENUM_SYMBOL_CHART_MODE chart_mode = (ENUM_SYMBOL_CHART_MODE)SymbolInfoInteger(symbol,SYMBOL_CHART_MODE);
// 检测交易品种是否存在
bool exist = SymbolInfoInteger(symbol,SYMBOL_EXIST);
// 指定交易品种是否可以选择
bool select = SymbolInfoInteger("WTI_U0",SYMBOL_SELECT);
// 是否在交易品种中可见
bool visible = SymbolInfoInteger("WTI_U0",SYMBOL_VISIBLE);
// 总交易订单数
long session_deals = SymbolInfoInteger(symbol,SYMBOL_SESSION_DEALS);
// 做多交易订单数
long session_buy_orders = SymbolInfoInteger(symbol,SYMBOL_SESSION_BUY_ORDERS);
// 做空交易订单数
long session_sell_orders = SymbolInfoInteger(symbol,SYMBOL_SESSION_SELL_ORDERS);
// 总成交量
long volume = SymbolInfoInteger(symbol, SYMBOL_VOLUME);
// 当日最大订单
long volume_high = SymbolInfoInteger(symbol,SYMBOL_VOLUMEHIGH);
// 当日最小订单
long volume_low = SymbolInfoInteger(symbol,SYMBOL_VOLUMELOW);
// 最后报价时间
datetime symbol_time = (datetime)SymbolInfoInteger(symbol, SYMBOL_TIME);
//最后报价毫秒数
long symbol_time_msc = SymbolInfoInteger(symbol, SYMBOL_TIME_MSC);
// 小数点位数
int symbol_digits = (int)SymbolInfoInteger(symbol, SYMBOL_DIGITS);
// 点差值
int spread = (int)SymbolInfoInteger(symbol, SYMBOL_SPREAD);
// 是否存在点差
bool spread_float = SymbolInfoInteger(symbol, SYMBOL_SPREAD_FLOAT);
// 市场深度最大数量
int ticks_bookdepth = (int)SymbolInfoInteger(symbol, SYMBOL_TICKS_BOOKDEPTH);
// 合约计算模式
ENUM_SYMBOL_CALC_MODE calc_mode = (ENUM_SYMBOL_CALC_MODE)SymbolInfoInteger(symbol, SYMBOL_TRADE_CALC_MODE);
// 交易模式
ENUM_SYMBOL_TRADE_MODE trade_mode = (ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(symbol,SYMBOL_TRADE_MODE);
// 交易品种开盘时间(期货专用)
datetime start_time = (datetime)SymbolInfoInteger(symbol,SYMBOL_START_TIME);
// 交易品种收盘时间(期货专用)
datetime expiration_time = (datetime)SymbolInfoInteger(symbol, SYMBOL_EXPIRATION_TIME);
// 止损价格与当前收盘价最小间隔点数
int trade_stops_level = (int)SymbolInfoInteger(symbol, SYMBOL_TRADE_STOPS_LEVEL);
// 冻结订单的点位,在指定范围内订单不可以操作
int trade_freeze_level = (int) SymbolInfoInteger(symbol, SYMBOL_TRADE_FREEZE_LEVEL);
// 订单执行模式
int trade_exemode = (int) SymbolInfoInteger(symbol, SYMBOL_TRADE_EXEMODE);
// 手续费模式
int swap_mode = (int)SymbolInfoInteger(symbol, SYMBOL_SWAP_MODE);
// 隔夜利息
int swap_rollover3days = (int)SymbolInfoInteger(symbol, SYMBOL_SWAP_ROLLOVER3DAYS);
// 对冲模式
int margin_hedged_use_leg = (int)SymbolInfoInteger(symbol, SYMBOL_MARGIN_HEDGED_USE_LEG);
// 挂单到期模式
int expiration_mode = (int)SymbolInfoInteger(symbol, SYMBOL_EXPIRATION_MODE);
// 订单执行模式
int filling_mode = (int)SymbolInfoInteger(symbol, SYMBOL_FILLING_MODE);
// 下单模式表
int order_mode = (int)SymbolInfoInteger(symbol, SYMBOL_ORDER_MODE);
// 订单止损止盈的模式
int order_gtc_mode = (int)SymbolInfoInteger(symbol, SYMBOL_ORDER_GTC_MODE);
// 期权交易模式
ENUM_SYMBOL_OPTION_MODE option_mode = (ENUM_SYMBOL_OPTION_MODE)SymbolInfoInteger(symbol, SYMBOL_OPTION_MODE);
// 期权交易权限
ENUM_SYMBOL_OPTION_RIGHT option_right = (ENUM_SYMBOL_OPTION_RIGHT)SymbolInfoInteger(symbol, SYMBOL_OPTION_RIGHT);
printf("所属板块: %s \n" +
"所属行业: %d \n" +
"是否是自定义品种: %d \n" +
"当前品种的背景颜色: %s \n" +
"图表模式: %s \n" +
"当前品种是否存在: %d \n" +
"指定品种是否被选择: %d \n" +
"是否在交易品种中可见: %d \n"
,
EnumToString(sector),
industry,
custom,
ColorToString(background_color),
EnumToString(chart_mode),
exist,
select,
visible
);
Check_SYMBOL_ORDER_MODE(symbol);
}
void Check_SYMBOL_ORDER_MODE(string symbol)
{
//--- 接收描述允许订单类型的属性的值
int symbol_order_mode=(int)SymbolInfoInteger(symbol,SYMBOL_ORDER_MODE);
//--- 检查市价单(市场执行)
if((SYMBOL_ORDER_MARKET&symbol_order_mode)==SYMBOL_ORDER_MARKET)
Print(symbol+": Market orders are allowed (Buy and Sell)");
//--- 检查限价单
if((SYMBOL_ORDER_LIMIT&symbol_order_mode)==SYMBOL_ORDER_LIMIT)
Print(symbol+": Buy Limit and Sell Limit orders are allowed");
//--- 检查止损单
if((SYMBOL_ORDER_STOP&symbol_order_mode)==SYMBOL_ORDER_STOP)
Print(symbol+": Buy Stop and Sell Stop orders are allowed");
//--- 检查止损限价订单
if((SYMBOL_ORDER_STOP_LIMIT&symbol_order_mode)==SYMBOL_ORDER_STOP_LIMIT)
Print(symbol+": Buy Stop Limit and Sell Stop Limit orders are allowed");
//--- 检查是否允许下止损订单
if((SYMBOL_ORDER_SL&symbol_order_mode)==SYMBOL_ORDER_SL)
Print(symbol+": Stop Loss orders are allowed");
//--- 检查是否允许下获利订单
if((SYMBOL_ORDER_TP&symbol_order_mode)==SYMBOL_ORDER_TP)
Print(symbol+": Take Profit orders are allowed");
//--- 检查是否允许反向平仓
if((SYMBOL_ORDER_TP&symbol_order_mode)==SYMBOL_ORDER_CLOSEBY)
Print(symbol+": Close by allowed");
//---
}