1oscon commited on
Commit
4fd325d
·
verified ·
1 Parent(s): 06ff186

Update 订阅与聚合.py

Browse files
Files changed (1) hide show
  1. 订阅与聚合.py +27 -1
订阅与聚合.py CHANGED
@@ -1,5 +1,6 @@
1
  # -*- coding: utf-8 -*-
2
  import asyncio
 
3
  from 插件_行情.公共WS import OKX公共WS
4
  from 插件_行情.类型定义 import 蜡烛
5
  from 插件_行情.K线聚合器 import 多周期聚合器
@@ -11,7 +12,32 @@ from 插件_接口.上传接口 import 应用 as 上传服务应用 # 若要同
11
  合约本.注册(合约('OKX', 'UXLINK-USDT-SWAP', 'UXLINK主连'))
12
  合约本.注册(合约('OKX', 'GPS-USDT-SWAP', 'GPS主连'))
13
 
14
- 目标周期 = [60, 120, 240] # 你可以改成 30/60/120/240 等
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  async def 行情主任务():
17
  # 为每个合约创建聚合器
 
1
  # -*- coding: utf-8 -*-
2
  import asyncio
3
+ import os, json
4
  from 插件_行情.公共WS import OKX公共WS
5
  from 插件_行情.类型定义 import 蜡烛
6
  from 插件_行情.K线聚合器 import 多周期聚合器
 
12
  合约本.注册(合约('OKX', 'UXLINK-USDT-SWAP', 'UXLINK主连'))
13
  合约本.注册(合约('OKX', 'GPS-USDT-SWAP', 'GPS主连'))
14
 
15
+ def 推断目标周期():
16
+ base = [30, 60, 120, 240]
17
+ tf = None
18
+ env_tf = os.getenv('AUTO_TF')
19
+ if env_tf and str(env_tf).strip().isdigit():
20
+ tf = int(str(env_tf).strip())
21
+ else:
22
+ param_path = os.getenv('PARAM_JSON')
23
+ if param_path and os.path.exists(param_path):
24
+ try:
25
+ with open(param_path, 'r', encoding='utf-8') as f:
26
+ d = json.load(f)
27
+ for k in ('tf', 'period', '周期', 'bar_min', 'timeframe'):
28
+ v = d.get(k)
29
+ if isinstance(v, (int, float)) and int(v) > 0:
30
+ tf = int(v); break
31
+ if isinstance(v, str) and v.strip().isdigit():
32
+ tf = int(v.strip()); break
33
+ except Exception:
34
+ pass
35
+ if tf is None:
36
+ tf = 60
37
+ base.append(tf)
38
+ return sorted(set(base))
39
+
40
+ 目标周期 = 推断目标周期() # 自动推断并与基础周期合并
41
 
42
  async def 行情主任务():
43
  # 为每个合约创建聚合器