1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
| -- 为 t_item 中每个品种批量插入交割合约参数(6 档秒级周期)
| -- 周期与收益率:60秒10% | 120秒15% | 180秒20% | 300秒35% | 480秒50% | 720秒100%
| -- profit_ratio / profit_ratio_max 存小数(0.10 = 10%)
| -- 已存在相同 symbol + timenum + timeunit 的记录则跳过,可重复执行
|
| -- USE trading_order_zh;
|
| INSERT INTO `t_futures_para` (
| `uuid`,
| `symbol`,
| `timenum`,
| `timeunit`,
| `unit_amount`,
| `unit_max_amount`,
| `profit_ratio`,
| `profit_ratio_cardinality`,
| `unit_fee`,
| `profit_ratio_max`,
| `create_by`,
| `update_by`,
| `update_time`,
| `remarks`,
| `del_flag`,
| `create_time_ts`,
| `update_time_ts`,
| `create_time`
| )
| SELECT
| REPLACE(UUID(), '-', '') AS uuid,
| i.symbol,
| p.timenum,
| 'second' AS timeunit,
| IFNULL(i.unit_amount, 100) AS unit_amount,
| 0 AS unit_max_amount,
| p.profit_ratio,
| 10000 AS profit_ratio_cardinality,
| 0.01 AS unit_fee,
| p.profit_ratio_max,
| '2' AS create_by,
| '2' AS update_by,
| NOW() AS update_time,
| NULL AS remarks,
| '0' AS del_flag,
| UNIX_TIMESTAMP() AS create_time_ts,
| UNIX_TIMESTAMP() AS update_time_ts,
| NOW() AS create_time
| FROM t_item i
| CROSS JOIN (
| SELECT 60 AS timenum, 0.10 AS profit_ratio, 0.10 AS profit_ratio_max
| UNION ALL SELECT 120, 0.15, 0.15
| UNION ALL SELECT 180, 0.20, 0.20
| UNION ALL SELECT 300, 0.35, 0.35
| UNION ALL SELECT 480, 0.50, 0.50
| UNION ALL SELECT 720, 1.00, 1.00
| ) p
| WHERE i.del_flag = '0'
| -- 仅股票类可取消下面注释;留空则 t_item 全部品种
| -- AND i.type IN ('US-stocks', 'HK-stocks', 'TW-stocks', 'A-stocks', 'JP-stocks', 'INDIA-stocks', 'UK-stocks')
| AND NOT EXISTS (
| SELECT 1
| FROM t_futures_para fp
| WHERE fp.symbol = i.symbol
| AND fp.timenum = p.timenum
| AND fp.timeunit = 'second'
| AND fp.del_flag = '0'
| );
|
| -- 执行后核对条数(应为 品种数 × 6)
| -- SELECT COUNT(*) FROM t_futures_para WHERE del_flag = '0' AND timeunit = 'second' AND timenum IN (60,120,180,300,480,720);
|
|