feat(key-monitor): add program trigger entry across four exchanges

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-14 00:42:21 +08:00
parent c95ca6ac35
commit edf4bb835d
26 changed files with 3002 additions and 76 deletions
@@ -0,0 +1,45 @@
"""触价开仓关键位监控单元测试。"""
from trigger_entry_key_monitor_lib import (
TRIGGER_ENTRY_MONITOR_TYPE,
TRIGGER_ENTRY_VALIDITY_HOURS,
check_trigger_entry_intent_limit,
is_trigger_entry_key_monitor_type,
trigger_entry_invalidate_by_tp,
trigger_entry_reached,
validate_trigger_entry_geometry,
)
class _FakeConn:
def execute(self, sql, params=()):
class R:
def fetchone(self_inner):
return (params[1] == "2026-06-07" and 2,) # 2 pending
return R()
def test_trigger_entry_reached_long():
assert trigger_entry_reached("long", 2049.0, 2050.0) is True
assert trigger_entry_reached("long", 2051.0, 2050.0) is False
def test_trigger_entry_invalidate_long():
assert trigger_entry_invalidate_by_tp("long", 2100.0, 2100.0) is True
assert trigger_entry_invalidate_by_tp("long", 2099.0, 2100.0) is False
def test_validate_geometry_long():
assert validate_trigger_entry_geometry("long", 2050, 2000, 2100, 2090) is None
assert "止损" in (validate_trigger_entry_geometry("long", 2050, 2100, 2000) or "")
def test_intent_limit():
ok, msg = check_trigger_entry_intent_limit(_FakeConn(), "2026-06-07", 2, 3)
assert ok is False
assert "意图" in msg
def test_type_name():
assert is_trigger_entry_key_monitor_type(TRIGGER_ENTRY_MONITOR_TYPE)
assert TRIGGER_ENTRY_VALIDITY_HOURS == 24