调用Strategy Engine MCP服务器执行量化策略,适用于运行因子表达式策略、回测交易策略或执行金融分析的场景。基于MCP Server工具的实际默认值配置。
当用户提供策略条件时,基于MCP Server工具的实际默认值自动组合参数:
python
# 自动组合参数示例(基于MCP Server工具实际默认值)
mcp_engine_mcp_server_run_expression_selected(
input={
"startDate": "2024-01-17", # 开始日期,DateTime类型
"endDate": "2024-04-17", # 结束日期,DateTime类型
"period": "5m", # 基础周期(默认:5m)
"codes": "", # 合约代码列表(新增字段,默认:空)
"poolId": 10, # 期货加权品种池(默认:10)
"openCondition": "用户提供的开仓条件",
"closeCondition": "用户提供的平仓条件",
"stopCondition": "用户提供的止损条件",
"initCash": 10000000, # 初始资金(默认:10000000)
"direction": 1, # 多头方向(默认:1)
"commssionFee": 0, # 手续费%(默认:0,不需要手续费)
"slippage": 0, # 跳数或跳点值(默认:0,按最小变动价格计算)
"runId": 123456789 # 运行ID(默认:随机生成一串长整型数字)
}
)
参数类型说明实际默认值示例input``ExpressionSelectedV2Input输入参数对象-{...}
属性类型说明实际默认值示例startDate``DateTime开始日期****当前日期-3个月"2024-01-17"``endDate``DateTime结束日期****当前日期"2024-04-17"``period``string基础周期**"5m"(5分钟)"1d", "60m"``codes``string合约代码列表(新增)空字符串"IF2404,IC2404"``poolId``int品种池ID10(期货加权)4(股票池)openCondition``string开仓条件用户提供"_ma_5m_30_trend == 1"``closeCondition``string平仓条件用户提供"_ma_5m_30_trend == -1"``stopCondition``string止损条件用户提供"_palp > 10"``initCash``float初始资金10000000**500000``direction``int交易方向1(多头)0(空头)commssionFee``float手续费%****0(不需要手续费)-1(按系统设置手续费参与计算)slippage``float跳数或跳点值**0**(按最小变动价格计算)1(1个跳点)runId``long运行ID****随机生成一串长整型数字123456789
值说明适用场景0不需要手续费默认值,测试策略时使用-1按系统设置手续费参与计算使用系统配置的手续费>0按设置的手续费计算自定义手续费率
值说明适用场景0无滑点默认值,理想交易环境>0按设置的跳点值计算模拟真实交易环境
值说明适用场景空字符串****使用品种池进行回测默认值,使用poolId指定的品种池具体合约代码****指定具体合约进行回测如 "IF2404,IC2404",多个合约以逗号分隔
情况codes值poolId值说明使用品种池空>0默认情况,使用poolId指定的品种池使用具体合约非空0系统自动将poolId置为0,使用指定合约无效配置空0错误:必须提供合约代码或有效品种池
值说明适用场景随机长整型数字****每次运行可随机生成一串长整型数字用于标识每次策略运行的唯一ID
周期说明适用策略默认值"1m"1分钟高频交易-"5m"5分钟短线交易✅"15m"15分钟中短线策略-"30m"30分钟中短线策略-"60m"1小时或60分钟短期趋势-"1d"1日或日线或天中长线策略-"1w"1周或周长期投资-"1mon"1月或月长期投资-
poolId说明适用市场默认值10期货加权品种池期货市场✅4股票品种池股票市场-6ETF品种池ETF市场-
python
# 重要概念区分:
# 1. 基础周期(period):K线数据的周期(5m、30m、1d等)
# 2. 均线周期:技术指标的计算周期(30、60、120等)
# 规则1:用户明确指定基础周期时,使用用户指定的周期
if "基础周期" in user_input or "K线周期" in user_input or "数据周期" in user_input:
if "30分钟" in user_input:
period = "30m"
elif "60分钟" in user_input or "1小时" in user_input:
period = "60m"
elif "5分钟" in user_input:
period = "5m"
elif "15分钟" in user_input:
period = "15m"
elif "日" in user_input or "天" in user_input:
period = "1d"
elif "周" in user_input:
period = "1w"
elif "月" in user_input:
period = "1mon"
else:
# 规则2:用户未明确指定基础周期时,使用默认周期5m
# 注意:用户提到"30分钟均线"指的是均线周期,不是基础周期!
period = "5m" # 默认值
python
# 识别用户提到的均线周期(用于构建FactorLang表达式)
if "30分钟均线" in user_input:
# 用户提到的是均线周期30,基础周期仍然是5m
ma_period = "5m" # 基础周期
ma_length = "30" # 均线长度
elif "60分钟均线" in user_input:
ma_period = "5m" # 基础周期
ma_length = "60" # 均线长度
elif "120分钟均线" in user_input:
ma_period = "5m" # 基础周期
ma_length = "120" # 均线长度
elif "240分钟均线" in user_input:
ma_period = "5m" # 基础周期
ma_length = "240" # 均线长度
else:
# 默认均线周期
ma_period = "5m"
ma_length = "30"
python
# 重要:所有时间范围都基于当前日期动态计算
# 当前日期:2026年3月25日(根据环境信息)
# 规则1:用户明确指定时间范围时,使用用户指定的范围
if "近5年" in user_input:
startDate = "2021-03-25" # 当前日期-5年
endDate = "2026-03-25" # 当前日期
elif "近3年" in user_input:
startDate = "2023-03-25" # 当前日期-3年
endDate = "2026-03-25" # 当前日期
elif "近1年" in user_input:
startDate = "2025-03-25" # 当前日期-1年
endDate = "2026-03-25" # 当前日期
else:
# 规则2:用户未指定时间范围时,使用默认近3个月
startDate = "2025-12-25" # 当前日期-3个月
endDate = "2026-03-25" # 当前日期
python
# 规则1:用户使用中文描述时,自动转换为FactorLang变量
if "盈亏点" in stop_condition or "点数" in stop_condition:
stop_condition = stop_condition.replace("盈亏点", "_palp")
elif "盈亏%" in stop_condition or "百分比" in stop_condition:
stop_condition = stop_condition.replace("盈亏%", "_palr")
# 规则2:确保使用正确的变量
if "_profit_loss_percent" in stop_condition:
stop_condition = stop_condition.replace("_profit_loss_percent", "_palr")
python
# 用户输入:开仓条件,30分钟均线120朝上且日级别是金叉状态
# AI推断:用户提到的是均线周期30,不是基础周期,使用默认5m基础周期
mcp_engine_mcp_server_run_expression_selected(
input={
"startDate": "2024-01-17", # 近3个月(默认)
"endDate": "2024-04-17", # 当前日期(默认)
"period": "5m", # 5分钟基础周期(默认)
"poolId": 10, # 期货加权池(默认)
"openCondition": "_ma_5m_120_trend == 1 && _dkx_1d_cross_status == 1",
"closeCondition": "_ma_5m_120_trend == -1 && _dkx_1d_cross_status == -1",
"stopCondition": "_palp > 10", # 盈亏点数大于10
"initCash": 10000000, # 1000万初始资金(默认)
"direction": 1, # 多头方向(默认)
"commssionFee": -1, # 手续费%(默认:按系统设置)
"slippage": 0, # 滑点(默认:无滑点)
"runId": 123456789 # 运行ID(默认:随机生成)
}
)
python
# 用户输入:开仓条件,基础周期30分钟,均线120朝上
# AI推断:用户明确指定基础周期30m
mcp_engine_mcp_server_run_expression_selected(
input={
"startDate": "2024-01-17",
"endDate": "2024-04-17",
"period": "30m", # 用户指定基础周期30m
"poolId": 10,
"openCondition": "_ma_30m_120_trend == 1 && _dkx_1d_cross_status == 1",
"closeCondition": "_ma_30m_120_trend == -1 && _dkx_1d_cross_status == -1",
"stopCondition": "_palp > 10",
"initCash": 10000000,
"direction": 1,
"commssionFee": -1, # 手续费%(默认:按系统设置)
"slippage": 0, # 滑点(默认:无滑点)
"runId": 123456789 # 运行ID(默认:随机生成)
}
)
python
# 用户输入:开仓条件,均线朝上,手续费0.1%,滑点1个跳点
# AI推断:用户指定手续费和滑点参数
mcp_engine_mcp_server_run_expression_selected(
input={
"startDate": "2024-01-17",
"endDate": "2024-04-17",
"period": "5m", # 5分钟基础周期(默认)
"poolId": 10,
"openCondition": "_ma_5m_30_trend == 1",
"closeCondition": "_ma_5m_30_trend == -1",
"stopCondition": "_palp > 10",
"initCash": 10000000,
"direction": 1,
"commssionFee": 0.1, # 用户指定手续费0.1%
"slippage": 1, # 用户指定滑点1个跳点
"runId": 123456789 # 运行ID(默认:随机生成)
}
)
python
# 用户输入:开仓条件,均线朝上,指定IF2404和IC2404合约
# AI推断:用户指定具体合约代码,系统自动将poolId置为0
mcp_engine_mcp_server_run_expression_selected(
input={
"startDate": "2024-01-17",
"endDate": "2024-04-17",
"period": "5m", # 5分钟基础周期(默认)
"codes": "IF2404,IC2404", # 用户指定具体合约代码
"poolId": 10, # 系统会自动置为0,使用指定合约
"openCondition": "_ma_5m_30_trend == 1",
"closeCondition": "_ma_5m_30_trend == -1",
"stopCondition": "_palp > 10",
"initCash": 10000000,
"direction": 1,
"commssionFee": 0, # 不需要手续费(默认)
"slippage": 0, # 无滑点(默认)
"runId": 123456789 # 运行ID(默认:随机生成)
}
)
"5m""5m""5m""近3个月"input 对象包含所有参数DateTime 类型codes、 commssionFee、 slippage 和 runId 参数codes 字段poolId 字段poolId 置为0"5m"input 对象结构commssionFee 和 slippage 参数runId 用于标识每次运行数据来源:基于MCP Server工具类的实际默认值设置 调用时机:当用户需要运行因子表达式策略、回测交易策略或执行金融分析时自动调用此技能。
版本:v3.0(同步MCP工具最新参数结构,新增codes字段,支持具体合约代码回测)
"timeConsuming": 310 表示运行耗时310毫秒(0.31秒)耗时范围说明性能评估< 100ms极快优秀100-500ms快速良好500-1000ms正常一般> 1000ms较慢需要优化
策略运行完成后,系统会生成一个唯一的查看链接:
markdown
https://visual.hzyotoy.com/?data_dir=xzr&data_id=123456789&initCash=10000000
点击链接或复制URL到浏览器中查看完整策略分析报告
参数说明示例data_dir数据目录xzr``data_id运行ID123456789``initCash初始资金10000000
AI执行要求:必须严格遵守本SKILL中的参数结构匹配规则、类型要求和结果查看规范!