Node.js
目錄
- Class: FugleTrade
- Constructor: new FugleTrade(options)
- fugle.login()
- fugle.logout()
- fugle.placeOrder(order)
- fugle.getOrders()
- fugle.replacePrice(order, price)
- fugle.replaceQuantity(order, quantity)
- fugle.cancelOrder(order)
- fugle.getHistoricalOrders()
- fugle.getTransactions(options)
- fugle.getInventories()
- fugle.getSettlements()
- fugle.getBalance()
- fugle.getTradeStatus()
- fugle.getMarketStatus()
- fugle.getKeyInfo()
- fugle.getCertInfo()
- fugle.getMachineTime()
- fugle.streamer
- fugle.streamer.connect()
- fugle.streamer.disconnect()
- Class: Order
- Class property: Order.Side
- Class property: Order.ApCode
- Class property: Order.PriceFlag
- Class property: Order.BsFlag
- Class property: Order.TradeType
- Constructor new Order(payload)
- order.setSymbol(symbol)
- order.setSide(side)
- order.setPrice(price)
- order.setQuantity(quantity)
- order.setApCode(apCode)
- order.setPriceFlag(priceFlag)
- order.setBsFlag(bsFlag)
- order.setTrade(trade)
- order.toObject()
Class: FugleTrade
此類別代表使用遠端伺服器服務的客戶端。
Constructor: new FugleTrade(options)
為 FugleTrade 設置可配置選項。請注意,必須指定 configPath 或 config 選項。
options{Object} 為FugleTrade設置可配置選項。請注意,必須指定configPath或config選項。configPath{string} 透過路徑載入配置文件。config{Object} 設置配置變數。可用的屬性為:apiUrl{string} 富果交易 API URL。apiKey{string} 富果交易 API 金鑰。apiSecret{string} 富果交易 API 私鑰。certPath{string} 憑證路徑。certPass{string} 憑證密碼。aid{string} 證券帳號。password{string} 帳號密碼。
建立一個新的 FugleTrade 實體。
fugle.login()
- Returns: {Promise} 成功後回傳
undefined。
登入到遠端伺服器以開始使用服務。
const { FugleTrade } = require('@fugle/trade');
const fugle = new FugleTrade({ configPath: '/path/to/config.ini' });
fugle.login().then(() => {
// Do something
});
fugle.logout()
- Returns: {Promise} 成功後回傳
undefined。
登出並刪除登入帳號的驗證憑據。
fugle.logout().then(() => {
// Do something
});
fugle.placeOrder(order)
order{Order} 要下的委託單。- Returns: {Promise} 成功後回傳 {PlaceOrderResponse}。
使用登入帳號下委託單。
const { FugleTrade, Order } = require('@fugle/trade');
const fugle = new FugleTrade({ configPath: '/path/to/config.ini' });
fugle.login().then(() => {
const order = new Order({
buySell: Order.Side.Buy,
price: 25.00,
stockNo: '2884',
quantity: 1,
apCode: Order.ApCode.Common,
priceFlag: Order.PriceFlag.Limit,
bsFlag: Order.BsFlag.ROD,
trade: Order.Trade.Cash,
});
fugle.placeOrder(order).then((res) => console.log(res));
});
// Prints:
// {
// ordDate: '20220310', // 委託日期
// ordTime: '094932438', // 委託時間
// ordType: '2', // 委託單狀態 (1:預約單 2:盤中單)
// ordNo: 'A4461', // 委託序號
// retCode: '000000', // 處理結果代碼
// retMsg: '', // 錯誤訊息
// workDate: '20220310' // 有效交易日期
// }
fugle.getOrders()
- Returns: {Promise} 成功後回傳 {OrderResult[]}。
取得登入帳號的現有委託單。
fugle.login().then(() => {
fugle.getOrders().then(res => console.log(res[0].toObject()));
});
// Prints:
// {
// apCode: '1', // 盤別
// avgPrice: 0.0, // 成交均價
// bsFlag: 'R', // 委託條件
// buySell: 'B', // 買賣別
// celQty: 1, // 已取消數量 (張)
// celQtyShare: 1000, // 已取消數量 (股)
// celable: '2', // 可取消狀態 (1:可取消 2:不可取消)
// errCode: '00000000', // 錯誤碼
// errMsg: '', // 錯誤訊息
// matQty: 0, // 已成交數量 (張)
// matQtyShare: 0, // 已成交數量 (股)
// odPrice: 25.95, // 委託價格
// ordDate: '20220310', // 原始委託日期
// ordNo: 'A4461', // 委託書編號
// ordStatus: '2', // 預約狀態 (1:預約單 2:盤中單)
// ordTime: '094932438', // 原始委託時間
// orgQty: 1, // 原始委託數量 (張)
// orgQtyShare: 1000, // 原始委託數量 (股)
// preOrdNo: '', // 預約單編號
// priceFlag: '2', // 價格旗標
// stockNo: '2884', // 股票代號
// trade: '0', // 交易類別
// workDate: '20220310', // 有效交易日期
// memo: '' // 自訂欄位
// }