alphax/tests/test_confirm_market_risk_gate.py
2026-05-28 00:02:11 +08:00

31 lines
1.1 KiB
Python

from app.services.altcoin_confirm import _apply_market_risk_entry_gate
def test_market_risk_gate_reduces_size_instead_of_blocking_when_critical():
signals = ["15min即刻入场信号"]
plan, reason = _apply_market_risk_entry_gate(
{"entry_action": "可即刻买入", "entry_price": 1.0},
signals,
{"risk_level": "critical", "position_multiplier": 0.0},
)
assert plan["entry_action"] == "可即刻买入"
assert plan["market_risk_gate"]["blocked_action"] == ""
assert plan["market_risk_gate"]["final_action"] == "可即刻买入"
assert plan["market_risk_gate"]["position_multiplier"] == 0.25
assert "仓位" in reason
assert any("市场风控闸门" in sig for sig in signals)
def test_market_risk_gate_keeps_observation_action_visible():
signals = []
plan, reason = _apply_market_risk_entry_gate(
{"entry_action": "观察", "entry_price": 1.0},
signals,
{"risk_level": "critical", "position_multiplier": 0.0},
)
assert plan["entry_action"] == "观察"
assert "market_risk_gate" not in plan
assert reason == ""