📚 Hướng dẫn kích hoạt Bot với Chiến thuật

Hướng dẫn chi tiết cách gán chiến thuật cho bot và chạy backtest/realtime trading

🎯 Tổng quan hệ thống

Các chiến thuật có sẵn:

✅ CHIENTHUAT01

Chiến thuật cơ bản sử dụng MA, RSI, MACD

Cấu hình: An toàn, Tiêu chuẩn, Tích cực
✅ OFFSET

Chiến thuật giao dịch dựa trên offset

TakeProfit, StopLoss, Entry/Exit Threshold
✅ SINGLECONTRACT

Chiến thuật single contract với Z-score

EntryZ, ExitZ, Sigma Min/Max
✅ INTRADAY

Chiến thuật giao dịch trong ngày

RSI, EMA, MaxDailyTrades

Quy trình hoạt động:

  1. Tạo/Kiểm tra Bot → Đảm bảo bot đã được tạo và kích hoạt
  2. Gán chiến thuật → Gán chiến thuật cụ thể cho bot với cấu hình
  3. Chạy Backtest → Test chiến thuật với dữ liệu lịch sử
  4. Kích hoạt Realtime → Chạy giao dịch thực với chiến thuật đã test
  5. Theo dõi & Quản lý → Xem kết quả và điều chỉnh

📝 Hướng dẫn từng bước

Bước 1: Kiểm tra Bot

Truy cập trang Quản lý Bot để xem danh sách bot hiện có.

URL: https://testql.togogo.vn/Bots
Kiểm tra: Bot cần có trạng thái Active

Nếu chưa có bot: Click nút và điền thông tin.

Bước 2: Chọn chiến thuật

Xác định chiến thuật phù hợp với bot của bạn:

Chiến thuật Phù hợp cho Độ rủi ro
CHIENTHUAT01 Trader mới, ưa thích chỉ báo kỹ thuật Thấp - Trung bình
OFFSET Swing trading, giữ lệnh qua đêm Trung bình
SINGLECONTRACT Statistical arbitrage, mean reversion Trung bình
INTRADAY Day trading, đóng lệnh trong ngày Cao

Bước 3: Gán chiến thuật cho Bot

Sử dụng API hoặc giao diện web để gán chiến thuật:

Cách 1: Qua giao diện Web
  1. Vào trang Quản lý Bot
  2. Click Details trên bot cần cấu hình
  3. Trong phần "Strategies", click Assign Strategy
  4. Chọn chiến thuật và cấu hình
  5. Click Save
Cách 2: Qua API (xem tab "Sử dụng API")

Bước 4: Chạy Backtest

Test chiến thuật với dữ liệu lịch sử trước khi chạy thực:

⚠️ Quan trọng: Luôn chạy backtest trước khi kích hoạt realtime trading!

Vào trang Tạo Backtest và điền:

  • Bot: Chọn bot đã gán chiến thuật
  • Symbol: VN30F2M (hoặc mã khác)
  • Start Date: Ngày bắt đầu (vd: 2025-01-01)
  • End Date: Ngày kết thúc (vd: 2025-02-28)
  • Initial Capital: Vốn ban đầu (vd: 100,000,000 VND)

Bước 5: Xem kết quả Backtest

Sau khi backtest hoàn tất, xem kết quả tại:

  • Danh sách Backtest
  • Click Details để xem chi tiết
  • Xem các chỉ số: Win Rate, Profit Factor, Sharpe Ratio, Max Drawdown
✅ Tiêu chí tốt:
Win Rate > 60% | Profit Factor > 2.0 | Sharpe Ratio > 1.5 | Max Drawdown < 20%

Bước 6: Kích hoạt Realtime Trading

Sau khi backtest đạt yêu cầu, kích hoạt giao dịch thực:

⚠️ Cảnh báo: Realtime trading sử dụng tiền thật. Hãy chắc chắn về cấu hình!

Sử dụng API để kích hoạt (xem tab "Sử dụng API" → "Kích hoạt Realtime")

Bước 7: Theo dõi và Quản lý

🔌 Sử dụng API

1. Xem danh sách chiến thuật

GET https://testql.togogo.vn/api/strategies

2. Gán chiến thuật cho Bot

Endpoint:

POST https://testql.togogo.vn/api/strategies/{strategyKey}/assignments

Body (JSON):

{
  "BotId": 1,
  "StrategyConfigId": 5,
  "IsEnabled": true,
  "CustomConfig": {
    "Symbol": "VN30F2M",
    "InitialCapital": 100000000,
    "Quantity": 5,
    "TakeProfit": 10,
    "StopLoss": 5
  }
}

Ví dụ với curl:

curl -X POST 'https://testql.togogo.vn/api/strategies/CHIENTHUAT01/assignments' \
  -H 'Content-Type: application/json' \
  -d '{
    "BotId": 1,
    "StrategyConfigId": 5,
    "IsEnabled": true,
    "CustomConfig": {
      "Symbol": "VN30F2M",
      "TakeProfit": 10,
      "StopLoss": 5
    }
  }'

3. Chạy Backtest

Endpoint:

POST https://testql.togogo.vn/api/strategies/{strategyKey}/run

Body (JSON):

{
  "BotId": 1,
  "StartDate": "2025-01-01",
  "EndDate": "2025-02-28",
  "InitialCapital": 100000000,
  "Symbol": "VN30F2M",
  "StrategyConfigId": 5
}

4. Kích hoạt Realtime Trading

Endpoint:

POST https://testql.togogo.vn/api/strategies/{strategyKey}/realtime

Body (JSON):

{
  "BotId": 1,
  "Symbol": "VN30F2M",
  "StrategyConfigId": 5,
  "CustomConfig": {
    "Quantity": 5,
    "MaxDailyLoss": 5000000
  }
}

5. Xem chiến thuật đã gán

GET https://testql.togogo.vn/api/strategies/assignments/by-bot/{botId}

6. Tắt/Xóa gán chiến thuật

DELETE https://testql.togogo.vn/api/strategies/{strategyKey}/assignments/{botId}

💡 Ví dụ thực tế

Ví dụ 1: Bot giao dịch VN30F2M với CHIENTHUAT01

Mục tiêu: Giao dịch VN30F2M với chiến thuật MA/RSI/MACD, cấu hình an toàn

Bước 1: Gán chiến thuật

curl -X POST 'https://testql.togogo.vn/api/strategies/CHIENTHUAT01/assignments' \
  -H 'Content-Type: application/json' \
  -d '{
    "BotId": 1,
    "StrategyConfigId": 5,
    "IsEnabled": true,
    "CustomConfig": {
      "Symbol": "VN30F2M",
      "Quantity": 3,
      "StopLoss": 5,
      "TakeProfit": 10
    }
  }'

Bước 2: Chạy backtest 2 tháng

curl -X POST 'https://testql.togogo.vn/api/strategies/CHIENTHUAT01/run' \
  -H 'Content-Type: application/json' \
  -d '{
    "BotId": 1,
    "StartDate": "2025-01-01",
    "EndDate": "2025-02-28",
    "InitialCapital": 100000000,
    "Symbol": "VN30F2M"
  }'

Bước 3: Xem kết quả tại Danh sách Backtest

Ví dụ 2: Bot scalping với INTRADAY

Mục tiêu: Scalping trong ngày, đóng tất cả lệnh cuối phiên

curl -X POST 'https://testql.togogo.vn/api/strategies/INTRADAY/assignments' \
  -H 'Content-Type: application/json' \
  -d '{
    "BotId": 2,
    "IsEnabled": true,
    "CustomConfig": {
      "Symbol": "VN30F2M",
      "Quantity": 5,
      "TakeProfit": 40,
      "StopLoss": 25,
      "MaxDailyTrades": 10,
      "EntryHour": 9,
      "ExitHour": 14
    }
  }'

Ví dụ 3: Multi-strategy Bot

Mục tiêu: Một bot chạy nhiều chiến thuật song song

Gán CHIENTHUAT01:

curl -X POST 'https://testql.togogo.vn/api/strategies/CHIENTHUAT01/assignments' \
  -d '{"BotId": 3, "IsEnabled": true, "CustomConfig": {"Symbol": "VN30F2M", "Quantity": 2}}'

Gán OFFSET:

curl -X POST 'https://testql.togogo.vn/api/strategies/OFFSET/assignments' \
  -d '{"BotId": 3, "IsEnabled": true, "CustomConfig": {"Symbol": "VN30F2M", "Quantity": 2}}'

Kiểm tra:

curl 'https://testql.togogo.vn/api/strategies/assignments/by-bot/3'

Script tự động hóa hoàn chỉnh

Tạo file: setup-bot.sh

#!/bin/bash
BOT_ID=1
STRATEGY="CHIENTHUAT01"
BASE_URL="https://testql.togogo.vn"

echo "=== Gán chiến thuật cho Bot #$BOT_ID ==="
curl -X POST "$BASE_URL/api/strategies/$STRATEGY/assignments" \
  -H 'Content-Type: application/json' \
  -d "{\"BotId\": $BOT_ID, \"IsEnabled\": true, \"CustomConfig\": {\"Symbol\": \"VN30F2M\"}}"

echo -e "\n\n=== Chạy backtest ==="
curl -X POST "$BASE_URL/api/strategies/$STRATEGY/run" \
  -H 'Content-Type: application/json' \
  -d "{\"BotId\": $BOT_ID, \"StartDate\": \"2025-01-01\", \"EndDate\": \"2025-02-28\", \"InitialCapital\": 100000000, \"Symbol\": \"VN30F2M\"}"

echo -e "\n\n=== Kiểm tra trạng thái ==="
curl "$BASE_URL/api/strategies/assignments/by-bot/$BOT_ID"

Chạy: bash setup-bot.sh