未實現損益查詢
UnrealizedGainsAndLoses
輸入參數
| 參數 | 類別 | 說明 |
|---|---|---|
| account | Account | 帳號 |
Result 回傳
| 參數 | 類別 | 說明 |
|---|---|---|
| IsSuccess | bool | 是否成功 |
| Data | *[]UnrealizedData | 回傳未實現損益列表 |
| Message | *string | 當 IsSuccess = false 回傳錯誤訊息 |
未實現 UnrealizedData 欄位
| 參數 | 類別 | 說明 |
|---|---|---|
| Date | *string | 庫存建立日 |
| BranchNo | *string | 分公司代號 |
| StockNo | *string | 股票代號 |
| BuySell | BsAction | 買賣別 : BsActionBuy 買 、 BsActionSell 賣 |
| OrderType | OrderType | 委託單類型 : OrderTypeStock 現股 、 OrderTypeMargin 融資 、 OrderTypeShort 融券 、 OrderTypeDayTrade 現股當沖、OrderTypeSbl 借券 |
| CostPrice | *string | 成本價 |
| TradableQty | *int64 | 可交易餘額 |
| TodayQty | *int64 | 今日餘額 |
| UnrealizedProfit | *int64 | 未實現獲利 |
| UnrealizedLoss | *int64 | 未實現虧損 |
info
現股交易 buy_sell 皆為 Buy,以餘額正負號顯示淨買賣部位;若為信用交易,則 buy_sell 為 Buy 或 Sell,顯示買賣類別
請求範例
package main
import (
"fmt"
"fubon"
)
func main() {
sdk := fubon.NewSDK()
// ... 登入、連線等初始化步驟 ...
// 查詢未實現損益
unreal, err := sdk.Accounting.UnrealizedGainsAndLoses(account)
if err != nil {
fmt.Printf("❌ Unrealized P&L Format/Parser Error: %v\n", err)
return
}
if unreal.IsSuccess && unreal.Data != nil {
fmt.Printf("✅ Found %d positions\n", len(*unreal.Data))
totalProfit := int64(0)
totalLoss := int64(0)
for _, u := range *unreal.Data {
fmt.Printf("\n股票: %s\n", *u.StockNo)
fmt.Printf("成本價: %s\n", *u.CostPrice)
fmt.Printf("今日餘額: %d\n", *u.TodayQty)
fmt.Printf("未實現獲利: %d\n", *u.UnrealizedProfit)
fmt.Printf("未實現虧損: %d\n", *u.UnrealizedLoss)
totalProfit += *u.UnrealizedProfit
totalLoss += *u.UnrealizedLoss
}
netPnL := totalProfit - totalLoss
fmt.Printf("\n總未實現損益: %d\n", netPnL)
}
}
回傳範例
Result{
IsSuccess: true,
Message: nil,
Data: &[]UnrealizedData{
{
Date: "2021/08/09", // 庫存建立日
Account: "26", // 帳號
BranchNo: "6460", // 分公司代號
StockNo: "2303", // 股票代號
BuySell: Buy, // 買賣別
OrderType: Short, // 委託單類型
CostPrice: "50.0", // 成本價格
TradableQty: 1000, // 可交易餘額
TodayQty: 1000, // 今日餘額
UnrealizedProfit: 45200, // 未實現獲利
UnrealizedLoss: 0, // 未實現虧損
},
},
}