sequenceDiagram
participant SS as signal_service
participant MO as momentum.py
participant IN as indicators.py
SS->>MO: score(closes)
MO->>MO: MA20 이격 계산 (closes >= 20)
alt closes >= 40
MO->>MO: MA5/MA20 크로스 계산
end
alt closes >= 15
MO->>IN: rsi(closes, period=14)
IN-->>MO: rsi_value
MO->>MO: RSI 정규화 ((rsi-50)/50)
end
MO->>MO: 가용 요소 평균 + clamp(-1,1)
MO-->>SS: momentum_score: float
클래스 의존
flowchart LR
subgraph Application["Application"]
signal_service["signal_service.py"]
end
subgraph Domain["Domain"]
momentum["momentum.py (score)"]
indicators["indicators.py (rsi)"]
end
signal_service --> momentum
momentum --> indicators