diff --git a/振幅锁仓策略/index.html b/振幅锁仓策略/index.html
index e0106df..65f9b54 100644
--- a/振幅锁仓策略/index.html
+++ b/振幅锁仓策略/index.html
@@ -19,9 +19,8 @@
}
body { font-family: -apple-system, 'Segoe UI', system-ui, sans-serif; padding: 24px; max-width: 1100px; margin: 0 auto; color: var(--fg); background: var(--bg); }
h1 { font-size: 1.4rem; margin-bottom: 8px; }
- .sub { color: var(--sub); font-size: 0.85rem; margin-bottom: 28px; }
- .formula { color: var(--sub); font-size: 0.8rem; margin-bottom: 20px; padding: 6px 12px; background: var(--th-bg); border-radius: 4px; display: inline-block; }
- h2 { font-size: 1.1rem; margin: 28px 0 10px; }
+ .sub { color: var(--sub); font-size: 0.85rem; margin-bottom: 8px; }
+ .formula { color: var(--sub); font-size: 0.8rem; margin-bottom: 24px; padding: 6px 12px; background: var(--th-bg); border-radius: 4px; display: inline-block; }
table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
th { background: var(--th-bg); color: var(--th-fg); font-weight: 600; padding: 8px 10px; border: 1px solid var(--th-border); text-align: center; white-space: nowrap; }
td { padding: 6px 10px; border: 1px solid var(--td-border); text-align: center; }
@@ -30,14 +29,19 @@
td:nth-child(2) { font-size: 0.78rem; color: var(--sub); }
.na { color: var(--na); }
- .toggle { position: fixed; top: 16px; right: 24px; background: var(--th-bg); border: 1px solid var(--th-border); color: var(--th-fg); padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 0.82rem; z-index: 10; }
- .section h2 { cursor: pointer; user-select: none; display: flex; align-items: center; gap: 8px; }
+ .toggle-btn { position: fixed; top: 16px; right: 24px; background: var(--th-bg); border: 1px solid var(--th-border); color: var(--th-fg); padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 0.82rem; z-index: 10; }
+ .toggle-btn:hover { opacity: 0.8; }
+
+ .section { margin-bottom: 8px; }
+ .section h2 { font-size: 1.1rem; cursor: pointer; user-select: none; display: flex; align-items: center; gap: 8px; margin: 28px 0 10px; padding: 4px 0; }
.section h2 .arrow { display: inline-block; transition: transform .2s; font-size: 0.8rem; }
.section.collapsed h2 .arrow { transform: rotate(-90deg); }
+ .section.collapsed table { display: none; }
+
.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 99; display: none; }
- .drawer-overlay.open { display: block; }
+ .drawer-overlay.show { display: block; }
.drawer { position: fixed; top: 0; right: 0; width: 340px; height: 100%; background: var(--bg); border-left: 1px solid var(--th-border); z-index: 100; padding: 24px; transform: translateX(100%); transition: transform .25s ease; overflow-y: auto; box-shadow: -4px 0 20px rgba(0,0,0,.15); }
- .drawer.open { transform: translateX(0); }
+ .drawer.show { transform: translateX(0); }
.drawer h3 { font-size: 1rem; margin-bottom: 4px; }
.drawer .date-label { color: var(--sub); font-size: 0.82rem; margin-bottom: 16px; }
.drawer .calc-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; margin-bottom: 14px; }
@@ -45,62 +49,73 @@
.drawer .calc-table tr:first-child td { background: var(--th-bg); font-weight: 600; color: var(--th-fg); }
.drawer .result { font-size: 0.85rem; line-height: 1.8; color: var(--fg); }
.drawer .result b { font-size: 1.1rem; }
- .drawer .close { position: absolute; top: 16px; right: 20px; background: none; border: none; font-size: 1.4rem; cursor: pointer; color: var(--sub); line-height: 1; }
- .drawer .close:hover { color: var(--fg); }
- .amp-clickable { cursor: pointer; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
- .amp-clickable:hover { color: #3b82f6; }
- .toggle:hover { opacity: 0.8; }
+ .drawer .close-btn { position: absolute; top: 16px; right: 20px; background: none; border: none; font-size: 1.4rem; cursor: pointer; color: var(--sub); line-height: 1; }
+ .drawer .close-btn:hover { color: var(--fg); }
+ .amp-cell { cursor: pointer; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
+ .amp-cell:hover { color: #3b82f6; }
-
+
振幅锁仓策略
SA2611 (纯碱) | FG2611 (玻璃) | 2026年7月
振幅算法:近 5 日均振幅 = 过去 5 个交易日 (最高 − 最低) 的均值,结果四舍五入取整
-
-
▼ SA2611 纯碱
-
-| 日期 | 开盘 | 收盘 | 最高 | 最低 | 最高最低差价 | 振幅 |
-| 2026/7/1 | 1117 | 1118 | 1128 | 1112 | 16 | - |
-| 2026/7/2 | 1119 | 1134 | 1139 | 1117 | 22 | - |
-| 2026/7/3 | 1133 | 1132 | 1142 | 1127 | 15 | - |
-| 2026/7/6 | 1130 | 1128 | 1145 | 1126 | 19 | - |
-| 2026/7/7 | 1128 | 1094 | 1128 | 1092 | 36 | - |
-| 2026/7/8 | 1093 | 1105 | 1110 | 1093 | 17 | 22 |
-| 2026/7/9 | 1102 | 1103 | 1107 | 1090 | 17 | 22 |
-| 2026/7/10 | 1101 | 1113 | 1120 | 1100 | 20 | 21 |
-| 2026/7/13 | 1112 | 1089 | 1118 | 1086 | 32 | 22 |
-| 2026/7/14 | 1092 | 1092 | 1094 | 1085 | 9 | 24 |
-| 2026/7/15 | 1091 | 1077 | 1095 | 1076 | 19 | 19 |
-| 2026/7/16 | 1080 | 1057 | 1081 | 1053 | 28 | 19 |
-| 2026/7/17 | 1060 | 1036 | 1060 | 1035 | 25 | 22 |
-| 2026/7/20 | 1038 | 1041 | 1055 | 1037 | 18 | 23 |
-| 2026/7/21 | 1039 | 1042 | 1049 | 1034 | 15 | 20 |
-| 2026/7/22 | 1041 | 1041 | 1048 | 1017 | 31 | 21 |
-| 2026/7/23 | 1042 | 1037 | 1046 | 1026 | 20 | 23 |
-| 2026/7/24 | - | - | - | - | 0 | 22 |
-
+
+
+
▼ SA2611 纯碱
+
+ | 日期 | 星期 | 开盘 | 收盘 | 最高 | 最低 | 最高最低差价 | 振幅 |
+ | 2026/7/1 | 周三 | 1117 | 1118 | 1128 | 1112 | 16 | - |
+ | 2026/7/2 | 周四 | 1119 | 1134 | 1139 | 1117 | 22 | - |
+ | 2026/7/3 | 周五 | 1133 | 1132 | 1142 | 1127 | 15 | - |
+ | 2026/7/6 | 周一 | 1130 | 1128 | 1145 | 1126 | 19 | - |
+ | 2026/7/7 | 周二 | 1128 | 1094 | 1128 | 1092 | 36 | - |
+ | 2026/7/8 | 周三 | 1093 | 1105 | 1110 | 1093 | 17 | 22 |
+ | 2026/7/9 | 周四 | 1102 | 1103 | 1107 | 1090 | 17 | 22 |
+ | 2026/7/10 | 周五 | 1101 | 1113 | 1120 | 1100 | 20 | 21 |
+ | 2026/7/13 | 周一 | 1112 | 1089 | 1118 | 1086 | 32 | 22 |
+ | 2026/7/14 | 周二 | 1092 | 1092 | 1094 | 1085 | 9 | 24 |
+ | 2026/7/15 | 周三 | 1091 | 1077 | 1095 | 1076 | 19 | 19 |
+ | 2026/7/16 | 周四 | 1080 | 1057 | 1081 | 1053 | 28 | 19 |
+ | 2026/7/17 | 周五 | 1060 | 1036 | 1060 | 1035 | 25 | 22 |
+ | 2026/7/20 | 周一 | 1038 | 1041 | 1055 | 1037 | 18 | 23 |
+ | 2026/7/21 | 周二 | 1039 | 1042 | 1049 | 1034 | 15 | 20 |
+ | 2026/7/22 | 周三 | 1041 | 1041 | 1048 | 1017 | 31 | 21 |
+ | 2026/7/23 | 周四 | 1042 | 1037 | 1046 | 1026 | 20 | 23 |
+ | 2026/7/24 | 周五 | - | - | - | - | 0 | 22 |
+
-
-
▼ FG2611 玻璃
-
-| 日期 | 开盘 | 收盘 | 最高 | 最低 | 最高最低差价 | 振幅 |
-| 2026/7/1 | 1011 | 1001 | 1011 | 994 | 17 | - |
-| 2026/7/2 | 1001 | 1002 | 1008 | 994 | 14 | - |
-| 2026/7/3 | 1002 | 1010 | 1017 | 999 | 18 | - |
-| 2026/7/6 | 1013 | 1003 | 1019 | 1002 | 17 | - |
-| 2026/7/7 | 1003 | 984 | 1003 | 983 | 20 | - |
-| 2026/7/8 | 984 | 993 | 996 | 981 | 15 | 17 |
-| 2026/7/9 | 994 | 987 | 994 | 981 | 13 | 17 |
-| 2026/7/10 | 986 | 996 | 1004 | 983 | 21 | 17 |
-| 2026/7/13 | 996 | 980 | 1001 | 980 | 21 | 17 |
+
+
▼ FG2611 玻璃
+
+ | 日期 | 星期 | 开盘 | 收盘 | 最高 | 最低 | 最高最低差价 | 振幅 |
+ | 2026/7/1 | 周三 | 1011 | 1001 | 1011 | 994 | 17 | - |
+ | 2026/7/2 | 周四 | 1001 | 1002 | 1008 | 994 | 14 | - |
+ | 2026/7/3 | 周五 | 1002 | 1010 | 1017 | 999 | 18 | - |
+ | 2026/7/6 | 周一 | 1013 | 1003 | 1019 | 1002 | 17 | - |
+ | 2026/7/7 | 周二 | 1003 | 984 | 1003 | 983 | 20 | - |
+ | 2026/7/8 | 周三 | 984 | 993 | 996 | 981 | 15 | 17 |
+ | 2026/7/9 | 周四 | 994 | 987 | 994 | 981 | 13 | 17 |
+ | 2026/7/10 | 周五 | 986 | 996 | 1004 | 983 | 21 | 17 |
+ | 2026/7/13 | 周一 | 996 | 980 | 1001 | 980 | 21 | 17 |
+ | 2026/7/14 | 周二 | 982 | 983 | 986 | 974 | 12 | 18 |
+ | 2026/7/15 | 周三 | 982 | 979 | 988 | 975 | 13 | 16 |
+ | 2026/7/16 | 周四 | 979 | 960 | 982 | 957 | 25 | 16 |
+ | 2026/7/17 | 周五 | 962 | 932 | 962 | 931 | 31 | 18 |
+ | 2026/7/20 | 周一 | 934 | 926 | 939 | 924 | 15 | 20 |
+ | 2026/7/21 | 周二 | 929 | 934 | 941 | 926 | 15 | 19 |
+ | 2026/7/22 | 周三 | 936 | 939 | 945 | 929 | 16 | 20 |
+ | 2026/7/23 | 周四 | 938 | 931 | 941 | 925 | 16 | 20 |
+ | 2026/7/24 | 周五 | - | - | - | - | 0 | 19 |
+
+
-
+
@@ -108,68 +123,80 @@
-
-
-