5.5 KiB
5.5 KiB
AITD 使用说明
这份文档按“第一次拿到这个文件夹、几乎不了解项目”的情况来写。
1. 这是什么
AITD 是一个本地运行的交易代理页面。
它会:
- 读取你配置的候选池
- 获取 Binance Futures 行情
- 把行情、账户、持仓、风控和你的交易逻辑拼成模型输入
- 调用外部模型 API 生成交易决策
- 在本地网页里展示账户、持仓、候选池、最近决策和日志
2. 运行要求
只需要:
Python 3.11+- 浏览器
- 网络连接
不需要:
- Node.js
- npm
- 额外 Python 第三方包
3. 如何启动
在项目根目录运行:
python3 run.py
如果你想指定端口,也可以这样运行:
python3 run.py --port 1234
终端会输出一个本地地址,例如:
http://127.0.0.1:8788/trader.html
把这个地址复制到浏览器打开即可。
如果 8788 被占用,程序会自动切到附近端口。
4. 页面怎么理解
页面大致分成两部分:
- 左侧
- 运行设置
- AI模型配置
- 代理配置
- 实盘账号配置
- 右侧
交易Prompt候选池Log
顶部可以:
- 切换
模拟盘 / 实盘 - 启动或暂停当前页面对应的交易循环
- 在深色和浅色主题之间切换
5. 最推荐的首次使用流程
- 运行
python3 run.py - 打开网页
- 保持在
模拟盘页面 - 在
AI模型配置填写:ProviderModelBase URLAPI Key
- 如果需要代理,在
代理配置里填写:- 是否启用代理
- 代理地址
- 不走代理的地址
- 在
Prompt页面填写交易逻辑 - 在
候选池页面选择:静态候选池- 或
动态候选池
- 点当前页面的
启动交易 - 观察:
交易tab 是否出现最近决策Prompttab 的测试输出是否正常Logtab 是否有错误
6. Prompt 怎么改
你不需要直接编辑原始 JSON。
前端里有 4 个输入项:
rolecore_principlesentry_preferencesposition_management
保存后,后端会自动拼成:
config/trading_prompt.json
你只负责交易逻辑本身。
系统会自动拼进去的内容包括:
- 当前行情
- 当前账户权益
- 当前持仓
- 风控上限
- 当前模式
7. Prompt 测试怎么用
Prompt 页面有一个测试按钮。
它会:
- 用你当前页面里的 Prompt 内容
- 加上系统上下文
- 调用模型 API
- 返回测试输出
它不会真的发单。
如果这里测试都不通过,就先不要启动交易。
8. 候选池怎么用
候选池有两种模式,二选一。
静态候选池
你手动输入一组 symbols,例如:
BTCUSDT
ETHUSDT
SOLUSDT
保存后生效。
动态候选池
你写一个 Python function:
def load_candidate_symbols(context):
return ["BTCUSDT", "ETHUSDT"]
这个函数会在每轮交易决策前自动执行。
你可以让它:
- 读本地文件
- 读本地数据库
- 请求外部 API
要求只有一个:
load_candidate_symbols最终返回list
9. AI 模型配置
支持的 provider:
- GPT
- Claude
- DeepSeek
- Qwen
- 自定义 OpenAI 兼容接口
页面里 Model 默认是下拉列表,尽量避免拼写错误。
高级参数如:
TimeoutTemperatureMax Output Tokens
默认是折叠的,按需展开即可。
10. 代理配置
代理配置会统一影响:
- Binance 公共行情请求
- Binance 实盘请求
- 模型 API 请求
如果你的网络不需要代理,可以保持关闭。
11. 模拟盘和实盘
模拟盘
- 默认更适合先测试
- 不会真的下单
实盘
只有同时满足下面条件才会真的下单:
- 当前在
实盘页面 启用实盘已勾选模拟下单未勾选API Key / API Secret已填写
建议顺序:
- 先把模拟盘跑通
- 再填写 Binance 实盘凭证
- 先用
模拟下单 - 最后才开启真实实盘
12. 运行后哪些文件会变化
常见会更新的本地运行文件:
data/cache/...data/scans/latest.jsondata/trading_agent_state.jsondata/trading-agent/decisions/...
这些都不建议提交到 GitHub。
13. 目录说明
run.py- 启动本地服务
backend/- Python 后端代码
dashboard/- 前端页面
config/trading_agent.json- 运行设置
config/llm_provider.json- AI 模型配置
config/network.json- 代理配置
config/live_trading.json- 实盘账号配置
config/fixed_universe.json- 静态候选池配置
config/candidate_source.py- 动态候选池函数
config/trading_prompt.json- 保存后的交易逻辑
14. 常见问题
页面里看到 “LLM API key is missing”
说明还没在 AI模型配置 里填模型 key。
Prompt 测试失败
优先检查:
ProviderModelBase URLAPI Key- 代理是否需要开启
Live 页面没有真正下单
请检查:
- 当前是否在
实盘页面 启用实盘是否已勾选模拟下单是否已经关闭- Binance
API Key / API Secret是否已填写
候选池在哪里改
有两种方式:
- 直接在页面的
候选池里手动填写 symbols - 启用动态候选池,在
config/candidate_source.py里定义load_candidate_symbols(context)
风控为什么不会跟着 Prompt 一起消失
这是故意的。
Prompt 只负责交易逻辑; 风险上限、持仓数量、回撤限制始终由 Python 后端强制控制。