Skip to content

Danh sách chiến lược

Mô tả API

Truy vấn phân trang các chiến lược hiện có. API hỗ trợ lọc theo loại thị trường và nhãn rủi ro, trả về thông tin cơ bản chiến lược, mã giao dịch, tóm tắt hiệu suất và xu hướng NAV.

URL yêu cầu

  • Phương thức: POST
  • Đường dẫn: /open/v1/strategy/page

Điểm tín phí

  • Điểm tín phí mỗi lần gọi: 1

Tham số yêu cầu

Tham số gửi trong body dạng JSON.

Tên tham sốKiểuBắt buộcMặc địnhMô tả
pageNumintegerKhông1Số trang; giá trị tối thiểu là 1
pageSizeintegerKhông20Số lượng mỗi trang; phạm vi 1–100
marketTypestringKhông-Loại thị trường; hỗ trợ spot, perpetual, delivery; khớp chính xác
riskLabelstringKhông-Mức rủi ro; hỗ trợ low, medium, high; khớp chính xác
languagestringKhôngzh-CNNgôn ngữ nội dung phản hồi; hỗ trợ zh-CN, zh-TW, en-US, vi-VN, ja-JP, ko-KR; trả về 70005 khi nội dung theo ngôn ngữ yêu cầu tạm thời không khả dụng; trả về 40002 với giá trị không được hỗ trợ

Ví dụ yêu cầu

bash
curl --location 'https://api.valuescan.ai/api/open/v1/strategy/page' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: xxxxx' \
--header 'X-TIMESTAMP: xxxxx' \
--header 'X-SIGN: xxxxx' \
--data '{
  "pageNum": 1,
  "pageSize": 20,
  "marketType": "perpetual",
  "riskLabel": "medium",
  "language": "zh-CN"
}'

Trường phản hồi

Tỷ suất lợi nhuận và tỷ lệ sụt giảm trong tài liệu này đều là số thập phân, ví dụ 0.12 tương ứng 12%; ts, fromTstoTs đều là Unix timestamp tính bằng giây.

data là đối tượng phân trang:

TrườngKiểuMô tả
recordsarrayDanh sách chiến lược của trang hiện tại
totallongTổng số bản ghi khớp điều kiện
sizelongSố lượng mỗi trang
currentlongSố trang hiện tại
pageslongTổng số trang

Các trường chính trong mỗi phần tử của records:

TrườngKiểuMô tả
idlongID chiến lược ValueScan; dùng khi truy vấn chi tiết chiến lược
namestringTên chiến lược
descriptionstringMô tả chiến lược
riskLabelstringMức rủi ro: low, medium hoặc high
marketTypestringLoại thị trường: spot, perpetual hoặc delivery
performanceobjectTóm tắt hiệu suất chiến lược
providerStatusstringTrạng thái dữ liệu chiến lược: active, paused hoặc retired
publishStatusintegerTrạng thái khả dụng chiến lược; chiến lược hiện khả dụng là 300
signalStatusintegerTrạng thái tín hiệu chiến lược
lastSignalSeqlongSố thứ tự tín hiệu mới nhất; có thể null
lastSignalTslongUnix timestamp giây của tín hiệu mới nhất; có thể null
tokensarrayDanh sách mã giao dịch, gồm vsTokenId, symbol, name, icon
maxLeveragenumberĐòn bẩy tối đa; có thể null
avgLeveragenumberĐòn bẩy trung bình; có thể null
liveSignalDayslongSố ngày chạy tín hiệu live; có thể null
backtestCagrnumberCAGR backtest; có thể null
winRatenumberTỷ lệ thắng; có thể null
maxDrawdown30dnumberTỷ lệ sụt giảm tối đa trong 30 ngày lịch UTC gần nhất, ví dụ 0.12 tương ứng 12%; null khi dữ liệu NAV không đủ
trendobjectXu hướng NAV, gồm mảng backtestlive; mỗi điểm gồm ts, nav

Các trường của performance:

TrườngKiểuMô tả
navKindstringLoại NAV dùng cho hiệu suất: backtest, live hoặc blended
fromTslongUnix timestamp giây bắt đầu thống kê
toTslongUnix timestamp giây kết thúc thống kê
totalReturnnumberTỷ suất lợi nhuận tích lũy, ví dụ 0.25 tương ứng 25%
cagrnumberTỷ suất lợi nhuận kép hằng năm
sharpenumberHệ số Sharpe
maxDrawdownnumberTỷ lệ sụt giảm tối đa toàn kỳ

Các trường trong mỗi phần tử của tokens:

TrườngKiểuMô tả
vsTokenIdlongID token ValueScan
symbolstringKý hiệu token
namestringTên token
iconstringURL biểu tượng token

Các trường của mỗi điểm NAV trong trend.backtesttrend.live:

TrườngKiểuMô tả
tslongUnix timestamp tính bằng giây
navnumberNAV tại thời điểm đó

Ví dụ phản hồi thành công

json
{
  "code": 200,
  "message": "success",
  "data": {
    "records": [
      {
        "id": 1001,
        "name": "BTC Trend Strategy",
        "description": "Trend-following strategy for BTC perpetual futures.",
        "riskLabel": "medium",
        "marketType": "perpetual",
        "providerStatus": "active",
        "publishStatus": 300,
        "signalStatus": 200,
        "lastSignalSeq": 128,
        "lastSignalTs": 1751328000,
        "tokens": [
          {
            "vsTokenId": 1,
            "symbol": "BTC",
            "name": "Bitcoin",
            "icon": "https://static.valuescan.io/valuescan/cmc/coins/1.png"
          }
        ],
        "maxLeverage": 3,
        "avgLeverage": 1.5,
        "liveSignalDays": 30,
        "backtestCagr": 0.25,
        "winRate": 0.58,
        "maxDrawdown30d": 0.08,
        "performance": {
          "navKind": "blended",
          "fromTs": 1735689600,
          "toTs": 1751328000,
          "totalReturn": 0.31,
          "cagr": 0.25,
          "sharpe": 1.42,
          "maxDrawdown": 0.12
        },
        "trend": {
          "backtest": [{"ts": 1735689600, "nav": 1.0}],
          "live": [{"ts": 1751328000, "nav": 1.03}]
        }
      }
    ],
    "total": 1,
    "size": 20,
    "current": 1,
    "pages": 1
  },
  "requestId": "xxx-xxx-xxx"
}

Mã lỗi

Mã lỗiMô tả
40002Tham số yêu cầu không hợp lệ
50001Endpoint yêu cầu không tồn tại hoặc hiện không khả dụng
60001Vượt quá giới hạn tần suất gọi
70001Không đủ điểm OpenAPI
70002Quyền truy cập OpenAPI của người dùng hiện tại đã bị vô hiệu
70005Nội dung chiến lược theo ngôn ngữ yêu cầu tạm thời không khả dụng