diff --git a/static/app.js b/static/app.js index 9886583..ecc51c2 100644 --- a/static/app.js +++ b/static/app.js @@ -71,6 +71,7 @@ const defaultPrefs = { base_tf: '1m', enabled: { ma: { '1d': [10, 20, 50, 100, 200] }, drawings: true, manual: true, auto: false, horizontal: true, vwap: true, rth: true }, hidden_levels_score: false, + hide_finer_trendlines: true, }; // Stored preferences outlive the shape they were written in. Anything added to @@ -1384,8 +1385,15 @@ createApp({ function enabled(level) { if (level.kind === 'ma') return (prefs.value.enabled.ma[level.tf] || []).includes(level.period); if (level.kind === 'manual') { - return prefs.value.enabled.drawings && prefs.value.enabled.manual - && drawingVisible(level); + if (!(prefs.value.enabled.drawings && prefs.value.enabled.manual)) return false; + // Two independent hiding rules, so both apply: drawingVisible covers + // hideLowerTfDrawings, and hide_finer_trendlines hides sloped lines + // drawn on a finer timeframe than the one being viewed. + if (!drawingVisible(level)) return false; + if (prefs.value.hide_finer_trendlines && !ConfluenceChart.isFlat(level)) { + return timeframes.indexOf(level.tf) >= timeframes.indexOf(timeframe.value); + } + return true; } if (level.kind === 'horizontal') return prefs.value.enabled.horizontal; if (level.kind === 'vwap') return prefs.value.enabled.vwap; diff --git a/static/index.html b/static/index.html index d26bed5..cfe497c 100644 --- a/static/index.html +++ b/static/index.html @@ -78,6 +78,7 @@ +