feat: WBS-1.2 total_asset_krw 실시간 재계산 구현
This commit is contained in:
@@ -2054,7 +2054,7 @@ function runDataFeed() {
|
|||||||
// settings 탭 — 사용자 입력 파라미터 (total_asset_krw, risk_budget_override 등)
|
// settings 탭 — 사용자 입력 파라미터 (total_asset_krw, risk_budget_override 등)
|
||||||
const settings = readSettingsTab_();
|
const settings = readSettingsTab_();
|
||||||
ensureAccountSnapshotConfirmModeSetting_(settings);
|
ensureAccountSnapshotConfirmModeSetting_(settings);
|
||||||
const totalAssetKrw_ = Number.isFinite(parseFloat(settings["total_asset_krw"]))
|
let totalAssetKrw_ = Number.isFinite(parseFloat(settings["total_asset_krw"]))
|
||||||
? parseFloat(settings["total_asset_krw"]) : null;
|
? parseFloat(settings["total_asset_krw"]) : null;
|
||||||
const riskBudget_ = Number.isFinite(parseFloat(settings["risk_budget_override"]))
|
const riskBudget_ = Number.isFinite(parseFloat(settings["risk_budget_override"]))
|
||||||
? Math.min(0.02, Math.max(0, parseFloat(settings["risk_budget_override"])))
|
? Math.min(0.02, Math.max(0, parseFloat(settings["risk_budget_override"])))
|
||||||
@@ -2193,6 +2193,20 @@ function runDataFeed() {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// WBS-1.2: total_asset_krw 실시간 재계산 (2-pass update cycle)
|
||||||
|
let liveTotalAssetKrw = Number.isFinite(settlementCashD2_) ? settlementCashD2_ : 0;
|
||||||
|
for (const ticker of Object.keys(positionStopMap_)) {
|
||||||
|
const priceMetrics = resolveDataFeedPriceMetrics(ticker);
|
||||||
|
const qty = positionStopMap_[ticker].quantity;
|
||||||
|
if (priceMetrics.ok && Number.isFinite(priceMetrics.close) && Number.isFinite(qty)) {
|
||||||
|
liveTotalAssetKrw += priceMetrics.close * qty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (liveTotalAssetKrw > 0) {
|
||||||
|
totalAssetKrw_ = liveTotalAssetKrw;
|
||||||
|
Logger.log(`[WBS-1.2] total_asset_krw 실시간 재계산 완료: ${totalAssetKrw_} KRW (현금: ${settlementCashD2_})`);
|
||||||
|
}
|
||||||
|
|
||||||
// Total_Heat 사전 계산 — HF005(≥10% 매수 차단) + caution(7~10% 수량 감액)에 사용
|
// Total_Heat 사전 계산 — HF005(≥10% 매수 차단) + caution(7~10% 수량 감액)에 사용
|
||||||
// positionStopMap_ 완성 후 즉시 계산. ATR 추정 폴백: entry_price × 8% (보수적)
|
// positionStopMap_ 완성 후 즉시 계산. ATR 추정 폴백: entry_price × 8% (보수적)
|
||||||
let globalHeatPct_ = null; // null = 계산 불가, number = heat%
|
let globalHeatPct_ = null; // null = 계산 불가, number = heat%
|
||||||
|
|||||||
Reference in New Issue
Block a user