feat: add convert order type

- Add `convert` orders for direct base/quote token exchange without order book
- Distinguish buy/sell validation: buy uses quoteOrderQty, sell uses quantity
- Support automatic amount estimation when only one of quantity/quoteOrderQty is provided
- Update README: replace old order type list, document convert usage with BASE/QUOTE symbols and new examples
- Lowercase order_type and side values throughout documentation
This commit is contained in:
2026-08-19 14:18:25 +08:00
parent 52fcccd178
commit 77d5f053f0
3 files changed
+240 -20

No files matched your search

+104 -13
View File
@@ -8,11 +8,12 @@ MEXC 定投交易机器人是一个自动化交易工具,用于在 MEXC 交易
1. **配置文件管理**:从 JSON 文件读取交易指令
2. **灵活调度**:支持按日期执行交易(`*`表示每天执行)
3. **多种订单类型**:支持 LIMIT、MARKET、LIMIT_MAKER、IMMEDIATE_OR_CANCEL、FILL_OR_KILL 等订单类型
3. **多种订单类型**:支持 limit(限价)、market(市价)、convert(闪兑)等订单类型
4. **智能价格获取**:当无 price 参数时自动获取实时价格作为限价
5. **自动计算数量**LIMIT 订单支持只提供 quoteOrderQty 自动计算 quantity
6. **证券代码映射**:支持不同代码格式间的转换
7. **完整交易记录**:记录交易到 CSV 文件和日志
5. **自动计算数量**limit 订单支持只提供 quoteOrderQty 自动计算 quantity
6. **闪兑交易**:convert 订单直接币币兑换,不走订单簿(buy 用 quoteOrderQtysell 用 quantity
7. **证券代码映射**:支持不同代码格式间的转换
8. **完整交易记录**:记录交易到 CSV 文件和日志
## 安装与使用
@@ -81,19 +82,17 @@ MEXC 定投交易机器人是一个自动化交易工具,用于在 MEXC 交易
- 类型:字符串
- 必填:是
- 可选值:
- `"LIMIT"`:限价单
- `"MARKET"`:市价单
- `"LIMIT_MAKER"`:限价做市单
- `"IMMEDIATE_OR_CANCEL"`:立即成交或取消
- `"FILL_OR_KILL"`:全部成交或取消
- `"limit"`:限价单
- `"market"`:市价单
- `"convert"`:闪兑(币币兑换,不走订单簿,见下方说明)
##### 3. 交易方向 (`side`)
- 类型:字符串
- 必填:是
- 可选值:
- `"BUY"`:买入
- `"SELL"`:卖出
- `"buy"`:买入
- `"sell"`:卖出
##### 4. 执行日期 (`execute_dates`)
@@ -118,6 +117,16 @@ MEXC 定投交易机器人是一个自动化交易工具,用于在 MEXC 交易
- `quoteOrderQty`:交易金额(字符串格式的数字)
- `price`:限价价格(字符串格式的数字),如果为空则自动获取最新价
> convert 闪兑订单的参数按方向区分,`quantity` / `quoteOrderQty` 至少提供一个:
> - `buy`:用计价币兑换基础币
> - `quoteOrderQty`:指定花费金额(如 `"100"` 表示用 100 USDT 兑换)
> - `quantity`:指定目标数量(如 `"0.01"` 表示兑换约 0.01 BTC,自动按实时价估算所需金额)
> - `sell`:用基础币兑换计价币
> - `quantity`:指定卖出数量(如 `"0.5"` 表示卖出 0.5 ETH
> - `quoteOrderQty`:指定目标金额(如 `"2000"` 表示兑换到约 2000 USDT,自动按实时价估算卖出数量)
>
> convert 订单`symbol`需使用 `BASE/QUOTE` 格式,如 `"BTC/USDT"`。
### 配置示例
#### 示例 1:每日限价买入
@@ -157,7 +166,87 @@ MEXC 定投交易机器人是一个自动化交易工具,用于在 MEXC 交易
}
```
#### 示例 3多种订单组合
#### 示例 3每日闪兑买入
```json
{
"trades": [
{
"symbol": "BTC/USDT",
"order_type": "convert",
"side": "buy",
"execute_dates": ["*"],
"params": {
"quoteOrderQty": "100"
}
}
]
}
```
说明:每天用 100 USDT 通过闪兑兑换成 BTC(不走订单簿)。
#### 示例 4:闪兑卖出(按数量)
```json
{
"trades": [
{
"symbol": "ETH/USDT",
"order_type": "convert",
"side": "sell",
"execute_dates": ["2023-12-25"],
"params": {
"quantity": "0.5"
}
}
]
}
```
说明:在指定日期将 0.5 ETH 通过闪兑兑换成 USDT。
#### 示例 4b:闪兑买入(按目标数量自动估算金额)
```json
{
"trades": [
{
"symbol": "BTC/USDT",
"order_type": "convert",
"side": "buy",
"execute_dates": ["*"],
"params": {
"quantity": "0.01"
}
}
]
}
```
说明:每天按实时价估算约 0.01 BTC 所需 USDT,然后通过闪兑买入。
#### 示例 4c:闪兑卖出(按目标金额自动估算数量)
```json
{
"trades": [
{
"symbol": "ETH/USDT",
"order_type": "convert",
"side": "sell",
"execute_dates": ["2023-12-25"],
"params": {
"quoteOrderQty": "2000"
}
}
]
}
```
说明:在指定日期按实时价估算卖出 ETH,兑换到约 2000 USDT。
#### 示例 5:多种订单组合
```json
{
@@ -188,10 +277,12 @@ MEXC 定投交易机器人是一个自动化交易工具,用于在 MEXC 交易
### 注意事项
1. 价格和数量都使用字符串格式而非数字,以避免浮点数精度问题
2. 对于 LIMIT 订单,可以只提供`quoteOrderQty`,系统会自动计算`quantity`
2. 对于 `limit` 订单,可以只提供`quoteOrderQty`,系统会自动计算`quantity`
3. 当`execute_dates`包含`"*"`时,会忽略其他日期设置
4. 系统会自动创建`output`目录存放日志和交易记录
5. 所有时间均以系统时区为准
6. `order_type`、`side` 均为小写;`convert` 订单的`symbol`使用 `BASE/QUOTE` 格式
7. `convert` 闪兑产出的 CSV 备注为 `DCA Order ID (Convert): {id}``tool_csv_merge.py` 已兼容该格式
### 错误处理