[TOC]

Trong video trước, chúng ta đã viết một chiến lược đường trung bình động kép sử dụng ClawdBot/OpenClaw. Nhiều người xem vẫn chưa hài lòng và hỏi trong phần bình luận: Liệu trí tuệ nhân tạo (AI) có thể phân tích điều kiện thị trường, tự đưa ra quyết định và đặt lệnh hay không? Hôm nay, chúng ta sẽ chinh phục mục tiêu tối thượng này và xây dựng một hệ thống giao dịch tự động hoàn toàn bằng AI.
Một số người bạn lo ngại rằng việc để AI giao dịch trực tiếp quá rủi ro, vì vậy chúng tôi đã thiết kế một kiến trúc an toàn hơn:ClawdBot đóng vai trò như bộ não.Nó chịu trách nhiệm thu thập dữ liệu, phân tích tin tức và tạo ra các tín hiệu giao dịch;Nền tảng định lượng nhà phát minh (FMZ) dưới dạng công cụ hai tayNó chịu trách nhiệm tiếp nhận tín hiệu, thực hiện giao dịch và quản lý kiểm soát rủi ro. Điều này tận dụng khả năng phân tích của trí tuệ nhân tạo, cung cấp các đảm bảo an ninh của một nền tảng chuyên nghiệp và cho phép giám sát và xem xét theo thời gian thực.

Trước khi bắt đầu, chúng ta hãy cùng phân tích toàn bộ hệ thống. Toàn bộ hệ thống bao gồm…đầu nãoVàKết thúc thực thiBao gồm hai thành phần cốt lõi, được liên kết thông qua các yêu cầu HTTP, tạo thành một vòng lặp khép kín hoàn chỉnh cho giao dịch định lượng bằng trí tuệ nhân tạo:

Cốt lõi của ClawdBot chính là cuốn hướng dẫn sử dụng, về cơ bản là một cẩm nang hướng dẫn chi tiết dành cho trí tuệ nhân tạo, mô tả rõ ràng các bước vận hành, tiêu chí đánh giá và các hành động cần thực hiện. Hãy cùng xem cấu trúc của cuốn hướng dẫn này:
Đầu tiên, hãy cho AI biết những dữ liệu quan trọng nào cần đọc khi mở trang thông tin về loại tiền tệ mục tiêu:
【操作指令】
1. 自动化打开浏览器新标签页
2. 导航至目标币种页面:https://www.coingecko.com/en/coins/bitcoin
3. 等待页面完全加载
【需要读取的数据】
- BTC当前价格
- 24小时交易量
【需要读取的新闻】
- 滚动页面找到 "News" 区域
- 读取最新的3-5条新闻标题和摘要
- 将所有新闻整合为一条信息汇总
- 判断整体情绪(利好/利空/中性)
Tiếp theo, hãy xác định các tiêu chí giao dịch rõ ràng, chỉ rõ trong những trường hợp nào nên mua và trong những trường hợp nào nên bán:
【买入条件】
□ 新闻情绪整体正面(利好消息主导)
□ 交易量放大显示市场活跃
□ 综合判断市场处于上升趋势
【卖出条件】
□ 新闻情绪整体负面(利空消息主导)
□ 市场出现明显风险信号
【观望条件】
□ 新闻情绪中性或混杂
□ 市场方向不明确
Trí tuệ nhân tạo (AI) được yêu cầu tạo ra dữ liệu ở định dạng JSON chuẩn. Đây là giao thức truyền thông cốt lõi giữa ClawdBot và nền tảng của nhà phát minh, đảm bảo việc phân tích dữ liệu không gây hiểu nhầm.
{
"coin": "BTC",
"timestamp": "2024-01-15T14:00:00.000Z",
"current_price": 42500.00,
"volume_24h": "25,000,000,000",
"news_summary": "ETF资金持续流入,机构增持意愿强烈",
"news_sentiment": "positive",
"trade_decision": "买入",
"decision_reason": "新闻情绪积极,交易量放大,适合建仓"
}
Cuối cùng, hãy hướng dẫn AI gửi tín hiệu JSON đến nền tảng của nhà phát minh và ghi lại thao tác cục bộ để xem xét sau này:
【发送信号】
执行HTTP POST请求:
URL: https://www.fmz.com/api/v1?method=pub&robot={实盘ID}&channel={UUID}
- 实盘ID:发明者平台上对应机器人的唯一数字标识,用于精准指定接收信号的目标交易机器人。
- UUID:通用唯一识别码,作为自定义频道唯一标识,是ClawdBot与FMZ的通信密钥,请勿泄露,避免恶意操作。
【记录日志】
将每次操作的时间、币种、决策、信号发送状态等信息追加到本地 tradediary.csv 文件,便于后续策略复盘与优化。
Tất nhiên, hướng dẫn này đã được tinh chỉnh thông qua nhiều lần thử nghiệm. Sau khi các thử nghiệm thành công, chúng ta có thể đóng gói nó thành một Kỹ năng và thiết lập để nó chạy tự động như một tác vụ theo lịch trình.


Với khả năng ra quyết định dựa trên trí tuệ nhân tạo đã được thiết lập, nhiệm vụ hiện tại là nền tảng của nhà phát minh cần phát triển mã hỗ trợ để thực hiện toàn bộ quy trình tiếp nhận tín hiệu, thực thi giao dịch và quản lý kiểm soát rủi ro.
Trước tiên, hãy xác định các mục cấu hình cốt lõi để quản lý tập trung các tham số giao dịch, giám sát và kiểm soát rủi ro. UUID phải nhất quán với UUID được quy định trong hướng dẫn của ClawdBot.
const CONFIG = {
TRADE_AMOUNT: 0.01, // 每次固定交易数量
CHECK_INTERVAL: 3000, // 信号监听与风控检查间隔(毫秒)
UUID: "自定义UUID", // 与ClawdBot一致的频道标识,作为通信密钥
STOP_LOSS_PERCENT: 5, // 止损/踏空保护比例(%)
};
Được tích hợp vào nền tảng FMZ.GetChannelDataChức năng này lắng nghe kênh UUID được chỉ định và truy xuất tín hiệu JSON do AI gửi đi. Một chi tiết quan trọng ở đây là dấu thời gian được sử dụng để xác định xem tín hiệu đã được xử lý hay chưa, ngăn chặn việc thực thi cùng một tín hiệu nhiều lần do sự cố mạng hoặc nền tảng, từ đó tránh được các giao dịch sai sót.
function receiveSignal() {
try {
const res = GetChannelData(CONFIG.UUID);
if (res === null || res === "") {
return null;
}
const signal = typeof res === 'string' ? JSON.parse(res) : res;
// 校验信号格式,确保核心字段完整
if (!signal.coin || !signal.trade_decision) {
Log("❌ 信号格式无效,核心字段缺失");
return null;
}
// 检查时间戳是否已处理(信号去重核心逻辑)
if (isSignalProcessed(signal.timestamp)) {
return null;
}
Log(`📥 收到新信号: ${signal.coin} - ${signal.trade_decision}`);
return signal;
} catch (e) {
Log(`❌ 获取信号失败: ${e.message}`);
return null;
}
}
Phân tích nội dung cốt lõi của tín hiệu, dựa trêntrade_decisionTrường này thực hiện thao tác mua/bán tương ứng. Trước khi mua, nó kiểm tra xem số dư USDT có đủ hay không; trước khi bán, nó kiểm tra xem số dư tiền tệ mục tiêu có đủ hay không để tránh giao dịch thất bại do số dư không đủ.
function executeBuy(signal, reason) {
const symbol = signal.coin + "_USDT"; // 拼接交易对,如BTC_USDT
exchange.SetCurrency(symbol); // 指定当前交易对
const account = _C(exchange.GetAccount); // 获取账户实时资产
const ticker = _C(exchange.GetTicker); // 获取币种实时行情
const currentPrice = ticker.Last; // 获取最新成交价
// 资金充足性检查
const requiredBalance = currentPrice * CONFIG.TRADE_AMOUNT;
if (account.Balance < requiredBalance) {
Log(`❌ 余额不足,需要 USDT $${requiredBalance.toFixed(2)},当前仅 $${account.Balance.toFixed(2)}`);
return false;
}
// 执行市价买入(-1表示市价,按当前市场价格成交)
const orderId = exchange.Buy(-1, CONFIG.TRADE_AMOUNT * currentPrice);
if (orderId) {
addTradeRecord({
coin: signal.coin,
action: "买入",
price: currentPrice,
amount: CONFIG.TRADE_AMOUNT,
reason: reason
});
Log(`✅ ${signal.coin} 市价买入成功,成交价格: $${currentPrice.toFixed(2)}`);
return true;
}
Log(`❌ ${signal.coin} 买入失败,未生成订单ID`);
return false;
}
function executeSell(signal, reason) {
try {
const symbol = signal.coin + "_USDT";
exchange.SetCurrency(symbol);
const account = _C(exchange.GetAccount);
const ticker = _C(exchange.GetTicker);
const currentPrice = ticker.Last;
// 目标币种充足性检查
if (account.Stocks < CONFIG.TRADE_AMOUNT) {
Log(`❌ ${signal.coin} 余额不足,需要 ${CONFIG.TRADE_AMOUNT}枚,当前仅 ${account.Stocks.toFixed(6)}枚`);
return false;
}
// 执行市价卖出
const orderId = exchange.Sell(-1, CONFIG.TRADE_AMOUNT);
if (orderId) {
// 添加交易记录至平台
addTradeRecord({
coin: signal.coin,
action: "卖出",
price: currentPrice,
amount: CONFIG.TRADE_AMOUNT,
reason: reason || signal.decision_reason,
timestamp: new Date().toISOString()
});
Log(`✅ ${signal.coin} 市价卖出成功 - 成交价格: $${currentPrice.toFixed(2)}, 成交数量: ${CONFIG.TRADE_AMOUNT}`);
return true;
} else {
Log(`❌ ${signal.coin} 卖出失败,未生成订单ID`);
return false;
}
} catch (e) {
Log(`❌ 卖出异常: ${e.message}`);
return false;
}
}
Đoạn mã này thiết lập một tỷ lệ cắt lỗ cố định. Khi giá thị trường đạt đến mức cắt lỗ đã được thiết lập trước, nó sẽ tự động thực hiện giao dịch đảo chiều.Cắt lỗVàCắt lỗ nếu bạn bỏ lỡ cơ hộiHai kịch bản cốt lõi để kiểm soát toàn diện rủi ro giao dịch:
function checkStopLoss() {
const latestTrade = getLatestTradeRecord(); // 获取最新一笔交易记录
if (!latestTrade) return { triggered: false }; // 无交易记录则跳过风控检查
const ticker = _C(exchange.GetTicker);
const currentPrice = ticker.Last;
const tradePrice = latestTrade.price; // 最新交易的成交价格
const priceChangePercent = ((currentPrice - tradePrice) / tradePrice) * 100; // 价格涨跌幅百分比
// 场景一:买入后价格下跌触发亏损止损,限制最大亏损
if (latestTrade.action === "买入") {
const stopLossPrice = tradePrice * (1 - CONFIG.STOP_LOSS_PERCENT / 100); // 计算止损价格
if (currentPrice <= stopLossPrice) {
Log(`🔴 亏损止损触发!当前跌幅: ${priceChangePercent.toFixed(2)}%,触发${CONFIG.STOP_LOSS_PERCENT}%止损线`);
return {
triggered: true,
action: "卖出",
reason: `止损卖出:跌幅触发${CONFIG.STOP_LOSS_PERCENT}%止损线,当前跌幅${priceChangePercent.toFixed(2)}%`
};
}
}
// 场景二:卖出后价格上涨触发踏空止损,避免错过大幅上涨行情
if (latestTrade.action === "卖出") {
const stopLossPrice = tradePrice * (1 + CONFIG.STOP_LOSS_PERCENT / 100); // 计算踏空保护价格
if (currentPrice >= stopLossPrice) {
Log(`🟢 踏空止损触发!当前涨幅: ${priceChangePercent.toFixed(2)}%,触发${CONFIG.STOP_LOSS_PERCENT}%保护线`);
return {
triggered: true,
action: "买入",
reason: `踏空止损:涨幅触发${CONFIG.STOP_LOSS_PERCENT}%保护线,当前涨幅${priceChangePercent.toFixed(2)}%`
};
}
}
return { triggered: false };
}
Cốt lõi của toàn bộ chiến lược là một vòng lặp vô hạn, được thực thi bởi…Kiểm soát rủi ro là ưu tiên hàng đầu.Nguyên tắc là xử lý các bước kiểm tra cắt lỗ, xử lý tín hiệu AI và cập nhật bảng điều khiển theo thứ tự đó, đảm bảo rằng kiểm soát rủi ro luôn là ưu tiên hàng đầu:
function main() {
initialize(); // 初始化:创建交易记录、仪表板等
Log("🚀 现货自动交易机器人启动,开始监听AI信号...");
while (true) { // 无限循环,持续运行
// 1. 检查止损(优先级最高),触发则立即执行
const stopLossInfo = checkStopLoss();
if (stopLossInfo.triggered) {
executeStopLoss(stopLossInfo);
}
// 2. 获取并处理AI信号,无信号则跳过
const signal = receiveSignal();
if (signal) {
processSignal(signal);
}
// 3. 实时更新可视化仪表板
displayDashboard();
// 4. 按预设间隔等待,进入下一轮检查
Sleep(CONFIG.CHECK_INTERVAL);
}
}
Việc chỉ thực hiện giao dịch thôi là chưa đủ trực quan, vì vậy chúng tôi cũng đã tạo ra một bảng điều khiển trực quan chứa bốn bảng dữ liệu cốt lõi. Bảng điều khiển này hiển thị thông tin tài khoản, kiểm soát rủi ro, tín hiệu và lịch sử giao dịch tất cả ở cùng một nơi, cung cấp cái nhìn tổng quan rõ ràng về trạng thái hoạt động của hệ thống.
| Tên bảng | Hiển thị nội dung |
|---|---|
| 💰 Tổng quan về các quyền lợi | Số lượng tiền tệ ban đầu/hiện tại, số dư USDT, tổng vốn chủ sở hữu tài khoản, số tiền lãi/lỗ và tỷ lệ lãi/lỗ. |
| 🛡️ Giám sát lệnh cắt lỗ | Loại giao dịch gần nhất, giá giao dịch, biến động giá hiện tại, khoảng cách từ đường cắt lỗ, trạng thái kiểm soát rủi ro hiện tại. |
| 🤖 Tín hiệu AI hiện tại | Mã tiền tệ mục tiêu, giá thời gian thực, tóm tắt tin tức, đánh giá tâm lý thị trường, quyết định giao dịch của AI và lý do đằng sau những quyết định đó. |
| 📋 Bản ghi giao dịch | Thời gian, loại giao dịch, giá trị giao dịch và lý do của 10 giao dịch gần nhất. |

Sau khi các lệnh của ClawdBot được gỡ lỗi chính xác và mã nền tảng của nhà phát minh vượt qua các bài kiểm tra, hệ thống có thể hoạt động hoàn toàn tự động: Trong phần phụ trợ của ClawdBot, các lệnh đã viết được đóng gói thành một tệp duy nhất…Skill(Mẫu vận hành AI có thể tái sử dụng) và thiết lậpNhiệm vụ theo lịch trình(Ví dụ, nếu được thực hiện mỗi 10 phút), hệ thống sẽ tự động thu thập dữ liệu, phân tích và đưa ra quyết định, đồng thời gửi tín hiệu theo tần suất đã thiết lập. Nền tảng của nhà phát minh sau đó sẽ lắng nghe và thực hiện các giao dịch trong thời gian thực, mà không cần giám sát thủ công.

Điều quan trọng cần nhắc nhở mọi người là giao dịch định lượng luôn tiềm ẩn rủi ro thị trường, và các quyết định của AI không hoàn toàn chính xác. Vui lòng lưu ý những điểm sau trước khi giao dịch:
Hãy cùng điểm lại những thành tựu ngày hôm nay: Chúng ta đã xây dựng thành công một bộHệ thống giao dịch định lượng hoàn toàn tự động bằng AI từ đầu đến cuối.Cốt lõi của hệ thống bao gồm hai mô-đun chính: ClawdBot, đóng vai trò là bộ não, chịu trách nhiệm thu thập dữ liệu thị trường, phân tích tâm lý tin tức và đưa ra quyết định giao dịch; và nền tảng định lượng của nhà phát minh, đóng vai trò là bộ phận thực thi, chịu trách nhiệm tiếp nhận tín hiệu, giao dịch tự động, quản lý kiểm soát rủi ro và giám sát trực quan. Hai bên đạt được sự trao đổi dữ liệu tiêu chuẩn hóa thông qua giao diện HTTP, thực sự hiện thực hóa giao dịch hoàn toàn tự động mà không cần giám sát thủ công.
Quan trọng hơn, kiến trúc này sở hữu khả năng mở rộng mạnh mẽ: nhật ký giao dịch có thể được đưa trở lại cho AI để xem xét và tối ưu hóa, và các Kỹ năng của ClawdBot có thể được liên tục cải tiến, bổ sung thêm các nguồn dữ liệu (như dữ liệu hợp đồng và báo cáo nghiên cứu ngành) và logic ra quyết định tinh vi hơn. Tất nhiên, mô hình hiện tại vẫn còn tương đối cơ bản, chỉ cung cấp một khuôn khổ và phương pháp thực tiễn cho giao dịch định lượng dựa trên AI.
Nếu bạn có ý tưởng tối ưu hóa tốt hơn hoặc yêu cầu tính năng mới, hãy thoải mái chia sẻ trong phần bình luận!
Mã tham chiếu: https://www.fmz.com/strategy/526322