Go

API Services

Chi tiết các method API cho mỗi service trong Go SDK

1. Xác thực (TokenManager)

Truy cập qua auth.TokenManager hoặc trực tiếp trên auth (được uỷ quyền).

Xác thực với OTP

token, err := auth.Authenticate("222222")
if err != nil {
    log.Fatal(err)
}
log.Printf("Access token: %s", token.AccessToken)

Yêu cầu gửi OTP

result, err := auth.RequestOTP()

Làm mới token

token, err := auth.Refresh()

Kiểm tra trạng thái token

if auth.TokenManager.IsTokenExpired() {
    auth.Refresh()
}

accessToken := auth.AccessToken()

2. Tài khoản (AccountService)

Truy cập qua t.Account.

Lấy danh sách tài khoản

accounts, err := t.Account.GetAccountInfo()

for _, acc := range accounts {
    fmt.Printf("%s (%s)\n", acc.AccountNo, acc.AccountType)
}

Trả về: []Account — mỗi AccountAccountNo string, AccountType string.


3. Dữ liệu thị trường (MarketDataService)

Truy cập qua data.MarketData. Không cần OTP.

3.1. Dữ liệu OHLC (nến)

Trong ngày:

MethodKhung thời gian
GetOHLC1Minute(symbol)1 phút
GetOHLC3Minute(symbol)3 phút
GetOHLC5Minute(symbol)5 phút
GetOHLC15Minute(symbol)15 phút
GetOHLC1Hour(symbol)1 giờ
ohlc, err := data.MarketData.GetOHLC1Minute("SSI")
if err != nil {
    log.Fatal(err)
}
for _, candle := range ohlc {
    fmt.Printf("%s: O=%.0f H=%.0f L=%.0f C=%.0f V=%d\n",
        candle.TradingDate, candle.OpenPrice, candle.HighPrice,
        candle.LowPrice, candle.ClosePrice, candle.Volume)
}

Lịch sử (với khoảng ngày + phân trang):

MethodKhung thời gian
GetOHLC1MinuteHistorical(symbol, fromDate, toDate, page, size)1 phút
GetOHLC3MinuteHistorical(...)3 phút
GetOHLC5MinuteHistorical(...)5 phút
GetOHLC15MinuteHistorical(...)15 phút
GetOHLC1HourHistorical(...)1 giờ
GetOHLC1DayHistorical(...)1 ngày
GetOHLC1WeekHistorical(...)1 tuần
GetOHLC1MonthHistorical(...)1 tháng
ohlc, err := data.MarketData.GetOHLC1DayHistorical(
    "SSI", "2026/03/27", "2026/04/22", 1, 100,
)

Tham số lịch sử:

Tham sốKiểuMặc địnhMô tả
symbolstring(bắt buộc)Mã chứng khoán
fromDatestring(bắt buộc)Ngày bắt đầu (yyyy/MM/dd)
toDatestring(bắt buộc)Ngày kết thúc (yyyy/MM/dd)
pageint1Số trang
sizeint1000Số bản ghi mỗi trang

Trả về: []OHLCData

3.1b. Download OHLC

Tải dữ liệu OHLC dạng raw (trả về map[string]interface{}):

MethodMô tả
DownloadOHLC1Minute(symbol)Dữ liệu raw 1 phút
DownloadOHLC1Day(symbol)Dữ liệu raw ngày
// Download dữ liệu OHLC (trả về raw map)
rawData, err := data.MarketData.DownloadOHLC1Minute("SSI")
rawData, err := data.MarketData.DownloadOHLC1Day("SSI")

3.2. Chỉ số thị trường

// Tất cả chỉ số
indexes, err := data.MarketData.GetIndexes()

// Theo sàn
import "github.com/SSI-Securities-Inc/ssi-sdk-go/v3/market"
indexes, err := data.MarketData.GetIndexesByBoard(market.BoardHOSE)

for _, idx := range indexes {
    fmt.Printf("%s - %s\n", idx.Index, idx.IndexName)
}

Trả về: []MarketIndexes

3.3. Tổng hợp chỉ số (Index Summary)

// Tổng hợp hiện tại
summary, err := data.MarketData.GetIndexSummary("VNINDEX")

// Tổng hợp lịch sử
summary, err := data.MarketData.GetIndexSummaryHistorical("VNINDEX", "2026/01/15")

// Tổng hợp theo sàn
summary, err := data.MarketData.GetBoardSummary(market.BoardHOSE)

// Tổng hợp theo sàn lịch sử
summary, err := data.MarketData.GetBoardSummaryHistorical(market.BoardHOSE, "2026/01/15")

Trả về: MarketIndexSummary

3.4. Thông tin chứng khoán

// Một mã
info, err := data.MarketData.GetSecuritiesInfo("SSI")

// Theo chỉ số
securities, err := data.MarketData.GetSecuritiesInfoByIndex("VN30")

// Theo sàn
securities, err := data.MarketData.GetSecuritiesInfoByBoard(market.BoardHOSE)

Trả về: SecuritiesInfo

3.5. Tổng hợp chứng khoán (Securities Summary)

// Tổng hợp hiện tại
summary, err := data.MarketData.GetSecuritiesSummary("SSI")

// Tổng hợp lịch sử
summary, err := data.MarketData.GetSecuritiesSummaryHistorical(
    "SSI", "2026/03/01", "2026/03/31",
)

// Theo chỉ số
summary, err := data.MarketData.GetSecuritiesSummaryByIndex("VN30")

// Theo chỉ số lịch sử
summary, err := data.MarketData.GetSecuritiesSummaryByIndexHistorical(
    "VN30", "2026/03/01", "2026/03/31",
)

Trả về: []SecuritiesSummary


4. Danh mục (PortfolioService)

Truy cập qua t.Portfolio.

4.1. Số dư tài khoản

// Số dư cổ phiếu
balance, err := t.Portfolio.GetEquityBalance("1234561")

// Số dư phái sinh
derBalance, err := t.Portfolio.GetDerivativeBalance("1234568")

4.2. Vị thế

// Vị thế cổ phiếu
positions, err := t.Portfolio.GetEquityPositions("1234561")
for _, pos := range positions {
    fmt.Printf("%s: %d cổ | Giá vốn: %.0f\n", pos.Symbol, pos.Quantity, pos.CostPrice)
}

// Tất cả vị thế phái sinh
derPositions, err := t.Portfolio.GetDerivativePositions("1234568")

// Chỉ vị thế đang mở
openPos, err := t.Portfolio.GetOpenDerivativePositions("1234568")

// Chỉ vị thế đã đóng
closedPos, err := t.Portfolio.GetClosedDerivativePositions("1234568")

4.3. Sổ lệnh

// Lệnh trong ngày
orders, err := t.Portfolio.GetTodayOrders("1234561")
for _, order := range orders {
    fmt.Printf("%s: %s %s %d@%.0f - %s\n",
        order.OrderID, order.Symbol, order.Side, order.Quantity, order.Price, order.Status)
}

// Lệnh lịch sử
orders, err := t.Portfolio.GetHistoricalOrders("1234561", "2026/01/01", "2026/01/31")

4.4. PPMMR

// PPMMR cổ phiếu
ppmmr, err := t.Portfolio.GetEquityPPMMR("1234561")

// PPMMR phái sinh
derPPMMR, err := t.Portfolio.GetDerivativePPMMR("1234568")

Tổng quan method Portfolio

NhómMethodTrả về
Số dưGetEquityBalance(accountNo)EquityAccountBalance
GetDerivativeBalance(accountNo)DerivativeAccountBalance
Vị thếGetEquityPositions(accountNo)[]EquityPosition
GetDerivativePositions(accountNo)[]AllDerivativePosition
GetOpenDerivativePositions(accountNo)[]DerivativePosition
GetClosedDerivativePositions(accountNo)[]DerivativePosition
Sổ lệnhGetTodayOrders(accountNo)[]Order
GetHistoricalOrders(accountNo, fromDate, toDate)[]Order
PPMMRGetEquityPPMMR(accountNo)EquityPPMMR
GetDerivativePPMMR(accountNo)DerivativePPMMR

5. Giao dịch (TradingService)

Truy cập qua t.Trading.

5.1. Đặt lệnh

import "github.com/SSI-Securities-Inc/ssi-sdk-go/v3/trading"

// Lệnh giới hạn (LO)
result, err := t.Trading.PlaceLimitOrder("1234561", "SSI", trading.OrderSideBuy, 100, 66000)

// Lệnh thị trường (MTL)
result, err := t.Trading.PlaceMarketOrder("1234561", "SSI", trading.OrderSideBuy, 100)

// Lệnh ATO (mở cửa)
result, err := t.Trading.PlaceATOOrder("1234561", "SSI", trading.OrderSideBuy, 100)

// Lệnh ATC (đóng cửa)
result, err := t.Trading.PlaceATCOrder("1234561", "SSI", trading.OrderSideSell, 100)

// Loại lệnh tuỳ chỉnh
result, err := t.Trading.PlaceOrder(
    "1234561", "SSI", trading.OrderSideBuy, 100, 66000, trading.OrderTypeLO,
)

fmt.Printf("Order ID: %s, Status: %s\n", result.OrderID, result.Status)

5.2. Sửa lệnh

Chỉ có thể sửa giá hoặc khối lượng (không sửa cả hai cùng lúc).

// Sửa giá theo client_request_id
result, err := t.Trading.ModifyOrderPrice("1234561", "REQ123", 68000)

// Sửa giá theo order_id
result, err := t.Trading.ModifyOrderPriceByOrderID("1234561", "ORD123", 68000)

// Sửa khối lượng theo client_request_id
result, err := t.Trading.ModifyOrderQuantity("1234561", "REQ123", 200)

// Sửa khối lượng theo order_id
result, err := t.Trading.ModifyOrderQuantityByOrderID("1234561", "ORD123", 200)

5.3. Huỷ lệnh

// Huỷ theo client_request_id
result, err := t.Trading.CancelOrder("1234561", "REQ123")

// Huỷ theo order_id
result, err := t.Trading.CancelOrderByOrderID("1234561", "ORD123")

5.4. Sức mua/bán tối đa

// Với giá cụ thể
price := 66000.0
maxBS, err := t.Trading.GetMaxBuySell("1234561", "SSI", &price)
fmt.Printf("Max mua: %d, Max bán: %d\n", maxBS.MaxBuyQuantity, maxBS.MaxSellQuantity)

// Theo giá thị trường
maxBS, err := t.Trading.GetMaxBuySellAtMarketPrice("1234561", "SSI")

Tổng quan method Trading

NhómMethodTrả về
Đặt lệnhPlaceOrder(accountNo, symbol, side, qty, price, orderType)PlaceOrderResponse
PlaceLimitOrder(accountNo, symbol, side, qty, price)PlaceOrderResponse
PlaceMarketOrder(accountNo, symbol, side, qty)PlaceOrderResponse
PlaceATOOrder(accountNo, symbol, side, qty)PlaceOrderResponse
PlaceATCOrder(accountNo, symbol, side, qty)PlaceOrderResponse
Sửa lệnhModifyOrderPrice(accountNo, clientRequestID, price)ModifyOrderResponse
ModifyOrderPriceByOrderID(accountNo, orderID, price)ModifyOrderResponse
ModifyOrderQuantity(accountNo, clientRequestID, qty)ModifyOrderResponse
ModifyOrderQuantityByOrderID(accountNo, orderID, qty)ModifyOrderResponse
Huỷ lệnhCancelOrder(accountNo, clientRequestID)CancelOrderResponse
CancelOrderByOrderID(accountNo, orderID)CancelOrderResponse
Sức mua/bánGetMaxBuySell(accountNo, symbol, price)MaxBuySellResponse
GetMaxBuySellAtMarketPrice(accountNo, symbol)MaxBuySellResponse
Lệnh điều kiệnPlaceFcoGtd(accountNo, symbol, side, qty, price, priceSlip, fromDate, toDate)FCOPlaceResponse
PlaceFcoStop(accountNo, symbol, side, qty, stopPrice, operator, fromDate, toDate)FCOPlaceResponse
PlaceFcoStopLimit(accountNo, symbol, side, qty, price, priceSlip, stopPrice, operator, fromDate, toDate)FCOPlaceResponse
PlaceFcoTrailingStop(accountNo, symbol, side, qty, activePrice, trailingAmount, fromDate, toDate)FCOPlaceResponse
PlaceFcoTrailingStopLimit(accountNo, symbol, side, qty, activePrice, trailingAmount, priceSlip, fromDate, toDate)FCOPlaceResponse
PlaceFcoOco(accountNo, symbol, side, qty, tpActivePrice, slActivePrice, tpPrice, slPrice, tpSlip, slSlip, fromDate, toDate)FCOPlaceResponse
PlaceFcoBullBear(accountNo, symbol, side, qty, price, priceSlip, tpActivePrice, slActivePrice, tpPrice, slPrice, tpSlip, slSlip, fromDate, toDate)FCOPlaceResponse
CancelFco(fcoID)FCOCancelResponse
GetFcoByAccountNo(accountNo, pageIndex, pageSize)FCOListResponse
GetFcoBySymbol(accountNo, symbol, pageIndex, pageSize)FCOListResponse
GetFcoByStatus(accountNo, status, pageIndex, pageSize)FCOListResponse
GetFcoByDate(accountNo, fromDate, toDate, pageIndex, pageSize)FCOListResponse
GetFcoById(accountNo, fcoID)*FCOInfo
GetFcoOrderBook(fcoID, pageIndex, pageSize)FCOOrderBookResponse

5.5. Lệnh điều kiện (Flexible Conditional Orders - FCO)

SDK hỗ trợ 7 loại lệnh điều kiện linh hoạt FCO, tra cứu danh sách lệnh FCO, nhật ký sổ lệnh FCO và hủy lệnh FCO:

import (
    "github.com/SSI-Securities-Inc/ssi-sdk-go/v3/internal/util"
    "github.com/SSI-Securities-Inc/ssi-sdk-go/v3/trading"
)

accountNo := "1234561"
fromDate := util.BeginningOfDay() // "YYYY/MM/DD 00:00:00"
toDate := util.EndOfDay()         // "YYYY/MM/DD 23:59:59"

// 1. Đặt lệnh GTD (Good Till Date)
gtd, err := t.Trading.PlaceFcoGtd(
    accountNo, "SSI", trading.OrderSideBuy, 100, 25000, 500, fromDate, toDate,
)

// 2. Đặt lệnh Stop Market
stop, err := t.Trading.PlaceFcoStop(
    accountNo, "SSI", trading.OrderSideSell, 100, 24000, trading.FCOOperatorLesserOrEqual, fromDate, toDate,
)

// 3. Đặt lệnh Stop Limit
stopLimit, err := t.Trading.PlaceFcoStopLimit(
    accountNo, "SSI", trading.OrderSideBuy, 100, 25500, 500, 25000, trading.FCOOperatorGreaterOrEqual, fromDate, toDate,
)

// 4. Đặt lệnh Trailing Stop
trailing, err := t.Trading.PlaceFcoTrailingStop(
    accountNo, "SSI", trading.OrderSideBuy, 100, 26000, 1000, fromDate, toDate,
)

// 5. Đặt lệnh Trailing Stop Limit
trailingLimit, err := t.Trading.PlaceFcoTrailingStopLimit(
    accountNo, "SSI", trading.OrderSideBuy, 100, 26000, 1000, 500, fromDate, toDate,
)

// 6. Đặt lệnh OCO (One-Cancels-the-Other)
oco, err := t.Trading.PlaceFcoOco(
    accountNo, "SSI", trading.OrderSideSell, 100, 30000, 24000, trading.OrderTypeMTL, trading.OrderTypeMTL, 500, 500, fromDate, toDate,
)

// 7. Đặt lệnh Bull Bear
bullBear, err := t.Trading.PlaceFcoBullBear(
    accountNo, "SSI", trading.OrderSideBuy, 1000, 100.5, 10, 30, 20, 30, 10, 0.1, 0, fromDate, toDate,
)

// Hủy lệnh FCO
cancelRes, err := t.Trading.CancelFco(gtd.FCOID)

Trả về: FCOPlaceResponse (FCOID) khi đặt lệnh, FCOCancelResponse (FCOID) khi huỷ lệnh.

// Tra cứu danh sách lệnh FCO theo tài khoản
fcoList, err := t.Trading.GetFcoByAccountNo(accountNo, 1, 10)

// Tra cứu theo mã chứng khoán
fcoList, err := t.Trading.GetFcoBySymbol(accountNo, "SSI", 1, 10)

// Tra cứu theo trạng thái xử lý
fcoList, err := t.Trading.GetFcoByStatus(accountNo, trading.FCOStatusTrit, 1, 10)

// Tra cứu theo khoảng ngày
fcoList, err := t.Trading.GetFcoByDate(accountNo, "2026/07/01", "2026/07/21", 1, 10)

// Lấy một lệnh FCO cụ thể theo ID
fcoInfo, err := t.Trading.GetFcoById(accountNo, "fco-id-here")

// Lấy nhật ký khớp lệnh (order book) của lệnh FCO
orderBook, err := t.Trading.GetFcoOrderBook("fco-id-here", 1, 10)

Lưu ý: Các method tra cứu danh sách hỗ trợ tham số pageIndex/pageSize để phân trang.


6. Streaming Realtime (StreamingService)

Truy cập qua s.Streaming. Gọi s.Connect() trước.

6.1. Kết nối

s := ssi.NewStream(auth)
defer s.Disconnect()

if err := s.Connect(); err != nil {
    log.Fatal(err)
}

// Chờ vô thời hạn
s.Wait(nil)

// Chờ với timeout
timeout := 30 * time.Second
s.Wait(&timeout)

6.2. Thiết lập Callbacks

import "github.com/SSI-Securities-Inc/ssi-sdk-go/v3/stream"

s.Streaming.SetOnData(func(msg interface{}) {
    switch m := msg.(type) {
    case *stream.TradeMessage:
        fmt.Printf("[TRADE] %s | Giá: %.0f | KL: %d\n", m.Symbol, m.Price, m.Quantity)
    case *stream.QuoteMessage:
        fmt.Printf("[QUOTE] %s | Mua: %v | Bán: %v\n", m.Symbol, m.BidPrices, m.AskPrices)
    case *stream.ForeignRoomMessage:
        fmt.Printf("[ROOM] %s | KL Mua: %d | KL Bán: %d\n", m.Symbol, m.BuyQuantity, m.SellQuantity)
    case *stream.MarketStatusMessage:
        fmt.Printf("[MARKET] %s | Trạng thái: %s\n", m.Market, m.Status)
    case *stream.PutMessage:
        fmt.Printf("[PUT] %s | %.0f x %d\n", m.Symbol, m.Price, m.Quantity)
    case *stream.OddLotMessage:
        fmt.Printf("[ODDLOT] %s | %.0f x %d\n", m.Symbol, m.Price, m.Quantity)
    case *stream.IntervalMessage:
        fmt.Printf("[OHLCV] %s | O=%.0f H=%.0f L=%.0f C=%.0f V=%d\n",
            m.Symbol, m.Open, m.High, m.Low, m.Close, m.Volume)
    }
})

s.Streaming.SetOnTrading(func(msg interface{}) {
    switch m := msg.(type) {
    case *stream.OrderStatusMessage:
        fmt.Printf("[ORDER] %s %s | Trạng thái: %s\n", m.Symbol, m.Side, m.Status)
    case *stream.FCOOrderUpdateMessage:
        fmt.Printf("[FCO ORDER] %s | ProcessStatus: %s\n", m.Symbol, m.ProcessStatus)
    case *stream.PortfolioMessage:
        fmt.Printf("[PORTFOLIO] %s | Tổng: %.0f\n", m.AccountNo, m.TotalAsset)
    }
})

s.Streaming.SetOnHeartbeat(func(msg *stream.HeartbeatMessage) {
    fmt.Printf("[HEARTBEAT] %v\n", msg)
})

6.3. Subscribe dữ liệu thị trường

import "github.com/SSI-Securities-Inc/ssi-sdk-go/v3/market"

// Tất cả kênh (trade + quote + room) cho mã
s.Streaming.SubscribeSymbol([]string{"SSI", "HPG", "VIC"}, nil)

// Kênh riêng lẻ
s.Streaming.SubscribeSymbolTrade([]string{"SSI", "HPG"}, nil)
s.Streaming.SubscribeSymbolQuote([]string{"SSI", "HPG"}, nil)
s.Streaming.SubscribeSymbolRoom([]string{"SSI", "HPG"}, nil)
s.Streaming.SubscribeSymbolPutThrough([]string{"SSI"}, nil)
s.Streaming.SubscribeSymbolOddLot([]string{"SSI"}, nil)

// OHLCV theo timeframe
import "github.com/SSI-Securities-Inc/ssi-sdk-go/v3/market"
s.Streaming.SubscribeSymbolOhlcv([]string{"SSI"}, market.TimeframeMinute1, nil)

// Theo sàn
s.Streaming.SubscribeBoard([]market.Board{market.BoardHOSE, market.BoardHNX}, nil)

// Theo chỉ số
s.Streaming.SubscribeIndex([]string{"VNINDEX", "VN30"}, nil)

6.4. Unsubscribe

s.Streaming.UnsubscribeSymbol([]string{"SSI", "HPG"})
s.Streaming.UnsubscribeSymbolTrade([]string{"SSI"})
s.Streaming.UnsubscribeSymbolQuote([]string{"SSI"})
s.Streaming.UnsubscribeSymbolRoom([]string{"SSI"})
s.Streaming.UnsubscribeSymbolPutThrough([]string{"SSI"})
s.Streaming.UnsubscribeSymbolOddLot([]string{"SSI"})
s.Streaming.UnsubscribeSymbolOhlcv([]string{"SSI"}, market.TimeframeMinute1)
s.Streaming.UnsubscribeBoard([]market.Board{market.BoardHOSE})
s.Streaming.UnsubscribeIndex([]string{"VNINDEX"})

6.5. Subscribe sự kiện giao dịch

// Trạng thái lệnh — tất cả tài khoản
s.Streaming.SubscribeOrderStatus("", nil)

// Cho tài khoản cụ thể
s.Streaming.SubscribeOrderStatus("1234561", nil)

// Lệnh điều kiện (FCO) — hiện là alias của SubscribeOrderStatus
s.Streaming.SubscribeFcoOrderStatus("1234561", nil)

// Danh mục — tất cả tài khoản
s.Streaming.SubscribePortfolio("", nil)

// Cho tài khoản cụ thể
s.Streaming.SubscribePortfolio("1234561", nil)

6.6. Heartbeat

// Ping một lần (không callback, không lặp)
s.Streaming.Ping(nil, nil)

// Ping lặp lại theo interval
interval := 30 * time.Second
s.Streaming.Ping(nil, &interval)

// Dừng ping loop tự động
s.Streaming.StopPingLoop()

6.7. Trạng thái kết nối

if s.Streaming.IsConnected() {
    fmt.Println("WebSocket connected")
}

Loại message qua SetOnData

TopicMessage TypeMô tả
trade.**stream.TradeMessageDữ liệu khớp lệnh
quote.**stream.QuoteMessageDữ liệu mua/bán
room.**stream.ForeignRoomMessageRoom ngoại
market.**stream.MarketStatusMessageTrạng thái thị trường
put.**stream.PutMessageThoả thuận
oddlot.**stream.OddLotMessageLô lẻ
trade.*.<timeframe>*stream.IntervalMessageDữ liệu OHLCV theo interval

Loại message qua SetOnTrading

TopicMessage TypeMô tả
order.**stream.OrderStatusMessageCập nhật trạng thái lệnh thường
*stream.FCOOrderUpdateMessageCập nhật trạng thái lệnh điều kiện (khi EventType == "fcoEvent")
portfolio.**stream.PortfolioMessageThay đổi danh mục

Tổng quan method Streaming

NhómMethodMô tả
Kết nốiConnect()Kết nối WebSocket
Disconnect()Ngắt kết nối
Wait(timeout *time.Duration)Chờ dữ liệu
IsConnected()Kiểm tra trạng thái kết nối
HeartbeatPing(onResponse, interval *time.Duration)Ping server (một lần nếu intervalnil)
StopPingLoop()Dừng ping loop tự động
SymbolSubscribeSymbol(symbols, callback)Trade + Quote + Room
SubscribeSymbolTrade(symbols, callback)Chỉ Trade
SubscribeSymbolQuote(symbols, callback)Chỉ Quote
SubscribeSymbolRoom(symbols, callback)Chỉ Room ngoại
SubscribeSymbolPutThrough(symbols, callback)Chỉ thoả thuận
SubscribeSymbolOddLot(symbols, callback)Chỉ lô lẻ
SubscribeSymbolOhlcv(symbols, interval, callback)OHLCV theo timeframe
Sàn/Chỉ sốSubscribeBoard(boards, callback)Theo sàn
SubscribeIndex(indices, callback)Theo chỉ số
Giao dịchSubscribeOrderStatus(accountNo, callback)Trạng thái lệnh
SubscribeFcoOrderStatus(accountNo, callback)Trạng thái lệnh điều kiện (FCO)
SubscribePortfolio(accountNo, callback)Thay đổi danh mục
UnsubscribeUnsubscribeSymbol(symbols)Huỷ tất cả kênh
UnsubscribeSymbolTrade(symbols)Huỷ trade
UnsubscribeSymbolQuote(symbols)Huỷ quote
UnsubscribeSymbolRoom(symbols)Huỷ room
UnsubscribeSymbolPutThrough(symbols)Huỷ thoả thuận
UnsubscribeSymbolOddLot(symbols)Huỷ lô lẻ
UnsubscribeSymbolOhlcv(symbols, interval)Huỷ OHLCV
UnsubscribeBoard(boards)Huỷ sàn
UnsubscribeIndex(indices)Huỷ chỉ số

Trên trang này