引言:为什么老手看均线就能赚钱,而我们却总是被割韭菜?
先说个扎心的事实:我认识一个做了十几年期货的老哥,他的交易界面简单得让人怀疑——就两条均线,连MACD、RSI这些"高级货"都不用。但人家就是能稳定盈利。
有次我忍不住问他:"你就看这两条线,怎么知道哪个金叉是真突破,哪个是假信号?"
他喝了口茶,云淡风轻地说:"看新闻啊。"
我:???
他继续说:"比如昨天比特币金叉,但我看到新闻说某个大交易所在调查,市场恐慌情绪浓厚,这种时候的金叉十有八九是诱多。但上周那个金叉,正好赶上贝莱德增持ETF的消息,机构都在抢筹,这时候不进场等啥?"
我恍然大悟,又瞬间绝望——这特么不是考验"人"的能力吗?
老手的优势在哪里?
- 信息捕捉速度快:他们盯盘的时候,各种消息源、电报群、Twitter都开着,重要新闻一出来马上就知道
- 判断准确性高:见过太多市场反应,一眼就能看出哪条新闻是真利好,哪条是吹牛
- 决策果断:技术信号+新闻情绪双重确认后,该进场就进场,该止损就止损,不犹豫
而我们这些散户呢?
- 刷到新闻的时候,价格可能已经涨了5%
- 看到"重大利好"激动得手抖,结果是三个月前的旧闻炒冷饭
- 金叉出现了,不敢进;假突破了,反而追高
- 拿着手机刷半天新闻,还是不知道现在该干嘛
说白了,技术指标谁都会看,但把技术信号和市场情绪结合起来做判断,这才是真功夫。问题是这种功夫需要时间、经验、还有24小时盯盘的精力。
那能不能让AI来干这个活?
我是这么想的:如果能写一个程序,让它:
- 24小时不间断监控9个主流新闻源的RSS feed
- 自动分析最新新闻的情绪强度和相关性
- 结合技术信号(金叉/死叉)和当前持仓情况
- 按照预设的风控规则,给出具体的交易建议
这样是不是就能在一定程度上,弥补我们在信息和经验上的短板?
当然,我不敢说这个策略能替代人的判断,更不敢说它能稳定盈利(毕竟还在测试阶段,坑肯定很多)。但至少,它可以帮我们做到:
- 不漏掉关键信息:新闻抓取是自动的,24小时工作
- 保持决策一致性:不会因为情绪波动乱操作
- 强制执行风控:该止损就止损,该观望就观望
就把它当作一个"初级交易助手"吧,帮我们处理那些重复性的信息收集和基础判断工作。真正的决策权,还是要掌握在自己手里。
好了,牢骚发完,咱们来看看这个实验性策略到底是怎么设计的。
一、策略的基本思路
整个策略分三个层次:
1. 技术信号层:双均线系统
这是最基础的一层,用的是EMA(指数移动平均线)。代码里默认是短周期7,长周期25,你可以根据自己的交易风格调整。
javascript
// 短期均线
EMA(7)
// 长期均线
EMA(25)
// 信号判断
金叉:短期EMA上穿长期EMA → 看涨
死叉:短期EMA下穿长期EMA → 看跌
这部分没什么特别的,就是经典的趋势跟踪。但重点来了——我不会无脑按照金叉死叉就开仓,而是把这个信号当作"参考意见"传给AI。
2. 情绪分析层:RSS新闻抓取
策略会实时抓取9个主流加密货币新闻源的RSS feed:
- Cointelegraph
- Bitcoin Magazine
- CoinDesk
- Crypto Briefing
- Bitcoinist
- Crypto.news
- NewsBTC
- CryptoPotato
- 99Bitcoins
这里有个小心思:我只保留最近24小时的新闻,并且按时间倒序排列(最新的在前面)。为什么?因为越新的消息,市场反应越快,权重应该越高。
javascript
// 筛选24小时内的新闻
const oneDayAgo = Date.now() - (24 * 60 * 60 * 1000);
// 按时间戳排序,新的在前
result.sort((a, b) => b.timestamp - a.timestamp);
3. 决策层:AI综合判断
这是整个策略的核心。我把技术信号、新闻数据、当前持仓情况打包成一个JSON,扔给Claude Sonnet 4.5,让它按照预设的规则做决策。
AI主要干三件事:
第一步:评估新闻情绪强度(0-1分)
这里我花了不少心思设计评分规则。不是简单地看新闻正负面,而是考虑:
- 相关性权重:直接提到目标币种的新闻权重1.0,整体市场环境0.8,其他币种0.5
- 时效性权重:最新30%的新闻权重1.0,中间部分0.8,较旧的0.6
- 市场联动性:加密市场高度联动,BTC/ETH的重大消息会影响所有币种
比如,如果你在交易SOL,但新闻里出现"SEC批准比特币ETF",AI也会把这条算作重要利好,因为整个市场都会受影响。
第二步:结合持仓和盈亏状态
这是很多量化策略忽略的一点。同样是死叉信号,如果你:
- 持有多仓且盈利1500U → AI会建议果断平仓保护利润
- 持有多仓但亏损300U → AI会更谨慎,可能只平一部分观察
- 没有持仓 → AI会评估是否适合开空
第三步:给出具体操作建议
AI不会只说"看涨"或"看跌",而是会输出:
- 具体动作:开多/开空/加仓/平仓/观望
- 操作数量:X个单位(考虑最大持仓限制)
- 决策理由:为什么这么做
- 风险提示:需要注意什么
比如这样的输出:
json
{
"decision": {
"action": "OPEN_LONG",
"multiplier": 2.0,
"reasoning": "金叉信号 + sentiment 0.90(4级极强) + 最新新闻显示BTC突破10万、ETF获批、机构入场 → 建议开多仓2倍基础仓位",
"riskWarning": "BTC突破整数关口后常有回调,建议设置止损"
}
}
二、决策规则设计:让AI像老手一样思考
这部分是整个策略的灵魂。我设计了一套比较完整的决策矩阵,核心思想是:技术信号提供方向,新闻情绪提供确认,持仓状态决定力度。
情绪等级划分
我把新闻情绪分成4个等级:
| 等级 | 分数范围 | 特征 | 对应操作 |
|---|---|---|---|
| 4级(极强) | 0.8-1.0 | 重大利好/利空,方向明确 | 大胆操作,2倍仓位 |
| 3级(强) | 0.65-0.8 | 明显正面/负面,共识形成 | 正常操作,1倍仓位 |
| 2级(中性) | 0.5-0.65 | 方向不明或正负混杂 | 不操作,观望 |
| 1级(弱) | 0-0.5 | 与信号方向相反或无相关新闻 | 不操作,可能是假信号 |
典型场景举例
场景1:无持仓 + 金叉 + 4级极强利好
技术信号:短期EMA上穿长期EMA
新闻情绪:0.92分(BTC突破10万、ETF获批、机构FOMO)
当前持仓:0单位
→ AI决策:开多仓2倍基础仓位
→ 理由:技术面和基本面高度一致,是难得的高确定性机会
→ 风险提示:整数关口常有回调,设好止损
场景2:持有3单位多仓(盈利800U)+ 死叉 + 3级强利空
技术信号:短期EMA下穿长期EMA
新闻情绪:0.72分(BTC跌破支撑、清算激增)
当前持仓:3单位,浮盈800U
→ AI决策:平仓2单位,保留1单位观察
→ 理由:趋势反转风险上升,先保护大部分利润
→ 计算逻辑:持仓较大(3单位) + 盈利状态 + 3级强信号 = 平仓2/3
场景3:持有2单位多仓(盈利1500U)+ 金叉 + 4级极强利好
技术信号:短期EMA再次金叉
新闻情绪:0.92分(抛物线行情、机构入场、降息预期)
当前持仓:2单位,浮盈1500U
最大持仓:3单位
→ AI决策:加仓1单位至上限
→ 理由:当前盈利 + 趋势极强 + 还有加仓空间
→ 风险提示:已达最大持仓,无法再加仓,设置移动止损
盈亏状态的影响
这是我觉得这个策略比较有意思的地方。同样的技术信号,AI会根据你的盈亏状态给出不同建议:
盈利时遇反向信号 → 优先保护利润,平仓更果断
亏损时遇反向信号 → 果断止损,避免扩大亏损
盈利时遇同向信号 → 可以考虑加仓,扩大盈利
亏损时遇同向信号 → 谨慎加仓,优先等待回本
这其实模拟了经验丰富的交易员的心态管理。
三、技术实现:工作流的魅力
整个策略是在工作流上实现的,这个工具真的很适合做这种复杂的自动化工作流。
核心节点说明
-
定时触发器:每3分钟执行一次(可调整)
-
初始设置节点:
- 设置交易所API
- 初始化资金记录
- 生成可视化状态表格
-
K线获取 → 技术指标计算:
- 获取最近N根K线
- 计算短期/长期EMA
- 判断金叉/死叉
-
条件判断:
- 如果无信号 → 输出日志,结束
- 如果有信号 → 触发新闻抓取
-
9个RSS读取节点并行执行:
- 每个节点抓取一个新闻源
- 设置了错误处理(某个源挂了不影响整体)
-
RSS整理节点:
- 合并所有新闻
- 筛选24小时内的
- 按时间倒序排列
- 清洗HTML标签
-
信息整理节点:
- 打包技术信号、新闻、持仓数据
- 格式化成AI需要的JSON结构
-
AI智能体:
- 接收打包数据
- 按照预设规则分析
- 输出结构化决策
-
交易执行节点:
- 解析AI决策
- 执行具体交易操作
- 保存结果供下次决策参考
状态可视化
策略运行时会在FMZ平台生成四个表格:
- 账户总览:初始资金、当前权益、累计盈亏、收益率
- 持仓监控:持仓方向、数量、均价、浮盈、剩余容量
- AI决策分析:技术信号、新闻情绪、决策操作、置信度
- 执行结果:操作类型、执行状态、盈亏结算、决策推理
这样你可以一目了然地看到策略在干什么。
四、风控设计:不作死才能活得久
量化交易最怕的就是一次大亏把之前的利润全吐回去。所以我设计了几层风控:
1. 最大持仓限制
通过maxPos参数控制,比如设置为3,那无论AI多看好,最多只能持有3个基础单位。这样即使判断失误,亏损也在可控范围内。
2. 分级决策,逐步试探
- 4级极强信号:开/加2倍仓位
- 3级强信号:开/加1倍仓位
- 2级及以下:不操作
不会一次性把子弹打光。
3. 情绪与技术信号必须一致
如果技术面金叉,但新闻面一片利空(sentiment < 0.5),AI会判断为假突破,不开仓。反之亦然。
4. 动态平仓策略
不是简单的"全平"或"不平",而是根据:
- 信号强度(4级全平,3级平2/3,2级观望)
- 持仓数量(持仓大平得多,持仓小可能全平)
- 盈亏状态(盈利保护利润,亏损果断止损)
综合判断平仓比例。
五、目前存在的问题和改进方向
说实话,这个策略现在还有不少问题:
已知的坑
1. 新闻质量参差不齐
- 有些新闻源爱标题党
- 同一条消息被反复报道
- 旧闻翻新当利好
改进思路:可以加入新闻去重、时效性检查、来源可信度评分
2. AI情绪判断不够精准
- 有时候会把中性新闻判断成利好
- 对市场情绪的滞后性理解不足
- 无法识别"利好出尽"这种微妙情况
改进思路:收集历史数据,训练一个专门的情绪分类模型
3. 执行滑点和费率未考虑
- 现在的代码用的是市价单
- 没有计算实际成交滑点
- 手续费对收益的影响没有量化
改进思路:加入限价单逻辑,模拟真实交易成本
4. 缺乏及时的止盈止损机制
- 开仓后只依赖信号指标和新闻判断平仓,可能错过最佳出场时机
- 无法应对突发暴跌(黑客攻击、监管利空等)
- 盈利可能全部回吐,亏损可能无限扩大
下一步计划
- 优化新闻源:筛选出更高质量的信息源,减少噪音
- 引入多模型竞争:让多个AI(如Claude、GPT、Gemini)同时分析,取投票结果
- 加入链上数据:结合交易所资金流向、大户持仓变化
- 添加止盈止损工作流模块:设置固定止损线(如-5%强制平仓)、止盈线(如+15%获利离场)、移动止损(从最高点回撤8%保护利润),避免靠新闻驱动的被动平仓导致重大亏损
六、使用建议
如果你也想试试这个策略,我有几个真心的建议:
-
先用模拟盘:别上来就真金白银,至少跑一两周观察表现
-
小仓位起步:即使要实盘,也从最小单位开始,不要怕错过机会
-
定期复盘:每周看看AI的决策,哪些是对的,哪些是错的,为什么
-
不要过度依赖:AI只是辅助工具,最终决策权还是在你手里
-
做好最坏打算:设置好账户总亏损上限,亏到这个数就停止
-
保持学习心态:市场在变,策略也要跟着迭代
结语
通过这个实验,我对"技术分析+基本面分析"的结合有了更深的理解。那些交易老手之所以厉害,不是因为他们会什么神秘指标,而是因为他们能快速整合多维度信息,做出理性判断。
而我们作为普通散户,虽然没有老手的经验和嗅觉,但可以用技术手段来弥补。让机器帮我们处理信息收集、基础分析这些繁琐的事,我们专注在风险控制和策略优化上。
最后说一句掏心窝的话:量化交易不是印钞机,AI也不是万能的。这个策略目前还很粗糙,肯定会有各种意想不到的问题。如果你要用,一定要做好亏损的心理准备,把它当作学习工具,而不是赚钱机器。
好了,今天就分享到这里。如果你有什么想法或建议,欢迎随时交流。毕竟,咱们都是在量化交易这条路上摸索的同路人。
祝大家交易顺利,少踩坑!🚀
P.S. 完整代码我放在文章开头了,有兴趣的朋友可以自己研究。如果你改进出更好的版本,记得也分享出来啊!
- 1



