feat(screener): canvas adds AI news node (12 nodes, 18 edges)
This commit is contained in:
@@ -8,6 +8,7 @@ export const NODE_IDS = {
|
||||
RS: 'score-rs-rating',
|
||||
MA: 'score-ma-alignment',
|
||||
VCP: 'score-vcp-lite',
|
||||
AI_NEWS: 'score-ai-news',
|
||||
COMBINE: 'combine',
|
||||
RESULT: 'result',
|
||||
};
|
||||
@@ -22,6 +23,7 @@ export const NODE_KIND_MAP = {
|
||||
[NODE_IDS.RS]: 'score',
|
||||
[NODE_IDS.MA]: 'score',
|
||||
[NODE_IDS.VCP]: 'score',
|
||||
[NODE_IDS.AI_NEWS]: 'score',
|
||||
[NODE_IDS.COMBINE]: 'combine',
|
||||
[NODE_IDS.RESULT]: 'result',
|
||||
};
|
||||
@@ -35,6 +37,7 @@ export const SCORE_NODE_NAME_MAP = {
|
||||
[NODE_IDS.RS]: 'rs_rating',
|
||||
[NODE_IDS.MA]: 'ma_alignment',
|
||||
[NODE_IDS.VCP]: 'vcp_lite',
|
||||
[NODE_IDS.AI_NEWS]: 'ai_news',
|
||||
};
|
||||
|
||||
// 4단 layout: DATA → GATE → (점수 7개 세로) → COMBINE → RESULT
|
||||
@@ -48,11 +51,12 @@ export const INITIAL_NODE_POSITIONS = {
|
||||
[NODE_IDS.RS]: { x: 480, y: 360 },
|
||||
[NODE_IDS.MA]: { x: 480, y: 450 },
|
||||
[NODE_IDS.VCP]: { x: 480, y: 540 },
|
||||
[NODE_IDS.AI_NEWS]: { x: 480, y: 630 },
|
||||
[NODE_IDS.COMBINE]: { x: 800, y: 280 },
|
||||
[NODE_IDS.RESULT]: { x: 1080, y: 280 },
|
||||
};
|
||||
|
||||
const SCORE_KEYS = ['FOREIGN','VOLUME','MOMENTUM','HIGH52W','RS','MA','VCP'];
|
||||
const SCORE_KEYS = ['FOREIGN','VOLUME','MOMENTUM','HIGH52W','RS','MA','VCP','AI_NEWS'];
|
||||
|
||||
export const EDGES = [
|
||||
{ id: 'e-data-gate', source: NODE_IDS.DATA, target: NODE_IDS.GATE },
|
||||
@@ -77,4 +81,5 @@ export const SCORE_NODE_LABEL = {
|
||||
[NODE_IDS.RS]: { icon: '💪', title: 'RS Rating' },
|
||||
[NODE_IDS.MA]: { icon: '📈', title: '이평선 정렬' },
|
||||
[NODE_IDS.VCP]: { icon: '🌀', title: 'VCP-lite' },
|
||||
[NODE_IDS.AI_NEWS]: { icon: '🤖', title: 'AI 뉴스' },
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user