매매 시그널 디테일 팝업 기능 적용
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user