Fix slow CTP position sync after restart and link positions to 15m K-line.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+20
-5
@@ -30,6 +30,7 @@
|
||||
var isTradingSession = false;
|
||||
var hasSlTpMonitoring = false;
|
||||
var ctpConnected = false;
|
||||
var ctpConnecting = false;
|
||||
var positionsRendered = false;
|
||||
var selectedMaxLots = null;
|
||||
var recommendMaxByProduct = {};
|
||||
@@ -164,6 +165,7 @@
|
||||
var cooldownSec = (data.ctp_status && data.ctp_status.login_cooldown_sec) || 0;
|
||||
if (cooldownSec > 0) connecting = false;
|
||||
ctpConnected = !!connected;
|
||||
ctpConnecting = !!connecting;
|
||||
isTradingSession = !!data.trading_session;
|
||||
syncCtpBadgeFromStatus(data.ctp_status || { connected: connected, connecting: connecting });
|
||||
if (!connected && !connecting && data.ctp_status && data.ctp_status.last_error) {
|
||||
@@ -811,13 +813,17 @@
|
||||
var name = row.symbol_name || row.symbol || '';
|
||||
var code = row.symbol_code || '';
|
||||
var mainBadge = row.symbol_is_main ? ' <span class="badge planned pos-main-badge">主力</span>' : '';
|
||||
var title = name + mainBadge;
|
||||
var inner = name + mainBadge;
|
||||
if (code && String(name).toLowerCase() !== String(code).toLowerCase()) {
|
||||
title += ' <span class="text-accent">' + code + '</span>';
|
||||
inner += ' <span class="text-accent">' + code + '</span>';
|
||||
} else if (!name && code) {
|
||||
title = '<span class="text-accent">' + code + '</span>';
|
||||
inner = '<span class="text-accent">' + code + '</span>';
|
||||
}
|
||||
return title + extraBadges;
|
||||
if (marketNavEnabled && code) {
|
||||
var href = '/market?symbol=' + encodeURIComponent(code) + '&period=15m';
|
||||
inner = '<a href="' + href + '" class="pos-market-link" title="查看 15 分 K 线">' + inner + '</a>';
|
||||
}
|
||||
return inner + extraBadges;
|
||||
}
|
||||
|
||||
function posSymbolSubHtml(row) {
|
||||
@@ -910,7 +916,16 @@
|
||||
' · ' + slTpStatusHtml(row) +
|
||||
' · 移动保本 ' + trailingStatusHtml(row) +
|
||||
(slTpBtn ? ' · ' + slTpBtn : '') +
|
||||
(row.sync_pending ? ' · <span class="text-muted">同步柜台中…</span>' : '');
|
||||
(function () {
|
||||
if (row.order_state === 'pending' || !row.monitor_id) return '';
|
||||
if (ctpConnecting) {
|
||||
return ' · <span class="text-muted">CTP 连接中…</span>';
|
||||
}
|
||||
if (row.sync_pending) {
|
||||
return ' · <span class="text-muted">同步柜台中…</span>';
|
||||
}
|
||||
return '';
|
||||
}());
|
||||
var feeLabel = row.fee_source === 'ctp' ? '手续费(柜台)' : '手续费';
|
||||
var marginLabel = row.margin_source === 'ctp' ? '占用保证金(柜台)' : '占用保证金';
|
||||
var openLabel = '开仓';
|
||||
|
||||
Reference in New Issue
Block a user