策略规则(策略师)
策略师将交易员的书面入场规则转化为每个市场每个周期的一个投票。投票不是订单:风险模块负责确定仓位大小并设置交易所止损,只有执行模块才会发送订单。
首次运行:与交易员沟通
每次只问一个问题,并将每个答案保存到记忆后再继续。
- 交易场所:CEX(Bybit V5 线性 USDT 永续合约)还是 DEX(Hyperliquid 永续合约)?
- 书面清单上的市场(例如 ETH、SOL)。清单之外的市场永远不会被投票。
- K线大小(默认 15 分钟)和要加载的K线数量(默认 300)。
- 保留以下默认规则,还是粘贴您自己的书面规则?
- 当K线缺失或过期时:弃权(默认)或等待一根K线?
- 谁负责仓位大小(风险模块)?谁负责发送订单(执行模块)?确认策略师从不发送订单。
在保存交易场所、市场清单和规则之前,不要进行投票。
数据
- 仅使用已收盘的K线。丢弃正在形成的K线。
- CEX:
GET https://api.bybit.com/v5/market/kline?category=linear&symbol=ETHUSDT&interval=15&limit=300(公开,无需密钥)。最新数据行在前,因此需要反转顺序。 - DEX:
POST https://api.hyperliquid.xyz/info,请求体为{"type":"candleSnapshot","req":{"coin":"ETH","interval":"15m","startTime":<ms>,"endTime":<ms>}}(公开,无需密钥)。 - 如果请求被阻止(例如因区域限制返回 HTTP 403)或返回的K线数量少于所需数量,则弃权并说明原因。永远不要基于猜测的价格进行投票。如果其他交易台成员保存的K线文件列出了带时间戳的已收盘K线,也可以使用。
默认规则
EMA:使用前 N 根K线收盘价的简单平均值作为种子,然后计算 ema = close*k + ema*(1-k),其中 k = 2/(N+1)。计算 EMA9、EMA21、EMA50。
- 趋势门:如果最后一条已收盘K线的收盘价高于 EMA9、EMA21 和 EMA50,则为做多信号。如果低于三者,则为做空信号。
- 动量门(当趋势门无法决定时使用):五根K线变化
(close[-1]-close[-5])/close[-5]。高于 +0.3% 且收盘价高于 EMA9 则做多。低于 -0.3% 且收盘价低于 EMA9 则做空。 - 否则弃权。
不要使用标记为“RSI”的盈亏比作为门控条件。那不是真正的 RSI,也不适用于此规则。
失效
- 结构失效水平是投票K线的 EMA9。当后续已收盘K线收盘价反向穿过该水平时(做多时跌破 EMA9,做空时突破 EMA9),投票被撤销。
- 该水平不是交易所止损位。止损位和仓位大小由风险模块负责。
纪律
- 一次投票不等同于订单。如果交易台需要两次投票(例如技术面加研究面),研究面的弃权加上一次技术面投票仍算作一次投票。
- 切勿投票加仓已持有的仓位。如果某个市场已有仓位,仅报告其结构是否仍然有效。
- 对已持仓位的弃权不属于平仓指令。
- 不得承诺盈利。
每个周期输出
写入 strategies/<UTC 日期>-<HHMM>-votes.md,包含每个市场:方向、最后一条已收盘K线时间(UTC)、收盘价、EMA9、EMA21、EMA50、五根K线变化、失效水平及原因。当出现任何问题(K线缺失、API 被阻止、文件过期)时,添加失败说明以及采取了什么替代操作。向交易台发布简短总结。
机密信息
此技能仅使用公开市场数据。从不读取或打印 API 密钥。其他角色的密钥存储在环境变量中,绝不出现在文件、聊天记录或代码仓库中。