diff --git a/web/templates/index.html b/web/templates/index.html
index 56d7c0e..6727fef 100644
--- a/web/templates/index.html
+++ b/web/templates/index.html
@@ -5871,37 +5871,62 @@
} catch (e) {}
};
- // 初始化默认EMA配置(仅在首次初始化时)
+ // 初始化默认均线/布林带配置(仅在首次初始化时)
if (!hasInitializedDefaultMAs && movingAverages.length === 0) {
- console.log('初始化默认EMA指标');
+ console.log('初始化默认均线与布林带指标');
- // 添加默认EMA配置
- const defaultEMAs = [
- { type: 'EMA', length: 6, color: '#FF0000', name: 'EMA6' }, // 红色
- { type: 'EMA', length: 13, color: '#0000FF', name: 'EMA13' }, // 蓝色
- { type: 'EMA', length: 24, color: '#008000', name: 'EMA24' }, // 深绿色
- { type: 'EMA', length: 52, color: '#800080', name: 'EMA52' } // 紫色
+ if (typeof maIdCounter !== 'number' || !Number.isFinite(maIdCounter)) {
+ maIdCounter = 0;
+ }
+ if (typeof bbIdCounter !== 'number' || !Number.isFinite(bbIdCounter)) {
+ bbIdCounter = 0;
+ }
+
+ const defaultMAs = [
+ { type: 'EMA', length: 52, color: '#800080', name: 'EMA52' }, // 紫色
+ { type: 'EMA', length: 24, color: '#008000', name: 'EMA24' }, // 深绿色
+ { type: 'SMA', length: 30, color: '#FF8C00', name: 'SMA30' }, // 橙色
+ { type: 'SMA', length: 250, color: '#1E90FF', name: 'SMA250' } // 蓝色
];
- defaultEMAs.forEach(ema => {
+ defaultMAs.forEach(ma => {
const config = {
id: ++maIdCounter,
- type: ema.type,
- length: ema.length,
+ type: ma.type,
+ length: ma.length,
source: 'close',
smoothType: 'none',
smoothLength: 3,
- lineWidth: 1, // 1px线宽
- lineStyle: 0, // 实线
- color: ema.color,
- visible: (ema.length === 24 || ema.length === 52)
+ lineWidth: 1, // 1px线宽
+ lineStyle: 0, // 实线
+ color: ma.color,
+ visible: true
};
movingAverages.push(config);
- console.log(`添加默认${ema.name}:`, ema.color);
+ console.log(`添加默认${ma.name}:`, ma.color);
});
- console.log('默认EMA配置完成,共添加', movingAverages.length, '个指标');
+ if (bollingerBands.length === 0) {
+ const defaultBB = {
+ id: ++bbIdCounter,
+ type: 'Bollinger Bands',
+ length: 20,
+ upperMultiplier: 2,
+ lowerMultiplier: 2,
+ source: 'close',
+ lineWidth: 2,
+ lineStyle: 0,
+ upperColor: '#ff6b6b',
+ middleColor: '#667eea',
+ lowerColor: '#4ecdc4',
+ visible: true
+ };
+ bollingerBands.push(defaultBB);
+ console.log('添加默认布林带: BB(20, 2, 2)');
+ }
+
+ console.log('默认指标配置完成,当前均线数量', movingAverages.length, '布林带数量', bollingerBands.length);
hasInitializedDefaultMAs = true;
}