매매 시그널 디테일 팝업 기능 적용

This commit is contained in:
Macbook
2026-06-10 21:13:53 +09:00
parent bf5554d375
commit 0ff1992b64
19 changed files with 1507 additions and 58 deletions
@@ -145,11 +145,15 @@ function walkIndicatorRefs(
node.children?.forEach(ch => walkIndicatorRefs(ch, out, seen));
}
function collectIndicatorRefs(strategy: StrategyDto): IndicatorRef[] {
function collectIndicatorRefs(strategy: StrategyDto, side?: 'BUY' | 'SELL'): IndicatorRef[] {
const out: IndicatorRef[] = [];
const seen = new Set<string>();
walkIndicatorRefs(strategy.buyCondition as LogicNode | null, out, seen);
walkIndicatorRefs(strategy.sellCondition as LogicNode | null, out, seen);
if (!side || side === 'BUY') {
walkIndicatorRefs(strategy.buyCondition as LogicNode | null, out, seen);
}
if (!side || side === 'SELL') {
walkIndicatorRefs(strategy.sellCondition as LogicNode | null, out, seen);
}
return out;
}
@@ -240,10 +244,11 @@ export function buildStrategyChartIndicators(
getParams: GetParams,
getVisual: GetVisual,
workspaceIndicators?: IndicatorConfig[],
side?: 'BUY' | 'SELL',
): IndicatorConfig[] {
if (!strategy) return [];
const refs = collectIndicatorRefs(strategy);
const refs = collectIndicatorRefs(strategy, side);
const byType = new Map<string, IndicatorRef>();
for (const ref of refs) {