Skip to main content

strategy-engine

调用Strategy Engine MCP服务器执行量化策略。当用户需要运行因子表达式策略、回测交易策略或执行金融分析时调用此技能。基于MCP Server工具的实际默认值设置。

소스 정보

저장소
LeoYeAI/openclaw-master-skills
최근 소스 활동
2026년 7월 20일 02:04
감지된 SKILL.md 언어
중국어
스타
2,151
포크
325

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
strategy-engine
description
调用Strategy Engine MCP服务器执行量化策略。当用户需要运行因子表达式策略、回测交易策略或执行金融分析时调用此技能。基于MCP Server工具的实际默认值设置。
# Strategy Engine MCP服务器调用指南 v2.9 ## 🎯 快速调用 当用户提供策略条件时,基于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(默认:随机生成一串长整型数字) } ) ``` ## 📋 参数说明(基于MCP Server工具实际默认值) ### 主要参数结构 | 参数 | 类型 | 说明 | 实际默认值 | 示例 | |------|------|------|-----------|------| | `input` | `ExpressionSelectedV2Input` | **输入参数对象** | - | `{...}` | ### ExpressionSelectedV2Input对象属性 | 属性 | 类型 | 说明 | 实际默认值 | 示例 | |------|------|------|-----------|------| | `startDate` | `DateTime` | **开始日期** | **当前日期-3个月** | `"2024-01-17"` | | `endDate` | `DateTime` | **结束日期** | **当前日期** | `"2024-04-17"` | | `period` | `string` | **基础周期** | **`"5m"`**(5分钟) | `"1d"`, `"60m"` | | `codes` | `string` | **合约代码列表**(新增) | **空字符串** | `"IF2404,IC2404"` | | `poolId` | `int` | 品种池ID | `10`(期货加权) | `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参数说明 | 值 | 说明 | 适用场景 | |----|------|----------| | **随机长整型数字** | **每次运行可随机生成一串长整型数字** | 用于标识每次策略运行的唯一ID | ### 完整周期参数映射 | 周期 | 说明 | 适用策略 | 默认值 | |------|------|----------|--------| | `"1m"` | 1分钟 | 高频交易 | - | | `"5m"` | 5分钟 | 短线交易 | ✅ | | `"15m"` | 15分钟 | 中短线策略 | - | | `"30m"` | 30分钟 | 中短线策略 | - | | `"60m"` | 1小时或60分钟 | 短期趋势 | - | | `"1d"` | 1日或日线或天 | 中长线策略 | - | | `"1w"` | 1周或周 | 长期投资 | - | | `"1mon"` | 1月或月 | 长期投资 | - | ### 品种池映射 | poolId | 说明 | 适用市场 | 默认值 | |--------|------|----------|--------| | `10` | **期货加权品种池** | 期货市场 | ✅ | | `4` | 股票品种池 | 股票市场 | - | | `6` | ETF品种池 | 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") ``` ## 🎯 使用示例(基于智能推断) ### 示例1:用户未指定基础周期(使用默认5m) ```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(默认:随机生成) } ) ``` ### 示例2:用户明确指定基础周期 ```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(默认:随机生成) } ) ``` ### 示例3:用户指定手续费和滑点 ```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(默认:随机生成) } ) ``` ### 示例4:用户指定具体合约代码(新增) ```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",
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기