OPEN-SOURCE SCRIPT
Orange Flag

How it works
The indicator pulls daily data from four market internals and assigns points based on whether each one is at an extreme reading:
YRHI-YRLO spread (52-week new highs minus new lows on NASDAQ): +3 points if ≥ 75
MMTW (Russell 2000 stocks above 50-day MA): +2 points if ≥ 55
S5FI (S&P 500 stocks above 50-day MA): +2 points if ≥ 65
VIX: +1 point if < 15
Maximum score is 8 points. When the total reaches 5 or higher, the chart background paints orange to flag a risk-on extreme.
How to use it
The orange flag identifies conditions historically associated with frothy market tops — broad participation, lots of new highs, and complacent volatility all aligned. It is a context filter, not a trade signal. When the flag is on, consider tightening risk controls, fading new long entries on extension, or being more selective about chasing strength.
The flag should be relatively rare. If it fires often, the thresholds are too loose for current market structure.
Display
A status table in the top-right corner shows each component's current value, threshold, and points contributed, plus the total risk score and flag state.
Settings
All thresholds, the flag trigger level, and the underlying ticker symbols are configurable. Defaults use TVC, USI, and INDEX prefixes that resolve cleanly on TradingView.
Alerts
Two alert conditions are available: orange flag triggered (score crosses up through threshold) and orange flag cleared (score drops back below threshold).
Notes
Data is pulled at the daily timeframe regardless of chart timeframe, with lookahead_off to prevent intrabar repaint. The score updates only when the daily close prints. Built in Pine Script v6.
The indicator pulls daily data from four market internals and assigns points based on whether each one is at an extreme reading:
YRHI-YRLO spread (52-week new highs minus new lows on NASDAQ): +3 points if ≥ 75
MMTW (Russell 2000 stocks above 50-day MA): +2 points if ≥ 55
S5FI (S&P 500 stocks above 50-day MA): +2 points if ≥ 65
VIX: +1 point if < 15
Maximum score is 8 points. When the total reaches 5 or higher, the chart background paints orange to flag a risk-on extreme.
How to use it
The orange flag identifies conditions historically associated with frothy market tops — broad participation, lots of new highs, and complacent volatility all aligned. It is a context filter, not a trade signal. When the flag is on, consider tightening risk controls, fading new long entries on extension, or being more selective about chasing strength.
The flag should be relatively rare. If it fires often, the thresholds are too loose for current market structure.
Display
A status table in the top-right corner shows each component's current value, threshold, and points contributed, plus the total risk score and flag state.
Settings
All thresholds, the flag trigger level, and the underlying ticker symbols are configurable. Defaults use TVC, USI, and INDEX prefixes that resolve cleanly on TradingView.
Alerts
Two alert conditions are available: orange flag triggered (score crosses up through threshold) and orange flag cleared (score drops back below threshold).
Notes
Data is pulled at the daily timeframe regardless of chart timeframe, with lookahead_off to prevent intrabar repaint. The score updates only when the daily close prints. Built in Pine Script v6.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.