fix position size

This commit is contained in:
discountry
2025-09-23 16:25:15 +08:00
parent f54e81c7df
commit 9bf3e97d87
2 changed files with 12 additions and 6 deletions
+10 -4
View File
@@ -214,7 +214,11 @@ export class TrendEngine {
try {
await this.exchange.cancelAllOrders({ symbol: this.config.symbol });
} catch (err) {
this.tradeLog.push("error", `撤销挂单失败: ${String(err)}`);
if (isUnknownOrderError(err)) {
this.tradeLog.push("order", "撤单时部分订单已不存在,忽略");
} else {
this.tradeLog.push("error", `撤销挂单失败: ${String(err)}`);
}
}
}
if (this.lastPrice > currentSma && currentPrice < currentSma) {
@@ -327,10 +331,10 @@ export class TrendEngine {
this.timers,
this.pending,
direction === "long" ? "SELL" : "BUY",
this.config.tradeAmount,
Math.abs(position.positionAmt),
(type, detail) => this.tradeLog.push(type, detail)
);
this.tradeLog.push("close", `止损平仓: ${direction === "long" ? "SELL" : "BUY"}`);
this.tradeLog.push("close", `止损平仓: ${direction === "long" ? "SELL" : "BUY"}`);
} catch (err) {
if (isUnknownOrderError(err)) {
this.tradeLog.push("order", "止损平仓时目标订单已不存在");
@@ -350,6 +354,8 @@ export class TrendEngine {
lastPrice: number
): Promise<void> {
try {
const position = getPosition(this.accountSnapshot, this.config.symbol);
const quantity = Math.abs(position.positionAmt) || this.config.tradeAmount;
await placeStopLossOrder(
this.exchange,
this.config.symbol,
@@ -359,7 +365,7 @@ export class TrendEngine {
this.pending,
side,
stopPrice,
this.config.tradeAmount,
quantity,
lastPrice,
(type, detail) => this.tradeLog.push(type, detail)
);
+2 -2
View File
@@ -77,7 +77,7 @@ export function TrendApp({ onExit }: TrendAppProps) {
);
}
const { position, tradeLog, openOrders, trend, ready, lastPrice, sma30 } = snapshot;
const { position, tradeLog, openOrders, trend, ready, lastPrice, sma30, sessionVolume } = snapshot;
const hasPosition = Math.abs(position.positionAmt) > 1e-5;
const lastLogs = tradeLog.slice(-5);
const sortedOrders = [...openOrders].sort((a, b) => (Number(b.updateTime ?? 0) - Number(a.updateTime ?? 0)) || Number(b.orderId) - Number(a.orderId));
@@ -132,7 +132,7 @@ export function TrendApp({ onExit }: TrendAppProps) {
: {snapshot.totalTrades} : {formatNumber(snapshot.totalProfit, 4)} USDT
</Text>
<Text>
: {formatNumber(snapshot.sessionVolume, 2)} USDT
: {formatNumber(sessionVolume, 2)} USDT
</Text>
{snapshot.lastOpenSignal.side ? (
<Text color="gray">