当前位置: 首页 > news >正文

[AI tradingOS] AI决策引擎 | decision/engine.go | 交易哲学prompts

第4章:AI决策引擎

欢迎回来

通过前几章的积累,nofx已具备关键能力:第1章赋予它"记忆db"功能,第2章装备了"市场耳目class",第3章则提供了"交易执行手adapter"

但还缺最关键的一环:如何做决策? 当市场数据完备、工具就位时,什么机制告诉它何时买入、何时卖出或何时按兵不动?

AI的"大脑":智能交易决策

设想一位超级智能厨师:掌握无数菜谱、通晓所有食材、配备顶级厨具。但在开火前,它需要根据现有食材、用餐时间和你的口味决定烹饪什么。

nofx中,AI决策引擎正是这样的"大脑"。它将原始市场数据、账户信息和预设规则转化为可执行的交易策略,通过"思考"市场状况来指导交易接口操作。

核心场景:“现在该交易吗?”

假设AI交易器运行时不断自问:“基于当前所有信息,应该开新仓、平现有仓还是观望?”

这是个复杂问题!AI需要综合考量:

  • 比特币当前价格(来自市场数据系统)
  • 比特币趋势方向(来自市场数据系统)
  • 账户可用资金(来自数据库与配置)
  • 现有持仓盈亏状况(来自数据库与配置)
  • 交易规则约束(即后文将介绍的"提示词")

决策引擎消化这些输入后,会输出明确指令:“以特定参数做多BTCUSDT”、“持有现仓"或"暂时观望”。

核心机制解析

1. 输入数据:市场与账户全景

决策引擎需要完整的市场画像和账户状态:

  • 市场数据:来自第2章的实时价格、多周期K线、EMA/MACD/RSI等技术指标,以及合约特有的未平仓量和资金费率
  • 账户信息:来自第1章的总资产、可用余额、现有持仓及其盈亏
  • 交易哲学(提示词):用户为AI设定的行为准则

2. 交易哲学:AI的行为准则

AI并非随机决策,而是遵循提示词(prompts)的详细指引。提示词本质上是告诉AI:

  • 核心目标(如风险调整后收益最大化)
  • 可采取的行动(开多/开空/平仓/观望)
  • 仓位规模计算方法
  • 关键的开平仓条件
  • 风险管理规则(如止损止盈设置)
  • 市场数据解读方式

nofx采用DeepSeek等先进AI模型,通过精心设计的提示词引导其决策过程。

提示词示例:

# 核心目标
通过系统化、纪律性交易实现风险调整后收益最大化# 交易原则
- 本金优先:保护资本比追求收益更重要
- 质量至上:少量高确定性交易优于大量低确定性交易# 开仓条件(必须全部满足)
- 仅当以下条件成立时做多:- BTCUSDT的MACD呈正值(看涨动量)- BTCUSDT的RSI低于40(超卖或复苏中)- 4小时K线显示明确上涨趋势(价格>EMA20)

完整提示词文件(prompts/default.txt)包含更复杂的策略逻辑:

你是专业的加密货币交易AI,在合约市场进行自主交易。# 核心目标最大化夏普比率(Sharpe Ratio)夏普比率 = 平均收益 / 收益波动率这意味着:
- 高质量交易(高胜率、大盈亏比)→ 提升夏普
- 稳定收益、控制回撤 → 提升夏普
- 耐心持仓、让利润奔跑 → 提升夏普
- 频繁交易、小盈小亏 → 增加波动,严重降低夏普
- 过度交易、手续费损耗 → 直接亏损
- 过早平仓、频繁进出 → 错失大行情关键认知: 系统每3分钟扫描一次,但不意味着每次都要交易!
大多数时候应该是 `wait` 或 `hold`,只在极佳机会时才开仓。# 交易哲学 & 最佳实践## 核心原则:资金保全第一:保护资本比追求收益更重要纪律胜于情绪:执行你的退出方案,不随意移动止损或目标质量优于数量:少量高信念交易胜过大量低信念交易适应波动性:根据市场条件调整仓位尊重趋势:不要与强趋势作对## 常见误区避免:过度交易:频繁交易导致费用侵蚀利润复仇式交易:亏损后立即加码试图"翻本"分析瘫痪:过度等待完美信号,导致失机忽视相关性:BTC常引领山寨币,须优先观察BTC过度杠杆:放大收益同时放大亏损#交易频率认知量化标准:
- 优秀交易员:每天2-4笔 = 每小时0.1-0.2笔
- 过度交易:每小时>2笔 = 严重问题
- 最佳节奏:开仓后持有至少30-60分钟自查:
如果你发现自己每个周期都在交易 → 说明标准太低
如果你发现持仓<30分钟就平仓 → 说明太急躁# 开仓标准(严格)只在强信号时开仓,不确定就观望。你拥有的完整数据:
- 原始序列:3分钟价格序列(MidPrices数组) + 4小时K线序列
- 技术序列:EMA20序列、MACD序列、RSI7序列、RSI14序列
- 资金序列:成交量序列、持仓量(OI)序列、资金费率
- 筛选标记:AI500评分 / OI_Top排名(如果有标注)分析方法(完全由你自主决定):
- 自由运用序列数据,你可以做但不限于趋势分析、形态识别、支撑阻力、技术阻力位、斐波那契、波动带计算
- 多维度交叉验证(价格+量+OI+指标+序列形态)
- 用你认为最有效的方法发现高确定性机会
- 综合信心度 ≥ 75 才开仓避免低质量信号:
- 单一维度(只看一个指标)
- 相互矛盾(涨但量萎缩)
- 横盘震荡
- 刚平仓不久(<15分钟)# 夏普比率自我进化每次你会收到夏普比率作为绩效反馈(周期级别):夏普比率 < -0.5 (持续亏损):→ 停止交易,连续观望至少6个周期(18分钟)→ 深度反思:• 交易频率过高?(每小时>2次就是过度)• 持仓时间过短?(<30分钟就是过早平仓)• 信号强度不足?(信心度<75)
夏普比率 -0.5 ~ 0 (轻微亏损):→ 严格控制:只做信心度>80的交易→ 减少交易频率:每小时最多1笔新开仓→ 耐心持仓:至少持有30分钟以上夏普比率 0 ~ 0.7 (正收益):→ 维持当前策略夏普比率 > 0.7 (优异表现):→ 可适度扩大仓位关键: 夏普比率是唯一指标,它会自然惩罚频繁交易和过度进出。#决策流程1. 分析夏普比率: 当前策略是否有效?需要调整吗?
2. 评估持仓: 趋势是否改变?是否该止盈/止损?
3. 寻找新机会: 有强信号吗?多空机会?
4. 输出决策: 思维链分析 + JSON# 仓位大小计算**重要**:`position_size_usd` 是**名义价值**(包含杠杆),非保证金需求。**计算步骤**:
1. **可用保证金** = Available Cash × 0.88(预留12%给手续费、滑点与清算保证金缓冲)
2. **名义价值** = 可用保证金 × Leverage
3. **position_size_usd** = 名义价值(JSON中填写此值)
4. **实际币数** = position_size_usd / Current Price**示例**:可用资金 $500,杠杆 5x
- 可用保证金 = $500 × 0.88 = $440
- position_size_usd = $440 × 5 = **$2,200** ← JSON填此值
- 实际占用保证金 = $440,剩余 $60 用于手续费、滑点与清算保护---记住:
- 目标是夏普比率,不是交易频率
- 宁可错过,不做低质量交易
- 风险回报比1:3是底线

3. 思维链推理:透明化决策过程

与直接输出结论不同,AI决策引擎会生成详细的**思维链(CoT)**文本,如同"自言自语":

  • “BTCUSDT的3分钟MACD呈正值,显示看涨动量”
  • “但4小时RSI超过70,预示可能回调”
  • “当前ETHUSDT持仓盈利5%,应考虑移动止损保护利润”
  • “综合信号矛盾,选择等待更明确机会”

这种透明化推理对理解AI逻辑、调试行为和改进提示词至关重要。

4. 结构化输出:可执行的交易指令

完成CoT推理后,引擎输出nofx可直接理解的标准化交易指令:

简化输出示例:

{"symbol": "BTCUSDT","action": "open_long","leverage": 10,"position_size_usd": 1000,"stop_loss": 60000,"take_profit": 65000,"reasoning": "多周期K线显示强劲看涨趋势且成交量放大"
}

每个指令都是包含交易对、操作类型、杠杆、仓位规模等完整参数的Decision对象。

决策引擎调用

主入口函数decision.GetFullDecision()封装了整个决策流程:

func getAIDecision() {// 1. 构建决策上下文ctx := &decision.Context{Account: decision.AccountInfo{TotalEquity: 10000.0,AvailableBalance: 9000.0},CandidateCoins: []decision.CandidateCoin{{Symbol: "BTCUSDT"}, {Symbol: "ETHUSDT"}}}// 2. 获取AI决策fullDecision, _ := decision.GetFullDecision(ctx, mcpClient)// 3. 输出思维链和交易指令fmt.Printf("思维链:\n%s\n", fullDecision.CoTTrace)for _, d := range fullDecision.Decisions {fmt.Printf("操作:%s 交易对:%s 理由:%s\n", d.Action, d.Symbol, d.Reasoning)}
}

底层实现

核心工作流程

在这里插入图片描述

关键代码

1. 决策中枢(decision/engine.go)
func GetFullDecision(ctx *Context) (*FullDecision, error) {// 1. 获取市场数据fetchMarketDataForContext(ctx)// 2. 构建系统提示词(交易规则)和用户提示词(实时数据)systemPrompt := buildSystemPrompt("default")userPrompt := buildUserPrompt(ctx)// 3. 调用AI模型aiResponse := mcpClient.CallWithMessages(systemPrompt, userPrompt)// 4. 解析响应return parseFullDecisionResponse(aiResponse)
}
2. 提示词管理(decision/prompt_manager.go)
func GetPromptTemplate(name string) (*PromptTemplate, error) {// 从prompts目录加载对应名称的模板文件content, _ := os.ReadFile(fmt.Sprintf("prompts/%s.txt", name))return &PromptTemplate{Name: name, Content: string(content)}, nil
}
3. AI模型调用(mcp/client.go)
func (c *Client) CallWithMessages(system, user string) (string, error) {// 构造符合AI模型API要求的请求格式request := map[string]interface{}{"model": c.Model,"messages": []map[string]string{{"role": "system", "content": system},{"role": "user", "content": user},}}// 发送HTTP请求并返回响应
}
4. 指令验证(decision/engine.go)
func validateDecision(d *Decision) error {if d.Action == "open_long" {// 检查杠杆是否合规if d.Leverage > maxLeverage { return errOverLeverage }// 检查风险回报比是否≥1:3if calcRiskRewardRatio(d) < 3 { return errPoorRiskReward }}return nil
}

小结

AI决策引擎作为nofx的智能中枢,通过结合实时市场数据、账户状态和预设交易哲学,生成经过思维链验证的标准化交易指令。

这种透明化、结构化的决策过程,使系统既能充分利用AI的分析能力,又能确保风险可控。

现在nofx已具备完整的"思考-执行"能力,下一章我们将探讨认证与用户管理,了解如何安全地管控这套强大系统。

http://www.dtcms.com/a/601502.html

相关文章:

  • 网站推广营销策略公司的网站怎么做
  • docker run hello-world失败、报错
  • 多媒体消息支持 - 全面提升系统对文字、图片、视频、文件和语音的处理能力
  • 重庆建设厅的网站首页o2o网站源码app
  • 2018年临沂建设局网站越秀seo搜索引擎优化
  • C++系列之刷题系列(树)
  • 07-ES分布式搜索引擎高级
  • NVIDIA Orin NX使用Jetpack安装CUDA、cuDNN、TensorRT、VPI时的error及解决方法
  • 青岐网站建设平台大气物流网站模块
  • 南昌营销网站公司全球优秀企业网站
  • 数据分析笔记03:概率分布理论
  • SpringCloud零基础学全栈,实战企业级项目完整使用
  • 扁平化设计网站欣赏网站做
  • 【开题答辩过程】以《基于SpringBoot+VUE的商场人流监控及分析系统的设计与实现》为例,不会开题答辩的可以进来看看
  • 网站登录不了哪里网站用vue.js做的
  • 网站备案审核通过时间品牌搜索
  • 孤能子视角:数字社会治理框架
  • C Primer Plus Notes 11
  • LangChain v1.0学习笔记(1)
  • [Linux]学习笔记系列 -- [kernel]ksysfs
  • 庆阳市建设局网站怎么设置iis默认网站
  • 前端安全展示后端纯文本接口数据的实践:不解析、不危险渲染的结构化方案
  • 【2024年莆田市校园创客节(小学组)初赛】泡泡堂
  • 河南省网站建设电脑网页
  • Doc-Researcher: 多模态文档深度研究系统的技术解析
  • E3Docker,一键解锁E3连接酶配体发现新纪元!
  • 【AI智能体】Coze 基于关键词生成古诗词 + 配图智能体操作详解
  • 百日挑战——单词篇(第二十天)
  • Vue 3组合式API中ref与reactive的核心响应式差异及使用最佳实践是什么?
  • 创意网站推荐智能手机网站模板