Strategy TemplateTrying to include few basic things which is needed for strategy which can be used as template.
Few important components
Strategy parameters
Few important parameters include - initial_capital, default_qty_type, default_qty_value, commission_type, pyramiding and commission_value. All my strategies will have similar settings with initial captial set to 20000 to 100000. 100% of equity per trade with no pyramiding (set to 1) and minimal commission.
margin_long and margin_short can be used for leveraged trading. But, since we are not using pyramiding, it will make no effect.
Trade Limiting parameters
Two types of limiting is available in the scripts
Limiting trading direction : this is done through method strategy.risk.allow_entry_in and input parameter tradeDirection
Limiting trades to particular time window : This is achieved through adding start time and end time parameters of type input.time and check whether time is within this window
Custom Methods
customized security method to get higher timeframe data
customized moving average method to get moving average of any type
Custom Parameters
Moving average Type option list which I use quite often. Any strategy where there is need to use moving average, I try to scan through different moving average types and lengths to see which one is more appropriate for the given strategy. Hence, keeping this parameter in template to make it readily available when I start with new strategy
waitForCloseBeforeExit - this is used if trailing stop need to activated as soon as price hits the stop or only on close price. This is again something I switch quite often based on strategy. Hence, keeping this as part of the template.
Entry and Exit statements for long and short
These statements from line (57 to 62) can remain as is even with new strategy. Only thing to be set are variables - buyCondition, sellCondition, closeBuyCondition and closeSellCondition
Last but not the least
In pinescript, a long and short position cannot coexist in a strategy at any point of time. Any short positions created will automatically stop long positions and vice versa. Hence, it is important make short and long trades mutually exclusive. In this example, I have used 200 weekly moving average as trend bias. No short positions are taken when price is trading above 200 weekly moving average low/close and no long positions are taken when price is less than 200 weekly moving average high/close. Any rule built on top of this (In this case a simple supertrend rules) ensures that there are no conflicting signals and hence avoids confusing trades on the stratgy.
Поиск скриптов по запросу "2000元+股票投资+最低门槛"
Multi SMA EMA WMA HMA BB (5x8 MAs Bollinger Bands) MAX MTF - RRBMulti SMA EMA WMA HMA 4x7 Moving Averages with Bollinger Bands MAX MTF by RagingRocketBull 2019
Version 1.0
All available MAX MTF versions are listed below (They are very similar and I don't want to publish them as separate indicators):
ver 1.0: 4x7 = 28 MTF MAs + 28 Levels + 3 BB = 59 < 64
ver 2.0: 5x6 = 30 MTF MAs + 30 Levels + 3 BB = 63 < 64
ver 3.0: 3x10 = 30 MTF MAs + 30 Levels + 3 BB = 63 < 64
ver 4.0: 5(4+1)x8 = 8 CurTF MAs + 32 MTF MAs + 20 Levels + 3 BB = 63 < 64
ver 5.0: 6(5+1)x6 = 6 CurTF MAs + 30 MTF MAs + 24 Levels + 3 BB = 63 < 64
ver 6.0: 4(3+1)x10 = 10 CurTF MAs + 30 MTF MAs + 20 Levels + 3 BB = 63 < 64
Fib numbers: 8, 13, 21, 34, 55, 89, 144, 233, 377
This indicator shows multiple MAs of any type SMA EMA WMA HMA etc with BB and MTF support, can show MAs as dynamically moving levels.
There are 4 MA groups + 1 BB group, a total of 4 TFs * 7 MAs = 28 MAs. You can assign any type/timeframe combo to a group, for example:
- EMAs 9,12,26,50,100,200,400 x H1, H4, D1, W1 (4 TFs x 7 MAs x 1 type)
- EMAs 8,13,21,30,34,50,55,89,100,144,200,233,377,400 x M15, H1 (2 TFs x 14 MAs x 1 type)
- D1 EMAs and SMAs 8,13,21,30,34,50,55,89,100,144,200,233,377,400 (1 TF x 14 MAs x 2 types)
- H1 WMAs 13,21,34,55,89,144,233; H4 HMAs 9,12,26,50,100,200,400; D1 EMAs 12,26,89,144,169,233,377; W1 SMAs 9,12,26,50,100,200,400 (4 TFs x 7 MAs x 4 types)
- +1 extra MA type/timeframe for BB
There are several versions: Simple, MTF, Pro MTF, Advanced MTF, MAX MTF and Ultimate MTF. This is the MAX MTF version. The Differences are listed below. All versions have BB
- Simple: you have 2 groups of MAs that can be assigned any type (5+5)
- MTF: +2 custom Timeframes for each group (2x5 MTF) +1 TF for BB, TF XY smoothing
- Pro MTF: 4 custom Timeframes for each group (4x3 MTF), 1 TF for BB, MA levels and show max bars back options
- Advanced MTF: +4 extra MAs/group (4x7 MTF), custom Ticker/Symbols, Timeframe <>= filter, Remove Duplicates Option
- MAX MTF: +2 subtypes/group, packed to the limit with max possible MAs/TFs: 4x7, 5x6, 3x10, 4(3+1)x10, 5(4+1)x8, 6(5+1)x6
- Ultimate MTF: +individual settings for each MA, custom Ticker/Symbols
MAX MTF version tests the limits of Pinescript trying to squeeze as many MAs/TFs as possible into a single indicator.
It's basically a maxed out Advanced version with subtypes allowing for mixed types within a group (i.e. both emas and smas in a single group/TF)
Pinescript has the following limits:
- max 40 security calls (6 calls are reserved for dupe checks and smoothing, 2 are used for BB, so only 32 calls are available)
- max 64 plot outputs (BB uses 3 outputs, so only 61 plot outputs are available)
- max 50000 (50kb) size of the compiled code
Based on those limits, you can only have the following MAs/TFs combos in a single script:
1. 4x7, 5x6, 3x10 - total number of MTF MAs must always be <= 32, and you can still have BB and Num Levels = total MAs, without any compromises
2. 5(4+1)x8, 6(5+1)x6, 4(3+1)x10 - you can use the Current Symbol/Timeframe as an extra (+1) fixed TF with the same number of MTF MAs
- you don't need to call security to display MAs on the Current Symbol/Timeframe, so the total number of MTF MAs remains the same and is still <= 32
- to fit that many MAs into the max 64 plot outputs limit you need to reduce the number of levels (not every MA Group will have corresponding levels)
Features:
- 4x7 = 28 MAs of any type
- 4x MTF groups with XY step line smoothing
- +1 extra TF/type for BB MAs
- 2 MA subtypes within each group/TF
- 4x7 = 28 MA levels with adjustable group offsets, indents and shift
- supports any existing type of MA: SMA, EMA, WMA, Hull Moving Average (HMA)
- custom tickers/symbols for each group
- show max bars back option
- show/hide both groups of MAs/levels/BB and individual MAs
- timeframe filter: show only MAs/Levels with TFs <>= Current TF
- hide MAs/Levels with duplicate TFs
- support for custom TFs that are not available in free accounts: 2D, 3D etc
- support for timeframes in H: H, 2H, 4H etc
Notes:
- Uses timeframe textbox instead of input resolution dropdown to allow for 240 120 and other custom TFs
- Uses symbol textbox instead of input symbol to avoid establishing multiple dummy security connections to the current ticker - otherwise empty symbols will prevent script from running
- Possible reasons for missing MAs on a chart:
- there may not be enough bars in history to start plotting it. For example, W1 EMA200 needs at least 200 bars on a weekly chart.
- for charts with low/fractional prices i.e. 0.00002 << 0.001 (default Y smoothing step) decrease Y smoothing as needed (set Y = 0.0000001) or disable it completely (set X,Y to 0,0)
- for charts with high price values i.e. 20000 >> 0.001 increase Y smoothing as needed (set Y = 10-20). Higher values exceeding MAs point density will cause it to disappear as there will be no points to plot. Different TFs may require diff adjustments
- TradingView Replay Mode UI and Pinescript security calls are limited to TFs >= D (D,2D,W,MN...) for free accounts
- attempting to plot any TF < D1 in Replay Mode will only result in straight lines, but all TFs will work properly in history and real-time modes. This is not a bug.
- Max Bars Back (num_bars) is limited to 5000 for free accounts (10000 for paid), will show error when exceeded. To plot on all available history set to 0 (default)
- Slow load/redraw times. This indicator becomes slower, its UI less responsive when:
- Pinescript Node.js graphics library is too slow and inefficient at plotting bars/objects in a browser window. Code optimization doesn't help much - the graphics engine is the main reason for general slowness.
- the chart has a long history (10000+ bars) in a browser's cache (you have scrolled back a couple of screens in a max zoom mode).
- Reload the page/Load a fresh chart and then apply the indicator or
- Switch to another Timeframe (old TF history will still remain in cache and that TF will be slow)
- in max possible zoom mode around 4500 bars can fit on 1 screen - this also slows down responsiveness. Reset Zoom level
- initial load and redraw times after a param change in UI also depend on TF. For example: D1/W1 - 2 sec, H1/H4 - 5-6 sec, M30 - 10 sec, M15/M5 - 4 sec, M1 - 5 sec. M30 usually has the longest history (up to 16000 bars) and W1 - the shortest (1000 bars).
- when indicator uses more MAs (plots) and timeframes it will redraw slower. Seems that up to 5 Timeframes is acceptable, but 6+ Timeframes can become very slow.
- show_last=last_bars plot limit doesn't affect load/redraw times, so it was removed from MA plot
- Max Bars Back (num_bars) default/custom set UI value doesn't seem to affect load/redraw times
- In max zoom mode all dynamic levels disappear (they behave like text)
- Dupe check includes symbol: symbol, tf, both subtypes - all must match for a duplicate group
- For the dupe check to work correctly a custom symbol must always include an exchange prefix. BB is not checked for dupes
Good Luck! Feel free to learn from/reuse the code to build your own indicators.
Drawdown Distribution Analysis (DDA) ACADEMIC FOUNDATION AND RESEARCH BACKGROUND
The Drawdown Distribution Analysis indicator implements quantitative risk management principles, drawing upon decades of academic research in portfolio theory, behavioral finance, and statistical risk modeling. This tool provides risk assessment capabilities for traders and portfolio managers seeking to understand their current position within historical drawdown patterns.
The theoretical foundation of this indicator rests on modern portfolio theory as established by Markowitz (1952), who introduced the fundamental concepts of risk-return optimization that continue to underpin contemporary portfolio management. Sharpe (1966) later expanded this framework by developing risk-adjusted performance measures, most notably the Sharpe ratio, which remains a cornerstone of performance evaluation in financial markets.
The specific focus on drawdown analysis builds upon the work of Chekhlov, Uryasev and Zabarankin (2005), who provided the mathematical framework for incorporating drawdown measures into portfolio optimization. Their research demonstrated that traditional mean-variance optimization often fails to capture the full risk profile of investment strategies, particularly regarding sequential losses. More recent work by Goldberg and Mahmoud (2017) has brought these theoretical concepts into practical application within institutional risk management frameworks.
Value at Risk methodology, as comprehensively outlined by Jorion (2007), provides the statistical foundation for the risk measurement components of this indicator. The coherent risk measures framework developed by Artzner et al. (1999) ensures that the risk metrics employed satisfy the mathematical properties required for sound risk management decisions. Additionally, the focus on downside risk follows the framework established by Sortino and Price (1994), while the drawdown-adjusted performance measures implement concepts introduced by Young (1991).
MATHEMATICAL METHODOLOGY
The core calculation methodology centers on a peak-tracking algorithm that continuously monitors the maximum price level achieved and calculates the percentage decline from this peak. The drawdown at any time t is defined as DD(t) = (P(t) - Peak(t)) / Peak(t) × 100, where P(t) represents the asset price at time t and Peak(t) represents the running maximum price observed up to time t.
Statistical distribution analysis forms the analytical backbone of the indicator. The system calculates key percentiles using the ta.percentile_nearest_rank() function to establish the 5th, 10th, 25th, 50th, 75th, 90th, and 95th percentiles of the historical drawdown distribution. This approach provides a complete picture of how the current drawdown compares to historical patterns.
Statistical significance assessment employs standard deviation bands at one, two, and three standard deviations from the mean, following the conventional approach where the upper band equals μ + nσ and the lower band equals μ - nσ. The Z-score calculation, defined as Z = (DD - μ) / σ, enables the identification of statistically extreme events, with thresholds set at |Z| > 2.5 for extreme drawdowns and |Z| > 3.0 for severe drawdowns, corresponding to confidence levels exceeding 99.4% and 99.7% respectively.
ADVANCED RISK METRICS
The indicator incorporates several risk-adjusted performance measures that extend beyond basic drawdown analysis. The Sharpe ratio calculation follows the standard formula Sharpe = (R - Rf) / σ, where R represents the annualized return, Rf represents the risk-free rate, and σ represents the annualized volatility. The system supports dynamic sourcing of the risk-free rate from the US 10-year Treasury yield or allows for manual specification.
The Sortino ratio addresses the limitation of the Sharpe ratio by focusing exclusively on downside risk, calculated as Sortino = (R - Rf) / σd, where σd represents the downside deviation computed using only negative returns. This measure provides a more accurate assessment of risk-adjusted performance for strategies that exhibit asymmetric return distributions.
The Calmar ratio, defined as Annual Return divided by the absolute value of Maximum Drawdown, offers a direct measure of return per unit of drawdown risk. This metric proves particularly valuable for comparing strategies or assets with different risk profiles, as it directly relates performance to the maximum historical loss experienced.
Value at Risk calculations provide quantitative estimates of potential losses at specified confidence levels. The 95% VaR corresponds to the 5th percentile of the drawdown distribution, while the 99% VaR corresponds to the 1st percentile. Conditional VaR, also known as Expected Shortfall, estimates the average loss in the worst 5% of scenarios, providing insight into tail risk that standard VaR measures may not capture.
To enable fair comparison across assets with different volatility characteristics, the indicator calculates volatility-adjusted drawdowns using the formula Adjusted DD = Raw DD / (Volatility / 20%). This normalization allows for meaningful comparison between high-volatility assets like cryptocurrencies and lower-volatility instruments like government bonds.
The Risk Efficiency Score represents a composite measure ranging from 0 to 100 that combines the Sharpe ratio and current percentile rank to provide a single metric for quick asset assessment. Higher scores indicate superior risk-adjusted performance relative to historical patterns.
COLOR SCHEMES AND VISUALIZATION
The indicator implements eight distinct color themes designed to accommodate different analytical preferences and market contexts. The EdgeTools theme employs a corporate blue palette that matches the design system used throughout the edgetools.org platform, ensuring visual consistency across analytical tools.
The Gold theme specifically targets precious metals analysis with warm tones that complement gold chart analysis, while the Quant theme provides a grayscale scheme suitable for analytical environments that prioritize clarity over aesthetic appeal. The Behavioral theme incorporates psychology-based color coding, using green to represent greed-driven market conditions and red to indicate fear-driven environments.
Additional themes include Ocean, Fire, Matrix, and Arctic schemes, each designed for specific market conditions or user preferences. All themes function effectively with both dark and light mode trading platforms, ensuring accessibility across different user interface configurations.
PRACTICAL APPLICATIONS
Asset allocation and portfolio construction represent primary use cases for this analytical framework. When comparing multiple assets such as Bitcoin, gold, and the S&P 500, traders can examine Risk Efficiency Scores to identify instruments offering superior risk-adjusted performance. The 95% VaR provides worst-case scenario comparisons, while volatility-adjusted drawdowns enable fair comparison despite varying volatility profiles.
The practical decision framework suggests that assets with Risk Efficiency Scores above 70 may be suitable for aggressive portfolio allocations, scores between 40 and 70 indicate moderate allocation potential, and scores below 40 suggest defensive positioning or avoidance. These thresholds should be adjusted based on individual risk tolerance and market conditions.
Risk management and position sizing applications utilize the current percentile rank to guide allocation decisions. When the current drawdown ranks above the 75th percentile of historical data, indicating that current conditions are better than 75% of historical periods, position increases may be warranted. Conversely, when percentile rankings fall below the 25th percentile, indicating elevated risk conditions, position reductions become advisable.
Institutional portfolio monitoring applications include hedge fund risk dashboard implementations where multiple strategies can be monitored simultaneously. Sharpe ratio tracking identifies deteriorating risk-adjusted performance across strategies, VaR monitoring ensures portfolios remain within established risk limits, and drawdown duration tracking provides valuable information for investor reporting requirements.
Market timing applications combine the statistical analysis with trend identification techniques. Strong buy signals may emerge when risk levels register as "Low" in conjunction with established uptrends, while extreme risk levels combined with downtrends may indicate exit or hedging opportunities. Z-scores exceeding 3.0 often signal statistically oversold conditions that may precede trend reversals.
STATISTICAL SIGNIFICANCE AND VALIDATION
The indicator provides 95% confidence intervals around current drawdown levels using the standard formula CI = μ ± 1.96σ. This statistical framework enables users to assess whether current conditions fall within normal market variation or represent statistically significant departures from historical patterns.
Risk level classification employs a dynamic assessment system based on percentile ranking within the historical distribution. Low risk designation applies when current drawdowns perform better than 50% of historical data, moderate risk encompasses the 25th to 50th percentile range, high risk covers the 10th to 25th percentile range, and extreme risk applies to the worst 10% of historical drawdowns.
Sample size considerations play a crucial role in statistical reliability. For daily data, the system requires a minimum of 252 trading days (approximately one year) but performs better with 500 or more observations. Weekly data analysis benefits from at least 104 weeks (two years) of history, while monthly data requires a minimum of 60 months (five years) for reliable statistical inference.
IMPLEMENTATION BEST PRACTICES
Parameter optimization should consider the specific characteristics of different asset classes. Equity analysis typically benefits from 500-day lookback periods with 21-day smoothing, while cryptocurrency analysis may employ 365-day lookback periods with 14-day smoothing to account for higher volatility patterns. Fixed income analysis often requires longer lookback periods of 756 days with 34-day smoothing to capture the lower volatility environment.
Multi-timeframe analysis provides hierarchical risk assessment capabilities. Daily timeframe analysis supports tactical risk management decisions, weekly analysis informs strategic positioning choices, and monthly analysis guides long-term allocation decisions. This hierarchical approach ensures that risk assessment occurs at appropriate temporal scales for different investment objectives.
Integration with complementary indicators enhances the analytical framework. Trend indicators such as RSI and moving averages provide directional bias context, volume analysis helps confirm the severity of drawdown conditions, and volatility measures like VIX or ATR assist in market regime identification.
ALERT SYSTEM AND AUTOMATION
The automated alert system monitors five distinct categories of risk events. Risk level changes trigger notifications when drawdowns move between risk categories, enabling proactive risk management responses. Statistical significance alerts activate when Z-scores exceed established threshold levels of 2.5 or 3.0 standard deviations.
New maximum drawdown alerts notify users when historical maximum levels are exceeded, indicating entry into uncharted risk territory. Poor risk efficiency alerts trigger when the composite risk efficiency score falls below 30, suggesting deteriorating risk-adjusted performance. Sharpe ratio decline alerts activate when risk-adjusted performance turns negative, indicating that returns no longer compensate for the risk undertaken.
TRADING STRATEGIES
Conservative risk parity strategies can be implemented by monitoring Risk Efficiency Scores across a diversified asset portfolio. Monthly rebalancing maintains equal risk contribution from each asset, with allocation reductions triggered when risk levels reach "High" status and complete exits executed when "Extreme" risk levels emerge. This approach typically results in lower overall portfolio volatility, improved risk-adjusted returns, and reduced maximum drawdown periods.
Tactical asset rotation strategies compare Risk Efficiency Scores across different asset classes to guide allocation decisions. Assets with scores exceeding 60 receive overweight allocations, while assets scoring below 40 receive underweight positions. Percentile rankings provide timing guidance for allocation adjustments, creating a systematic approach to asset allocation that responds to changing risk-return profiles.
Market timing strategies with statistical edges can be constructed by entering positions when Z-scores fall below -2.5, indicating statistically oversold conditions, and scaling out when Z-scores exceed 2.5, suggesting overbought conditions. The 95% VaR serves as a stop-loss reference point, while trend confirmation indicators provide additional validation for position entry and exit decisions.
LIMITATIONS AND CONSIDERATIONS
Several statistical limitations affect the interpretation and application of these risk measures. Historical bias represents a fundamental challenge, as past drawdown patterns may not accurately predict future risk characteristics, particularly during structural market changes or regime shifts. Sample dependence means that results can be sensitive to the selected lookback period, with shorter periods providing more responsive but potentially less stable estimates.
Market regime changes can significantly alter the statistical parameters underlying the analysis. During periods of structural market evolution, historical distributions may provide poor guidance for future expectations. Additionally, many financial assets exhibit return distributions with fat tails that deviate from normal distribution assumptions, potentially leading to underestimation of extreme event probabilities.
Practical limitations include execution risk, where theoretical signals may not translate directly into actual trading results due to factors such as slippage, timing delays, and market impact. Liquidity constraints mean that risk metrics assume perfect liquidity, which may not hold during stressed market conditions when risk management becomes most critical.
Transaction costs are not incorporated into risk-adjusted return calculations, potentially overstating the attractiveness of strategies that require frequent trading. Behavioral factors represent another limitation, as human psychology may override statistical signals, particularly during periods of extreme market stress when disciplined risk management becomes most challenging.
TECHNICAL IMPLEMENTATION
Performance optimization ensures reliable operation across different market conditions and timeframes. All technical analysis functions are extracted from conditional statements to maintain Pine Script compliance and ensure consistent execution. Memory efficiency is achieved through optimized variable scoping and array usage, while computational speed benefits from vectorized calculations where possible.
Data quality requirements include clean price data without gaps or errors that could distort distribution analysis. Sufficient historical data is essential, with a minimum of 100 bars required and 500 or more preferred for reliable statistical inference. Time alignment across related assets ensures meaningful comparison when conducting multi-asset analysis.
The configuration parameters are organized into logical groups to enhance usability. Core settings include the Distribution Analysis Period (100-2000 bars), Drawdown Smoothing Period (1-50 bars), and Price Source selection. Advanced metrics settings control risk-free rate sourcing, either from live market data or fixed rate specification, along with toggles for various risk-adjusted metric calculations.
Display options provide flexibility in visual presentation, including color theme selection from eight available schemes, automatic dark mode optimization, and control over table display, position lines, percentile bands, and standard deviation overlays. These options ensure that the indicator can be adapted to different analytical workflows and visual preferences.
CONCLUSION
The Drawdown Distribution Analysis indicator provides risk management tools for traders seeking to understand their current position within historical risk patterns. By combining established statistical methodology with practical usability features, the tool enables evidence-based risk assessment and portfolio optimization decisions.
The implementation draws upon established academic research while providing practical features that address real-world trading requirements. Dynamic risk-free rate integration ensures accurate risk-adjusted performance calculations, while multiple color schemes accommodate different analytical preferences and use cases.
Academic compliance is maintained through transparent methodology and acknowledgment of limitations. The tool implements peer-reviewed statistical techniques while clearly communicating the constraints and assumptions underlying the analysis. This approach ensures that users can make informed decisions about the appropriate application of the risk assessment framework within their broader trading and investment processes.
BIBLIOGRAPHY
Artzner, P., Delbaen, F., Eber, J.M. and Heath, D. (1999) 'Coherent Measures of Risk', Mathematical Finance, 9(3), pp. 203-228.
Chekhlov, A., Uryasev, S. and Zabarankin, M. (2005) 'Drawdown Measure in Portfolio Optimization', International Journal of Theoretical and Applied Finance, 8(1), pp. 13-58.
Goldberg, L.R. and Mahmoud, O. (2017) 'Drawdown: From Practice to Theory and Back Again', Journal of Risk Management in Financial Institutions, 10(2), pp. 140-152.
Jorion, P. (2007) Value at Risk: The New Benchmark for Managing Financial Risk. 3rd edn. New York: McGraw-Hill.
Markowitz, H. (1952) 'Portfolio Selection', Journal of Finance, 7(1), pp. 77-91.
Sharpe, W.F. (1966) 'Mutual Fund Performance', Journal of Business, 39(1), pp. 119-138.
Sortino, F.A. and Price, L.N. (1994) 'Performance Measurement in a Downside Risk Framework', Journal of Investing, 3(3), pp. 59-64.
Young, T.W. (1991) 'Calmar Ratio: A Smoother Tool', Futures, 20(1), pp. 40-42.
Fear Volatility Gate [by Oberlunar]The Fear Volatility Gate by Oberlunar is a filter designed to enhance operational prudence by leveraging volatility-based risk indices. Its architecture is grounded in the empirical observation that sudden shifts in implied volatility often precede instability across financial markets. By dynamically interpreting signals from globally recognized "fear indices", such as the VIX, the indicator aims to identify periods of elevated systemic uncertainty and, accordingly, restrict or flag potential trade entries.
The rationale behind the Fear Volatility Gate is rooted in the understanding that implied volatility represents a forward-looking estimate of market risk. When volatility indices rise sharply, it reflects increased demand for options and a broader perception of uncertainty. In such contexts, price movements can become less predictable, more erratic, and often decoupled from technical structures. Rather than relying on price alone, this filter provides an external perspective—derived from derivative markets—on whether current conditions justify caution.
The indicator operates in two primary modes: single-source and composite . In the single-source configuration, a user-defined volatility index is monitored individually. In composite mode, the filter can synthesize input from multiple indices simultaneously, offering a more comprehensive macro-risk assessment. The filtering logic is adaptable, allowing signals to be combined using inclusive (ANY), strict (ALL), or majority consensus logic. This allows the trader to tailor sensitivity based on the operational context or asset class.
The indices available for selection cover a broad spectrum of market sectors. In the equity domain, the filter supports the CBOE Volatility Index ( CBOE:VIX VIX) for the S&P 500, the Nasdaq-100 Volatility Index ( CBOE:VXN VXN), the Russell 2000 Volatility Index ( CBOEFTSE:RVX RVX), and the Dow Jones Volatility Index ( CBOE:VXD VXD). For commodities, it integrates the Crude Oil Volatility Index ( CBOE:OVX ), the Gold Volatility Index ( CBOE:GVZ ), and the Silver Volatility Index ( CBOE:VXSLV ). From the fixed income perspective, it includes the ICE Bank of America MOVE Index ( OKX:MOVEUSD ), the Volatility Index for the TLT ETF ( CBOE:VXTLT VXTLT), and the 5-Year Treasury Yield Index ( CBOE:FVX.P FVX). Within the cryptocurrency space, it incorporates the Bitcoin Volmex Implied Volatility Index ( VOLMEX:BVIV BVIV), the Ethereum Volmex Implied Volatility Index ( VOLMEX:EVIV EVIV), the Deribit Bitcoin Volatility Index ( DERIBIT:DVOL DVOL), and the Deribit Ethereum Volatility Index ( DERIBIT:ETHDVOL ETHDVOL). Additionally, the user may define a custom instrument for specialized tracking.
To determine whether market conditions are considered high-risk, the indicator supports three modes of evaluation.
The moving average cross mode compares a fast Hull Moving Average to a slower one, triggering a signal when short-term volatility exceeds long-term expectations.
The Z-score mode standardizes current volatility relative to historical mean and standard deviation, identifying significant deviations that may indicate abnormal market stress.
The percentile mode ranks the current value against a historical distribution, providing a relative perspective particularly useful when dealing with non-normal or skewed distributions.
When at least one selected index meets the condition defined by the chosen mode, and if the filtering logic confirms it, the indicator can mark the trading environment as “blocked”. This status is visually highlighted through background color changes and symbolic markers on the chart. An optional tabular interface provides detailed diagnostics, including raw values, fast-slow MA comparison, Z-scores, percentile levels, and binary risk status for each active index.
The Fear Volatility Gate is not a predictive tool in itself but rather a dynamic constraint layer that reinforces discipline under conditions of macro instability. It is particularly valuable when trading systems are exposed to highly leveraged or short-duration strategies, where market noise and sentiment can temporarily override structural price behavior. By synchronizing trading signals with volatility regimes, the filter promotes a more cautious, informed approach to decision-making.
This approach does not assume that all volatility spikes are harmful or that market corrections are imminent. Rather, it acknowledges that periods of elevated implied volatility statistically coincide with increased execution risk, slippage, and spread widening, all of which may erode the profitability of even the most technically accurate setups.
Therefore, the Fear Volatility Gate acts as a protective mechanism.
Oberlunar 👁️⭐
DA Cloud - DynamicDA Cloud - Dynamic | Detailed Overview
🌟 What Makes This Indicator Special
The DA Cloud - Dynamic is an advanced technical analysis tool that creates adaptive support and resistance zones that expand and contract based on market volatility. Unlike traditional static indicators, this cloud system "breathes" with the market, providing dynamic levels that adjust to changing market conditions.
📊 Core Components
1. Multi-Layered Cloud Structure
Resistance Cloud (Red): Three dynamic resistance levels (RL1, RL2, RL3) with intermediate channels (RC1, RC2)
Support Cloud (Green): Three dynamic support levels (SL1, SL2, SL3) with intermediate channels (SC1, SC2)
Trend Cloud (Blue): Five trend lines (TU2, TU1, TM, TL1, TL2) that flow through the center
Confirmation Line (Purple): A fast-reacting line that confirms trend changes
2. Forward Displacement Technology
The entire cloud system is projected 21 bars into the future (Fibonacci number), allowing traders to see potential support and resistance levels before price reaches them. This predictive element is inspired by Ichimoku Cloud theory but enhanced with modern volatility dynamics.
🔬 How It Works (Without Revealing the Secret Sauce)
Volatility-Responsive Design
The indicator continuously measures market volatility across multiple timeframes
During high volatility periods (like major breakouts), clouds expand dramatically
During consolidation, clouds contract and tighten around price
This creates a "breathing" effect that adapts to market conditions
Multi-Timeframe Analysis
Incorporates Fibonacci sequence periods (3, 13, 21, 34, 55) for calculations
Blends short-term responsiveness with long-term stability
Creates smooth, flowing lines that filter out market noise
Dynamic Level Calculation
Levels are not fixed percentages or static bands
Each level adapts based on current market structure and volatility
Channel lines (RC1, RC2, SC1, SC2) provide intermediate support/resistance
🎯 Key Features
1. Touch Point Detection
Colored dots appear when price touches key levels
Red dots = resistance touch
Green dots = support touch
Blue dots = trend median touch
2. Entry/Exit Signals
"Cloud Entry" labels when confirmation line crosses above SL1
"Cloud Exit" labels when confirmation line crosses below RL1
Background color changes based on bullish/bearish bias
3. Information Table
Real-time display of key levels (RL1, TM, SL1)
Current bias indicator (BULLISH/BEARISH)
Updates dynamically as market moves
⚙️ Customization Options
Main Controls:
Sensitivity (5-50): How responsive clouds are to price movements
Smoothing (1-50): Controls the flow and smoothness of cloud lines
Forward Displacement (0-50): How many bars to project the cloud forward
Advanced Volatility Settings:
Volatility Lookback (50-1000): Period for establishing volatility baseline
Volatility Smoothing (1-50): Reduces spikes in volatility expansion
Expansion Power (0.1-2.0): Controls how dramatically clouds expand
Range Divisor (1.0-20.0): Master control for overall cloud width
Level Spacing:
Individual multipliers for each resistance and support level
Allows fine-tuning of cloud structure to match different markets
Trend Spacing:
Separate controls for inner and outer trend bands
Customize the trend cloud density
📈 Trading Applications
1. Trend Identification
Price above TM (Trend Median) = Bullish bias
Price below TM = Bearish bias
Cloud color and width indicate trend strength
2. Support/Resistance Trading
Use RL1/SL1 as primary targets and reversal zones
RC1/RC2 and SC1/SC2 provide intermediate levels
RL3/SL3 mark extreme levels often seen at major tops/bottoms
3. Volatility Analysis
Expanding clouds signal increasing volatility and potential big moves
Contracting clouds indicate consolidation and potential breakout setup
Cloud width helps with position sizing and risk management
4. Multi-Timeframe Confirmation
Works on all timeframes from 1-minute to monthly
Higher timeframes show major market structure
Lower timeframes provide precise entry/exit points
🎓 Best Practices
Combine with Volume: High volume at cloud levels increases reliability
Watch for Touch Clusters: Multiple touches at a level indicate strength
Monitor Cloud Expansion: Sudden expansion often precedes major moves
Use Multiple Timeframes: Confirm signals across different time periods
Respect the Trend Median: This is often the most important level
⚡ Performance Notes
Optimized for up to 2000 bars of historical data
Smooth performance with 500+ lines and labels
Works on all markets: Crypto, Forex, Stocks, Commodities
📝 Version Info
Current Version: 1.0
Dynamic volatility expansion system
Full customization suite
Touch point detection
Entry/exit signals
Forward displacement projection
AWR_8DLRC1. Overview and Objective
The AWR_8DLRC indicator is designed to display multiple dynamic channels directly on your chart (with the overlay enabled). It creates dynamic envelopes based on a regression-like approach combined with a volatility measure derived from the root mean square error (RMSE). These channels can help identify support and resistance areas, overbought/oversold conditions, or even potential trend reversals by providing several layers of analysis using different multipliers and timeframes.
2. Input Parameters
Source and Multiplier
The indicator uses the closing price (close) as its default data source.
A floating-point parameter mult (default value: 3.0) is available. This multiplier is primarily used for channel 5, while other channels employ fixed multipliers (1, 2, or 3) to generate different sensitivity levels.
Channel Lengths
Several channels are calculated with distinct lookback lengths:
Channel 5: Uses a length of 1000 periods (its plot is commented out in the code, so it is not displayed by default).
Channel 6: Uses a length of 2000 periods.
Channel 7: Uses a length of 3000 periods.
Channel 8: Uses a length of 4000 periods.
Custom Colors and Transparencies
Each channel (or group of channels) can be customized with specific colors and transparency settings. For example, channel 6 uses a light yellow tone, channel 7 is red, and channel 8 is white.
Additionally, specific fill colors are defined for the shaded areas between the upper and lower lines of some channels, enhancing visual clarity.
3. Channel Calculation Mechanism
At the heart of the indicator is the function f_calcChannel(), which takes as input:
A data source (_src),
A period (_length), and
A multiplier (_mult).
The calculation process comprises several key steps:
Moving Averages Calculation
The function computes both a weighted moving average (WMA) and a simple moving average (SMA) over the defined length.
Baseline Determination
It then combines these averages into two values (A and B) using linear formulas (e.g., A = 4*b - 3*a and B = 3*a - 2*b). These values help to establish a baseline that represents the central trend during the lookback period.
Slope and Deviation Calculation
A slope (m) is calculated based on the difference between A and B.
The function iterates over the period, measuring the squared deviation between the actual data point and a corresponding value on the regression line. The sum of these squared deviations is used to compute the RMSE.
Defining Upper and Lower Bounds
The RMSE is multiplied by the provided multiplier (_mult) and then added to or subtracted from the baseline B to create the upper and lower channel boundaries.
This method produces an envelope that widens or narrows based on the volatility reflected by the RMSE.
This process is repeated using different multipliers (1, 2, and 3) for channels 6, 7, and 8, providing multiple levels that offer deeper insights into market conditions.
4. Chart Visualization
The indicator plots several lines and shaded regions:
Channels 6, 7, and 8: For each of these channels, three levels are calculated:
Levels with a multiplier of 1 (thin lines with a line width of 1),
Levels with a multiplier of 2 (medium lines with a line width of 2),
Levels with a multiplier of 3 (thick lines with a line width of 4).
To further enhance visual interpretation, shaded areas (fills) are added between the upper and lower lines — notably for the level with multiplier 3.
Channel 5: Although the calculations for channel 5 are included, its plot commands are commented out. This means it won’t display on the chart unless you uncomment the relevant lines by modifying the script.
5. Conditions and Alerts
Beyond the visual channels, the indicator integrates several alert conditions and visual markers:
Graphical Conditions:
The script defines conditions checking whether the price (i.e., the source) is above or below specific channel levels, particularly the levels calculated with multipliers 2 and 3.
“Mixed” conditions are also established to detect when the price is simultaneously above one set of levels and below another, aiming to highlight potential reversal areas.
Automated Alerts:
Alert conditions are programmed to notify you when the price crosses specific channel boundaries:
Alerts for conditions such as “Upper Channels 2” or “Lower Channels 2” indicate when prices exceed or fall below the second level of the channels.
Similarly, alerts for “Upper Channels 3” and “Lower Channels 3” correspond to the more extreme boundaries defined by the multiplier of 3.
Visual Symbols:
The indicator employs the plotchar() function to place symbols (like 🌙, ⚠️, 🪐, and ☢️) directly on the chart. These symbols make it easy to spot when the price meets these crucial levels.
These alert features are especially valuable for traders who rely on real-time notifications to adjust positions or watch for potential trend shifts.
6. How to Use the Indicator
Installation and Setup:
Copy the provided code into your Pine Script editor on your charting platform (e.g., TradingView) and add the indicator to your chart.
Customize the parameters according to your trading strategy:
Channel Lengths: Modify the lookback periods to see how the envelope adapts.
Colors and Transparencies: Adjust these to fit your display preferences.
Multipliers: Experiment with the multipliers to observe how different settings affect the channel widths.
Interpreting the Channels:
The upper and lower bands represent dynamic thresholds that change with market volatility.
A price that nears an upper boundary might indicate an overextended move upward, whereas a break beyond these dynamic boundaries could signal a potential trend reversal.
Utilizing Alerts:
Configure notifications based on the alert conditions so you can be alerted when the price moves beyond the defined channel levels. This can help trigger entry or exit signals, or simply keep you informed of significant price movements.
Multi-Level Analysis:
The strength of this indicator lies in its multi-level approach. With three defined levels for channels 6, 7, and 8, you gain a more nuanced view of market volatility and trend strength.
For instance, a price crossing the level with a multiplier of 2 might indicate the start of a trend change, while a break of the level with multiplier 3 might confirm a strong trend movement.
7. In Summary
The AWR_8DLRC indicator is a comprehensive tool for drawing dynamic channels based on a regression and RMSE-driven volatility measure. It offers:
Multiple channel levels, each with different lookback periods and multipliers.
Shaded regions between channel boundaries for rapid visual interpretation.
Alert conditions to notify you immediately when the price hits critical levels.
Visual markers directly on the chart to highlight key moments of price action.
This indicator is particularly suited for technical traders seeking to dynamically identify support and resistance zones with a responsive alert system. Its customizable settings and rich array of signals provide an excellent framework to refine your trading decisions.
McGinley Dynamic debugged🔍 McGinley Dynamic Debugged (Adaptive Moving Average)
This indicator plots the McGinley Dynamic, a mathematically adaptive moving average designed to reduce lag and better track price action during both trends and consolidations.
✅ Key Features:
Adaptive smoothing: The McGinley Dynamic adjusts itself based on the speed of price changes.
Lag reduction: Compared to traditional moving averages like EMA or SMA, McGinley provides smoother yet responsive tracking.
Stability fix: This version includes a robust fix for rare recursive calculation issues, particularly on low-priced historical assets (e.g., Wipro pre-2000).
⚙️ What’s Different in This Debugged Version?
Implements manual clamping on the source / previous value ratio to prevent mathematical spikes that could cause flattening or distortion in the plotted line.
Ensures more stable behavior across all instruments and timeframes, especially those with historically low price points or volatile early data.
💡 Use Case:
Ideal for:
Trend confirmation
Entry filtering
Adaptive support/resistance visualization
Improving signal precision in low-volatility or high-noise environments
⚠️ Notes:
Works best when combined with volume filters or other trend indicators for validation.
This version is optimized for visual use—for signal generation, consider pairing it with additional logic or thresholds.
Bear Market Probability Model# Bear Market Probability Model: A Multi-Factor Risk Assessment Framework
The Bear Market Probability Model represents a comprehensive quantitative framework for assessing systemic market risk through the integration of 13 distinct risk factors across four analytical categories: macroeconomic indicators, technical analysis factors, market sentiment measures, and market breadth metrics. This indicator synthesizes established financial research methodologies to provide real-time probabilistic assessments of impending bear market conditions, offering institutional-grade risk management capabilities to retail and professional traders alike.
## Theoretical Foundation
### Historical Context of Bear Market Prediction
Bear market prediction has been a central focus of financial research since the seminal work of Dow (1901) and the subsequent development of technical analysis theory. The challenge of predicting market downturns gained renewed academic attention following the market crashes of 1929, 1987, 2000, and 2008, leading to the development of sophisticated multi-factor models.
Fama and French (1989) demonstrated that certain financial variables possess predictive power for stock returns, particularly during market stress periods. Their three-factor model laid the groundwork for multi-dimensional risk assessment, which this indicator extends through the incorporation of real-time market microstructure data.
### Methodological Framework
The model employs a weighted composite scoring methodology based on the theoretical framework established by Campbell and Shiller (1998) for market valuation assessment, extended through the incorporation of high-frequency sentiment and technical indicators as proposed by Baker and Wurgler (2006) in their seminal work on investor sentiment.
The mathematical foundation follows the general form:
Bear Market Probability = Σ(Wi × Ci) / ΣWi × 100
Where:
- Wi = Category weight (i = 1,2,3,4)
- Ci = Normalized category score
- Categories: Macroeconomic, Technical, Sentiment, Breadth
## Component Analysis
### 1. Macroeconomic Risk Factors
#### Yield Curve Analysis
The inclusion of yield curve inversion as a primary predictor follows extensive research by Estrella and Mishkin (1998), who demonstrated that the term spread between 3-month and 10-year Treasury securities has historically preceded all major recessions since 1969. The model incorporates both the 2Y-10Y and 3M-10Y spreads to capture different aspects of monetary policy expectations.
Implementation:
- 2Y-10Y Spread: Captures market expectations of monetary policy trajectory
- 3M-10Y Spread: Traditional recession predictor with 12-18 month lead time
Scientific Basis: Harvey (1988) and subsequent research by Ang, Piazzesi, and Wei (2006) established the theoretical foundation linking yield curve inversions to economic contractions through the expectations hypothesis of the term structure.
#### Credit Risk Premium Assessment
High-yield credit spreads serve as a real-time gauge of systemic risk, following the methodology established by Gilchrist and Zakrajšek (2012) in their excess bond premium research. The model incorporates the ICE BofA High Yield Master II Option-Adjusted Spread as a proxy for credit market stress.
Threshold Calibration:
- Normal conditions: < 350 basis points
- Elevated risk: 350-500 basis points
- Severe stress: > 500 basis points
#### Currency and Commodity Stress Indicators
The US Dollar Index (DXY) momentum serves as a risk-off indicator, while the Gold-to-Oil ratio captures commodity market stress dynamics. This approach follows the methodology of Akram (2009) and Beckmann, Berger, and Czudaj (2015) in analyzing commodity-currency relationships during market stress.
### 2. Technical Analysis Factors
#### Multi-Timeframe Moving Average Analysis
The technical component incorporates the well-established moving average convergence methodology, drawing from the work of Brock, Lakonishok, and LeBaron (1992), who provided empirical evidence for the profitability of technical trading rules.
Implementation:
- Price relative to 50-day and 200-day simple moving averages
- Moving average convergence/divergence analysis
- Multi-timeframe MACD assessment (daily and weekly)
#### Momentum and Volatility Analysis
The model integrates Relative Strength Index (RSI) analysis following Wilder's (1978) original methodology, combined with maximum drawdown analysis based on the work of Magdon-Ismail and Atiya (2004) on optimal drawdown measurement.
### 3. Market Sentiment Factors
#### Volatility Index Analysis
The VIX component follows the established research of Whaley (2009) and subsequent work by Bekaert and Hoerova (2014) on VIX as a predictor of market stress. The model incorporates both absolute VIX levels and relative VIX spikes compared to the 20-day moving average.
Calibration:
- Low volatility: VIX < 20
- Elevated concern: VIX 20-25
- High fear: VIX > 25
- Panic conditions: VIX > 30
#### Put-Call Ratio Analysis
Options flow analysis through put-call ratios provides insight into sophisticated investor positioning, following the methodology established by Pan and Poteshman (2006) in their analysis of informed trading in options markets.
### 4. Market Breadth Factors
#### Advance-Decline Analysis
Market breadth assessment follows the classic work of Fosback (1976) and subsequent research by Brown and Cliff (2004) on market breadth as a predictor of future returns.
Components:
- Daily advance-decline ratio
- Advance-decline line momentum
- McClellan Oscillator (Ema19 - Ema39 of A-D difference)
#### New Highs-New Lows Analysis
The new highs-new lows ratio serves as a market leadership indicator, based on the research of Zweig (1986) and validated in academic literature by Zarowin (1990).
## Dynamic Threshold Methodology
The model incorporates adaptive thresholds based on rolling volatility and trend analysis, following the methodology established by Pagan and Sossounov (2003) for business cycle dating. This approach allows the model to adjust sensitivity based on prevailing market conditions.
Dynamic Threshold Calculation:
- Warning Level: Base threshold ± (Volatility × 1.0)
- Danger Level: Base threshold ± (Volatility × 1.5)
- Bounds: ±10-20 points from base threshold
## Professional Implementation
### Institutional Usage Patterns
Professional risk managers typically employ multi-factor bear market models in several contexts:
#### 1. Portfolio Risk Management
- Tactical Asset Allocation: Reducing equity exposure when probability exceeds 60-70%
- Hedging Strategies: Implementing protective puts or VIX calls when warning thresholds are breached
- Sector Rotation: Shifting from growth to defensive sectors during elevated risk periods
#### 2. Risk Budgeting
- Value-at-Risk Adjustment: Incorporating bear market probability into VaR calculations
- Stress Testing: Using probability levels to calibrate stress test scenarios
- Capital Requirements: Adjusting regulatory capital based on systemic risk assessment
#### 3. Client Communication
- Risk Reporting: Quantifying market risk for client presentations
- Investment Committee Decisions: Providing objective risk metrics for strategic decisions
- Performance Attribution: Explaining defensive positioning during market stress
### Implementation Framework
Professional traders typically implement such models through:
#### Signal Hierarchy:
1. Probability < 30%: Normal risk positioning
2. Probability 30-50%: Increased hedging, reduced leverage
3. Probability 50-70%: Defensive positioning, cash building
4. Probability > 70%: Maximum defensive posture, short exposure consideration
#### Risk Management Integration:
- Position Sizing: Inverse relationship between probability and position size
- Stop-Loss Adjustment: Tighter stops during elevated risk periods
- Correlation Monitoring: Increased attention to cross-asset correlations
## Strengths and Advantages
### 1. Comprehensive Coverage
The model's primary strength lies in its multi-dimensional approach, avoiding the single-factor bias that has historically plagued market timing models. By incorporating macroeconomic, technical, sentiment, and breadth factors, the model provides robust risk assessment across different market regimes.
### 2. Dynamic Adaptability
The adaptive threshold mechanism allows the model to adjust sensitivity based on prevailing volatility conditions, reducing false signals during low-volatility periods and maintaining sensitivity during high-volatility regimes.
### 3. Real-Time Processing
Unlike traditional academic models that rely on monthly or quarterly data, this indicator processes daily market data, providing timely risk assessment for active portfolio management.
### 4. Transparency and Interpretability
The component-based structure allows users to understand which factors are driving risk assessment, enabling informed decision-making about model signals.
### 5. Historical Validation
Each component has been validated in academic literature, providing theoretical foundation for the model's predictive power.
## Limitations and Weaknesses
### 1. Data Dependencies
The model's effectiveness depends heavily on the availability and quality of real-time economic data. Federal Reserve Economic Data (FRED) updates may have lags that could impact model responsiveness during rapidly evolving market conditions.
### 2. Regime Change Sensitivity
Like most quantitative models, the indicator may struggle during unprecedented market conditions or structural regime changes where historical relationships break down (Taleb, 2007).
### 3. False Signal Risk
Multi-factor models inherently face the challenge of balancing sensitivity with specificity. The model may generate false positive signals during normal market volatility periods.
### 4. Currency and Geographic Bias
The model focuses primarily on US market indicators, potentially limiting its effectiveness for global portfolio management or non-USD denominated assets.
### 5. Correlation Breakdown
During extreme market stress, correlations between risk factors may increase dramatically, reducing the model's diversification benefits (Forbes and Rigobon, 2002).
## References
Akram, Q. F. (2009). Commodity prices, interest rates and the dollar. Energy Economics, 31(6), 838-851.
Ang, A., Piazzesi, M., & Wei, M. (2006). What does the yield curve tell us about GDP growth? Journal of Econometrics, 131(1-2), 359-403.
Baker, M., & Wurgler, J. (2006). Investor sentiment and the cross‐section of stock returns. The Journal of Finance, 61(4), 1645-1680.
Baker, S. R., Bloom, N., & Davis, S. J. (2016). Measuring economic policy uncertainty. The Quarterly Journal of Economics, 131(4), 1593-1636.
Barber, B. M., & Odean, T. (2001). Boys will be boys: Gender, overconfidence, and common stock investment. The Quarterly Journal of Economics, 116(1), 261-292.
Beckmann, J., Berger, T., & Czudaj, R. (2015). Does gold act as a hedge or a safe haven for stocks? A smooth transition approach. Economic Modelling, 48, 16-24.
Bekaert, G., & Hoerova, M. (2014). The VIX, the variance premium and stock market volatility. Journal of Econometrics, 183(2), 181-192.
Brock, W., Lakonishok, J., & LeBaron, B. (1992). Simple technical trading rules and the stochastic properties of stock returns. The Journal of Finance, 47(5), 1731-1764.
Brown, G. W., & Cliff, M. T. (2004). Investor sentiment and the near-term stock market. Journal of Empirical Finance, 11(1), 1-27.
Campbell, J. Y., & Shiller, R. J. (1998). Valuation ratios and the long-run stock market outlook. The Journal of Portfolio Management, 24(2), 11-26.
Dow, C. H. (1901). Scientific stock speculation. The Magazine of Wall Street.
Estrella, A., & Mishkin, F. S. (1998). Predicting US recessions: Financial variables as leading indicators. Review of Economics and Statistics, 80(1), 45-61.
Fama, E. F., & French, K. R. (1989). Business conditions and expected returns on stocks and bonds. Journal of Financial Economics, 25(1), 23-49.
Forbes, K. J., & Rigobon, R. (2002). No contagion, only interdependence: measuring stock market comovements. The Journal of Finance, 57(5), 2223-2261.
Fosback, N. G. (1976). Stock market logic: A sophisticated approach to profits on Wall Street. The Institute for Econometric Research.
Gilchrist, S., & Zakrajšek, E. (2012). Credit spreads and business cycle fluctuations. American Economic Review, 102(4), 1692-1720.
Harvey, C. R. (1988). The real term structure and consumption growth. Journal of Financial Economics, 22(2), 305-333.
Kahneman, D., & Tversky, A. (1979). Prospect theory: An analysis of decision under risk. Econometrica, 47(2), 263-291.
Magdon-Ismail, M., & Atiya, A. F. (2004). Maximum drawdown. Risk, 17(10), 99-102.
Nickerson, R. S. (1998). Confirmation bias: A ubiquitous phenomenon in many guises. Review of General Psychology, 2(2), 175-220.
Pagan, A. R., & Sossounov, K. A. (2003). A simple framework for analysing bull and bear markets. Journal of Applied Econometrics, 18(1), 23-46.
Pan, J., & Poteshman, A. M. (2006). The information in option volume for future stock prices. The Review of Financial Studies, 19(3), 871-908.
Taleb, N. N. (2007). The black swan: The impact of the highly improbable. Random House.
Whaley, R. E. (2009). Understanding the VIX. The Journal of Portfolio Management, 35(3), 98-105.
Wilder, J. W. (1978). New concepts in technical trading systems. Trend Research.
Zarowin, P. (1990). Size, seasonality, and stock market overreaction. Journal of Financial and Quantitative Analysis, 25(1), 113-125.
Zweig, M. E. (1986). Winning on Wall Street. Warner Books.
Index Futures vs Cash ArbitrageThis indicator measures the statistical spread between major stock index futures and their corresponding cash indices (e.g., ES vs SPX, NQ vs NDX) using Z-score normalization. It automatically detects commonly traded index pairs (S&P 500, Nasdaq, Dow Jones, Russell 2000) and calculates a smoothed spread between futures and spot prices. A Z-score is then derived from this spread to highlight potential overpricing or underpricing conditions.
Traders can use customizable thresholds to identify mean-reversion opportunities where the futures contract may be temporarily overvalued or undervalued relative to the index. The histogram highlights the direction of the Z-score (green = futures > index, red = futures < index), while built-in alerts notify users of key threshold breaches or zero-line crosses.
This tool is designed for discretionary traders, pairs traders, or anyone exploring statistical arbitrage strategies between futures and spot markets. It is not a buy/sell signal by itself and should be used with additional confluence or risk management techniques.
CAN INDICATORCAN Moving Averages Indicator - Feature Guide
1. Multiple Moving Averages (20 MAs)
- Supports up to 20 individual moving averages
- Each MA can be independently configured:
- Enable/Disable toggle
- Length (period) setting
- Type selection (SMA, EMA, DEMA, VWMA, RMA, WMA)
- Color customization
- Individual timeframe settings when global timeframe is disabled
Pre-configured MA Settings:
1. MA1-8: SMA type
- Lengths: 20, 50, 100, 200, 365, 489, 600, 1460
2. MA9-20: EMA type
- Lengths: 30, 60, 120, 240, 300, 400, 500, 700, 800, 900, 1000, 2000
2. Global Timeframe Settings
Location: Global Settings group
Features:
- Use Global Timeframe: Toggle to use one timeframe for all MAs
- Global Timeframe: Select the timeframe to apply globally
3. Label Display Options
Location: Main Inputs section
Controls:
- Show MA Type: Display MA type (SMA, EMA, etc.)
- Show MA Length: Display period length
- Show Resolution: Display timeframe
- Label Offset: Adjust label position
4. Cross Alerts System
Location: Cross Alerts group
Features:
1. Price Crosses:
- Alerts when price crosses any selected MA
- Select MA to monitor (1-20)
- Triggers on crossover/crossunder
2. MA Crosses:
- Alerts when one MA crosses another
- Select fast MA (1-20)
- Select slow MA (1-20)
- Triggers on crossover/crossunder
5. Relative Strength (RS) Analysis
Location: Relative Strength group
Features:
- Select any MA to monitor (1-20)
- Compares MA to its own average
- Adjustable RS Length (default 14)
- Visual feedback via background color:
- Green: MA above its average (uptrend)
- Red: MA below its average (downtrend)
- Customizable colors and transparency
6. Moving Average Types Available
1. **SMA** (Simple Moving Average)
- Equal weight to all prices
2. **EMA** (Exponential Moving Average)
- More weight to recent prices
3. **DEMA** (Double Exponential Moving Average)
- Reduced lag compared to EMA
4. **VWMA** (Volume Weighted Moving Average)
- Incorporates volume data
5. **RMA** (Running Moving Average)
- Smoother than EMA
6. **WMA** (Weighted Moving Average)
- Linear weight distribution
Usage Tips
1. **For Trend Following:**
- Enable longer-period MAs (MA4-MA8)
- Use cross alerts between long-term MAs
- Monitor RS for trend strength
2. **For Short-term Trading:**
- Focus on shorter-period MAs (MA1-MA3, MA9-MA11)
- Enable price cross alerts
- Use multiple timeframe analysis
3. **For Multiple Timeframe Analysis:**
- Disable global timeframe
- Set different timeframes for each MA
- Compare MA relationships across timeframes
4. **For Performance:**
- Disable unused MAs
- Limit active alerts to necessary pairs
- Use RS selectively on key MAs
Modern Economic Eras DashboardOverview
This script provides a historical macroeconomic visualization of U.S. markets, highlighting long-term structural "eras" such as the Bretton Woods period, the inflationary 1970s, and the post-2020 "Age of Disorder." It overlays key economic indicators sourced from FRED (Federal Reserve Economic Data) and displays notable market crashes, all in a clean and rescaled format for easy comparison.
Data Sources & Indicators
All data is loaded monthly from official FRED series and rescaled to improve readability:
🔵 Real GDP (FRED:GDP): Total output of the U.S. economy.
🔴 Inflation Index (FRED:CPIAUCSL): Consumer price index as a proxy for inflation.
⚪ Debt to GDP (FRED:GFDGDPA188S): Federal debt as % of GDP.
🟣 Labor Force Participation (FRED:CIVPART): % of population in the labor force.
🟠 Oil Prices (FRED:DCOILWTICO): Monthly WTI crude oil prices.
🟡 10Y Real Yield (FRED:DFII10): Inflation-adjusted yield on 10-year Treasuries.
🔵 Symbol Price: Optionally overlays the charted asset’s price, rescaled.
Historical Crashes
The dashboard highlights 10 major U.S. market crashes, including 1929, 2000, and 2008, with labeled time spans for quick context.
Era Classification
Six macroeconomic eras based on Deutsche Bank’s Long-Term Asset Return Study (2020) are shaded with background color. Each era reflects dominant economic regimes—globalization, wars, monetary systems, inflationary cycles, and current geopolitical disorder.
Best Use Cases
✅ Long-term macro investors studying structural market behavior
✅ Educators and analysts explaining economic transitions
✅ Portfolio managers aligning strategy with macroeconomic phases
✅ Traders using history for cycle timing and risk assessment
Technical Notes
Designed for monthly timeframe, though it works on weekly.
Uses close price and standard request.security calls for consistency.
Max labels/lines configured for broader history (from 1860s to present).
All plotted series are rescaled manually for better visibility.
Originality
This indicator is original and not derived from built-in or boilerplate code. It combines multiple economic dimensions and market history into one interactive chart, helping users frame today's markets in a broader structural context.
Sector 50MA vs 200MA ComparisonThis TradingView indicator compares the 50-period Moving Average (50MA) and 200-period Moving Average (200MA) of a selected market sector or index, providing a visual and analytical tool to assess relative strength and trend direction. Here's a detailed breakdown of its functionality:
Purpose: The indicator plots the 50MA and 200MA of a chosen sector or index on a separate panel, highlighting their relationship to identify bullish (50MA > 200MA) or bearish (50MA < 200MA) trends. It also includes a histogram and threshold lines to gauge momentum and key levels.
Inputs:
Resolution: Allows users to select the timeframe for calculations (Daily, Weekly, or Monthly; default is Daily).
Sector Selection: Users can choose from a list of sectors or indices, including Tech, Financials, Consumer Discretionary, Utilities, Energy, Communication Services, Materials, Industrials, Health Care, Consumer Staples, Real Estate, S&P 500 Value, S&P 500 Growth, S&P 500, NASDAQ, Russell 2000, and S&P SmallCap 600. Each sector maps to specific ticker pairs for 50MA and 200MA data.
Data Retrieval:
The indicator fetches closing prices for the 50MA and 200MA of the selected sector using the request.security function, based on the chosen timeframe and ticker pairs.
Visual Elements:
Main Chart:
Plots the 50MA (blue line) and 200MA (red line) for the selected sector.
Fills the area between the 50MA and 200MA with green (when 50MA > 200MA, indicating bullishness) or red (when 50MA < 200MA, indicating bearishness).
Threshold Lines:
Horizontal lines at 0 (zero line), 20 (lower threshold), 50 (center), 80 (upper threshold), and 100 (upper limit) provide reference points for the 50MA's position.
Fills between 0-20 (green) and 80-100 (red) highlight key zones for potential overbought or oversold conditions.
Sector Information Table:
A table in the top-right corner displays the selected sector and its corresponding 50MA and 200MA ticker symbols for clarity.
Alerts:
Generates alert conditions for:
Bullish Crossover: When the 50MA crosses above the 200MA (indicating potential upward momentum).
Bearish Crossover: When the 50MA crosses below the 200MA (indicating potential downward momentum).
Use Case:
Traders can use this indicator to monitor the relative strength of a sector's short-term trend (50MA) against its long-term trend (200MA).
The visual fill between the moving averages and the threshold lines helps identify trend direction, momentum, and potential reversal points.
The sector selection feature allows for comparative analysis across different market segments, aiding in sector rotation strategies or market trend analysis.
This indicator is ideal for traders seeking to analyze sector performance, identify trend shifts, and make informed decisions based on moving average crossovers and momentum thresholds.
Buffett Indicator with Historical Bubbles (Clean)The Buffett Indicator is a trusted macroeconomic gauge that compares the total US stock market capitalization to the nation’s GDP. Popularized by Warren Buffett, this metric highlights periods of overvaluation and undervaluation in the market.
This tool offers a clean and accurate visualization of the Buffett Indicator, enhanced with historical bubble annotations for key market events:
Dot-com Bubble (2000)
Global Financial Crisis Peak (2007)
COVID-19 Pre-crash Peak (2020)
Post-COVID Bull Market Peak (2021)
Features:
Dynamic Buffett Ratio (%) calculation using Wilshire 5000 Index as the market cap proxy.
Customizable GDP input for accuracy (update quarterly).
Visual thresholds for fair value, undervaluation, and overvaluation zones.
Historical event markers for educational and analytical context.
Optimized to display clearly across all timeframes: Daily, Weekly, Monthly.
How to Use:
Manually update the GDP input as new data is released.
Use this indicator for macro-level market sentiment analysis and valuation tracking.
Combine with other tools and risk management strategies for comprehensive market insights.
Disclaimer:
This indicator is for educational purposes only. It does not constitute financial advice. Always perform your own research and analysis.
Version: 1.0
we ask Allah reconcile and repay
#BuffettIndicator #MarketValuation #MacroAnalysis #BubbleDetector #LongTermInvestor #USMarket #Wilshire5000 #TradingViewScript
VWAP StrategyVWAP and volatility filters for structured intraday trades.
How the Strategy Works
1. VWAP Anchored to Session
VWAP is calculated from the start of each trading day.
Standard deviations are used to create bands above/below the VWAP.
2. Entry Triggers: Al Brooks H1/H2 and L1/L2
H1/H2 (Long Entry): Opens below 2nd lower deviation, closes above it.
L1/L2 (Short Entry): Opens above 2nd upper deviation, closes below it.
3. Volatility Filter (ATR)
Skips trades when deviation bands are too tight (< 3 ATRs).
4. Stop Loss
Based on the signal bar’s high/low ± stop buffer.
Longs: signalBarLow - stopBuffer
Shorts: signalBarHigh + stopBuffer
5. Take Profit / Exit Target
Exit logic is customizable per side:
VWAP, Deviation Band, or None
6. Safety Exit
Exits early if X consecutive bars go against the trade.
Longs: X red bars
Shorts: X green bars
Explanation of Strategy Inputs
- Stop Buffer: Distance from signal bar for stop-loss.
- Long/Short Exit Rule: VWAP, Deviation Band, or None
- Long/Short Target Deviation: Standard deviation for target exit.
- Enable Safety Exit: Toggle emergency exit.
- Opposing Bars: Number of opposing candles before safety exit.
- Allow Long/Short Trades: Enable or disable entry side.
- Show VWAP/Entry Bands: Toggle visual aids.
- Highlight Low Vol Zones: Orange shading for low volatility skips.
Tuning Tips
- Stop buffer: Use 1–5 points.
- Target deviation: Start with VWAP. In strong trends use 2nd deviation and turn off the counter-trend entry.
- Safety exit: 3 bars recommended.
- Disable short/long side to focus on one type of reversal.
Backtest Setup Suggestions
- initial_capital = 2000
- default_qty_value = 1 (fixed contracts or percent-of-equity)
Market Crashes & Recessions (1907-Present)Included Recession Periods:
Panic of 1907 (1907–1908)
Post-WWI Recession (1918–1919)
Great Depression (1929–1933)
1937–1938 Recession
1953, 1957, & 1973 Oil Crises Recessions
Early 1980s Recession (1980–1982)
Early 1990s Recession (1990–1991)
Dot-com Bubble (2000–2002)
Global Financial Crisis (2007–2009)
COVID-19 Recession (2020)
2022 Market Correction
Cumulative New Highs - New Lows IndicatorThis indicator is designed to track market momentum by calculating and plotting the cumulative sum of 52 weeks High-Low for different indices, alongside a customizable moving average.
Index Selection:
Users can choose from multiple indices, including:
Total Stock Market (default)
NYSE Composite
Nasdaq Composite
S&P 500
Nasdaq 100
Russell 2000
Moving Average Customization:
The script allows you to select between a Simple Moving Average (SMA) or an Exponential Moving Average (EMA) for smoothing the cumulative data. The window length of the moving average is also adjustable, letting you tailor the sensitivity of the trend analysis.
Dynamic Background Plotting:
With the background plot option enabled, the indicator changes the chart's background color dynamically:
Green: When the cumulative sum is above its moving average, suggesting bullish momentum.
Red: When it is below the moving average, indicating bearish conditions.
Visual Representation:
Two key lines are plotted:
Cumulative Index Line: Displayed in a subtle blue, representing the aggregated market movement.
Moving Average Line: Shown in an orange tone, offering a smoothed perspective that aids in identifying trend shifts.
Inspiration:
I took inspiration from the indicator made by YoxTrades (I can't put links, but you can check their profile) and added a few features I wanted on top of it.
ICT Session by LasinsName: ICT Session by Lasins
Purpose: To visually identify and differentiate between the Asian, London, and New York trading sessions on the chart.
Features:
Highlights the background of the chart during each session.
Includes a mini dashboard in the top-right corner to show the active session.
Allows customization of time zones (exchange timezone or UTC).
Displays copyright and author information.
Key Components
Inputs:
useExchangeTimezone: A boolean input to toggle between using the exchange timezone or UTC for session times.
showDashboard: A boolean input to toggle the visibility of the mini dashboard.
Session Times:
The script defines three trading sessions:
Asian Session: 2000-0000 UTC (or adjusted for exchange timezone).
London Session: 0200-0500 UTC (or adjusted for exchange timezone).
New York Session: 0700-1000 UTC (or adjusted for exchange timezone).
Session Detection:
The is_session function checks if the current time falls within a specified session using the time function.
Background Coloring:
The bgcolor function is used to highlight the chart background during each session:
Asian Session: Red background.
London Session: Green background.
New York Session: Blue background.
Mini Dashboard:
A table is created in the top-right corner of the chart to display the active session and its corresponding color.
The dashboard includes:
A header row with "Session" and "Color".
Rows for each session (Asian, London, New York) with their respective colors.
Copyright and Author Information:
A label is added to the chart to display the copyright and author information ("© ICT Session by Lasins Raj").
How It Works
The script checks the current time and compares it to the predefined session times.
If the current time falls within a session, the chart background is highlighted with the corresponding color.
The mini dashboard updates to reflect the active session.
The copyright and author information is displayed at the bottom of the chart.
Customization
You can adjust the session times in the script to match your preferred timezone or trading hours.
The useExchangeTimezone input allows you to switch between UTC and the exchange timezone.
The showDashboard input lets you toggle the visibility of the mini dashboard.
Example Use Case
Traders who follow the ICT (Inner Circle Trader) methodology can use this indicator to identify key trading sessions and plan their trades accordingly.
The visual representation of sessions helps traders quickly recognize when major markets are open and active.
Killzones & Previous High-Low Liquidity [odnac]This indicator is designed for use in intraday trading to visualize key "Killzones" (specific time windows during different global market sessions) and highlight liquidity levels based on previous highs and lows from the previous day and week.
It helps traders identify potential market entry and exit points based on time-based trading zones and price action levels.
Key Features:
Killzone (Market Session Timeframes):
Asia (2000-0000 UTC): Displays a shaded box over the Asia trading session.
Europe (0200-0500 UTC): Highlights the European trading session.
New York AM (0830-1100 UTC): Represents the morning session of the NY market.
New York PM (1330-1600 UTC): Represents the afternoon session of the NY market.
Each of these timeframes can be customized in terms of session start and end times, and the shaded areas will help identify high liquidity periods when the market tends to be more active.
Previous High-Low Liquidity Zones:
Previous Week's High/Low: Displays lines at the high and low of the previous week.
These are important liquidity levels that can influence price action.
Previous Day's High/Low: Shows the high and low from the previous trading day.
These are also significant levels to watch for potential support and resistance.
Filters and Customization:
Position Filtering: The indicator allows users to filter out previous highs or lows if the current price doesn't align with those levels.
For example, it can filter out previous week highs if the current price is lower than that level.
Vertical Lines: Optional vertical lines to highlight key time points such as the start and end of the previous week and day.
How It Works:
The indicator visually draws "killzones" as shaded regions on the chart, indicating periods of increased market activity.
This can help traders align their strategies with the most liquid periods of the day.
The previous high and low lines (both for the previous week and the previous day) are drawn as solid lines and can be toggled on/off in the settings.
Labels are added to indicate the specific levels and periods.
The indicator provides clear visual cues, helping traders assess if the price is near important liquidity levels and whether the current market conditions align with those levels.
Customizable Settings:
You can control whether each Killzone and liquidity level is shown on the chart.
Color customization for the various zones and lines is also available.
The indicator also lets you decide whether to hide weekend data, set time-frame limits, and choose whether or not to show vertical lines at the beginning and end of each trading session.
This indicator is aimed at traders who want to trade based on high-liquidity periods and understand where key support and resistance levels are likely to emerge based on previous price action.
Accurate Bollinger Bands mcbw_ [True Volatility Distribution]The Bollinger Bands have become a very important technical tool for discretionary and algorithmic traders alike over the last decades. It was designed to give traders an edge on the markets by setting probabilistic values to different levels of volatility. However, some of the assumptions that go into its calculations make it unusable for traders who want to get a correct understanding of the volatility that the bands are trying to be used for. Let's go through what the Bollinger Bands are said to show, how their calculations work, the problems in the calculations, and how the current indicator I am presenting today fixes these.
--> If you just want to know how the settings work then skip straight to the end or click on the little (i) symbol next to the values in the indicator settings window when its on your chart <--
--------------------------- What Are Bollinger Bands ---------------------------
The Bollinger Bands were formed in the 1980's, a time when many retail traders interacted with their symbols via physically printed charts and computer memory for personal computer memory was measured in Kb (about a factor of 1 million smaller than today). Bollinger Bands are designed to help a trader or algorithm see the likelihood of price expanding outside of its typical range, the further the lines are from the current price implies the less often they will get hit. With a hands on understanding many strategies use these levels for designated levels of breakout trades or to assist in defining price ranges.
--------------------------- How Bollinger Bands Work ---------------------------
The calculations that go into Bollinger Bands are rather simple. There is a moving average that centers the indicator and an equidistant top band and bottom band are drawn at a fixed width away. The moving average is just a typical moving average (or common variant) that tracks the price action, while the distance to the top and bottom bands is a direct function of recent price volatility. The way that the distance to the bands is calculated is inspired by formulas from statistics. The standard deviation is taken from the candles that go into the moving average and then this is multiplied by a user defined value to set the bands position, I will call this value 'the multiple'. When discussing Bollinger Bands, that trading community at large normally discusses 'the multiple' as a multiplier of the standard deviation as it applies to a normal distribution (gaußian probability). On a normal distribution the number of standard deviations away (which trades directly use as 'the multiple') you are directly corresponds to how likely/unlikely something is to happen:
1 standard deviation equals 68.3%, meaning that the price should stay inside the 1 standard deviation 68.3% of the time and be outside of it 31.7% of the time;
2 standard deviation equals 95.5%, meaning that the price should stay inside the 2 standard deviation 95.5% of the time and be outside of it 4.5% of the time;
3 standard deviation equals 99.7%, meaning that the price should stay inside the 3 standard deviation 99.7% of the time and be outside of it 0.3% of the time.
Therefore when traders set 'the multiple' to 2, they interpret this as meaning that price will not reach there 95.5% of the time.
---------------- The Problem With The Math of Bollinger Bands ----------------
In and of themselves the Bollinger Bands are a great tool, but they have become misconstrued with some incorrect sense of statistical meaning, when they should really just be taken at face value without any further interpretation or implication.
In order to explain this it is going to get a bit technical so I will give a little math background and try to simplify things. First let's review some statistics topics (distributions, percentiles, standard deviations) and then with that understanding explore the incorrect logic of how Bollinger Bands have been interpreted/employed.
---------------- Quick Stats Review ----------------
.
(If you are comfortable with statistics feel free to skip ahead to the next section)
.
-------- I: Probability distributions --------
When you have a lot of data it is helpful to see how many times different results appear in your dataset. To visualize this people use "histograms", which just shows how many times each element appears in the dataset by stacking each of the same elements on top of each other to form a graph. You may be familiar with the bell curve (also called the "normal distribution", which we will be calling it by). The normal distribution histogram looks like a big hump around zero and then drops off super quickly the further you get from it. This shape (the bell curve) is very nice because it has a lot of very nifty mathematical properties and seems to show up in nature all the time. Since it pops up in so many places, society has developed many different shortcuts related to it that speed up all kinds of calculations, including the shortcut that 1 standard deviation = 68.3%, 2 standard deviations = 95.5%, and 3 standard deviations = 99.7% (these only apply to the normal distribution). Despite how handy the normal distribution is and all the shortcuts we have for it are, and how much it shows up in the natural world, there is nothing that forces your specific dataset to look like it. In fact, your data can actually have any possible shape. As we will explore later, economic and financial datasets *rarely* follow the normal distribution.
-------- II: Percentiles --------
After you have made the histogram of your dataset you have built the "probability distribution" of your own dataset that is specific to all the data you have collected. There is a whole complicated framework for how to accurately calculate percentiles but we will dramatically simplify it for our use. The 'percentile' in our case is just the number of data points we are away from the "middle" of the data set (normally just 0). Lets say I took the difference of the daily close of a symbol for the last two weeks, green candles would be positive and red would be negative. In this example my dataset of day by day closing price difference is:
week 1:
week 2:
sorting all of these value into a single dataset I have:
I can separate the positive and negative returns and explore their distributions separately:
negative return distribution =
positive return distribution =
Taking the 25th% percentile of these would just be taking the value that is 25% towards the end of the end of these returns. Or akin the 100%th percentile would just be taking the vale that is 100% at the end of those:
negative return distribution (50%) = -5
positive return distribution (50%) = +4
negative return distribution (100%) = -10
positive return distribution (100%) = +20
Or instead of separating the positive and negative returns we can also look at all of the differences in the daily close as just pure price movement and not account for the direction, in this case we would pool all of the data together by ignoring the negative signs of the negative reruns
combined return distribution =
In this case the 50%th and 100%th percentile of the combined return distribution would be:
combined return distribution (50%) = 4
combined return distribution (100%) = 10
Sometimes taking the positive and negative distributions separately is better than pooling them into a combined distribution for some purposes. Other times the combined distribution is better.
Most financial data has very different distributions for negative returns and positive returns. This is encapsulated in sayings like "Price takes the stairs up and the elevator down".
-------- III: Standard Deviation --------
The formula for the standard deviation (refereed to here by its shorthand 'STDEV') can be intimidating, but going through each of its elements will illuminate what it does. The formula for STDEV is equal to:
square root ( (sum ) / N )
Going back the the dataset that you might have, the variables in the formula above are:
'mean' is the average of your entire dataset
'x' is just representative of a single point in your dataset (one point at a time)
'N' is the total number of things in your dataset.
Going back to the STDEV formula above we can see how each part of it works. Starting with the '(x - mean)' part. What this does is it takes every single point of the dataset and measure how far away it is from the mean of the entire dataset. Taking this value to the power of two: '(x - mean) ^ 2', means that points that are very far away from the dataset mean get 'penalized' twice as much. Points that are very close to the dataset mean are not impacted as much. In practice, this would mean that if your dataset had a bunch of values that were in a wide range but always stayed in that range, this value ('(x - mean) ^ 2') would end up being small. On the other hand, if your dataset was full of the exact same number, but had a couple outliers very far away, this would have a much larger value since the square par of '(x - mean) ^ 2' make them grow massive. Now including the sum part of 'sum ', this just adds up all the of the squared distanced from the dataset mean. Then this is divided by the number of values in the dataset ('N'), and then the square root of that value is taken.
There is nothing inherently special or definitive about the STDEV formula, it is just a tool with extremely widespread use and adoption. As we saw here, all the STDEV formula is really doing is measuring the intensity of the outliers.
--------------------------- Flaws of Bollinger Bands ---------------------------
The largest problem with Bollinger Bands is the assumption that price has a normal distribution. This is assumption is massively incorrect for many reasons that I will try to encapsulate into two points:
Price return do not follow a normal distribution, every single symbol on every single timeframe has is own unique distribution that is specific to only itself. Therefore all the tools, shortcuts, and ideas that we use for normal distributions do not apply to price returns, and since they do not apply here they should not be used. A more general approach is needed that allows each specific symbol on every specific timeframe to be treated uniquely.
The distributions of price returns on the positive and negative side are almost never the same. A more general approach is needed that allows positive and negative returns to be calculated separately.
In addition to the issues of the normal distribution assumption, the standard deviation formula (as shown above in the quick stats review) is essentially just a tame measurement of outliers (a more aggressive form of outlier measurement might be taking the differences to the power of 3 rather than 2). Despite this being a bit of a philosophical question, does the measurement of outlier intensity as defined by the STDEV formula really measure what we want to know as traders when we're experiencing volatility? Or would adjustments to that formula better reflect what we *experience* as volatility when we are actively trading? This is an open ended question that I will leave here, but I wanted to pose this question because it is a key part of what how the Bollinger Bands work that we all assume as a given.
Circling back on the normal distribution assumption, the standard deviation formula used in the calculation of the bands only encompasses the deviation of the candles that go into the moving average and have no knowledge of the historical price action. Therefore the level of the bands may not really reflect how the price action behaves over a longer period of time.
------------ Delivering Factually Accurate Data That Traders Need------------
In light of the problems identified above, this indicator fixes all of these issue and delivers statistically correct information that discretionary and algorithmic traders can use, with truly accurate probabilities. It takes the price action of the last 2,000 candles and builds a huge dataset of distributions that you can directly select your percentiles from. It also allows you to have the positive and negative distributions calculated separately, or if you would like, you can pool all of them together in a combined distribution. In addition to this, there is a wide selection of moving averages directly available in the indicator to choose from.
Hedge funds, quant shops, algo prop firms, and advanced mechanical groups all employ the true return distributions in their work. Now you have access to the same type of data with this indicator, wherein it's doing all the lifting for you.
------------------------------ Indicator Settings ------------------------------
.
---- Moving average ----
Select the type of moving average you would like and its length
---- Bands ----
The percentiles that you enter here will be pulled directly from the return distribution of the last 2,000 candles. With the typical Bollinger Bands, traders would select 2 standard deviations and incorrectly think that the levels it highlights are the 95.5% levels. Now, if you want the true 95.5% level, you can just enter 95.5 into the percentile value here. Each of the three available bands takes the true percentile you enter here.
---- Separate Positive & Negative Distributions----
If this box is checked the positive and negative distributions are treated indecently, completely separate from each other. You will see that the width of the top and bottom bands will be different for each of the percentiles you enter.
If this box is unchecked then all the negative and positive distributions are pooled together. You will notice that the width of the top and bottom bands will be the exact same.
---- Distribution Size ----
This is the number of candles that the price return is calculated over. EG: to collect the price return over the last 33 candles, the difference of price from now to 33 candles ago is calculated for the last 2,000 candles, to build a return distribution of 2000 points of price differences over 33 candles.
NEGATIVE NUMBERS(<0) == exact number of candles to include;
EG: setting this value to -20 will always collect volatility distributions of 20 candles
POSITIVE NUMBERS(>0) == number of candles to include as a multiple of the Moving Average Length value set above;
EG: if the Moving Average Length value is set to 22, setting this value to 2 will use the last 22*2 = 44 candles for the collection of volatility distributions
MORE candles being include will generally make the bands WIDER and their size will change SLOWER over time.
I wish you focus, dedication, and earnest success on your journey.
Happy trading :)
Support/Resistance
Custom Moving Average Indicator with MACD, RSI, and Support/Resistance
This indicator is designed to help traders make informed trading decisions by integrating several technical indicators, including moving averages, the Relative Strength Index (RSI), and the Moving Average Convergence Divergence (MACD).
Key Features:
Moving Averages:
This indicator uses simple moving averages (SMAs) for several periods (4, 18, 66, 89, 632, 1000, 1500, 2000, and 3000 bars). This helps to identify the overall trend of the price and potential support and resistance levels.
The color of each moving average line is dynamically changed based on the closing price's position relative to the average; it turns red if the price is above the average and green if the price is below.
Relative Strength Index (RSI):
The RSI is calculated for a 14-bar period, which is a measure of overbought or oversold conditions.
An RSI value above 70 indicates an overbought condition, while a value below 30 indicates an oversold condition.
MACD:
The MACD is calculated using a fast length of 12, a slow length of 26, and a signal length of 9. Crossovers between the MACD line and the signal line indicate momentum shifts.
A crossover of the MACD line above the signal line suggests a potential buy signal, while a crossover below indicates a potential sell signal.
Buy and Sell Signals:
Buy Signal: Triggered when the MACD line crosses above the signal line, the RSI is below 30, the MACD is above 0, and there is high volume.
Sell Signal: Triggered when the MACD line crosses below the signal line, the RSI is above 70, the MACD is below 0, and there is high volume.
Alerts:
The indicator includes alerts that are triggered when buy and sell signals occur, helping traders respond quickly to market opportunities.
How to Trade Using the Indicator (continued):
Trading on Buy Signals:
Look for buy signals when the MACD line crosses above the signal line. Ensure that the RSI is below 30, indicating there is a potential for price recovery from an oversold condition.
Confirm that the volume is above the average, which indicates strong market participation and adds validity to the trade.
Trading on Sell Signals:
Search for sell signals when the MACD line crosses below the signal line. Check that the RSI is above 70 to confirm an overbought condition, implying the price may decline.
As with buy signals, ensure that volume is high to validate the strength of the sell signal.
Risk Management:
Use stop-loss orders to protect your capital. Establish an initial loss threshold based on your risk management strategy.
Continuously monitor the market and new signals and adjust your approach according to your market analysis.
Conclusion:
This combined indicator helps traders make informed decisions by relying on a set of technical tools. To achieve the best results, ensure you integrate the analysis from these indicators with your trading strategies and other techniques.
Feel free to use this explanation as an introduction or guide to inform traders on how to effectively use the indicator. If you have any more questions or need further details, don't hesitate to ask!
Vietnamese Lunar New Year DatesVisualize Vietnamese Lunar New Year dates on your chart with this indicator!
This script plots vertical red lines for Lunar New Year from 2000 to 2030, along with blue and green lines marking the start of December (previous year) and January (current year) for context. Perfect for analyzing market patterns around this significant holiday.
Customize further to suit your trading style!"
AutoCorrelation Test [OmegaTools]Overview
The AutoCorrelation Test indicator is designed to analyze the correlation patterns of a financial asset over a specified period. This tool can help traders identify potential predictive patterns by measuring the relationship between sequential returns, effectively assessing the autocorrelation of price movements.
Autocorrelation analysis is useful in identifying the consistency of directional trends (upward or downward) and potential cyclical behavior. This indicator provides an insight into whether recent price movements are likely to continue in a similar direction (positive correlation) or reverse (negative correlation).
Key Features
Multi-Period Autocorrelation: The indicator calculates autocorrelation across three periods, offering a granular view of price movement consistency over time.
Customizable Length & Sensitivity: Adjustable parameters allow users to tailor the length of analysis and sensitivity for detecting correlation.
Visual Aids: Three separate autocorrelation plots are displayed, along with an average correlation line. Dotted horizontal lines mark the thresholds for positive and negative correlation, helping users quickly assess potential trend continuation or reversal.
Interpretive Table: A table summarizing correlation status for each period helps traders make quick, informed decisions without needing to interpret the plot details directly.
Parameters
Source: Defines the price source (default: close) for calculating autocorrelation.
Length: Sets the analysis period, ranging from 10 to 2000 (default: 200).
Sensitivity: Adjusts the threshold sensitivity for defining correlation as positive or negative (default: 2.5).
Interpretation
Above 50 + Sensitivity: Indicates Positive Correlation. The price movements over the selected period are likely to continue in the same direction, potentially signaling a trend continuation.
Below 50 - Sensitivity: Indicates Negative Correlation. The price movements show a likelihood of reversing, which could signal an upcoming trend reversal.
Between 50 ± Sensitivity: Indicates No Correlation. Price movements are less predictable in direction, with no clear trend continuation or reversal tendency.
How It Works
The indicator calculates the logarithmic returns of the selected source price over each length period.
It then compares returns over consecutive periods, categorizing them as either "winning" (consistent direction) or "losing" (inconsistent direction) movements.
The result for each period is displayed as a percentage, with values above 50% indicating a higher degree of directional consistency (positive or negative).
A table updates with descriptive labels (Positive Correlation, Negative Correlation, No Correlation) for each tested period, providing a quick overview.
Visual Elements
Plots:
AutoCorrelation Test : Displays autocorrelation for the closest period (lag 1).
AutoCorrelation Test : Displays autocorrelation for the second period (lag 2).
AutoCorrelation Test : Displays autocorrelation for the third period (lag 3).
Average: Displays the simple moving average of the three test periods for a smoothed view of overall correlation trends.
Horizontal Lines:
No Correlation (50%): A baseline indicating neutral correlation.
Positive/Negative Correlation Thresholds: Dotted lines set at 50 ± Sensitivity, marking the thresholds for significant correlation.
Usage Guide
Adjust Parameters:
Select the Source to define which price metric (e.g., close, open) will be analyzed.
Set the Length based on your preferred analysis window (e.g., shorter for intraday trends, longer for swing trading).
Modify Sensitivity to fine-tune the thresholds based on market volatility and personal trading preference.
Interpret Table and Plots:
Use the table to quickly check the correlation status of each lag period.
Analyze the plots for changes in correlation. If multiple lags show positive correlation above the sensitivity threshold, a trend continuation may be expected. Conversely, negative values suggest a potential reversal.
Integrate with Other Indicators:
For enhanced insights, consider using the AutoCorrelation Test indicator in conjunction with other trend or momentum indicators.
This indicator offers a powerful method to assess market conditions, identify potential trend continuations or reversals, and better inform trading decisions. Its customization options provide flexibility for various trading styles and timeframes.