feat(selection): add Zhixing line indicators to selection chart and update related components
This commit is contained in:
@@ -133,6 +133,8 @@ class FakeChartService:
|
||||
k=52.0,
|
||||
d=48.0,
|
||||
j=60.0,
|
||||
trend_white=10.2,
|
||||
trend_yellow=10.4,
|
||||
),
|
||||
),
|
||||
)
|
||||
@@ -451,6 +453,8 @@ def test_chart_returns_bounded_qfq_contract() -> None:
|
||||
"k": 52.0,
|
||||
"d": 48.0,
|
||||
"j": 60.0,
|
||||
"trend_white": 10.2,
|
||||
"trend_yellow": 10.4,
|
||||
}
|
||||
],
|
||||
}
|
||||
|
||||
@@ -9,7 +9,10 @@ from zhixing_server.modules.selection.application.chart import (
|
||||
GetSelectionChart,
|
||||
SelectionChartNotFound,
|
||||
)
|
||||
from zhixing_server.modules.selection.domain.indicators import compute_kdj
|
||||
from zhixing_server.modules.selection.domain.indicators import (
|
||||
compute_kdj,
|
||||
compute_zhixing_lines,
|
||||
)
|
||||
from zhixing_server.modules.selection.domain.models import SelectionBar, StockHistory
|
||||
|
||||
|
||||
@@ -61,9 +64,12 @@ def test_chart_computes_on_full_history_before_returning_last_250_points() -> No
|
||||
}
|
||||
)
|
||||
expected = compute_kdj(frame).iloc[-1]
|
||||
expected_white, expected_yellow = compute_zhixing_lines(frame["close"])
|
||||
assert chart.points[-1].k == pytest.approx(float(expected["K"]))
|
||||
assert chart.points[-1].d == pytest.approx(float(expected["D"]))
|
||||
assert chart.points[-1].j == pytest.approx(float(expected["J"]))
|
||||
assert chart.points[-1].trend_white == pytest.approx(float(expected_white.iloc[-1]))
|
||||
assert chart.points[-1].trend_yellow == pytest.approx(float(expected_yellow.iloc[-1]))
|
||||
|
||||
|
||||
def test_chart_filters_future_rows_and_preserves_nullable_points() -> None:
|
||||
|
||||
Reference in New Issue
Block a user