Skip to content

Commit 54effe3

Browse files
committed
add portfolio docs
1 parent 2fb3b7c commit 54effe3

14 files changed

Lines changed: 372 additions & 119 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
GOARCH: ${{ matrix.goarch }}
5757
CGO_ENABLED: 0
5858
run: |
59-
go build -ldflags "-X github.com/UnipayFI/binance-cli/cmd.version=${{ steps.tag.outputs.tag }} -X github.com/UnipayFI/binance-cli/cmd.buildTime=$(date +%Y-%m-%d_%H:%M:%S)" -o binance-cli${{ matrix.ext }}
59+
go build -ldflags "-X github.com/UnipayFI/binance-cli/cmd.version=${{ steps.tag.outputs.tag }}" -o binance-cli${{ matrix.ext }}
6060
6161
- name: Create package
6262
run: |

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ Available Commands:
5454
symbol Symbol config(leverage & margin type)
5555
trade Get trades for a specific account and symbol.
5656
```
57+
**[View detailed documentation](docs/futures.md)**
58+
5759
### Portfolio Module
5860
#### Portfolio USDⓈ-Margined Futures
5961
Exec: `./binance-cli portfolio um [Subcommand] [Arguments]`
@@ -66,6 +68,7 @@ Available Commands:
6668
position Show positions & show position risk & change position side
6769
symbol Symbol config
6870
```
71+
**[View detailed documentation](docs/portfolio_um.md)**
6972

7073
#### Portfolio Margin Trading
7174
Exec: `./binance-cli portfolio margin [Subcommand] [Arguments]`
@@ -75,6 +78,7 @@ Available Commands:
7578
loan Loan
7679
order Support create, cancel, list margin orders
7780
```
81+
**[View detailed documentation](docs/portfolio_margin.md)**
7882

7983
## License
8084
UnipayFI/binance-cli is released under the [MIT License](https://opensource.org/licenses/MIT).

cmd/futures/order.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Docs Link: https://developers.binance.com/docs/derivatives/usds-margined-futures
5757
Long: `Create a new order.
5858
* support all docs parameters
5959
60-
Docs Link: https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Order-Trade`,
60+
Docs Link: https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api`,
6161
Run: createOrder,
6262
}
6363
orderCancelCmd = &cobra.Command{

cmd/portfolio/margin/interest_history.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"log"
55

66
"github.com/UnipayFI/binance-cli/config"
7-
"github.com/UnipayFI/binance-cli/exchange/portfolio"
7+
"github.com/UnipayFI/binance-cli/exchange/portfolio/margin"
88
"github.com/UnipayFI/binance-cli/printer"
99
"github.com/spf13/cobra"
1010
)
@@ -32,7 +32,7 @@ func InitInterestHistoryCmds() []*cobra.Command {
3232
}
3333

3434
func interestHistory(cmd *cobra.Command, _ []string) {
35-
client := portfolio.NewClient(config.Config.APIKey, config.Config.APISecret)
35+
client := margin.NewClient(config.Config.APIKey, config.Config.APISecret)
3636
asset, _ := cmd.Flags().GetString("asset")
3737
startTime, _ := cmd.Flags().GetInt64("startTime")
3838
endTime, _ := cmd.Flags().GetInt64("endTime")

cmd/portfolio/margin/order.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Docs Link: https://developers.binance.com/docs/derivatives/portfolio-margin/trad
6060

6161
func InitOrderCmds() []*cobra.Command {
6262
orderListCmd.Flags().StringP("symbol", "s", "", "symbol")
63-
orderListCmd.Flags().Int64P("orderID", "i", 0, "orderID")
63+
orderListCmd.Flags().Int64P("orderId", "i", 0, "orderId")
6464
orderListCmd.Flags().Int64P("startTime", "a", 0, "start time")
6565
orderListCmd.Flags().Int64P("endTime", "e", 0, "end time")
6666
orderListCmd.Flags().IntP("limit", "l", 500, "limit, max 1000")
@@ -78,8 +78,8 @@ func InitOrderCmds() []*cobra.Command {
7878
}
7979

8080
orderCancelCmd.PersistentFlags().StringP("symbol", "s", "", "symbol")
81-
orderCancelCmd.Flags().StringP("orderID", "i", "", "orderID")
82-
orderCancelCmd.Flags().StringP("clientOrderID", "c", "", "clientOrderID")
81+
orderCancelCmd.Flags().Int64P("orderId", "i", 0, "orderId")
82+
orderCancelCmd.Flags().StringP("clientOrderId", "c", "", "clientOrderId")
8383
orderCancelCmd.MarkFlagRequired("symbol")
8484

8585
orderCmd.AddCommand(orderListCmd, orderOpenListCmd, orderCreateCmd, orderCancelCmd)
@@ -88,7 +88,7 @@ func InitOrderCmds() []*cobra.Command {
8888

8989
func orderList(cmd *cobra.Command, _ []string) {
9090
symbol, _ := cmd.Flags().GetString("symbol")
91-
orderID, _ := cmd.Flags().GetInt64("orderID")
91+
orderID, _ := cmd.Flags().GetInt64("orderId")
9292
startTime, _ := cmd.Flags().GetInt64("startTime")
9393
endTime, _ := cmd.Flags().GetInt64("endTime")
9494
limit, _ := cmd.Flags().GetInt("limit")
@@ -125,11 +125,17 @@ func createOrder(cmd *cobra.Command, _ []string) {
125125

126126
func cancelOrder(cmd *cobra.Command, _ []string) {
127127
symbol, _ := cmd.Flags().GetString("symbol")
128-
orderID, _ := cmd.Flags().GetInt64("orderID")
129-
clientOrderID, _ := cmd.Flags().GetString("clientOrderID")
128+
orderId, _ := cmd.Flags().GetInt64("orderId")
129+
clientOrderID, _ := cmd.Flags().GetString("clientOrderId")
130130

131131
client := margin.Client{Client: exchange.NewClient(config.Config.APIKey, config.Config.APISecret)}
132-
err := client.CancelOrder(symbol, orderID, clientOrderID)
132+
var err error
133+
if orderId == 0 && clientOrderID == "" {
134+
err = client.CancelAllOrders(symbol)
135+
} else {
136+
err = client.CancelOrder(symbol, orderId, clientOrderID)
137+
}
138+
133139
if err != nil {
134140
log.Fatal(err)
135141
}

cmd/portfolio/um/order.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Docs Link: https://developers.binance.com/docs/derivatives/portfolio-margin/trad
4747
* support all docs parameters
4848
4949
Docs Link: https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order`,
50-
Run: createUMOrder,
50+
Run: createOrder,
5151
}
5252
orderCancelCmd = &cobra.Command{
5353
Use: "cancel",
@@ -126,7 +126,7 @@ func orderOpenList(cmd *cobra.Command, _ []string) {
126126
printer.PrintTable(&orders)
127127
}
128128

129-
func createUMOrder(cmd *cobra.Command, _ []string) {
129+
func createOrder(cmd *cobra.Command, _ []string) {
130130
_, args, _ := cmd.Root().Find(os.Args[1:])
131131
client := um.NewClient(config.Config.APIKey, config.Config.APISecret)
132132
order, err := client.CreateOrder(common.ParseArgs(args))

docs/futures.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,37 @@
11
# Futures Module
22

33
## Quick Navigation
4+
- [Account](#account)
5+
- [Show account config](#account---show-account-config)
6+
- [Show account balances](#account---show-account-balances)
7+
- [Commission-rate](#commission-rate---show-commission-rate)
8+
- [Fee](#fee)
9+
- [Get BNB Burn Status](#fee---get-bnb-burn-status)
10+
- [Change user's BNB Fee Discount](#fee---change-users-bnb-fee-discount-on-every-symbol)
11+
- [Income](#income---query-income-history)
12+
- [Multi-assets-mode](#multi-assets-mode)
13+
- [Show multi-assets mode](#multi-assets-mode---show-multi-assets-mode)
14+
- [Set multi-assets mode](#multi-assets-mode---set-multi-assets-mode)
15+
- [Order](#order)
16+
- [Create Market Order](#order---create-market-order)
17+
- [Create Limit Order](#order---create-limit-order)
18+
- [Reduce short positions(Market)](#order---reduce-short-positionsmarket)
19+
- [Reduce long positions(Limit)](#order---reduce-long-positionslimit)
20+
- [List open orders](#order---list-open-orders)
21+
- [List orders](#order---list-orders)
22+
- [Cancel order by ID](#order---cancel-order-by-id)
23+
- [Cancel all order by symbol](#order---cancel-all-order-by-symbol)
24+
- [Position](#position)
25+
- [List positions](#position---list-positions)
26+
- [Show position risk](#position---show-position-risk)
27+
- [Set position margin](#position---set-position-margin)
28+
- [Change Position Mode](#position---change-position-mode)
29+
- [Get user's position mode](#position---get-users-position-mode-on-every-symbol)
30+
- [Symbol](#symbol)
31+
- [Change Initial Leverage](#symbol---change-initial-leverage)
32+
- [Set margin type](#symbol---set-margin-type)
33+
- [Show symbol config](#symbol---show-symbol-config)
34+
- [Trade](#trade----get-trades-for-a-specific-account-and-symbol)
435

536
## Account - Show account config
637
Exec: ` ./binance-cli futures account config`
@@ -62,13 +93,13 @@ Exec: `./binance-cli futures multi-assets-mode set --multiAssetsMargin=true`
6293
> Docs Link: https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Order-Trade
6394
6495
### Order - Create Market Order
65-
Exec: `./binance-cli futures order create --symbol=ETHUSDT --side=BUY --positionSide=SHORT --type=MARKET --quantity=0.1`
96+
Exec: `./binance-cli futures order create --symbol=ETHUSDT --side=SELL --positionSide=SHORT --type=MARKET --quantity=0.1`
6697

6798
### Order - Create Limit Order
6899
Exec: `./binance-cli futures order create --symbol=ETHUSDT --side=BUY --positionSide=LONG --type=LIMIT --timeInForce=GTC --quantity=0.01 --price=4000`
69100

70101
### Order - Reduce short positions(Market)
71-
Exec: `./binance-cli futures order create --symbol=ETHUSDT --side=SELL --positionSide=SHORT --type=MARKET --quantity=1.0`
102+
Exec: `./binance-cli futures order create --symbol=ETHUSDT --side=BUY --positionSide=SHORT --type=MARKET --quantity=1.0`
72103

73104
### Order - Reduce long positions(Limit)
74105
Exec: `./binance-cli futures order create --symbol=ETHUSDT --side=SELL --positionSide=LONG --type=LIMIT --timeInForce=GTC --price=4000.0 --quantity=0.01`

docs/portfolio_margin.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Portfolio Margin Module
2+
3+
## Quick Navigation
4+
- [Interest](#interest---get-margin-borrowloan-interest-history)
5+
- [Loan](#loan)
6+
- [Loan exec](#loan---loan-exec)
7+
- [Loan list](#loan---loan-list)
8+
- [Repay for a margin loan](#loan---repay-for-a-margin-loan)
9+
- [Repay debt for a margin loan](#loan---repay-debt-for-a-margin-loan)
10+
- [Repay history](#loan---repay-history)
11+
- [Order](#order)
12+
- [Create Market Order](#order---create-market-order)
13+
- [Create Limit Order](#order---create-limit-order)
14+
- [Cancel order by ID](#order---cancel-order-by-id)
15+
- [Cancel all order by symbol](#order---cancel-all-order-by-symbol)
16+
- [Query All Margin Account Orders](#order---query-all-margin-account-orders)
17+
- [Query Current Margin Open Order](#order---query-current-margin-open-order)
18+
19+
## Interest - Get Margin Borrow/Loan Interest History
20+
Exec: `./binance-cli portfolio margin interest-history`
21+
```shell
22+
┌─────────────────────┬───────┬───────────┬───────────┬───────────┬────────────┬───────────────┬───────────────────────┐
23+
│ TX ID │ ASSET │ RAW ASSET │ TYPE │ PRINCIPAL │ INTEREST │ INTEREST RATE │ INTEREST ACCURED TIME │
24+
├─────────────────────┼───────┼───────────┼───────────┼───────────┼────────────┼───────────────┼───────────────────────┤
25+
│ 1352286576452864727 │ USDT │ USDT │ ON_BORROW │ 45.3313 │ 0.00024995 │ 0.00013233 │ 2022-12-28 01:00:00 │
26+
└─────────────────────┴───────┴───────────┴───────────┴───────────┴────────────┴───────────────┴───────────────────────┘
27+
```
28+
29+
## Loan
30+
31+
### Loan - Loan exec
32+
Exec: `./binance-cli portfolio margin loan exec --amount=1.0 --asset=SOL`
33+
34+
### Loan - Loan list
35+
Exec: `./binance-cli portfolio margin loan ls --asset=SOL`
36+
```shell
37+
┌──────────────┬───────┬───────────┬───────────┬─────────────────────┐
38+
│ TX ID │ ASSET │ PRINCIPAL │ STATUS │ TIMESTAMP │
39+
├──────────────┼───────┼───────────┼───────────┼─────────────────────┤
40+
│ 287807735989 │ SOL │ 1.0 │ CONFIRMED │ 2025-08-20 14:07:27 │
41+
└──────────────┴───────┴───────────┴───────────┴─────────────────────┘
42+
```
43+
44+
### Loan - Repay for a margin loan.
45+
Exec: `./binance-cli portfolio margin loan repay --amount=1.0 --asset=SOL`
46+
47+
### Loan - Repay debt for a margin loan.
48+
Exec: `./binance-cli portfolio margin loan repay-debt --asset=SOL --amount=0.01 --specifyRepayAssets=USDT`
49+
50+
### Loan - Repay history
51+
Exec: `./binance-cli portfolio margin loan repay-list --asset=SOL`
52+
```shell
53+
┌──────────────┬───────┬────────┬─────────────┬────────────┬───────────┬─────────────────────┐
54+
│ TX ID │ ASSET │ AMOUNT │ INTEREST │ PRINCIPAL │ STATUS │ TIMESTAMP │
55+
├──────────────┼───────┼────────┼─────────────┼────────────┼───────────┼─────────────────────┤
56+
│ 287810116588 │ SOL │ 0.01 │ 0.000000080 │ 0.00999992 │ CONFIRMED │ 2025-08-20 14:19:07 │
57+
│ 287809473014 │ SOL │ 0.01 │ 0.000000080 │ 0.00999992 │ CONFIRMED │ 2025-08-20 14:16:11 │
58+
│ 287808117953 │ SOL │ 0.01 │ 0.000000080 │ 0.00999992 │ CONFIRMED │ 2025-08-20 14:09:15 │
59+
└──────────────┴───────┴────────┴─────────────┴────────────┴───────────┴─────────────────────┘
60+
```
61+
62+
## Order
63+
64+
### Order - Create Market Order
65+
Exec: `./binance-cli portfolio margin order create --symbol=SOLUSDT --quantity=1.0 --side=SELL --type=MARKET`
66+
67+
### Order - Create Limit Order
68+
Exec: `./binance-cli portfolio margin order create --symbol=SOLSUDT --quantity=1.0 --side=SELL --type=LIMIT --price=200.0 --timeInForce=GTC`
69+
70+
### Order - Cancel order by ID
71+
Exec: `./binance-cli portfolio margin order cancel --symbol=SOLSUDT --orderId=xxx`
72+
OR
73+
Exec: `./binance-cli portfolio margin order cancel --symbol=SOLSUDT --clientOrderId=xxx`
74+
75+
### order - Cancel all order by symbol
76+
Exec: `./binance-cli portfolio margin order cancel --symbol=SOLSUDT`
77+
78+
### Order - Query All Margin Account Orders
79+
Exec: `./binance-cli portfolio margin order ls --symbol=BFUSDUSDT`
80+
```shell
81+
┌──────────┬───────────┬──────┬──────────┬────────────┬─────────────┬───────────────────┬─────────────────────┬─────────────────────┐
82+
│ ORDER ID │ SYMBOL │ SIDE │ STATUS │ PRICE │ QUANTITY │ EXECUTED QUANTITY │ TIME │ UPDATE TIME │
83+
├──────────┼───────────┼──────┼──────────┼────────────┼─────────────┼───────────────────┼─────────────────────┼─────────────────────┤
84+
│ 69259 │ BFUSDUSDT │ SELL │ FILLED │ 0.00000000 │ 20.00000000 │ 20.00000000 │ 2025-08-20 14:29:28 │ 2025-08-20 14:29:28 │
85+
│ 69268 │ BFUSDUSDT │ SELL │ CANCELED │ 1.00000000 │ 20.00000000 │ 0.00000000 │ 2025-08-20 14:30:49 │ 2025-08-20 14:34:47 │
86+
│ 69335 │ BFUSDUSDT │ SELL │ CANCELED │ 1.00000000 │ 20.00000000 │ 0.00000000 │ 2025-08-20 14:40:10 │ 2025-08-20 14:40:12 │
87+
└──────────┴───────────┴──────┴──────────┴────────────┴─────────────┴───────────────────┴─────────────────────┴─────────────────────┘
88+
```
89+
90+
### Order - Query Current Margin Open Order
91+
Exec: `./binance-cli portfolio margin order open --symbol=BFUSDUSDT`
92+
```shell
93+
┌──────────┬───────────┬──────┬────────┬────────────┬─────────────┬───────────────────┬─────────────────────┬─────────────────────┐
94+
│ ORDER ID │ SYMBOL │ SIDE │ STATUS │ PRICE │ QUANTITY │ EXECUTED QUANTITY │ TIME │ UPDATE TIME │
95+
├──────────┼───────────┼──────┼────────┼────────────┼─────────────┼───────────────────┼─────────────────────┼─────────────────────┤
96+
│ 69348 │ BFUSDUSDT │ SELL │ NEW │ 1.00000000 │ 20.00000000 │ 0.00000000 │ 2025-08-20 14:43:33 │ 2025-08-20 14:43:33 │
97+
└──────────┴───────────┴──────┴────────┴────────────┴─────────────┴───────────────────┴─────────────────────┴─────────────────────┘
98+
```

0 commit comments

Comments
 (0)