1 line
17 KiB
JSON
1 line
17 KiB
JSON
{"nodes": [{"id": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_main_strategy_single_file_py", "label": "main_strategy_single_file.py", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L1"}, {"id": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "label": "PureBreakoutStrategy", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L13"}, {"id": "ctatemplate", "label": "CtaTemplate", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "label": ".__init__()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L38"}, {"id": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_init", "label": ".on_init()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L58"}, {"id": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_start", "label": ".on_start()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L62"}, {"id": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_stop", "label": ".on_stop()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L65"}, {"id": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "label": ".on_bar()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L68"}, {"id": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_need_rebalance", "label": "._need_rebalance()", "file_type": "code", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L148"}, {"id": "pure_breakout_20260327_main_strategy_single_file_rationale_14", "label": "\u7eaf\u7a81\u7834\u7b56\u7565 - N\u65e5\u65b0\u9ad8\u653e\u91cf\u7a81\u7834\u4e70\u5165 - \u6b62\u635f\uff1a\u8dcc\u7834\u7a81\u7834\u65e5\u6700\u4f4e\u4ef7\u7684-5% - \u8ddf\u8e2a\u6b62\u76c8\uff1a\u4ece\u4e70\u5165\u540e\u9ad8\u70b9\u56de\u843d10%\u6b62\u76c8 - \u5747\u7ebf\u6b62\u76c8", "file_type": "rationale", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L14"}], "edges": [{"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_main_strategy_single_file_py", "target": "pandas", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L7", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_main_strategy_single_file_py", "target": "numpy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L8", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_main_strategy_single_file_py", "target": "vnpy_app_cta_strategy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L9", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_main_strategy_single_file_py", "target": "vnpy_trader_object", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L10", "weight": 1.0}, {"source": "users_chufeng_openclaw_sanguo_projects_sanguo_quant_live_strategies_pure_breakout_20260327_main_strategy_single_file_py", "target": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L13", "weight": 1.0}, {"source": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "target": "ctatemplate", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L13", "weight": 1.0}, {"source": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "target": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L38", "weight": 1.0}, {"source": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "target": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L58", "weight": 1.0}, {"source": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "target": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L62", "weight": 1.0}, {"source": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "target": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L65", "weight": 1.0}, {"source": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "target": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L68", "weight": 1.0}, {"source": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "target": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_need_rebalance", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L148", "weight": 1.0}, {"source": "pure_breakout_20260327_main_strategy_single_file_rationale_14", "target": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "callee": "super", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L39"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "callee": "getattr", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L42"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "callee": "getattr", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L43"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "callee": "getattr", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L44"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "callee": "getattr", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L45"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "callee": "getattr", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L46"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "callee": "getattr", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L47"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_init", "callee": "getattr", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L48"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_init", "callee": "write_log", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L59"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_init", "callee": "load_bar", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L60"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_start", "callee": "write_log", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L63"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_stop", "callee": "write_log", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L66"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "write_log", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L83"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "write_log", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L90"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "get_bars", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L94"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L95"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L96"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "write_log", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L99"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "write_log", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L104"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "get_position", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L108"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "sell", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L110"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "get_bars", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L117"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "len", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L118"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "max", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L122"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "mean", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L127"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "int", "is_member_call": false, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L134"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "buy", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L137"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_on_bar", "callee": "write_log", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L144"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_need_rebalance", "callee": "isocalendar", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L156"}, {"caller_nid": "pure_breakout_20260327_main_strategy_single_file_purebreakoutstrategy_need_rebalance", "callee": "isocalendar", "is_member_call": true, "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/strategies/pure-breakout-20260327/main_strategy_single_file.py", "source_location": "L157"}]} |