Định Dạng Chiến Lược AI
Sử dụng bất kỳ trợ lý AI Assistant nào để tạo ra cấu trúc JSON quy trình giao dịch hợp lệ và nhập trực tiếp vào Strategy Builder.
Tài liệu cấu trúc (schema) này đã được tối ưu hóa để sử dụng với AI. Bạn có thể tải file .md và tải lên cuộc hội thoại với AI để làm dữ liệu ngữ cảnh (context).
Quy trình hoạt động
Bước 1: Tải Schema
- Nhấn "Tải Schema" để lưu lại toàn bộ danh mục các khối chức năng và quy tắc kiểm tra logic dưới dạng file `.md`. [icon:download]
Bước 2: Cung cấp cho AI
- Mở cuộc trò chuyện với trợ lý AI của bạn (Claude, ChatGPT, Gemini) và dán hoặc tải file schema lên làm ngữ cảnh. [icon:clipboard]
Bước 3: Mô tả ý tưởng
- Diễn đạt chi tiết chiến lược giao dịch bạn mong muốn bằng ngôn ngữ tự nhiên. AI sẽ tự động tạo ra chuỗi JSON quy trình giao dịch hợp lệ dựa trên cấu trúc schema. [icon:message-circle]
Bước 4: Nhập vào hệ thống
- Sao chép chuỗi JSON từ AI, mở Strategy Builder, chọn tính năng "Import" (Nhập) và dán vào. Hệ thống sẽ tự động chạy quy trình xác thực. [icon:upload]
Tải tài liệu Schema
Cấu trúc JSON quy trình giao dịch (Pipeline JSON Structure)
Một quy trình giao dịch hợp lệ là một đối tượng JSON có định dạng như sau:
interface Pipeline {
id: string; // Mã định danh duy nhất UUID
userId: string; // Mã định danh người dùng UUID
name: string; // Tên gọi của chiến lược
description: string; // Mô tả chi tiết chiến lược
nodes: Node[]; // Mảng chứa danh sách các khối chức năng trên canvas
connections: Connection[]; // Mảng chứa các liên kết cổng kết nối giữa các khối
parameters: Record<string, unknown>; // Các tham số cấu hình toàn cục
version: string; // Phiên bản cấu trúc schema
status: "draft"; // Luôn đặt là "draft" (bản nháp) khi nhập vào hệ thống
createdAt: string; // Dấu thời gian tạo (chuẩn ISO 8601)
updatedAt: string; // Dấu thời gian cập nhật (chuẩn ISO 8601)
}Cấu trúc của mỗi khối chức năng (node) bao gồm:
interface Node {
id: string; // ID duy nhất của khối (UUID)
type: string; // Loại khối từ danh mục (ví dụ: "rsi", "sma_crossover")
position: { x: number; y: number }; // Vị trí hiển thị của khối trên canvas
parameters: Record<string, unknown>; // Các tham số cấu hình riêng biệt của khối
inputs: Port[]; // Danh sách các cổng dữ liệu đầu vào
outputs: Port[]; // Danh sách các cổng dữ liệu đầu ra
}
interface Port {
id: string;
name: string;
dataType: string; // Kiểu dữ liệu: OHLCV, TIMESERIES, SIGNAL, ORDER, v.v.
required: boolean; // Cổng bắt buộc phải kết nối hay không
}Cấu trúc của mỗi liên kết (connection) nối cổng đầu ra của khối này với cổng đầu vào của khối tiếp theo:
interface Connection {
id: string; // ID duy nhất của liên kết (UUID)
source: { nodeId: string; portId: string }; // Cổng nguồn (đầu ra)
target: { nodeId: string; portId: string }; // Cổng đích (đầu vào)
}Ví dụ: Chiến lược RSI Crossover
Ví dụ về cấu trúc JSON của một chiến lược cơ bản: thực hiện mua vào khi RSI cắt lên trên ngưỡng 30 và bán ra khi RSI cắt xuống dưới ngưỡng 70:
{
"id": "example-rsi-crossover",
"userId": "your-user-id",
"name": "RSI Crossover Strategy",
"description": "Buy when RSI crosses above 30, sell when RSI crosses below 70",
"nodes": [
{
"id": "node-1",
"type": "ohlcv_data",
"position": { "x": 100, "y": 200 },
"parameters": { "exchange": "binance", "symbol": "BTC/USDT", "timeframe": "1h" },
"inputs": [],
"outputs": [
{ "id": "ohlcv", "name": "OHLCV", "dataType": "OHLCV" }
]
},
{
"id": "node-2",
"type": "rsi",
"position": { "x": 400, "y": 200 },
"parameters": { "period": 14 },
"inputs": [
{ "id": "ohlcv", "name": "OHLCV", "dataType": "OHLCV", "required": true }
],
"outputs": [
{ "id": "rsi", "name": "RSI", "dataType": "NUMBER" }
]
},
{
"id": "node-3",
"type": "threshold_signal",
"position": { "x": 700, "y": 100 },
"parameters": { "upperThreshold": 70, "lowerThreshold": 30 },
"inputs": [
{ "id": "input", "name": "Input", "dataType": "NUMBER", "required": true }
],
"outputs": [
{ "id": "signal", "name": "Signal", "dataType": "SIGNAL" }
]
},
{
"id": "node-4",
"type": "signal_to_order",
"position": { "x": 1000, "y": 100 },
"parameters": { "orderType": "market", "quantity": 0.01 },
"inputs": [
{ "id": "signal", "name": "Signal", "dataType": "SIGNAL", "required": true }
],
"outputs": [
{ "id": "order", "name": "Order", "dataType": "ORDER" }
]
}
],
"connections": [
{
"id": "conn-1",
"source": { "nodeId": "node-1", "portId": "ohlcv" },
"target": { "nodeId": "node-2", "portId": "ohlcv" }
},
{
"id": "conn-2",
"source": { "nodeId": "node-2", "portId": "rsi" },
"target": { "nodeId": "node-3", "portId": "input" }
},
{
"id": "conn-3",
"source": { "nodeId": "node-3", "portId": "signal" },
"target": { "nodeId": "node-4", "portId": "signal" }
}
],
"parameters": {},
"version": 1,
"status": "draft",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
}Kinh nghiệm thiết kế chiến lược với AI
Mẹo nhỏ khi giao tiếp với trợ lý AI
Giữ chiến lược ở trạng thái bản nháp
- Luôn thiết lập trường `status` là `"draft"` để chiến lược có thể mở và tùy chỉnh an toàn trong Strategy Builder. icon:shield-check
Sử dụng chính xác loại khối chức năng
- Chỉ sử dụng các định dạng `type` khối có trong tài liệu schema, hệ thống sẽ từ chối nhập nếu xuất hiện loại khối lạ. icon:box
Kết nối đầy đủ các cổng bắt buộc
- Mọi cổng đầu vào (input port) có đánh dấu `required: true` đều phải được liên kết trước khi thực hiện nhập. icon:clipboard
Đảm bảo tính tương thích kiểu dữ liệu
- Chỉ thực hiện liên kết giữa các cổng có cùng kiểu dữ liệu, ví dụ nối cổng kiểu `OHLCV` sang cổng nhận kiểu `OHLCV`. icon:code
Cung cấp đầy đủ tài liệu schema cho AI
- Việc tải lên tệp schema đầy đủ giúp trợ lý AI nắm được toàn bộ danh mục khối chức năng, các tham số hợp lệ và giới hạn cấu hình. icon:download