Macroeconomic Artificial Neural Networks
This script was created by training 20 selected macroeconomic data to construct artificial neural networks on the S&P 500 index.
No technical analysis data were used.
The average error rate is 0.01.
In this respect, there is a strong relationship between the index and macroeconomic data.
Although it affects the whole world,I personally recommend using it under the following conditions: S&P 500 and related ETFs in 1W time-frame (TF = 1W SPX500USD, SP1!, SPY, SPX etc. )
Macroeconomic Parameters
Effective Federal Funds Rate (FEDFUNDS)
Initial Claims (ICSA)
Civilian Unemployment Rate (UNRATE)
10 Year Treasury Constant Maturity Rate (DGS10)
Gross Domestic Product , 1 Decimal (GDP)
Trade Weighted US Dollar Index : Major Currencies (DTWEXM)
Consumer Price Index For All Urban Consumers (CPIAUCSL)
M1 Money Stock (M1)
M2 Money Stock (M2)
2 - Year Treasury Constant Maturity Rate (DGS2)
30 Year Treasury Constant Maturity Rate (DGS30)
Industrial Production Index (INDPRO)
5-Year Treasury Constant Maturity Rate (FRED : DGS5)
Light Weight Vehicle Sales: Autos and Light Trucks (ALTSALES)
Civilian Employment Population Ratio (EMRATIO)
Capacity Utilization (TOTAL INDUSTRY) (TCU)
Average (Mean) Duration Of Unemployment (UEMPMEAN)
Manufacturing Employment Index (MAN_EMPL)
Manufacturers' New Orders (NEWORDER)
ISM Manufacturing Index (MAN : PMI)
Artificial Neural Network (ANN) Training Details :
Learning cycles: 16231
AutoSave cycles: 100
Grid
Input columns: 19
Output columns: 1
Excluded columns: 0
Training example rows: 998
Validating example rows: 0
Querying example rows: 0
Excluded example rows: 0
Duplicated example rows: 0
Network
Input nodes connected: 19
Hidden layer 1 nodes: 2
Hidden layer 2 nodes: 0
Hidden layer 3 nodes: 0
Output nodes: 1
Controls
Learning rate: 0.1000
Momentum: 0.8000 (Optimized)
Target error: 0.0100
Training error: 0.010000
NOTE : Alerts added . The red histogram represents the bear market and the green histogram represents the bull market.
Bars subject to region changes are shown as background colors. (Teal = Bull , Maroon = Bear Market )
I hope it will be useful in your studies and analysis, regards.
Search in scripts for "做空标普500"
Damped Sine Wave Weighted FilterIntroduction
Remember that we can make filters by using convolution, that is summing the product between the input and the filter coefficients, the set of filter coefficients is sometime denoted "kernel", those coefficients can be a same value (simple moving average), a linear function (linearly weighted moving average), a gaussian function (gaussian filter), a polynomial function (lsma of degree p with p = order of the polynomial), you can make many types of kernels, note however that it is easy to fall into the redundancy trap.
Today a low-lag filter who weight the price with a damped sine wave is proposed, the filter characteristics are discussed below.
A Damped Sine Wave
A damped sine wave is a like a sine wave with the difference that the sine wave peak amplitude decay over time.
A damped sine wave
Used Kernel
We use a damped sine wave of period length as kernel.
The coefficients underweight older values which allow the filter to reduce lag.
Step Response
Because the filter has overshoot in the step response we can conclude that there are frequencies amplified in the passband, we could have reached to this conclusion by simply seeing the negative values in the kernel or the "zero-lag" effect on the closing price.
Enough ! We Want To See The Filter !
I should indeed stop bothering you with transient responses but its always good to see how the filter act on simpler signals before seeing it on the closing price. The filter has low-lag and can be used as input for other indicators
Filter with length = 100 as input for the rsi.
The bands trailing stop utility using rolling squared mean average error with length 500 using the filter of length 500 as input.
Approximating A Least Squares Moving Average
A least squares moving average has a linear kernel with certain values under 0, a lsma of length k can be approximated using the proposed filter using period p where p = k + k/4 .
Proposed filter (red) with length = 250 and lsma (blue) with length = 200.
Conclusions
The use of damping in filter design can provide extremely useful filters, in fact the ideal kernel, the sinc function, is also a damped sine wave.
VIX reversion-Buschi
English:
A significant intraday reversion (commonly used: 3 points) on a high (over 20 points) S&P 500 Volatility Index (VIX) can be a sign of a market bottom, because there is the assumption that some of the "big guys" liquidated their options / insurances because the worst is over.
This indicator shows these reversions (3 points as default) when the VIX was over 20 points. The character "R" is then shown directly over the daily column, the VIX need not to be loaded explicitly.
Deutsch:
Eine deutliche Intraday-Umkehr (3 Punkte im Normalfall) bei einem hohen (über 20 Punkte) S&P 500 Volatility Index (VIX) kann ein Zeichen für eine Bodenbildung im Markt sein, weil möglicherweise einige "große Jungs" ihre Optionen / Versicherungen auflösen, weil das schlimmste vorbei ist.
Dieser Indikator zeigt diese Umkehr (Standardwert: 3 Punkte), wenn der VIX vorher über 20 Punkte lag. Der Buchstabe "R" wird dabei direkt über dem Tagesbalken angezeigt, wobei der VIX nicht explizit geladen werden muss.
Relative Price StrengthThe strength of a stock relative to the S&P 500 is key part of most traders decision making process. Hence the default reference security is SPY, the most commonly trades S&P 500 ETF.
Most profitable traders buy stocks that are showing persistence intermediate strength verses the S&P as this has been shown to work. Hence the default period is 63 days or 3 months.
TICK Extremes IndicatorSimple TICK indicator, plots candles and HL2 line
Conditional green/red coloring for highs above 500, 900 and lows above 0, and for lows below -500, -900, and highs above 0
Probably best used for 1 - 5 min timeframes
Always open to suggestions if criteria needs tweaking or if something else would make it more useful or user-friendly!
Market direction and pullback based on S&P 500.A simple indicator based on www.swing-trade-stocks.com The link is also the guide for how to use it.
0 - nothing. If the indicator is showing 0 for a prolonged amount of time, it is likely the market is in "momentum mode" (referred to in the link above).
1 - indicates an uptrend based on SMA and EMA and also a place where a reversal to the upside is likely to occur. You should look only for long trades in the stock market when you see a spike upwards and S&P 500 is showing an obvious uptrend.
-1 - indicates a downtrend based on SMA and EMA and also a place where a reversal to the downside is likely to occur. You should look only for short trades in the stock market when you see a spike upwards and S&P 500 is showing an obvious uptrend.
Net XRP Margin PositionTotal XRP Longs minus XRP Shorts in order to give you the total outstanding XRP margin debt.
ie: If 500,000 XRP has been longed, and 400,000 XRP has been shorted, then 500,000 has been bought, and 400,000 sold, leaving us with 100,000 XRP (net) remaining to be sold to give us an overall neutral margin position.
That isn't to say that the net margin position must move towards zero, but it is a sensible reference point, and historical net values may provide useful insights into the current circumstances.
Net DASH Margin PositionTotal DASH Longs minus DASH Shorts in order to give you the total outstanding DASH margin debt.
ie: If 500,000 DASH has been longed, and 400,000 DASH has been shorted, then 500,000 has been bought, and 400,000 sold, leaving us with 100,000 DASH (net) remaining to be sold to give us an overall neutral margin position.
That isn't to say that the net margin position must move towards zero, but it is a sensible reference point, and historical net values may provide useful insights into the current circumstances.
(Anyone know what category this script should be in?)
Net NEO Margin PositionTotal NEO Longs minus NEO Shorts in order to give you the total outstanding NEO margin debt.
ie: If 500,000 NEO has been longed, and 400,000 NEO has been shorted, then 500,000 has been bought, and 400,000 sold, leaving us with 100,000 NEO (net) remaining to be sold to give us an overall neutral margin position.
That isn't to say that the net margin position must move towards zero, but it is a sensible reference point, and historical net values may provide useful insights into the current circumstances.
(Anyone know what category this script should be in?)
Everyday 0002 _ MAC 1st Trading Hour WalkoverThis is the second strategy for my Everyday project.
Like I wrote the last time - my goal is to create a new strategy everyday
for the rest of 2016 and post it here on TradingView.
I'm a complete beginner so this is my way of learning about coding strategies.
I'll give myself between 15 minutes and 2 hours to complete each creation.
This is basically a repetition of the first strategy I wrote - a Moving Average Crossover,
but I added a tiny thing.
I read that "Statistics have proven that the daily high or low is established within the first hour of trading on more than 70% of the time."
(source: )
My first Moving Average Crossover strategy, tested on VOLVB daily, got stoped out by the volatility
and because of this missed one nice bull run and a very nice bear run.
So I added this single line: if time("60", "1000-1600") regarding when to take exits:
if time("60", "1000-1600")
strategy.exit("Close Long", "Long", profit=2000, loss=500)
strategy.exit("Close Short", "Short", profit=2000, loss=500)
Sweden is UTC+2 so I guess UTC 1000 equals 12.00 in Stockholm. Not sure if this is correct, actually.
Anyway, I hope this means the strategy will only take exits based on price action which occur in the afternoon, when there is a higher probability of a lower volatility.
When I ran the new modified strategy on the same VOLVB daily it didn't get stoped out so easily.
On the other hand I'll have to test this on various stocks .
Reading and learning about how to properly test strategies is on my todo list - all tips on youtube videos or blogs
to read on this topic is very welcome!
Like I said the last time, I'm posting these strategies hoping to learn from the community - so any feedback, advice, or corrections is very much welcome and appreciated!
/pbergden
GEX Levels// Trading View Script v1.2 with BMO Gamma Levels and Dashboard
// Tickers Updated at 12/16/2025, 13:46:13 GMT
// SPY, QQQ , IWM, VXX, UVXY, VIX
// AAPL, ABNB, AEHR, AFRM, AMD, AMZN
// BA, BABA, FB, GOOGL, JPM, LC, MSFT,
// NFLX, NVDA, ROKU, SNOW, SOFI, SQ
// TSLA, UPST, ZM, SOS, PLTR, FCEL
//@version=5
indicator(title='GEX Levels', overlay=true, max_labels_count=500)
// This source code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
src = input(close)
// Constants colours that include fully non-transparent option.
ticker = syminfo.ticker
chartType = session.extended
source = close
//=============== User inputs ==============================
plotHLines = input(title='Plot Gamma Levels', defval=true)
showMA = input(title='Plot EMAs', defval=false)
//=============== Data for Table =================================
DPLevel_1 = 418.11
DPLevel_1 := na
DPLevel_2 = 416.97
DPLevel_2 := na
plusLG_3 = 415.32
plusLG_3 := na
plusLG_2 = 416.67
plusLG_2 := na
minusLG_3 = 415.32
minusLG_3 := na
minusLG_2 = 416.67
minusLG_2 := na
plus_GEX = 155.00
plus_GEX := na
COI = 150.00
COI := na
POI = 150.00
POI := na
Pos_Trans = 149.00
Pos_Trans := na
Neg_Trans = 148.00
Neg_Trans := na
ZeroGEX = 148.00
ZeroGEX := na
minus_GEX = 145.00
minus_GEX := na
COTMC = 145.00
COTMC := na
CITMC = 145.00
CITMC := na
COTMP = 145.00
COTMP := na
CITMP = 145.00
CITMP := na
Ticker = 'IWM'
Ticker := na
ExpDtGreaterThan = '2021-09-08'
ExpDtGreaterThan := na
Spot_Price = 223.92
Spot_Price := na
EMA21 = 223.47
EMA21 := na
SMA50 = 221.91
SMA50 := na
COIPOI_Trend = 'True'
COIPOI_Trend := na
closeGTzeroGEX = 'True'
closeGTzeroGEX := na
closeLTposGEX = 'True'
closeLTposGEX := na
percentdistPosTrans = 1.0
percentdistNegTrans = 1.0
percentdistPlusGEX = 1.0
percentdistMinusGEX = 1.0
percentdistanceSMA50 = 1.0
percentdistanceEMA21 = 1.0
percentdistCOTMC = 1.0
percentdistCOTMP = 1.0
percentdistCITMP = 1.0
percentdistCITMC = 1.0
percentdistPosTrans := na
percentdistNegTrans := na
percentdistPlusGEX := na
percentdistMinusGEX := na
percentdistanceSMA50 := na
percentdistanceEMA21 := na
percentdistCOTMC := na
percentdistCOTMP := na
percentdistCITMP := na
percentdistCITMC := na
prev_daily_close = request.security(ticker, 'D', close )
// if condition is true then the hline plots
// --------------------------------
if ( ticker == "SPY" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SPY
// 0 DTE Expirations Only
COTMC:= 690.00
COI:= 685.00
CITMP:= 684.42
plus_GEX:= 682.00
Pos_Trans:= 681.00
Spot_Price:= 680.05
POI:= 680.00
minus_GEX:= 680.00
Neg_Trans:= 680.00
ZeroGEX:= 680.00
EMA21:= 679.69
COTMP:= 677.70
SMA50:= 674.64
CITMC:= 630.23
if ( ticker == "QQQ" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: QQQ
// 0 DTE Expirations Only
CITMP:= 620.53
COI:= 620.00
COTMC:= 619.30
EMA21:= 616.84
SMA50:= 613.56
plus_GEX:= 612.00
Pos_Trans:= 611.00
Neg_Trans:= 610.00
ZeroGEX:= 610.00
Spot_Price:= 609.50
minus_GEX:= 608.00
COTMP:= 607.89
POI:= 600.00
CITMC:= 549.05
if ( ticker == "IWM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: IWM
// 0 DTE Expirations Only
COI:= 255.00
COTMC:= 254.40
CITMP:= 254.20
plus_GEX:= 253.00
Pos_Trans:= 252.00
Neg_Trans:= 251.00
ZeroGEX:= 251.00
Spot_Price:= 250.81
COTMP:= 249.33
POI:= 249.00
minus_GEX:= 249.00
EMA21:= 248.25
SMA50:= 245.04
CITMC:= 239.44
if ( ticker == "NDX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NDX
// 0 DTE Expirations Only
COI:= 25600.00
CITMP:= 25560.60
EMA21:= 25335.01
COTMC:= 25317.29
SMA50:= 25209.24
plus_GEX:= 25200.00
Pos_Trans:= 25190.00
ZeroGEX:= 25155.00
Neg_Trans:= 25120.00
Spot_Price:= 25064.04
minus_GEX:= 25020.00
COTMP:= 24972.64
POI:= 24600.00
CITMC:= 23113.84
if ( ticker == "DIA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DIA
// 0 DTE Expirations Only
COI:= 495.00
plus_GEX:= 495.00
COTMC:= 493.68
CITMP:= 491.16
Pos_Trans:= 489.00
ZeroGEX:= 488.50
minus_GEX:= 488.00
Neg_Trans:= 488.00
Spot_Price:= 485.49
COTMP:= 483.75
EMA21:= 477.11
SMA50:= 471.27
CITMC:= 448.75
POI:= 425.00
if ( ticker == "SPX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SPX
// 0 DTE Expirations Only
COI:= 7075.00
CITMP:= 6935.65
COTMC:= 6915.55
plus_GEX:= 6860.00
Pos_Trans:= 6845.00
Neg_Trans:= 6840.00
ZeroGEX:= 6840.00
Spot_Price:= 6816.34
EMA21:= 6809.78
COTMP:= 6795.37
minus_GEX:= 6780.00
SMA50:= 6763.86
POI:= 6585.00
CITMC:= 5810.94
if ( ticker == "SPXP" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SPXP
// 0 DTE Expirations Only
COI:= 7075.00
CITMP:= 6896.02
plus_GEX:= 6860.00
COTMC:= 6858.25
Pos_Trans:= 6845.00
Neg_Trans:= 6840.00
ZeroGEX:= 6840.00
Spot_Price:= 6816.34
EMA21:= 6809.78
COTMP:= 6805.18
minus_GEX:= 6780.00
SMA50:= 6763.86
POI:= 6585.00
CITMC:= 6273.89
if ( ticker == "SPXA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SPXA
// 0 DTE Expirations Only
CITMP:= 6960.38
COTMC:= 6927.50
plus_GEX:= 6850.00
Pos_Trans:= 6835.00
Spot_Price:= 6816.34
EMA21:= 6809.78
COTMP:= 6790.64
minus_GEX:= 6780.00
Neg_Trans:= 6780.00
ZeroGEX:= 6780.00
SMA50:= 6763.86
CITMC:= 5735.12
COI:= 5000.00
POI:= 5000.00
if ( ticker == "VIX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: VIX
// 0 DTE Expirations Only
COI:= 60.00
plus_GEX:= 20.00
Pos_Trans:= 20.00
Neg_Trans:= 19.50
ZeroGEX:= 19.50
CITMP:= 18.97
SMA50:= 18.44
POI:= 18.00
minus_GEX:= 18.00
COTMC:= 17.90
EMA21:= 17.34
Spot_Price:= 16.48
COTMP:= 16.32
CITMC:= 14.87
if ( ticker == "BRK_B" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BRK_B
// 0 DTE Expirations Only
CITMP:= 516.19
COTMC:= 513.19
COI:= 510.00
plus_GEX:= 510.00
Spot_Price:= 505.61
COTMP:= 503.01
EMA21:= 500.63
Pos_Trans:= 497.50
SMA50:= 496.80
POI:= 495.00
minus_GEX:= 495.00
Neg_Trans:= 495.00
ZeroGEX:= 495.00
CITMC:= 426.03
if ( ticker == "AA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: AA
// 0 DTE Expirations Only
COI:= 47.50
plus_GEX:= 47.50
COTMC:= 47.08
CITMP:= 46.61
Pos_Trans:= 46.50
ZeroGEX:= 46.00
Spot_Price:= 45.53
minus_GEX:= 45.00
Neg_Trans:= 45.00
COTMP:= 44.97
POI:= 43.00
EMA21:= 42.32
CITMC:= 39.18
SMA50:= 38.92
if ( ticker == "AAPL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: AAPL
// 0 DTE Expirations Only
COI:= 300.00
COTMC:= 280.56
CITMP:= 280.07
plus_GEX:= 280.00
Pos_Trans:= 280.00
ZeroGEX:= 278.75
POI:= 277.50
minus_GEX:= 277.50
Neg_Trans:= 277.50
EMA21:= 276.03
Spot_Price:= 273.52
COTMP:= 271.52
SMA50:= 268.18
CITMC:= 226.86
if ( ticker == "ABBV" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ABBV
// 0 DTE Expirations Only
COI:= 240.00
plus_GEX:= 232.50
COTMC:= 231.00
CITMP:= 230.48
Spot_Price:= 227.41
SMA50:= 227.22
EMA21:= 226.47
COTMP:= 225.79
Pos_Trans:= 220.00
minus_GEX:= 217.50
Neg_Trans:= 217.50
ZeroGEX:= 217.50
CITMC:= 200.23
POI:= 185.00
if ( ticker == "ABNB" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ABNB
// 0 DTE Expirations Only
COTMC:= 137.34
CITMP:= 136.95
Spot_Price:= 131.26
COI:= 130.00
plus_GEX:= 130.00
COTMP:= 129.46
Pos_Trans:= 128.00
ZeroGEX:= 124.00
CITMC:= 123.15
EMA21:= 123.12
SMA50:= 122.30
POI:= 120.00
minus_GEX:= 120.00
Neg_Trans:= 120.00
if ( ticker == "ACHR" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ACHR
// 0 DTE Expirations Only
SMA50:= 9.68
COI:= 9.50
CITMP:= 9.37
plus_GEX:= 9.00
COTMC:= 8.75
Pos_Trans:= 8.50
EMA21:= 8.34
POI:= 8.00
minus_GEX:= 8.00
Neg_Trans:= 8.00
ZeroGEX:= 8.00
Spot_Price:= 7.76
COTMP:= 7.61
CITMC:= 5.81
if ( ticker == "ADBE" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ADBE
// 0 DTE Expirations Only
COI:= 400.00
CITMP:= 373.35
COTMC:= 360.63
plus_GEX:= 360.00
Pos_Trans:= 352.50
ZeroGEX:= 350.00
Spot_Price:= 349.96
COTMP:= 346.08
minus_GEX:= 345.00
Neg_Trans:= 345.00
EMA21:= 337.18
SMA50:= 336.74
CITMC:= 310.75
POI:= 300.00
if ( ticker == "AFRM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: AFRM
// 0 DTE Expirations Only
CITMP:= 72.66
SMA50:= 70.99
COI:= 70.00
POI:= 70.00
plus_GEX:= 70.00
COTMC:= 69.01
EMA21:= 68.80
Pos_Trans:= 68.00
Neg_Trans:= 67.50
ZeroGEX:= 67.50
Spot_Price:= 65.76
COTMP:= 64.00
minus_GEX:= 64.00
CITMC:= 47.37
if ( ticker == "AI" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: AI
// 0 DTE Expirations Only
CITMP:= 17.94
SMA50:= 16.23
COI:= 15.50
plus_GEX:= 15.50
Pos_Trans:= 15.50
EMA21:= 15.12
POI:= 15.00
minus_GEX:= 15.00
Neg_Trans:= 15.00
ZeroGEX:= 15.00
COTMC:= 14.96
Spot_Price:= 14.54
COTMP:= 14.22
CITMC:= 11.07
if ( ticker == "ALAB" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ALAB
// 0 DTE Expirations Only
COI:= 180.00
SMA50:= 166.41
CITMP:= 165.85
POI:= 165.00
EMA21:= 157.86
COTMC:= 156.79
plus_GEX:= 155.00
Pos_Trans:= 155.00
ZeroGEX:= 148.50
Spot_Price:= 143.44
Neg_Trans:= 142.00
COTMP:= 141.48
minus_GEX:= 140.00
CITMC:= 109.85
if ( ticker == "ALB" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ALB
// 0 DTE Expirations Only
COI:= 140.00
plus_GEX:= 140.00
CITMP:= 137.32
COTMC:= 136.41
Spot_Price:= 133.01
Pos_Trans:= 133.00
COTMP:= 131.22
ZeroGEX:= 131.00
Neg_Trans:= 129.00
minus_GEX:= 126.00
EMA21:= 123.80
SMA50:= 108.67
CITMC:= 107.27
POI:= 60.00
if ( ticker == "AMD" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: AMD
// 0 DTE Expirations Only
COI:= 235.00
SMA50:= 230.98
CITMP:= 225.70
EMA21:= 220.21
plus_GEX:= 220.00
COTMC:= 219.08
Pos_Trans:= 212.50
minus_GEX:= 210.00
Neg_Trans:= 210.00
ZeroGEX:= 210.00
Spot_Price:= 207.16
COTMP:= 203.60
POI:= 180.00
CITMC:= 148.83
if ( ticker == "AMZN" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: AMZN
// 0 DTE Expirations Only
COI:= 260.00
CITMP:= 235.05
plus_GEX:= 235.00
EMA21:= 229.49
SMA50:= 229.22
COTMC:= 229.04
Pos_Trans:= 225.00
Spot_Price:= 223.30
Neg_Trans:= 222.50
ZeroGEX:= 222.50
COTMP:= 220.46
POI:= 220.00
minus_GEX:= 215.00
CITMC:= 183.13
if ( ticker == "ANET" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ANET
// 0 DTE Expirations Only
COI:= 170.00
plus_GEX:= 140.00
SMA50:= 138.89
CITMP:= 134.40
COTMC:= 132.11
EMA21:= 130.02
Pos_Trans:= 127.00
Spot_Price:= 126.48
Neg_Trans:= 126.00
ZeroGEX:= 126.00
minus_GEX:= 125.00
COTMP:= 124.52
POI:= 110.00
CITMC:= 98.55
if ( ticker == "ANF" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ANF
// 0 DTE Expirations Only
COTMC:= 123.43
CITMP:= 122.22
plus_GEX:= 120.00
Spot_Price:= 119.05
COTMP:= 118.08
Pos_Trans:= 116.00
minus_GEX:= 115.00
Neg_Trans:= 115.00
ZeroGEX:= 115.00
EMA21:= 95.07
CITMC:= 92.15
COI:= 85.00
SMA50:= 79.61
POI:= 60.00
if ( ticker == "APP" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: APP
// 0 DTE Expirations Only
COTMC:= 713.12
CITMP:= 703.23
COI:= 700.00
plus_GEX:= 700.00
Pos_Trans:= 692.50
ZeroGEX:= 691.25
minus_GEX:= 690.00
Neg_Trans:= 690.00
Spot_Price:= 674.00
COTMP:= 668.14
EMA21:= 646.74
SMA50:= 610.71
POI:= 530.00
CITMC:= 504.50
if ( ticker == "ARKK" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ARKK
// 0 DTE Expirations Only
COI:= 85.00
SMA50:= 83.28
CITMP:= 82.73
plus_GEX:= 82.50
COTMC:= 82.13
Pos_Trans:= 81.50
Neg_Trans:= 81.00
ZeroGEX:= 81.00
EMA21:= 80.47
Spot_Price:= 79.30
COTMP:= 78.72
minus_GEX:= 78.00
CITMC:= 72.41
POI:= 70.00
if ( ticker == "ARM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ARM
// 0 DTE Expirations Only
COI:= 180.00
SMA50:= 152.18
EMA21:= 138.82
CITMP:= 137.39
plus_GEX:= 134.00
Pos_Trans:= 133.00
COTMC:= 130.77
ZeroGEX:= 129.00
Neg_Trans:= 125.00
Spot_Price:= 124.00
COTMP:= 121.17
POI:= 120.00
minus_GEX:= 120.00
CITMC:= 94.13
if ( ticker == "ASHR" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ASHR
// 0 DTE Expirations Only
COI:= 35.00
CITMP:= 33.49
plus_GEX:= 33.00
COTMC:= 32.89
EMA21:= 32.81
SMA50:= 32.79
Spot_Price:= 32.58
COTMP:= 32.51
Pos_Trans:= 32.50
minus_GEX:= 32.00
Neg_Trans:= 32.00
ZeroGEX:= 32.00
POI:= 31.00
CITMC:= 30.84
if ( ticker == "ASML" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ASML
// 0 DTE Expirations Only
CITMP:= 1145.72
COTMC:= 1106.23
COI:= 1100.00
plus_GEX:= 1100.00
Pos_Trans:= 1100.00
Spot_Price:= 1085.19
COTMP:= 1076.84
EMA21:= 1075.75
ZeroGEX:= 1075.00
Neg_Trans:= 1065.00
SMA50:= 1040.95
minus_GEX:= 1040.00
CITMC:= 864.87
POI:= 600.00
if ( ticker == "ASTS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ASTS
// 0 DTE Expirations Only
minus_GEX:= 80.00
COTMC:= 76.01
COI:= 75.00
CITMP:= 74.59
SMA50:= 71.27
plus_GEX:= 70.00
EMA21:= 68.31
Spot_Price:= 66.82
COTMP:= 65.63
POI:= 55.00
CITMC:= 40.56
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "AVGO" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: AVGO
// 0 DTE Expirations Only
EMA21:= 376.69
SMA50:= 362.02
CITMP:= 360.22
COTMC:= 350.79
plus_GEX:= 350.00
Pos_Trans:= 347.50
Spot_Price:= 338.68
COTMP:= 335.39
COI:= 330.00
Neg_Trans:= 327.50
ZeroGEX:= 327.50
minus_GEX:= 325.00
POI:= 300.00
CITMC:= 232.52
if ( ticker == "AXP" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: AXP
// 0 DTE Expirations Only
COTMC:= 405.70
COI:= 392.50
plus_GEX:= 387.50
CITMP:= 384.53
Spot_Price:= 382.48
COTMP:= 379.68
Pos_Trans:= 375.00
ZeroGEX:= 373.75
minus_GEX:= 372.50
Neg_Trans:= 372.50
EMA21:= 367.33
SMA50:= 355.18
CITMC:= 314.91
POI:= 300.00
if ( ticker == "BA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BA
// 0 DTE Expirations Only
COI:= 215.00
CITMP:= 214.28
COTMC:= 211.44
plus_GEX:= 210.00
Spot_Price:= 205.19
SMA50:= 203.14
COTMP:= 202.88
Pos_Trans:= 200.00
EMA21:= 198.63
Neg_Trans:= 197.50
ZeroGEX:= 197.50
POI:= 190.00
minus_GEX:= 190.00
CITMC:= 180.41
if ( ticker == "BABA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BABA
// 0 DTE Expirations Only
COI:= 200.00
SMA50:= 164.44
plus_GEX:= 162.50
EMA21:= 158.25
CITMP:= 158.09
Pos_Trans:= 157.50
COTMC:= 155.20
Neg_Trans:= 155.00
ZeroGEX:= 155.00
Spot_Price:= 148.45
COTMP:= 146.21
minus_GEX:= 145.00
POI:= 140.00
CITMC:= 129.16
if ( ticker == "BAC" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BAC
// 0 DTE Expirations Only
CITMP:= 57.57
COTMC:= 56.61
Spot_Price:= 55.33
COI:= 55.00
plus_GEX:= 55.00
COTMP:= 54.93
Pos_Trans:= 54.00
ZeroGEX:= 53.75
EMA21:= 53.63
Neg_Trans:= 53.50
minus_GEX:= 53.00
SMA50:= 52.45
POI:= 50.00
CITMC:= 48.84
if ( ticker == "BE" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BE
// 0 DTE Expirations Only
COI:= 130.00
SMA50:= 109.88
EMA21:= 105.64
CITMP:= 102.08
plus_GEX:= 100.00
Pos_Trans:= 95.00
COTMC:= 94.52
Neg_Trans:= 94.00
ZeroGEX:= 94.00
minus_GEX:= 90.00
Spot_Price:= 88.42
COTMP:= 88.33
CITMC:= 46.72
POI:= 40.00
if ( ticker == "BIDU" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BIDU
// 0 DTE Expirations Only
COI:= 140.00
CITMP:= 126.95
COTMC:= 123.94
SMA50:= 123.09
EMA21:= 122.05
plus_GEX:= 120.00
Pos_Trans:= 120.00
Spot_Price:= 119.47
Neg_Trans:= 119.00
ZeroGEX:= 119.00
minus_GEX:= 118.00
COTMP:= 117.90
CITMC:= 101.18
POI:= 90.00
if ( ticker == "BMNR" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BMNR
// 0 DTE Expirations Only
COTMC:= 54.55
plus_GEX:= 50.00
SMA50:= 42.13
COI:= 40.00
EMA21:= 35.47
Pos_Trans:= 34.00
ZeroGEX:= 33.50
CITMP:= 33.20
Spot_Price:= 31.69
COTMP:= 31.07
Neg_Trans:= 30.50
CITMC:= 26.53
POI:= 25.00
minus_GEX:= 25.00
if ( ticker == "BMY" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BMY
// 0 DTE Expirations Only
CITMP:= 57.46
COTMC:= 55.57
Spot_Price:= 54.50
COTMP:= 54.07
plus_GEX:= 53.00
EMA21:= 50.02
COI:= 50.00
CITMC:= 48.81
Pos_Trans:= 48.50
minus_GEX:= 48.00
Neg_Trans:= 48.00
ZeroGEX:= 48.00
POI:= 47.00
SMA50:= 46.89
if ( ticker == "BX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: BX
// 0 DTE Expirations Only
CITMP:= 160.90
COI:= 160.00
COTMC:= 156.60
plus_GEX:= 155.00
Pos_Trans:= 152.50
SMA50:= 150.52
Spot_Price:= 150.50
POI:= 150.00
minus_GEX:= 150.00
Neg_Trans:= 150.00
ZeroGEX:= 150.00
EMA21:= 149.55
COTMP:= 148.37
CITMC:= 138.74
if ( ticker == "C" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: C
// 0 DTE Expirations Only
COTMC:= 115.75
plus_GEX:= 115.00
CITMP:= 113.97
Spot_Price:= 112.86
COTMP:= 112.05
COI:= 110.00
Pos_Trans:= 110.00
Neg_Trans:= 109.00
ZeroGEX:= 109.00
minus_GEX:= 108.00
EMA21:= 106.32
SMA50:= 101.41
POI:= 95.00
CITMC:= 89.87
if ( ticker == "CART" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CART
// 0 DTE Expirations Only
CITMP:= 47.26
COTMC:= 46.92
plus_GEX:= 46.00
Spot_Price:= 45.25
COTMP:= 44.88
Pos_Trans:= 43.00
EMA21:= 42.80
minus_GEX:= 42.50
Neg_Trans:= 42.50
ZeroGEX:= 42.50
CITMC:= 42.36
SMA50:= 40.11
COI:= 40.00
POI:= 35.00
if ( ticker == "CAT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CAT
// 0 DTE Expirations Only
COI:= 630.00
COTMC:= 605.13
CITMP:= 603.24
plus_GEX:= 600.00
Pos_Trans:= 595.00
ZeroGEX:= 592.50
Spot_Price:= 590.74
COTMP:= 587.37
EMA21:= 583.80
Neg_Trans:= 577.50
minus_GEX:= 572.50
SMA50:= 554.97
POI:= 490.00
CITMC:= 463.05
if ( ticker == "CAVA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CAVA
// 0 DTE Expirations Only
CITMP:= 59.56
COI:= 57.00
plus_GEX:= 55.00
Pos_Trans:= 55.00
SMA50:= 54.91
COTMC:= 54.15
Spot_Price:= 52.05
ZeroGEX:= 52.00
EMA21:= 51.98
COTMP:= 51.39
minus_GEX:= 50.00
Neg_Trans:= 50.00
CITMC:= 47.01
POI:= 40.00
if ( ticker == "CCJ" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CCJ
// 0 DTE Expirations Only
COI:= 100.00
CITMP:= 94.23
COTMC:= 92.01
EMA21:= 90.41
SMA50:= 90.30
plus_GEX:= 90.00
Pos_Trans:= 90.00
Spot_Price:= 89.35
Neg_Trans:= 89.00
ZeroGEX:= 89.00
COTMP:= 88.54
minus_GEX:= 85.00
POI:= 70.00
CITMC:= 64.50
if ( ticker == "CEG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CEG
// 0 DTE Expirations Only
COI:= 372.50
plus_GEX:= 372.50
CITMP:= 371.63
COTMC:= 369.78
SMA50:= 365.10
Pos_Trans:= 365.00
ZeroGEX:= 362.50
EMA21:= 359.39
Spot_Price:= 358.13
Neg_Trans:= 357.50
COTMP:= 351.74
POI:= 350.00
minus_GEX:= 350.00
CITMC:= 300.99
if ( ticker == "CELH" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CELH
// 0 DTE Expirations Only
SMA50:= 51.26
CITMP:= 49.73
COTMC:= 46.51
EMA21:= 44.00
Spot_Price:= 43.85
plus_GEX:= 43.00
COTMP:= 42.97
Pos_Trans:= 42.50
Neg_Trans:= 42.00
ZeroGEX:= 42.00
minus_GEX:= 41.00
POI:= 40.00
CITMC:= 37.41
COI:= 36.00
if ( ticker == "CLS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CLS
// 0 DTE Expirations Only
COI:= 360.00
EMA21:= 321.53
CITMP:= 315.09
COTMC:= 310.97
SMA50:= 306.06
Spot_Price:= 298.40
minus_GEX:= 297.50
COTMP:= 294.57
plus_GEX:= 280.00
CITMC:= 195.74
POI:= 45.00
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "CMCSA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CMCSA
// 0 DTE Expirations Only
CITMP:= 33.08
COI:= 30.00
COTMC:= 29.10
plus_GEX:= 28.50
Spot_Price:= 28.30
SMA50:= 28.12
COTMP:= 28.01
EMA21:= 27.37
CITMC:= 27.28
Pos_Trans:= 27.00
minus_GEX:= 26.50
Neg_Trans:= 26.50
ZeroGEX:= 26.50
POI:= 25.00
if ( ticker == "CMG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CMG
// 0 DTE Expirations Only
CITMP:= 38.67
COI:= 37.50
minus_GEX:= 37.50
COTMC:= 37.12
Spot_Price:= 35.93
SMA50:= 35.67
COTMP:= 35.54
plus_GEX:= 35.00
EMA21:= 34.09
CITMC:= 33.15
POI:= 27.50
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "COF" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: COF
// 0 DTE Expirations Only
COTMC:= 243.74
COI:= 240.00
plus_GEX:= 240.00
Pos_Trans:= 240.00
Spot_Price:= 239.81
COTMP:= 237.82
ZeroGEX:= 236.25
CITMP:= 235.92
minus_GEX:= 232.50
Neg_Trans:= 232.50
EMA21:= 226.36
CITMC:= 218.77
SMA50:= 218.28
POI:= 175.00
if ( ticker == "COIN" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: COIN
// 0 DTE Expirations Only
COI:= 500.00
SMA50:= 306.66
CITMP:= 290.70
plus_GEX:= 275.00
EMA21:= 273.49
Pos_Trans:= 270.00
COTMC:= 269.05
Spot_Price:= 253.95
Neg_Trans:= 252.50
ZeroGEX:= 252.50
COTMP:= 250.73
minus_GEX:= 250.00
CITMC:= 138.70
POI:= 100.00
if ( ticker == "CORZ" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CORZ
// 0 DTE Expirations Only
COI:= 30.00
SMA50:= 17.94
CITMP:= 17.24
EMA21:= 16.83
COTMC:= 15.99
Spot_Price:= 15.20
COTMP:= 15.04
plus_GEX:= 15.00
Pos_Trans:= 15.00
Neg_Trans:= 14.50
ZeroGEX:= 14.50
minus_GEX:= 14.00
CITMC:= 12.09
POI:= 10.00
if ( ticker == "COST" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: COST
// 0 DTE Expirations Only
SMA50:= 915.28
CITMP:= 902.76
EMA21:= 896.32
COTMC:= 869.23
COI:= 865.00
plus_GEX:= 865.00
Pos_Trans:= 865.00
Spot_Price:= 860.51
Neg_Trans:= 860.00
ZeroGEX:= 860.00
COTMP:= 856.16
POI:= 850.00
minus_GEX:= 850.00
CITMC:= 774.17
if ( ticker == "CRCL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CRCL
// 0 DTE Expirations Only
COTMC:= 107.90
SMA50:= 105.74
CITMP:= 92.08
COI:= 90.00
plus_GEX:= 90.00
EMA21:= 85.72
Pos_Trans:= 80.00
Spot_Price:= 77.08
ZeroGEX:= 77.00
COTMP:= 76.03
Neg_Trans:= 68.50
CITMC:= 68.36
POI:= 68.00
minus_GEX:= 68.00
if ( ticker == "CRDO" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CRDO
// 0 DTE Expirations Only
EMA21:= 160.72
SMA50:= 156.28
CITMP:= 155.09
POI:= 155.00
COTMC:= 150.09
COI:= 150.00
Spot_Price:= 141.28
minus_GEX:= 140.00
plus_GEX:= 139.00
COTMP:= 138.93
CITMC:= 98.36
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "CRM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CRM
// 0 DTE Expirations Only
COI:= 290.00
CITMP:= 271.34
plus_GEX:= 260.00
Pos_Trans:= 260.00
ZeroGEX:= 258.75
COTMC:= 258.36
Neg_Trans:= 257.50
minus_GEX:= 255.00
Spot_Price:= 252.45
COTMP:= 249.49
EMA21:= 248.86
SMA50:= 246.04
CITMC:= 227.74
POI:= 220.00
if ( ticker == "CRWD" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CRWD
// 0 DTE Expirations Only
COI:= 550.00
SMA50:= 516.92
EMA21:= 513.16
CITMP:= 512.06
COTMC:= 506.02
POI:= 500.00
plus_GEX:= 500.00
Pos_Trans:= 500.00
Neg_Trans:= 497.50
ZeroGEX:= 497.50
Spot_Price:= 487.00
COTMP:= 481.34
minus_GEX:= 470.00
CITMC:= 390.12
if ( ticker == "CRWV" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CRWV
// 0 DTE Expirations Only
SMA50:= 105.07
COI:= 95.00
plus_GEX:= 95.00
Pos_Trans:= 88.00
CITMP:= 85.40
COTMC:= 85.35
EMA21:= 84.76
ZeroGEX:= 77.50
Neg_Trans:= 73.00
Spot_Price:= 71.90
minus_GEX:= 70.00
COTMP:= 69.94
CITMC:= 61.64
POI:= 60.00
if ( ticker == "CVNA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CVNA
// 0 DTE Expirations Only
COI:= 500.00
plus_GEX:= 500.00
Pos_Trans:= 465.00
COTMC:= 464.44
CITMP:= 456.19
Spot_Price:= 451.00
ZeroGEX:= 447.50
COTMP:= 444.70
Neg_Trans:= 417.50
minus_GEX:= 415.00
EMA21:= 400.29
SMA50:= 355.43
CITMC:= 353.77
POI:= 250.00
if ( ticker == "CVS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CVS
// 0 DTE Expirations Only
CITMP:= 81.38
COTMC:= 80.80
COI:= 80.00
plus_GEX:= 80.00
Pos_Trans:= 80.00
Spot_Price:= 79.64
COTMP:= 78.98
SMA50:= 78.95
EMA21:= 78.44
Neg_Trans:= 77.50
ZeroGEX:= 77.50
POI:= 77.00
minus_GEX:= 77.00
CITMC:= 66.75
if ( ticker == "CVX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: CVX
// 0 DTE Expirations Only
COI:= 170.00
SMA50:= 152.75
plus_GEX:= 152.50
Pos_Trans:= 152.50
CITMP:= 152.45
COTMC:= 151.48
EMA21:= 151.10
Neg_Trans:= 150.00
ZeroGEX:= 150.00
minus_GEX:= 149.00
Spot_Price:= 148.88
COTMP:= 147.57
CITMC:= 137.40
POI:= 125.00
if ( ticker == "DAL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DAL
// 0 DTE Expirations Only
COTMC:= 74.07
plus_GEX:= 72.50
Spot_Price:= 71.55
CITMP:= 70.81
COTMP:= 70.73
Pos_Trans:= 69.00
ZeroGEX:= 68.00
minus_GEX:= 67.00
Neg_Trans:= 67.00
EMA21:= 65.41
COI:= 62.50
SMA50:= 61.07
CITMC:= 59.98
POI:= 50.00
if ( ticker == "DASH" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DASH
// 0 DTE Expirations Only
minus_GEX:= 250.00
COTMC:= 238.15
CITMP:= 236.71
SMA50:= 233.39
Spot_Price:= 227.21
plus_GEX:= 225.00
COTMP:= 224.44
COI:= 220.00
EMA21:= 219.07
CITMC:= 187.40
POI:= 180.00
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "DDOG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DDOG
// 0 DTE Expirations Only
SMA50:= 162.62
COI:= 160.00
plus_GEX:= 160.00
Pos_Trans:= 160.00
ZeroGEX:= 157.50
EMA21:= 156.54
POI:= 155.00
CITMP:= 154.02
Neg_Trans:= 150.00
COTMC:= 147.80
minus_GEX:= 145.00
Spot_Price:= 142.78
COTMP:= 139.61
CITMC:= 121.98
if ( ticker == "DELL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DELL
// 0 DTE Expirations Only
COI:= 160.00
SMA50:= 143.47
plus_GEX:= 140.00
Pos_Trans:= 136.00
CITMP:= 135.75
EMA21:= 135.59
ZeroGEX:= 135.00
COTMC:= 134.21
minus_GEX:= 130.00
Neg_Trans:= 130.00
Spot_Price:= 129.75
COTMP:= 127.10
POI:= 120.00
CITMC:= 106.48
if ( ticker == "DIS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DIS
// 0 DTE Expirations Only
CITMP:= 116.64
COI:= 115.00
COTMC:= 113.44
plus_GEX:= 112.00
Spot_Price:= 111.06
COTMP:= 110.09
Pos_Trans:= 110.00
SMA50:= 109.38
Neg_Trans:= 109.00
ZeroGEX:= 109.00
EMA21:= 107.94
POI:= 105.00
minus_GEX:= 105.00
CITMC:= 102.49
if ( ticker == "DJT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DJT
// 0 DTE Expirations Only
COI:= 20.00
CITMP:= 15.39
POI:= 14.00
SMA50:= 13.48
EMA21:= 11.46
plus_GEX:= 11.00
Pos_Trans:= 11.00
COTMC:= 10.79
Neg_Trans:= 10.50
ZeroGEX:= 10.50
Spot_Price:= 10.45
COTMP:= 10.27
minus_GEX:= 10.00
CITMC:= 9.48
if ( ticker == "DKNG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DKNG
// 0 DTE Expirations Only
COI:= 55.00
CITMP:= 38.63
COTMC:= 37.51
plus_GEX:= 36.00
Spot_Price:= 35.57
COTMP:= 34.99
Pos_Trans:= 34.00
EMA21:= 33.53
Neg_Trans:= 33.50
ZeroGEX:= 33.50
POI:= 33.00
minus_GEX:= 33.00
CITMC:= 32.54
SMA50:= 32.40
if ( ticker == "DUOL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DUOL
// 0 DTE Expirations Only
SMA50:= 242.85
COI:= 240.00
CITMP:= 221.89
EMA21:= 199.11
COTMC:= 195.72
minus_GEX:= 190.00
Spot_Price:= 186.70
COTMP:= 183.08
plus_GEX:= 175.00
CITMC:= 159.95
POI:= 145.00
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "DXCM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: DXCM
// 0 DTE Expirations Only
COI:= 100.00
CITMP:= 71.78
COTMC:= 69.17
Spot_Price:= 65.40
minus_GEX:= 65.00
EMA21:= 64.55
COTMP:= 64.38
SMA50:= 64.08
plus_GEX:= 63.00
CITMC:= 60.91
POI:= 55.00
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "EBAY" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: EBAY
// 0 DTE Expirations Only
CITMP:= 87.52
SMA50:= 86.79
COTMC:= 85.37
plus_GEX:= 85.00
Pos_Trans:= 85.00
Neg_Trans:= 84.00
ZeroGEX:= 84.00
EMA21:= 83.62
Spot_Price:= 83.09
minus_GEX:= 83.00
COTMP:= 82.35
COI:= 75.00
POI:= 75.00
CITMC:= 70.89
if ( ticker == "EEM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: EEM
// 0 DTE Expirations Only
COI:= 58.00
plus_GEX:= 55.00
Pos_Trans:= 54.50
SMA50:= 54.48
EMA21:= 54.43
Neg_Trans:= 54.00
ZeroGEX:= 54.00
CITMP:= 53.92
COTMC:= 53.39
minus_GEX:= 53.00
Spot_Price:= 52.97
COTMP:= 52.81
CITMC:= 49.33
POI:= 44.00
if ( ticker == "EFA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: EFA
// 0 DTE Expirations Only
CITMP:= 98.16
COI:= 98.00
plus_GEX:= 98.00
Pos_Trans:= 96.50
Neg_Trans:= 96.00
ZeroGEX:= 96.00
COTMC:= 95.99
EMA21:= 95.38
Spot_Price:= 95.15
minus_GEX:= 95.00
COTMP:= 94.77
SMA50:= 94.67
CITMC:= 93.44
POI:= 87.00
if ( ticker == "ELF" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ELF
// 0 DTE Expirations Only
SMA50:= 100.57
CITMP:= 94.82
COI:= 90.00
plus_GEX:= 85.00
COTMC:= 83.14
Pos_Trans:= 81.00
EMA21:= 80.61
POI:= 80.00
Spot_Price:= 78.35
minus_GEX:= 77.00
Neg_Trans:= 77.00
ZeroGEX:= 77.00
COTMP:= 76.83
CITMC:= 69.51
if ( ticker == "ENPH" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ENPH
// 0 DTE Expirations Only
CITMP:= 38.14
COI:= 35.00
POI:= 35.00
COTMC:= 34.24
plus_GEX:= 33.00
SMA50:= 32.06
Spot_Price:= 31.58
Pos_Trans:= 31.00
COTMP:= 30.97
EMA21:= 30.69
Neg_Trans:= 30.50
ZeroGEX:= 30.50
minus_GEX:= 30.00
CITMC:= 28.18
if ( ticker == "EQT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: EQT
// 0 DTE Expirations Only
COI:= 62.50
EMA21:= 57.78
CITMP:= 56.91
SMA50:= 56.69
COTMC:= 56.60
plus_GEX:= 56.00
Pos_Trans:= 56.00
ZeroGEX:= 55.50
minus_GEX:= 55.00
Neg_Trans:= 55.00
Spot_Price:= 54.80
COTMP:= 54.00
CITMC:= 47.06
POI:= 45.00
if ( ticker == "ETHA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ETHA
// 0 DTE Expirations Only
COI:= 35.00
CITMP:= 27.05
SMA50:= 26.59
plus_GEX:= 24.00
EMA21:= 23.86
COTMC:= 23.40
Pos_Trans:= 22.50
Spot_Price:= 22.22
Neg_Trans:= 22.00
ZeroGEX:= 22.00
COTMP:= 21.94
minus_GEX:= 20.00
CITMC:= 15.78
POI:= 6.00
if ( ticker == "ETSY" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ETSY
// 0 DTE Expirations Only
COI:= 80.00
SMA50:= 61.71
CITMP:= 59.42
COTMC:= 56.02
EMA21:= 55.24
plus_GEX:= 55.00
Pos_Trans:= 54.00
Spot_Price:= 53.13
Neg_Trans:= 53.00
ZeroGEX:= 53.00
COTMP:= 52.17
POI:= 50.00
minus_GEX:= 50.00
CITMC:= 46.82
if ( ticker == "EWZ" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: EWZ
// 0 DTE Expirations Only
CITMP:= 37.06
COI:= 35.00
POI:= 35.00
COTMC:= 34.57
plus_GEX:= 34.00
Spot_Price:= 33.59
COTMP:= 33.37
Pos_Trans:= 33.00
EMA21:= 32.96
Neg_Trans:= 32.50
ZeroGEX:= 32.50
minus_GEX:= 32.00
CITMC:= 31.96
SMA50:= 31.74
if ( ticker == "FCX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: FCX
// 0 DTE Expirations Only
COTMC:= 49.38
CITMP:= 49.26
Spot_Price:= 47.55
COI:= 47.00
plus_GEX:= 47.00
Pos_Trans:= 47.00
ZeroGEX:= 46.75
COTMP:= 46.61
minus_GEX:= 46.50
Neg_Trans:= 46.50
EMA21:= 44.15
CITMC:= 42.75
SMA50:= 42.05
POI:= 40.00
if ( ticker == "FSLR" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: FSLR
// 0 DTE Expirations Only
COTMC:= 285.57
CITMP:= 271.29
EMA21:= 258.37
Spot_Price:= 254.92
SMA50:= 250.46
COI:= 250.00
plus_GEX:= 250.00
Pos_Trans:= 250.00
COTMP:= 249.09
ZeroGEX:= 247.50
Neg_Trans:= 237.50
minus_GEX:= 230.00
CITMC:= 217.73
POI:= 200.00
if ( ticker == "FTNT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: FTNT
// 0 DTE Expirations Only
CITMP:= 88.31
COI:= 85.00
plus_GEX:= 85.00
COTMC:= 84.76
SMA50:= 83.26
EMA21:= 82.48
Spot_Price:= 81.48
POI:= 80.00
Pos_Trans:= 80.00
COTMP:= 79.96
minus_GEX:= 79.00
Neg_Trans:= 79.00
ZeroGEX:= 79.00
CITMC:= 74.71
if ( ticker == "FUTU" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: FUTU
// 0 DTE Expirations Only
COI:= 180.00
plus_GEX:= 175.00
Pos_Trans:= 175.00
SMA50:= 173.29
Neg_Trans:= 172.50
ZeroGEX:= 172.50
CITMP:= 172.23
EMA21:= 171.09
COTMC:= 167.59
minus_GEX:= 165.00
Spot_Price:= 161.59
COTMP:= 160.28
POI:= 140.00
CITMC:= 103.00
if ( ticker == "FXI" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: FXI
// 0 DTE Expirations Only
COI:= 42.00
SMA50:= 39.85
EMA21:= 39.38
plus_GEX:= 39.00
Pos_Trans:= 39.00
CITMP:= 38.97
Neg_Trans:= 38.50
ZeroGEX:= 38.50
COTMC:= 38.46
minus_GEX:= 38.00
Spot_Price:= 37.91
COTMP:= 37.62
CITMC:= 35.81
POI:= 30.00
if ( ticker == "GDX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GDX
// 0 DTE Expirations Only
minus_GEX:= 87.00
COTMC:= 86.71
CITMP:= 86.34
plus_GEX:= 85.00
Spot_Price:= 84.86
COTMP:= 84.45
EMA21:= 80.73
SMA50:= 77.20
COI:= 75.00
POI:= 65.00
CITMC:= 63.02
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "GDXJ" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GDXJ
// 0 DTE Expirations Only
CITMP:= 120.51
COTMC:= 118.88
Spot_Price:= 112.41
COTMP:= 111.67
plus_GEX:= 108.00
Pos_Trans:= 108.00
ZeroGEX:= 107.50
minus_GEX:= 107.00
Neg_Trans:= 107.00
EMA21:= 105.97
COI:= 105.00
SMA50:= 100.67
CITMC:= 92.31
POI:= 90.00
if ( ticker == "GEV" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GEV
// 0 DTE Expirations Only
COTMC:= 710.09
CITMP:= 704.00
plus_GEX:= 700.00
Pos_Trans:= 690.00
Spot_Price:= 689.59
COTMP:= 681.07
ZeroGEX:= 677.50
Neg_Trans:= 667.50
minus_GEX:= 655.00
COI:= 650.00
EMA21:= 627.11
SMA50:= 598.92
CITMC:= 566.94
POI:= 480.00
if ( ticker == "GLD" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GLD
// 0 DTE Expirations Only
COI:= 410.00
COTMC:= 401.84
plus_GEX:= 400.00
Pos_Trans:= 399.00
CITMP:= 396.58
Spot_Price:= 396.06
COTMP:= 394.88
Neg_Trans:= 394.00
ZeroGEX:= 394.00
minus_GEX:= 392.00
POI:= 390.00
EMA21:= 385.45
SMA50:= 378.72
CITMC:= 352.61
if ( ticker == "GLW" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GLW
// 0 DTE Expirations Only
COI:= 100.00
CITMP:= 91.34
COTMC:= 90.42
plus_GEX:= 90.00
Pos_Trans:= 90.00
COTMP:= 89.35
ZeroGEX:= 89.00
Spot_Price:= 88.05
minus_GEX:= 87.00
Neg_Trans:= 87.00
EMA21:= 86.97
SMA50:= 85.88
POI:= 85.00
CITMC:= 66.16
if ( ticker == "GM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GM
// 0 DTE Expirations Only
COTMC:= 85.17
CITMP:= 82.95
Spot_Price:= 82.14
COTMP:= 81.65
plus_GEX:= 81.00
Pos_Trans:= 78.00
ZeroGEX:= 77.75
minus_GEX:= 77.50
Neg_Trans:= 77.50
EMA21:= 75.17
COI:= 75.00
SMA50:= 68.54
POI:= 65.00
CITMC:= 64.42
if ( ticker == "GME" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GME
// 0 DTE Expirations Only
CITMP:= 26.41
COI:= 25.00
COTMC:= 23.27
plus_GEX:= 23.00
SMA50:= 22.37
Spot_Price:= 22.18
EMA21:= 22.11
POI:= 22.00
COTMP:= 21.71
Pos_Trans:= 21.50
minus_GEX:= 21.00
Neg_Trans:= 21.00
ZeroGEX:= 21.00
CITMC:= 20.04
if ( ticker == "GOOG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GOOG
// 0 DTE Expirations Only
COI:= 320.00
CITMP:= 317.64
COTMC:= 316.69
plus_GEX:= 315.00
Pos_Trans:= 310.00
Spot_Price:= 308.63
EMA21:= 307.79
COTMP:= 307.67
Neg_Trans:= 302.50
ZeroGEX:= 302.50
minus_GEX:= 297.50
POI:= 290.00
SMA50:= 283.54
CITMC:= 235.03
if ( ticker == "GOOGL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: GOOGL
// 0 DTE Expirations Only
COI:= 335.00
plus_GEX:= 317.50
Pos_Trans:= 317.50
COTMC:= 315.98
CITMP:= 315.92
Neg_Trans:= 315.00
ZeroGEX:= 315.00
minus_GEX:= 310.00
Spot_Price:= 307.93
EMA21:= 307.09
COTMP:= 306.20
POI:= 290.00
SMA50:= 282.92
CITMC:= 235.92
if ( ticker == "HAL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: HAL
// 0 DTE Expirations Only
COI:= 30.00
plus_GEX:= 30.00
CITMP:= 29.61
COTMC:= 29.56
Spot_Price:= 28.41
COTMP:= 28.01
Pos_Trans:= 28.00
ZeroGEX:= 27.75
EMA21:= 27.56
minus_GEX:= 27.50
Neg_Trans:= 27.50
SMA50:= 26.18
CITMC:= 25.94
POI:= 23.00
if ( ticker == "HIMS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: HIMS
// 0 DTE Expirations Only
SMA50:= 43.88
CITMP:= 43.17
COTMC:= 41.00
COI:= 40.00
EMA21:= 38.62
plus_GEX:= 38.50
Pos_Trans:= 37.50
Neg_Trans:= 37.00
ZeroGEX:= 37.00
Spot_Price:= 36.30
COTMP:= 35.62
POI:= 30.00
minus_GEX:= 30.00
CITMC:= 20.89
if ( ticker == "HOOD" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: HOOD
// 0 DTE Expirations Only
SMA50:= 131.78
COI:= 130.00
plus_GEX:= 127.00
EMA21:= 126.67
CITMP:= 125.93
COTMC:= 124.91
Pos_Trans:= 124.00
ZeroGEX:= 123.00
Neg_Trans:= 117.00
Spot_Price:= 115.84
COTMP:= 113.98
minus_GEX:= 110.00
POI:= 90.00
CITMC:= 63.00
if ( ticker == "HUT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: HUT
// 0 DTE Expirations Only
COI:= 50.00
SMA50:= 43.99
EMA21:= 41.86
CITMP:= 41.17
minus_GEX:= 38.00
COTMC:= 37.21
Spot_Price:= 35.72
COTMP:= 35.50
POI:= 35.00
plus_GEX:= 35.00
CITMC:= 25.59
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "HYG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: HYG
// 0 DTE Expirations Only
COI:= 82.00
plus_GEX:= 81.00
Pos_Trans:= 81.00
CITMP:= 80.98
COTMC:= 80.82
Spot_Price:= 80.64
EMA21:= 80.60
COTMP:= 80.59
SMA50:= 80.59
Neg_Trans:= 80.50
ZeroGEX:= 80.50
CITMC:= 80.22
minus_GEX:= 80.00
POI:= 75.00
if ( ticker == "IBIT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: IBIT
// 0 DTE Expirations Only
COI:= 60.00
SMA50:= 57.73
CITMP:= 56.36
EMA21:= 52.41
plus_GEX:= 52.00
Pos_Trans:= 51.00
COTMC:= 50.97
Neg_Trans:= 50.50
ZeroGEX:= 50.50
Spot_Price:= 49.41
COTMP:= 49.09
minus_GEX:= 48.00
POI:= 43.00
CITMC:= 28.58
if ( ticker == "INTC" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: INTC
// 0 DTE Expirations Only
COI:= 50.00
plus_GEX:= 40.00
COTMC:= 39.98
CITMP:= 39.87
EMA21:= 38.88
SMA50:= 38.08
Pos_Trans:= 38.00
Spot_Price:= 37.76
Neg_Trans:= 37.50
ZeroGEX:= 37.50
COTMP:= 37.20
minus_GEX:= 37.00
CITMC:= 29.29
POI:= 20.00
if ( ticker == "IONQ" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: IONQ
// 0 DTE Expirations Only
SMA50:= 57.07
COI:= 55.00
plus_GEX:= 55.00
CITMP:= 54.48
COTMC:= 51.48
Pos_Trans:= 51.00
EMA21:= 50.89
ZeroGEX:= 50.00
Neg_Trans:= 47.00
minus_GEX:= 46.00
Spot_Price:= 45.53
COTMP:= 44.76
POI:= 36.00
CITMC:= 32.19
if ( ticker == "IREN" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: IREN
// 0 DTE Expirations Only
COI:= 70.00
SMA50:= 54.58
CITMP:= 46.39
EMA21:= 46.08
COTMC:= 40.36
plus_GEX:= 39.50
Pos_Trans:= 39.50
ZeroGEX:= 39.00
minus_GEX:= 36.00
Neg_Trans:= 36.00
Spot_Price:= 35.31
COTMP:= 34.75
POI:= 27.00
CITMC:= 20.45
if ( ticker == "ISRG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ISRG
// 0 DTE Expirations Only
COI:= 630.00
plus_GEX:= 575.00
COTMC:= 573.84
Pos_Trans:= 570.00
CITMP:= 569.27
Spot_Price:= 559.17
EMA21:= 557.06
minus_GEX:= 555.00
Neg_Trans:= 555.00
ZeroGEX:= 555.00
COTMP:= 552.84
SMA50:= 529.33
POI:= 500.00
CITMC:= 485.94
if ( ticker == "JD" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: JD
// 0 DTE Expirations Only
COI:= 40.00
SMA50:= 31.50
CITMP:= 31.32
plus_GEX:= 30.50
Pos_Trans:= 30.50
POI:= 30.00
ZeroGEX:= 30.00
EMA21:= 29.90
COTMC:= 29.03
Neg_Trans:= 29.00
Spot_Price:= 28.44
COTMP:= 27.90
minus_GEX:= 27.50
CITMC:= 24.23
if ( ticker == "JPM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: JPM
// 0 DTE Expirations Only
COTMC:= 325.74
CITMP:= 324.06
Spot_Price:= 320.25
plus_GEX:= 320.00
COTMP:= 318.50
Pos_Trans:= 315.00
ZeroGEX:= 313.75
minus_GEX:= 312.50
Neg_Trans:= 312.50
EMA21:= 310.91
SMA50:= 307.00
COI:= 300.00
POI:= 300.00
CITMC:= 272.37
if ( ticker == "KRE" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: KRE
// 0 DTE Expirations Only
CITMP:= 68.20
COTMC:= 68.16
plus_GEX:= 68.00
Spot_Price:= 67.22
COTMP:= 66.60
Pos_Trans:= 66.00
Neg_Trans:= 65.50
ZeroGEX:= 65.50
COI:= 65.00
POI:= 65.00
EMA21:= 64.24
minus_GEX:= 64.00
CITMC:= 62.25
SMA50:= 62.01
if ( ticker == "KVUE" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: KVUE
// 0 DTE Expirations Only
CITMP:= 19.80
COI:= 18.00
plus_GEX:= 18.00
COTMC:= 17.64
Spot_Price:= 17.21
COTMP:= 17.08
Pos_Trans:= 17.00
EMA21:= 16.89
ZeroGEX:= 16.75
minus_GEX:= 16.50
Neg_Trans:= 16.50
SMA50:= 16.20
CITMC:= 16.06
POI:= 16.00
if ( ticker == "KWEB" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: KWEB
// 0 DTE Expirations Only
COI:= 50.00
SMA50:= 38.94
CITMP:= 38.26
plus_GEX:= 38.00
EMA21:= 37.54
Pos_Trans:= 37.50
POI:= 37.00
Neg_Trans:= 37.00
ZeroGEX:= 37.00
COTMC:= 36.55
minus_GEX:= 36.00
Spot_Price:= 35.93
COTMP:= 35.59
CITMC:= 31.34
if ( ticker == "LLY" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: LLY
// 0 DTE Expirations Only
plus_GEX:= 1100.00
COTMC:= 1093.45
Spot_Price:= 1063.60
CITMP:= 1060.79
COTMP:= 1054.33
Pos_Trans:= 1045.00
ZeroGEX:= 1042.50
Neg_Trans:= 1040.00
minus_GEX:= 1035.00
EMA21:= 1014.40
COI:= 1000.00
POI:= 1000.00
SMA50:= 939.00
CITMC:= 888.04
if ( ticker == "LMND" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: LMND
// 0 DTE Expirations Only
COI:= 85.00
plus_GEX:= 85.00
CITMP:= 81.28
COTMC:= 80.78
Pos_Trans:= 80.00
Spot_Price:= 76.48
COTMP:= 75.63
EMA21:= 74.66
Neg_Trans:= 74.00
ZeroGEX:= 74.00
minus_GEX:= 71.00
SMA50:= 65.66
CITMC:= 49.51
POI:= 37.00
if ( ticker == "LOW" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: LOW
// 0 DTE Expirations Only
CITMP:= 254.05
COTMC:= 252.92
COI:= 250.00
plus_GEX:= 250.00
Spot_Price:= 248.78
Pos_Trans:= 247.50
COTMP:= 246.76
minus_GEX:= 245.00
Neg_Trans:= 245.00
ZeroGEX:= 245.00
EMA21:= 242.47
SMA50:= 238.85
POI:= 230.00
CITMC:= 223.63
if ( ticker == "LRCX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: LRCX
// 0 DTE Expirations Only
COTMC:= 170.84
CITMP:= 170.58
COI:= 165.00
plus_GEX:= 165.00
Pos_Trans:= 165.00
Spot_Price:= 164.98
COTMP:= 164.33
minus_GEX:= 162.50
Neg_Trans:= 162.50
ZeroGEX:= 162.50
EMA21:= 158.64
POI:= 155.00
SMA50:= 152.73
CITMC:= 122.19
if ( ticker == "LULU" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: LULU
// 0 DTE Expirations Only
CITMP:= 234.17
COTMC:= 223.08
Spot_Price:= 206.40
COTMP:= 204.78
COI:= 200.00
plus_GEX:= 200.00
Pos_Trans:= 200.00
minus_GEX:= 192.50
Neg_Trans:= 192.50
ZeroGEX:= 192.50
EMA21:= 183.92
CITMC:= 181.59
SMA50:= 174.96
POI:= 130.00
if ( ticker == "LUV" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: LUV
// 0 DTE Expirations Only
COTMC:= 44.08
CITMP:= 42.93
Spot_Price:= 42.51
COTMP:= 42.13
plus_GEX:= 42.00
Pos_Trans:= 42.00
minus_GEX:= 41.00
Neg_Trans:= 41.00
ZeroGEX:= 41.00
EMA21:= 36.70
CITMC:= 35.93
COI:= 35.00
SMA50:= 33.66
POI:= 30.00
if ( ticker == "LVS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: LVS
// 0 DTE Expirations Only
plus_GEX:= 70.00
Pos_Trans:= 69.00
COTMC:= 68.37
CITMP:= 68.09
minus_GEX:= 68.00
Neg_Trans:= 68.00
ZeroGEX:= 68.00
Spot_Price:= 67.00
COTMP:= 66.48
EMA21:= 65.71
SMA50:= 60.63
CITMC:= 53.15
COI:= 52.50
POI:= 50.00
if ( ticker == "LYFT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: LYFT
// 0 DTE Expirations Only
COI:= 33.00
EMA21:= 21.12
SMA50:= 20.99
CITMP:= 20.45
COTMC:= 20.18
plus_GEX:= 20.00
Pos_Trans:= 20.00
Neg_Trans:= 19.50
ZeroGEX:= 19.50
Spot_Price:= 19.12
COTMP:= 18.79
minus_GEX:= 18.00
CITMC:= 15.28
POI:= 15.00
if ( ticker == "MA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MA
// 0 DTE Expirations Only
plus_GEX:= 580.00
COTMC:= 577.05
CITMP:= 575.96
Spot_Price:= 570.00
COTMP:= 564.21
Pos_Trans:= 560.00
minus_GEX:= 557.50
Neg_Trans:= 557.50
ZeroGEX:= 557.50
SMA50:= 554.77
EMA21:= 550.81
COI:= 550.00
POI:= 550.00
CITMC:= 527.20
if ( ticker == "MARA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MARA
// 0 DTE Expirations Only
SMA50:= 15.61
CITMP:= 15.20
EMA21:= 12.34
COI:= 12.00
POI:= 12.00
plus_GEX:= 12.00
COTMC:= 11.61
Pos_Trans:= 11.50
Neg_Trans:= 11.00
ZeroGEX:= 11.00
Spot_Price:= 10.72
COTMP:= 10.61
minus_GEX:= 10.00
CITMC:= 8.32
if ( ticker == "MDB" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MDB
// 0 DTE Expirations Only
COTMC:= 427.47
CITMP:= 424.08
plus_GEX:= 420.00
Pos_Trans:= 420.00
Neg_Trans:= 417.50
ZeroGEX:= 417.50
Spot_Price:= 411.28
COTMP:= 410.97
COI:= 400.00
minus_GEX:= 395.00
EMA21:= 385.02
SMA50:= 352.29
CITMC:= 313.26
POI:= 210.00
if ( ticker == "META" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: META
// 0 DTE Expirations Only
COI:= 700.00
CITMP:= 673.08
COTMC:= 666.44
SMA50:= 666.20
plus_GEX:= 650.00
Pos_Trans:= 647.50
EMA21:= 646.33
Spot_Price:= 645.51
ZeroGEX:= 645.00
COTMP:= 638.47
Neg_Trans:= 627.50
minus_GEX:= 620.00
POI:= 600.00
CITMC:= 495.89
if ( ticker == "MP" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MP
// 0 DTE Expirations Only
COI:= 95.00
SMA50:= 65.35
CITMP:= 60.50
EMA21:= 59.47
plus_GEX:= 59.00
Pos_Trans:= 58.00
COTMC:= 57.57
ZeroGEX:= 57.50
Neg_Trans:= 57.00
Spot_Price:= 52.69
COTMP:= 51.92
POI:= 50.00
minus_GEX:= 50.00
CITMC:= 33.80
if ( ticker == "MRNA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MRNA
// 0 DTE Expirations Only
CITMP:= 34.70
COTMC:= 34.56
COI:= 30.00
plus_GEX:= 30.00
Spot_Price:= 29.86
COTMP:= 29.12
Pos_Trans:= 28.50
minus_GEX:= 28.00
Neg_Trans:= 28.00
ZeroGEX:= 28.00
EMA21:= 26.91
SMA50:= 26.14
POI:= 26.00
CITMC:= 25.97
if ( ticker == "MRVL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MRVL
// 0 DTE Expirations Only
COI:= 90.00
plus_GEX:= 90.00
Pos_Trans:= 90.00
CITMP:= 89.45
COTMC:= 89.00
ZeroGEX:= 89.00
EMA21:= 89.00
SMA50:= 88.17
Spot_Price:= 84.26
Neg_Trans:= 84.00
minus_GEX:= 83.00
COTMP:= 82.24
CITMC:= 69.44
POI:= 50.00
if ( ticker == "MS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MS
// 0 DTE Expirations Only
COTMC:= 182.11
CITMP:= 181.59
plus_GEX:= 180.00
Pos_Trans:= 180.00
Spot_Price:= 178.30
minus_GEX:= 177.50
Neg_Trans:= 177.50
ZeroGEX:= 177.50
COTMP:= 177.28
EMA21:= 172.13
COI:= 170.00
SMA50:= 164.90
CITMC:= 144.02
POI:= 90.00
if ( ticker == "MSFT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MSFT
// 0 DTE Expirations Only
COI:= 585.00
SMA50:= 503.82
CITMP:= 494.94
EMA21:= 487.42
COTMC:= 481.26
plus_GEX:= 480.00
Pos_Trans:= 477.50
minus_GEX:= 475.00
Neg_Trans:= 475.00
ZeroGEX:= 475.00
Spot_Price:= 473.79
COTMP:= 470.49
POI:= 460.00
CITMC:= 393.72
if ( ticker == "MSTR" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MSTR
// 0 DTE Expirations Only
COI:= 400.00
SMA50:= 238.76
CITMP:= 235.03
EMA21:= 190.98
plus_GEX:= 182.50
Pos_Trans:= 180.00
ZeroGEX:= 178.00
COTMC:= 176.88
Neg_Trans:= 166.00
Spot_Price:= 165.20
minus_GEX:= 165.00
COTMP:= 163.92
CITMC:= 84.12
POI:= 10.50
if ( ticker == "MU" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: MU
// 0 DTE Expirations Only
CITMP:= 253.47
COI:= 250.00
plus_GEX:= 250.00
COTMC:= 248.09
Pos_Trans:= 240.00
Spot_Price:= 237.99
EMA21:= 237.86
Neg_Trans:= 237.50
ZeroGEX:= 237.50
COTMP:= 235.28
POI:= 230.00
minus_GEX:= 225.00
SMA50:= 223.23
CITMC:= 151.94
if ( ticker == "NBIS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NBIS
// 0 DTE Expirations Only
COI:= 150.00
SMA50:= 106.45
plus_GEX:= 100.00
EMA21:= 95.30
Pos_Trans:= 94.00
ZeroGEX:= 93.00
CITMP:= 92.38
COTMC:= 91.75
Neg_Trans:= 87.00
Spot_Price:= 80.20
POI:= 80.00
minus_GEX:= 80.00
COTMP:= 78.61
CITMC:= 56.73
if ( ticker == "NEM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NEM
// 0 DTE Expirations Only
CITMP:= 103.65
COTMC:= 102.32
COI:= 100.00
plus_GEX:= 100.00
Spot_Price:= 98.87
COTMP:= 98.16
Pos_Trans:= 98.00
Neg_Trans:= 94.00
ZeroGEX:= 94.00
minus_GEX:= 93.00
EMA21:= 91.65
SMA50:= 88.06
POI:= 80.00
CITMC:= 67.60
if ( ticker == "NET" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NET
// 0 DTE Expirations Only
COI:= 220.00
SMA50:= 213.89
CITMP:= 208.94
COTMC:= 206.28
EMA21:= 205.56
POI:= 200.00
plus_GEX:= 200.00
Pos_Trans:= 200.00
Neg_Trans:= 197.50
ZeroGEX:= 197.50
Spot_Price:= 195.95
minus_GEX:= 195.00
COTMP:= 194.08
CITMC:= 144.43
if ( ticker == "NFLX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NFLX
// 0 DTE Expirations Only
SMA50:= 110.34
CITMP:= 103.01
EMA21:= 102.18
POI:= 100.00
plus_GEX:= 97.00
COTMC:= 96.08
Pos_Trans:= 95.50
Neg_Trans:= 95.00
ZeroGEX:= 95.00
minus_GEX:= 94.50
Spot_Price:= 93.75
COTMP:= 93.26
CITMC:= 47.38
COI:= 1.00
if ( ticker == "NKE" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NKE
// 0 DTE Expirations Only
COI:= 75.00
CITMP:= 73.15
COTMC:= 70.57
Spot_Price:= 67.81
COTMP:= 66.74
SMA50:= 65.44
EMA21:= 65.27
POI:= 65.00
plus_GEX:= 65.00
Pos_Trans:= 64.00
Neg_Trans:= 63.00
ZeroGEX:= 63.00
minus_GEX:= 62.50
CITMC:= 62.44
if ( ticker == "NNE" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NNE
// 0 DTE Expirations Only
POI:= 45.00
SMA50:= 40.01
CITMP:= 39.67
EMA21:= 35.08
COTMC:= 34.48
COI:= 32.00
plus_GEX:= 32.00
Pos_Trans:= 31.50
Spot_Price:= 31.35
ZeroGEX:= 31.00
COTMP:= 30.95
minus_GEX:= 30.00
Neg_Trans:= 30.00
CITMC:= 27.27
if ( ticker == "NVDA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NVDA
// 0 DTE Expirations Only
COI:= 200.00
SMA50:= 186.62
CITMP:= 186.33
COTMC:= 185.90
plus_GEX:= 185.00
EMA21:= 182.41
Pos_Trans:= 177.50
Neg_Trans:= 177.00
ZeroGEX:= 177.00
Spot_Price:= 176.85
COTMP:= 175.62
minus_GEX:= 175.00
POI:= 160.00
CITMC:= 110.29
if ( ticker == "NVO" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: NVO
// 0 DTE Expirations Only
CITMP:= 54.11
COTMC:= 52.25
SMA50:= 50.89
COI:= 50.00
plus_GEX:= 50.00
Spot_Price:= 49.84
Pos_Trans:= 49.00
COTMP:= 48.88
EMA21:= 48.77
Neg_Trans:= 47.00
ZeroGEX:= 47.00
POI:= 45.00
minus_GEX:= 45.00
CITMC:= 42.98
if ( ticker == "OKLO" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: OKLO
// 0 DTE Expirations Only
SMA50:= 118.07
COTMC:= 108.60
CITMP:= 100.58
EMA21:= 99.12
COI:= 95.00
plus_GEX:= 95.00
Pos_Trans:= 94.00
ZeroGEX:= 93.00
Neg_Trans:= 91.00
Spot_Price:= 81.69
COTMP:= 81.21
minus_GEX:= 80.00
POI:= 65.00
CITMC:= 49.21
if ( ticker == "OKTA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: OKTA
// 0 DTE Expirations Only
CITMP:= 94.76
COTMC:= 93.09
COI:= 90.00
plus_GEX:= 90.00
Spot_Price:= 89.83
Pos_Trans:= 89.00
COTMP:= 88.03
minus_GEX:= 87.00
Neg_Trans:= 87.00
ZeroGEX:= 87.00
SMA50:= 86.53
EMA21:= 85.96
POI:= 85.00
CITMC:= 80.74
if ( ticker == "ONON" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ONON
// 0 DTE Expirations Only
CITMP:= 50.47
COI:= 50.00
plus_GEX:= 50.00
COTMC:= 49.50
Spot_Price:= 47.84
COTMP:= 47.25
Pos_Trans:= 47.00
ZeroGEX:= 46.50
EMA21:= 45.35
minus_GEX:= 45.00
Neg_Trans:= 45.00
CITMC:= 42.55
SMA50:= 42.16
POI:= 35.00
if ( ticker == "ORCL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ORCL
// 0 DTE Expirations Only
COI:= 280.00
SMA50:= 245.17
EMA21:= 213.02
CITMP:= 212.22
POI:= 200.00
COTMC:= 195.47
plus_GEX:= 195.00
Pos_Trans:= 192.50
ZeroGEX:= 190.00
Neg_Trans:= 185.00
Spot_Price:= 184.87
COTMP:= 182.99
minus_GEX:= 177.50
CITMC:= 162.84
if ( ticker == "OSCR" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: OSCR
// 0 DTE Expirations Only
COI:= 20.00
plus_GEX:= 18.00
COTMC:= 17.95
CITMP:= 17.67
SMA50:= 17.67
Pos_Trans:= 17.50
POI:= 17.00
ZeroGEX:= 17.00
EMA21:= 16.44
Neg_Trans:= 16.00
Spot_Price:= 15.90
COTMP:= 15.55
minus_GEX:= 15.50
CITMC:= 12.63
if ( ticker == "OXY" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: OXY
// 0 DTE Expirations Only
COI:= 42.50
plus_GEX:= 42.50
CITMP:= 42.28
SMA50:= 41.84
EMA21:= 41.60
Pos_Trans:= 41.50
COTMC:= 41.03
Neg_Trans:= 41.00
ZeroGEX:= 41.00
minus_GEX:= 40.00
Spot_Price:= 39.84
COTMP:= 39.30
POI:= 35.00
CITMC:= 33.43
if ( ticker == "PANW" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: PANW
// 0 DTE Expirations Only
COI:= 230.00
SMA50:= 204.68
plus_GEX:= 200.00
CITMP:= 195.06
EMA21:= 194.63
Pos_Trans:= 192.50
COTMC:= 190.32
Neg_Trans:= 190.00
ZeroGEX:= 190.00
Spot_Price:= 185.03
minus_GEX:= 185.00
COTMP:= 182.56
POI:= 175.00
CITMC:= 161.47
if ( ticker == "PDD" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: PDD
// 0 DTE Expirations Only
SMA50:= 126.38
COI:= 120.00
POI:= 120.00
EMA21:= 118.10
CITMP:= 117.29
COTMC:= 111.64
minus_GEX:= 110.00
Spot_Price:= 108.77
COTMP:= 107.18
plus_GEX:= 105.00
CITMC:= 97.15
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "PEP" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: PEP
// 0 DTE Expirations Only
CITMP:= 156.39
COI:= 155.00
COTMC:= 153.91
Spot_Price:= 151.16
COTMP:= 150.22
plus_GEX:= 150.00
Pos_Trans:= 148.00
EMA21:= 147.73
ZeroGEX:= 147.50
SMA50:= 147.36
Neg_Trans:= 147.00
minus_GEX:= 146.00
CITMC:= 144.66
POI:= 140.00
if ( ticker == "PG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: PG
// 0 DTE Expirations Only
COI:= 160.00
CITMP:= 152.40
plus_GEX:= 150.00
SMA50:= 147.78
COTMC:= 147.18
Pos_Trans:= 146.00
Spot_Price:= 145.64
ZeroGEX:= 145.50
minus_GEX:= 145.00
Neg_Trans:= 145.00
EMA21:= 144.75
COTMP:= 144.60
CITMC:= 140.03
POI:= 140.00
if ( ticker == "PINS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: PINS
// 0 DTE Expirations Only
SMA50:= 29.21
COI:= 29.00
CITMP:= 28.34
POI:= 27.00
minus_GEX:= 27.00
EMA21:= 26.97
COTMC:= 26.50
Spot_Price:= 25.66
COTMP:= 25.17
CITMC:= 24.72
plus_GEX:= 24.00
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "PLTR" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: PLTR
// 0 DTE Expirations Only
COI:= 200.00
CITMP:= 195.42
plus_GEX:= 192.50
COTMC:= 192.48
Pos_Trans:= 185.00
ZeroGEX:= 182.50
Spot_Price:= 181.50
COTMP:= 179.90
SMA50:= 179.66
EMA21:= 178.28
Neg_Trans:= 177.50
POI:= 170.00
minus_GEX:= 170.00
CITMC:= 109.63
if ( ticker == "PM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: PM
// 0 DTE Expirations Only
CITMP:= 167.36
plus_GEX:= 165.00
COTMC:= 161.84
COI:= 160.00
Pos_Trans:= 160.00
Spot_Price:= 158.84
COTMP:= 157.70
Neg_Trans:= 157.50
ZeroGEX:= 157.50
minus_GEX:= 155.00
SMA50:= 153.66
EMA21:= 152.97
POI:= 145.00
CITMC:= 138.65
if ( ticker == "PYPL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: PYPL
// 0 DTE Expirations Only
COI:= 72.50
CITMP:= 68.05
SMA50:= 65.87
COTMC:= 64.19
plus_GEX:= 63.00
Pos_Trans:= 62.50
EMA21:= 62.28
Neg_Trans:= 62.00
ZeroGEX:= 62.00
Spot_Price:= 61.71
COTMP:= 60.84
POI:= 60.00
minus_GEX:= 60.00
CITMC:= 55.46
if ( ticker == "QCOM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: QCOM
// 0 DTE Expirations Only
COTMC:= 184.91
CITMP:= 183.01
COI:= 180.00
plus_GEX:= 180.00
Spot_Price:= 179.00
Pos_Trans:= 177.50
COTMP:= 176.62
POI:= 175.00
minus_GEX:= 175.00
Neg_Trans:= 175.00
ZeroGEX:= 175.00
EMA21:= 173.96
SMA50:= 171.01
CITMC:= 162.40
if ( ticker == "QUBT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: QUBT
// 0 DTE Expirations Only
COI:= 15.00
SMA50:= 14.54
plus_GEX:= 14.00
CITMP:= 13.58
COTMC:= 13.51
EMA21:= 12.37
Pos_Trans:= 11.50
POI:= 11.00
minus_GEX:= 11.00
Neg_Trans:= 11.00
ZeroGEX:= 11.00
Spot_Price:= 10.92
COTMP:= 10.62
CITMC:= 9.18
if ( ticker == "RBLX" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: RBLX
// 0 DTE Expirations Only
SMA50:= 109.89
COI:= 100.00
CITMP:= 97.75
EMA21:= 96.37
plus_GEX:= 90.00
Pos_Trans:= 90.00
COTMC:= 89.56
Neg_Trans:= 89.00
ZeroGEX:= 89.00
Spot_Price:= 86.44
COTMP:= 85.50
minus_GEX:= 85.00
CITMC:= 67.16
POI:= 60.00
if ( ticker == "RCL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: RCL
// 0 DTE Expirations Only
CITMP:= 309.46
COTMC:= 297.73
Spot_Price:= 289.97
COTMP:= 288.15
minus_GEX:= 282.50
COI:= 280.00
plus_GEX:= 280.00
SMA50:= 279.31
EMA21:= 267.46
CITMC:= 224.57
POI:= 45.00
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "RDDT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: RDDT
// 0 DTE Expirations Only
COI:= 250.00
plus_GEX:= 235.00
CITMP:= 233.01
COTMC:= 231.95
Pos_Trans:= 230.00
EMA21:= 218.54
Spot_Price:= 217.16
minus_GEX:= 215.00
Neg_Trans:= 215.00
ZeroGEX:= 215.00
COTMP:= 210.02
SMA50:= 206.49
POI:= 190.00
CITMC:= 169.53
if ( ticker == "RGTI" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: RGTI
// 0 DTE Expirations Only
COI:= 36.00
SMA50:= 34.45
CITMP:= 28.77
plus_GEX:= 28.00
Pos_Trans:= 28.00
COTMC:= 27.92
EMA21:= 27.37
ZeroGEX:= 26.00
Neg_Trans:= 25.00
Spot_Price:= 23.53
COTMP:= 23.04
POI:= 20.00
minus_GEX:= 20.00
CITMC:= 13.69
if ( ticker == "RIOT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: RIOT
// 0 DTE Expirations Only
SMA50:= 17.78
CITMP:= 16.36
EMA21:= 15.40
COTMC:= 14.57
minus_GEX:= 14.50
COI:= 14.00
plus_GEX:= 14.00
Spot_Price:= 13.75
COTMP:= 13.42
POI:= 13.00
CITMC:= 10.94
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "RIVN" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: RIVN
// 0 DTE Expirations Only
COI:= 20.00
plus_GEX:= 20.00
COTMC:= 19.86
CITMP:= 19.69
Spot_Price:= 18.70
Pos_Trans:= 18.50
COTMP:= 18.41
minus_GEX:= 18.00
Neg_Trans:= 18.00
ZeroGEX:= 18.00
EMA21:= 16.85
CITMC:= 15.15
SMA50:= 15.02
POI:= 7.50
if ( ticker == "RKLB" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: RKLB
// 0 DTE Expirations Only
COI:= 80.00
COTMC:= 60.22
CITMP:= 59.70
SMA50:= 55.19
plus_GEX:= 55.00
Pos_Trans:= 55.00
Spot_Price:= 54.45
Neg_Trans:= 54.00
ZeroGEX:= 54.00
COTMP:= 53.81
minus_GEX:= 53.00
EMA21:= 51.48
POI:= 40.00
CITMC:= 31.61
if ( ticker == "RKT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: RKT
// 0 DTE Expirations Only
CITMP:= 21.62
COTMC:= 19.05
EMA21:= 18.62
POI:= 18.50
minus_GEX:= 18.50
Spot_Price:= 18.25
COI:= 18.00
plus_GEX:= 18.00
COTMP:= 17.98
SMA50:= 17.57
CITMC:= 16.10
Pos_Trans:= -1.00
Neg_Trans:= -1.00
ZeroGEX:= -1.00
if ( ticker == "ROKU" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: ROKU
// 0 DTE Expirations Only
COTMC:= 118.79
CITMP:= 116.40
plus_GEX:= 115.00
Spot_Price:= 114.36
COTMP:= 113.13
Pos_Trans:= 107.00
ZeroGEX:= 106.50
minus_GEX:= 106.00
Neg_Trans:= 106.00
EMA21:= 101.18
COI:= 100.00
SMA50:= 99.45
CITMC:= 94.64
POI:= 90.00
if ( ticker == "SE" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SE
// 0 DTE Expirations Only
SMA50:= 151.02
EMA21:= 134.41
CITMP:= 133.93
COI:= 130.00
plus_GEX:= 130.00
Pos_Trans:= 128.00
COTMC:= 125.16
Neg_Trans:= 124.00
ZeroGEX:= 124.00
Spot_Price:= 121.61
COTMP:= 120.71
minus_GEX:= 120.00
CITMC:= 82.12
POI:= 30.00
if ( ticker == "SEDG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SEDG
// 0 DTE Expirations Only
SMA50:= 35.86
COI:= 35.00
CITMP:= 34.25
EMA21:= 32.69
plus_GEX:= 32.50
Pos_Trans:= 32.50
ZeroGEX:= 32.00
COTMC:= 31.68
Neg_Trans:= 30.00
Spot_Price:= 29.12
COTMP:= 28.46
minus_GEX:= 27.50
POI:= 22.50
CITMC:= 21.97
if ( ticker == "SLV" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SLV
// 0 DTE Expirations Only
CITMP:= 61.16
COI:= 60.00
COTMC:= 58.61
plus_GEX:= 58.00
Pos_Trans:= 58.00
Neg_Trans:= 57.50
ZeroGEX:= 57.50
Spot_Price:= 57.39
COTMP:= 57.20
minus_GEX:= 57.00
EMA21:= 51.97
SMA50:= 47.47
POI:= 47.00
CITMC:= 46.52
if ( ticker == "SMCI" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SMCI
// 0 DTE Expirations Only
SMA50:= 42.88
CITMP:= 39.12
EMA21:= 35.16
COTMC:= 34.63
COI:= 34.50
plus_GEX:= 34.50
Pos_Trans:= 32.50
Neg_Trans:= 32.00
ZeroGEX:= 32.00
Spot_Price:= 31.04
COTMP:= 30.57
minus_GEX:= 30.00
POI:= 23.00
CITMC:= 22.45
if ( ticker == "SMR" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SMR
// 0 DTE Expirations Only
SMA50:= 30.86
CITMP:= 23.51
EMA21:= 21.99
COI:= 20.50
plus_GEX:= 20.50
Pos_Trans:= 20.50
ZeroGEX:= 20.00
COTMC:= 19.18
Neg_Trans:= 18.00
Spot_Price:= 17.14
COTMP:= 16.91
POI:= 16.00
minus_GEX:= 16.00
CITMC:= 12.88
if ( ticker == "SNOW" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SNOW
// 0 DTE Expirations Only
SMA50:= 249.46
EMA21:= 236.90
COI:= 230.00
CITMP:= 226.74
COTMC:= 221.09
plus_GEX:= 220.00
Pos_Trans:= 215.00
Spot_Price:= 213.73
Neg_Trans:= 212.50
ZeroGEX:= 212.50
COTMP:= 210.07
minus_GEX:= 210.00
POI:= 200.00
CITMC:= 182.64
if ( ticker == "SOFI" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SOFI
// 0 DTE Expirations Only
COI:= 30.00
plus_GEX:= 28.50
SMA50:= 28.25
EMA21:= 27.76
CITMP:= 27.55
Pos_Trans:= 27.50
COTMC:= 27.39
Neg_Trans:= 27.00
ZeroGEX:= 27.00
POI:= 26.00
minus_GEX:= 26.00
Spot_Price:= 25.70
COTMP:= 25.35
CITMC:= 16.37
if ( ticker == "SOUN" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SOUN
// 0 DTE Expirations Only
SMA50:= 15.02
CITMP:= 13.33
EMA21:= 12.40
COI:= 12.00
plus_GEX:= 12.00
COTMC:= 11.88
Pos_Trans:= 11.50
Neg_Trans:= 11.00
ZeroGEX:= 11.00
Spot_Price:= 10.70
COTMP:= 10.49
POI:= 9.50
minus_GEX:= 9.50
CITMC:= 7.28
if ( ticker == "SPOT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: SPOT
// 0 DTE Expirations Only
COI:= 720.00
SMA50:= 631.22
CITMP:= 614.69
EMA21:= 596.21
COTMC:= 595.25
plus_GEX:= 590.00
Pos_Trans:= 587.50
Neg_Trans:= 585.00
ZeroGEX:= 585.00
Spot_Price:= 575.68
COTMP:= 569.28
POI:= 550.00
minus_GEX:= 550.00
CITMC:= 441.07
if ( ticker == "TGT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: TGT
// 0 DTE Expirations Only
CITMP:= 106.33
COI:= 105.00
COTMC:= 101.29
plus_GEX:= 101.00
Spot_Price:= 97.48
COTMP:= 96.23
Pos_Trans:= 93.00
EMA21:= 92.52
minus_GEX:= 92.00
Neg_Trans:= 92.00
ZeroGEX:= 92.00
SMA50:= 91.17
CITMC:= 89.49
POI:= 85.00
if ( ticker == "TLT" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: TLT
// 0 DTE Expirations Only
CITMP:= 90.43
SMA50:= 89.78
EMA21:= 88.72
COI:= 88.00
plus_GEX:= 88.00
COTMC:= 87.91
POI:= 87.50
Pos_Trans:= 87.50
Spot_Price:= 87.30
COTMP:= 87.02
minus_GEX:= 87.00
Neg_Trans:= 87.00
ZeroGEX:= 87.00
CITMC:= 83.88
if ( ticker == "TMUS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: TMUS
// 0 DTE Expirations Only
COI:= 220.00
CITMP:= 215.66
SMA50:= 213.52
plus_GEX:= 210.00
Pos_Trans:= 210.00
ZeroGEX:= 207.50
COTMC:= 205.56
EMA21:= 204.89
Spot_Price:= 197.98
COTMP:= 196.21
minus_GEX:= 195.00
Neg_Trans:= 195.00
POI:= 190.00
CITMC:= 172.62
if ( ticker == "TSLA" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: TSLA
// 0 DTE Expirations Only
CITMP:= 517.79
COTMC:= 516.95
COI:= 500.00
plus_GEX:= 500.00
Spot_Price:= 473.32
COTMP:= 467.86
Pos_Trans:= 445.00
Neg_Trans:= 442.50
ZeroGEX:= 442.50
EMA21:= 441.19
SMA50:= 436.49
minus_GEX:= 435.00
CITMC:= 318.03
POI:= 170.00
if ( ticker == "TSM" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: TSM
// 0 DTE Expirations Only
COI:= 300.00
plus_GEX:= 300.00
COTMC:= 298.01
CITMP:= 297.23
EMA21:= 293.56
SMA50:= 293.52
Pos_Trans:= 292.50
Neg_Trans:= 290.00
ZeroGEX:= 290.00
Spot_Price:= 288.28
COTMP:= 287.03
minus_GEX:= 285.00
CITMC:= 226.14
POI:= 180.00
if ( ticker == "TTD" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: TTD
// 0 DTE Expirations Only
SMA50:= 45.42
CITMP:= 44.59
COI:= 40.00
EMA21:= 39.86
COTMC:= 39.70
plus_GEX:= 39.00
Pos_Trans:= 38.00
Neg_Trans:= 37.50
ZeroGEX:= 37.50
Spot_Price:= 36.22
COTMP:= 35.28
POI:= 35.00
minus_GEX:= 35.00
CITMC:= 32.67
if ( ticker == "TXN" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: TXN
// 0 DTE Expirations Only
CITMP:= 188.37
COTMC:= 183.62
Spot_Price:= 178.03
COTMP:= 176.05
COI:= 175.00
plus_GEX:= 175.00
EMA21:= 173.64
SMA50:= 169.57
CITMC:= 166.97
Pos_Trans:= 162.50
minus_GEX:= 160.00
Neg_Trans:= 160.00
ZeroGEX:= 160.00
POI:= 145.00
if ( ticker == "U" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: U
// 0 DTE Expirations Only
COI:= 50.00
plus_GEX:= 50.00
Pos_Trans:= 49.00
ZeroGEX:= 48.25
CITMP:= 47.99
COTMC:= 47.55
Neg_Trans:= 47.50
minus_GEX:= 47.00
Spot_Price:= 45.09
COTMP:= 44.44
EMA21:= 44.23
SMA50:= 39.94
POI:= 35.00
CITMC:= 34.77
if ( ticker == "UAL" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: UAL
// 0 DTE Expirations Only
CITMP:= 112.24
COTMC:= 111.77
Spot_Price:= 107.76
COTMP:= 106.65
COI:= 105.00
plus_GEX:= 105.00
Pos_Trans:= 105.00
minus_GEX:= 104.00
Neg_Trans:= 104.00
ZeroGEX:= 104.00
EMA21:= 102.77
SMA50:= 98.83
POI:= 95.00
CITMC:= 82.49
if ( ticker == "UBER" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: UBER
// 0 DTE Expirations Only
COI:= 100.00
SMA50:= 91.68
EMA21:= 87.98
CITMP:= 86.91
COTMC:= 84.43
plus_GEX:= 84.00
Pos_Trans:= 84.00
ZeroGEX:= 83.50
Neg_Trans:= 83.00
Spot_Price:= 82.10
COTMP:= 81.14
minus_GEX:= 80.00
CITMC:= 66.77
POI:= 50.00
if ( ticker == "UNG" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: UNG
// 0 DTE Expirations Only
EMA21:= 14.14
CITMP:= 14.00
SMA50:= 13.68
COI:= 13.00
plus_GEX:= 13.00
Pos_Trans:= 13.00
POI:= 12.50
minus_GEX:= 12.50
Neg_Trans:= 12.50
ZeroGEX:= 12.50
COTMC:= 12.46
Spot_Price:= 12.13
COTMP:= 12.00
CITMC:= 10.91
if ( ticker == "UNH" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: UNH
// 0 DTE Expirations Only
COI:= 400.00
CITMP:= 365.20
COTMC:= 357.03
plus_GEX:= 350.00
SMA50:= 340.09
Spot_Price:= 339.13
COTMP:= 332.70
Pos_Trans:= 332.50
EMA21:= 331.32
minus_GEX:= 330.00
Neg_Trans:= 330.00
ZeroGEX:= 330.00
POI:= 300.00
CITMC:= 288.85
if ( ticker == "UPS" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: UPS
// 0 DTE Expirations Only
CITMP:= 111.10
COTMC:= 103.16
Spot_Price:= 100.13
COI:= 100.00
plus_GEX:= 100.00
COTMP:= 98.81
EMA21:= 96.46
Pos_Trans:= 95.00
CITMC:= 94.47
minus_GEX:= 94.00
Neg_Trans:= 94.00
ZeroGEX:= 94.00
SMA50:= 92.48
POI:= 75.00
if ( ticker == "UPST" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: UPST
// 0 DTE Expirations Only
CITMP:= 55.72
COI:= 50.00
plus_GEX:= 50.00
Pos_Trans:= 49.00
COTMC:= 48.76
Spot_Price:= 45.60
SMA50:= 45.49
EMA21:= 45.15
COTMP:= 44.68
ZeroGEX:= 44.50
Neg_Trans:= 40.50
POI:= 40.00
minus_GEX:= 40.00
CITMC:= 36.85
if ( ticker == "USO" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: USO
// 0 DTE Expirations Only
COI:= 71.00
CITMP:= 70.90
SMA50:= 70.79
EMA21:= 70.24
POI:= 70.00
plus_GEX:= 69.00
Pos_Trans:= 69.00
ZeroGEX:= 68.50
Neg_Trans:= 68.00
COTMC:= 67.67
minus_GEX:= 67.00
Spot_Price:= 66.98
COTMP:= 66.43
CITMC:= 64.57
if ( ticker == "UUUU" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: UUUU
// 0 DTE Expirations Only
COI:= 35.00
SMA50:= 17.53
CITMP:= 16.36
COTMC:= 16.12
plus_GEX:= 16.00
Pos_Trans:= 15.50
EMA21:= 15.28
POI:= 15.00
minus_GEX:= 15.00
Neg_Trans:= 15.00
ZeroGEX:= 15.00
Spot_Price:= 13.70
COTMP:= 13.30
CITMC:= 9.13
if ( ticker == "UVXY" and plotHLines and (timeframe.isintraday or timeframe.isdwm))
// Ticker: UVXY
// 0 DTE Expirations Only
COI:= 75.00
SMA50:= 52.57
CITMP:= 50.98
EMA21:= 47.85
plus_GEX:= 45.00
COTMC:= 44.81
Spot_Price:= 42.41
Pos_Trans:= 42.00
COTMP:= 41.61
Neg_Trans:= 41.50
ZeroGEX:= 41.50
POI:= 40.00
minus_GEX:= 40.00
CITMC:= 39.87
if ( ticker == "V" and plotHLines and (timeframe.isintraday or ti
Pivot Points High LowGaneshA Pivot Points High/Low indicator that:
Detects swing highs (ta.pivothigh) and swing lows (ta.pivotlow) using configurable left/right bar lengths.
Draws labels at the confirmed pivot points:
Down labels at pivot highs (potential resistance).
Up labels at pivot lows (potential support).
Lets you customize text color and label fill color separately for highs and lows.
It’s designed for overlay (on-price chart), with max_labels_count=500 to allow many labels.
EMA Slope Angle V2 Auto Threshold# EMA Slope Angle Indicator
## Overview
The EMA Slope Angle Indicator visualizes the Exponential Moving Average (EMA) slope as an angle in degrees, providing traders with a clear, quantitative measure of trend strength and direction. The indicator features **automatic threshold calculation based on Gaussian distribution**, making it adaptive to any market and timeframe.
## Key Features
### 🎯 **Automatic Threshold Calculation (NEW!)**
- **Gaussian Distribution-Based**: Automatically calculates optimal thresholds from the 50% interquartile range (IQR) of historical angle data
- **Asset-Adaptive**: Thresholds adjust to each instrument's unique volatility and price characteristics
- **No Manual Tuning Required**: Simply enable "Use Auto Thresholds" and let the indicator optimize itself
### 📊 **Dynamic EMA Coloring**
- **Color Intensity**: EMA line color intensity reflects slope strength
- **Visual Feedback**:
- Green shades for uptrends (darker = stronger)
- Red shades for downtrends (darker = stronger)
- Gray for flat/neutral conditions
### 📈 **Regime Detection**
- **Three Regimes**: RISING, FALLING, and FLAT
- **Smart Classification**: Based on statistical distribution of angles
- **Non-Repainting**: All calculations use confirmed bars only
### 🔔 **Trend-Shift Signals**
- **Visual Arrows**: Automatic signals when transitioning from FLAT to RISING/FALLING
- **Configurable**: Enable/disable signals as needed
- **Reliable**: Only triggers on significant regime changes
### 📋 **KPI Dashboard**
- **Real-Time Metrics**: Current angle, regime, and last signal
- **Auto-Threshold Display**: Shows calculated thresholds when auto-mode is active
- **Statistics**: Optional angle distribution statistics
- **Clean Layout**: Top-right corner, non-intrusive
### 📊 **Angle Statistics (Optional)**
- **Distribution Analysis**: Histogram of angle ranges
- **Dynamic Buckets**: Automatically adjusts to data distribution when auto-mode is enabled
- **Percentage Breakdown**: See how often each angle range occurs
## Settings
### Main Settings
- **EMA Length**: Period for the Exponential Moving Average (default: 50)
- **Slope Lookback Bars**: Number of bars to calculate slope over (default: 5)
### Angle Settings
- **Use Auto Thresholds**: Enable automatic threshold calculation (recommended!)
- **Analysis Period**: Number of bars to analyze for distribution (default: 500)
- **Manual Thresholds**: Flat, Rising, and Falling triggers (used when auto-mode is off)
- **Max Angle for Color Saturation**: Maximum angle for color intensity scaling
### Display Options
- **Colors**: Customize uptrend, downtrend, and flat colors
- **Show Signals**: Enable/disable trend-shift arrows
- **Show Statistics**: Display angle distribution table
- **Show Dashboard**: Toggle KPI dashboard visibility
## How It Works
### Angle Calculation
The indicator calculates the angle between the current EMA value and the EMA value N bars ago:
```
Angle = arctan((EMA_now - EMA_then) / lookback) × 180° / π
```
### Auto-Threshold Calculation
When enabled, the indicator:
1. Analyzes historical angle data over the specified period
2. Calculates mean and standard deviation
3. Determines thresholds based on the 50% interquartile range (IQR):
- **Flat Threshold**: ±0.674σ (middle 50% of data)
- **Rising Trigger**: 75th percentile (mean + 0.674σ)
- **Falling Trigger**: 25th percentile (mean - 0.674σ)
### Regime Classification
- **FLAT**: Angle within ±Flat Threshold
- **RISING**: Angle ≥ Rising Trigger
- **FALLING**: Angle ≤ Falling Trigger
## Use Cases
### Trend Following
- Identify strong trends (high angle values)
- Spot trend reversals (regime changes)
- Filter trades based on trend strength
### Range Trading
- Detect flat/consolidation periods
- Avoid trading during choppy markets
- Enter when regime shifts from FLAT to RISING/FALLING
### Multi-Timeframe Analysis
- Apply to different timeframes for confirmation
- Use higher timeframe for trend direction
- Use lower timeframe for entry timing
## Tips for Best Results
1. **Enable Auto-Thresholds**: Let the indicator adapt to your instrument
2. **Adjust Analysis Period**: Use more bars for stable markets, fewer for volatile ones
3. **Combine with Price Action**: Use regime changes as confirmation, not standalone signals
4. **Multi-Timeframe**: Check higher timeframes for trend context
5. **Backtest First**: Test settings on historical data before live trading
## Technical Details
- **Non-Repainting**: All calculations use `barstate.isconfirmed`
- **Pine Script v6**: Latest version for optimal performance
- **Efficient**: Minimal computational overhead
- **Customizable**: Extensive settings for fine-tuning
## Version History
**v2.0** (Current)
- Added automatic threshold calculation based on Gaussian distribution
- Dynamic bucket adjustment for statistics
- Enhanced dashboard with auto-threshold display
- Improved regime detection using IQR method
**v1.0**
- Initial release with manual thresholds
- Basic EMA coloring
- Trend-shift signals
- KPI dashboard
## Support
For questions, suggestions, or bug reports, please leave a comment or contact the author.
---
**Disclaimer**: This indicator is for educational purposes only. Past performance does not guarantee future results. Always use proper risk management and never risk more than you can afford to lose.
**Keywords**: EMA, slope, angle, trend, automatic thresholds, Gaussian distribution, regime detection, non-repainting, adaptive
Auto Trend [theUltimator5]The Auto Trend indicator was designed to be a unique pattern detection indicator without the use of standard pivot point logic or high/low lines. It is a study in pattern detection by using iterative best-fit logic.
The indicator automatically identifies and draws trend channels by analyzing price action across configurable lookback periods. It finds optimal high and low trendlines that contain price movement, with a middle line marking the trend's center.
Key Features:
Automatic Pattern Detection - Intelligently searches for the best lookback period where price stays within the channel boundaries
Dual Pattern Modes - Choose between Short (20-66 bars) for quick patterns or Long (50-500 bars) for extended trends. Note - the long pattern is fully configurable and can be set anywhere up to 5000 bars.
Smart Caching - Optimized performance that only recalculates when necessary
Customizable Starting Point - Click directly on the chart to set where the trend channel begins
Flexible Lookback Range - Set minimum and maximum lookback periods to match your trading style
Visual Debugging - Optional label displays the active lookback period and violation count
How It Works:
The indicator divides the lookback period into thirds, finds the highest and lowest closes in the first and last thirds, then draws trendlines connecting these points. It can automatically search through different lookback periods to find the one with the fewest price violations (closes outside the channel).
Settings:
Use Auto Lookback - Enable automatic optimal lookback detection
Pattern Length - Short (faster, 1-bar increments) or Long (broader, 5-bar increments)
Min/Max Lookback - Define the search range for the Long pattern
Manual Lookback - Override auto-detection with a fixed period
Custom Colors - Personalize the high, low, and middle line colors
Starting Point - Select where the trend analysis begins
Use Cases:
Identify dominant trend channels across different timeframes
Spot potential support and resistance levels
Determine trend strength and consistency
Time entries and exits based on channel position
The indicator supports up to 5000 bars of historical data for comprehensive trend analysis.
RSI+Breadth Multi-Factor# RSI+ Breadth Multi-Factor Indicator
**Multi-factor scoring system for US market timing | 美股多因子择时评分系统**
[! (img.shields.io)](www.tradingview.com)
[! (img.shields.io)](www.tradingview.com)
[! (img.shields.io)](LICENSE)
---
## Overview | 概述
A quantitative indicator that combines **RSI**, **market breadth** (% above 20/50-day MA), and **up/down volume ratio** to generate actionable buy/sell signals for SPY, QQQ, and IWM.
这是一个结合 **RSI**、**市场广度**(站上20/50日均线比例)和 **涨跌成交量比** 的量化指标,为 SPY、QQQ 和 IWM 生成可操作的买卖信号。
---
## Features | 功能特点
| Feature | 功能 |
|---------|------|
| 🎯 Multi-factor scoring (-10 to +10) | 多因子评分系统 (-10 到 +10) |
| 📊 RSI + Breadth + Volume integration | RSI + 广度 + 成交量三重验证 |
| 🔀 Three markets: SPY, QQQ, IWM | 三大市场:SPY、QQQ、IWM |
| 🔥 Cross-market resonance detection | 跨市场共振信号检测 |
| 📈 Trend filter (MA-based) | 趋势过滤(均线判断) |
| ⏰ Auto-adapts to intraday timeframes | 自动适配日内时间周期 |
| 🎚️ Three modes: Aggressive/Standard/Conservative | 三种模式:激进/标准/保守 |
---
## Signal Reference | 信号说明
| Score | Emoji | Signal | 中文 | Action |
|:-----:|:-----:|--------|:----:|--------|
| ≥ 6 | 🚀 | **PANIC LOW** | 恐慌低点 | Strong buy 强烈买入 |
| ≥ 4 | 📈 | **BUY ZONE** | 低吸区 | Accumulate 分批建仓 |
| -3~3 | - | **HOLD** | 持有 | Hold position 持仓观望 |
| ≤ -4↑ | ⭐ | **ELEVATED** | 高估 | Hold cautious 持有但谨慎 |
| ≤ -4↓ | ⚡ | **CAUTION** | 观望 | Take profit 止盈 |
| ≤ -6↓ | ⚠️ | **REDUCE** | 减仓 | Reduce position 减少仓位 |
> **↑ = Uptrend** (price > MA) | **↓ = Downtrend** (price < MA)
### Resonance Signals | 共振信号
| Emoji | Signal | Description |
|:-----:|--------|-------------|
| 🔥 | Resonance Buy | Multiple markets in buy zone 多市场同时低吸 |
| ❄️ | Resonance Risk | Multiple markets in risk zone 多市场同时高估 |
---
## Scoring Logic | 评分逻辑
### Factors | 因子
| Factor | Weight | Buy Score | Sell Score |
|--------|--------|-----------|------------|
| **RSI** | 1x | RSI < 30 → +2, < 40 → +1 | RSI > 75 → -2, > 65 → -1 |
| **FI (50D MA%)** | Bottom focus | < 25% → +3, < 35% → +2 | > 85% → -2, > 78% → -1 |
| **TW (20D MA%)** | Top focus | < 30% → +1 | > 82% → -3, > 72% → -2 |
| **Volume Ratio** | 1x | UVOL/DVOL < 0.5 → +2 | > 2.5 → -2 |
### Breadth Symbols | 广度数据
| Market | TW Symbol | FI Symbol | Volume |
|--------|-----------|-----------|--------|
| SPY (S&P 500) | INDEX:S5TW | INDEX:S5FI | USI:UVOL/DVOL |
| QQQ (NASDAQ) | INDEX:NCTW | INDEX:NCFI | USI:UVOLQ/DVOLQ |
| IWM (Russell 2000) | INDEX:R2TW | INDEX:R2FI | USI:UVOL/DVOL |
---
## Settings | 设置说明
### Mode | 模式
- **Aggressive**: Lower thresholds, shorter cooldown (5 bars)
- **Standard**: Balanced defaults (10 bar cooldown)
- **Conservative**: Higher thresholds, longer cooldown (15 bars)
### Key Parameters | 关键参数
| Parameter | Default | Description |
|-----------|---------|-------------|
| RSI Length | 14 | RSI calculation period |
| Trend MA Length | 10 | MA for trend filter |
| Cooldown Bars | 10 | Min bars between same signals |
| Resonance Window | 3 | Bars to check for multi-market agreement |
| Min Markets | 2 | # of markets needed for resonance |
---
## Usage | 使用方法
### Installation | 安装
1. Copy the indicator code
2. In TradingView: **Pine Editor** → **New** → Paste code → **Add to Chart**
### Recommended Setup | 推荐设置
- **Timeframe**: Daily (D) for best accuracy | 推荐日线图
- **Markets**: Apply on SPY, QQQ, or IWM | 应用于SPY/QQQ/IWM
- **Mode**: Start with "Standard" | 建议从"标准"模式开始
### Intraday Mode | 日内模式
The indicator automatically detects intraday timeframes and adjusts:
- Uses only RSI + Volume factors (TW/FI are daily-only data)
- Lowers signal thresholds accordingly
指标会自动检测日内周期并调整:
- 仅使用 RSI + 成交量因子(TW/FI 仅有日线数据)
- 相应降低信号触发阈值
---
## Dashboard | 仪表盘
Displays real-time factor breakdown:
```
┌────────┬───────┬────────┐
│ Factor │ Score │ Weight │
├────────┼───────┼────────┤
│ RSI │ 1.0 │ 1x │
│ FI(50D)│ 2.0 │ Bottom │
│ TW(20D)│ -1.0 │ Top │
│ Vol │ 1.0 │ 1x │
│ Trend │ ↑ │ 10MA │
├────────┼───────┼────────┤
│ Total │ 3.0 │ HOLD │
└────────┴───────┴────────┘
```
---
## Alerts | 警报
Available alerts for each market (SPY/QQQ/IWM):
- Panic Low / Buy Zone (entry signals)
- Reduce / Caution (exit signals)
- Resonance Buy / Risk (cross-market confirmation)
每个市场(SPY/QQQ/IWM)可设置以下警报:
- 恐慌低点 / 低吸区(入场信号)
- 减仓 / 观望(出场信号)
- 共振买入 / 风险(跨市场确认)
---
## Trend Filter | 趋势过滤
**Key feature**: Risk signals (CAUTION/REDUCE) only trigger when **price is below the trend MA**.
When price is above MA (uptrend), the indicator shows **ELEVATED** ⭐ instead, preventing premature exits during strong rallies.
**核心功能**:风险信号(观望/减仓)仅在 **价格跌破趋势均线** 时触发。
当价格在均线之上(上升趋势)时,指标显示 **高估** ⭐,避免在强势上涨中过早离场。
---
## Disclaimer | 免责声明
This indicator is for **educational and informational purposes only**. It is not financial advice. Past performance does not guarantee future results. Always do your own research and consider your risk tolerance before trading.
本指标仅供 **教育和参考用途**,不构成投资建议。历史表现不代表未来收益。交易前请自行研究并考虑风险承受能力。
---
## License | 许可
MIT License - Free to use and modify with attribution.
MIT 许可证 - 可自由使用和修改,请注明出处。
---
## Author | 作者
Built with ❤️ for the trading community.
为交易社区精心打造 ❤️
Trading Dashboard + Daily SMAsThis indicator is an all-in-one workspace overlay designed for futures and intraday traders. It consolidates critical market internals, session statistics, and daily technical levels into a single, highly customizable dashboard.
The goal of this script is to reduce chart clutter by placing essential data into a clean table while overlaying key Daily Moving Averages onto your intraday timeframe.
Key Features:
1. Comprehensive Market Internals Dashboard Monitor the health of the broad market directly from your chart. The dashboard includes real-time data for:
VIX: Volatility Index.
TICK & TRIN: Sentiment and volume flow indicators.
Breadth Data: ADD, ADV, and DECL (Advance/Decline lines and volume).
Multi-Ticker Watch: Monitor 3 additional assets (Defaults: NQ, RTY, YM) with real-time price and % change.
2. Session Statistics & Probabilities Automated calculation of intraday statistics based on a user-defined lookback period (default 100 days):
RTH Data: Tracks Regular Trading Hours Open, Close, and Range.
Contextual ATR: Compares current RTH range to the 14-day ATR.
Probabilities: Displays historical probabilities for "Gap Fill," "Break of Yesterday's High," and "Break of Yesterday's Low."
3. Daily SMAs on Intraday Charts Plot key Daily Simple Moving Averages (21, 50, 200) directly on your lower timeframe charts (1m, 5m, etc.) without switching views.
Fully Customizable: Toggle each SMA on/off individually.
Color Control: Users can change the color of every SMA line to fit their theme.
4. "Dark Mode" Optimized The dashboard features a specific "Very Dark Grey" (#121212) background by default, designed to reduce eye strain and blend seamlessly with dark-themed trading setups.
Settings & Customization:
Session Times: Define your specific RTH start and end times.
Symbols: All ticker symbols (VIX, ADD, NQ, etc.) can be customized in the settings menu to match your data provider.
Visibility: Every element in the table and every SMA line has a toggle switch. You only see what you need.
Visuals: Change table position, text size, and line colors.
Author's Instructions: Configuration Guide
This script relies on specific ticker symbols to pull data for Market Internals (TICK, TRIN, ADD) and the Watchlist. Depending on your data subscription plan (CME, CBOE, etc.), you may need to adjust the default symbols to match what you have access to.
1. How to Change Symbols
Add the indicator to your chart.
Hover over the indicator name in the top-left corner and click the Settings (Gear Icon).
Scroll to the "Symbols" section.
Click inside the text box for the symbol you want to change.
2. Common Symbol Formats If the default symbols show "N/A" or "Error," try these alternatives based on your data feed:
TICK (NYSE Tick)
Default: USI:TICK (Requires specific data)
Alternative: TVC:TICK (General TradingView feed)
Alternative: TICK (Generic)
TRIN (Arms Index)
Default: USI:TRIN
Alternative: TVC:TRIN
Alternative: TRIN
Breadth (ADD/ADV/DECL)
ADD (Advance-Decline Line): Try USI:ADD, TVC:ADD, or ADD
ADV (Advancing Volume): Try USI:ADV, TVC:ADV, or UVOL (Up Volume)
DECL (Declining Volume): Try USI:DECL, TVC:DECL, or DVOL (Down Volume)
VIX
Standard: CBOE:VIX or TVC:VIX
3. Setting Up the Ticker Watchlist (Ticker 1, 2, 3) The script defaults to "Continuous Contracts" (indicated by the 1!), which automatically rolls to the front month.
Nasdaq: CME_MINI:NQ1!
S&P 500: CME_MINI:ES1!
Russell 2000: CME_MINI:RTY1!
Dow Jones: CBOT_MINI:YM1!
Note: If you want to watch a specific contract month (e.g., December 2025), enter the specific code like NQZ2025.
4. Troubleshooting "N/A" Data If a cell in the table is empty or says "N/A":
Verify you are not viewing the chart on a timeframe that excludes the data (though dynamic_requests=true usually handles this).
Ensure you have the correct data permission for that specific symbol.
Market Closed: Some internal data points only populate during the active NYSE session (09:30 - 16:00 ET).
Disclaimer: This tool is for informational purposes only and does not constitute financial advice. Past probabilities do not guarantee future results.
Volatility High/Low Projection (PHOD / PLOD)AP Capital – Volatility + High/Low Projection
This indicator is designed to identify high-probability intraday turning points by combining daily range statistics, session behaviour, and volatility context into a single clean framework.
It is built for index, forex, and metals traders who want structure, not noise.
🔹 Core Features
1️⃣ Potential High of Day (PHOD) & Potential Low of Day (PLOD)
The indicator highlights likely intraday extremes based on:
Session timing (Asia, London, New York)
Current day volatility vs historical averages
Prior day expansion or compression behaviour
Each level is displayed with:
A clear label (PHOD / PLOD)
A forward-extending box acting as a live Point of Interest (POI)
Automatic invalidation when price breaks the zone
2️⃣ Volatility & Range Context (Info Panel)
A compact information panel in the top-right corner provides real-time context without cluttering the chart:
20-Day Average Range
% of the average range already used today
Range status (NORMAL / EXHAUSTED)
Average session ranges for:
Asia
London
New York
This allows traders to immediately assess whether price is:
Early in the day with room to trend
Statistically stretched and prone to reversal
Over-extended where breakout chasing is risky
3️⃣ Session-Aware Logic
The model respects how markets behave across the trading day:
Asia favours accumulation and potential lows
London provides expansion
New York often delivers distribution or exhaustion
This prevents random high/low marking and focuses only on structurally meaningful levels.
🧠 How to Use
Use PHOD / PLOD boxes as reaction zones, not blind entries
Combine with your own confirmation (structure break, momentum, volume, EMA reclaim, etc.)
Avoid chasing trades when the Range Status = EXHAUSTED
Particularly effective on 15m – 1h timeframes
⚠️ Important Notes
This indicator does not repaint
It is contextual, not a buy/sell signal generator
Best used as part of a complete trading plan
📈 Suitable Markets
XAUUSD (Gold)
Indices (NASDAQ, S&P 500, DAX)
Major FX pairs
📌 Disclaimer
This indicator is for educational and analytical purposes only.
It does not constitute financial advice. Trading involves risk.
ICT Premium/Discount Zones [Exponential-X]Premium/Discount Zones - Visual Market Structure Tool
Overview
This indicator helps traders visualize premium and discount price zones based on recent market structure. It automatically identifies swing highs and lows within a specified lookback period and divides the price range into three key areas: Premium Zone, Equilibrium, and Discount Zone.
What This Indicator Does
The script continuously monitors price action and calculates:
Highest High and Lowest Low within the lookback period
Equilibrium Level - the midpoint between the swing high and low
Premium Zone - the area from equilibrium to the swing high (typically viewed as relatively expensive price levels)
Discount Zone - the area from the swing low to equilibrium (typically viewed as relatively cheap price levels)
Core Calculation Method
The indicator uses pivot point logic to identify significant swing highs and lows based on the pivot strength parameter. It then calculates the highest high and lowest low over the specified lookback period. The equilibrium is computed as the arithmetic mean of these two extremes, creating a fair value reference point.
The zones are dynamically updated as new price data becomes available, ensuring the visualization remains relevant to current market conditions.
Key Features
Dynamic Zone Detection
Automatically adjusts zones based on recent price action
Uses customizable lookback period for flexibility across different timeframes
Employs pivot strength parameter to filter out minor price fluctuations
Visual Clarity
Color-coded zones for easy identification (red for premium, green for discount)
Optional equilibrium line display
Adjustable zone label placement
Customizable color schemes to match your charting preferences
Alert Capabilities
Alerts when price enters the premium zone
Alerts when price enters the discount zone
Alerts when price returns to equilibrium
Helps traders monitor key zone interactions without constant chart watching
Customization Options
Adjustable lookback period (5-500 bars)
Configurable pivot strength for swing detection (1-20 bars)
Control over box extension into the future
Toggle labels and equilibrium line on/off
Full color customization for all visual elements
How to Use This Indicator
Setup
Add the indicator to your chart
Adjust the lookback period to match your trading timeframe (shorter for intraday, longer for swing trading)
Set pivot strength to filter out noise (higher values for major swings, lower for more frequent updates)
Customize colors and labels to your preference
Interpretation
Premium Zone: Price trading here may indicate potential resistance or selling opportunities when aligned with other technical factors
Discount Zone: Price trading here may indicate potential support or buying opportunities when aligned with other technical factors
Equilibrium: Acts as a fair value reference point where price often consolidates or reacts
Trading Applications
This tool works well when combined with other forms of analysis such as:
Trend identification indicators
Volume analysis
Support and resistance levels
Price action patterns
Market structure analysis
Important Considerations
This indicator identifies zones based purely on historical price data
Premium and discount zones are relative to the recent lookback period
The effectiveness varies across different market conditions and timeframes
Should be used as part of a comprehensive trading strategy, not in isolation
Past price structure does not guarantee future price behavior
Technical Details
Calculation Method
Uses Pine Script's ta.pivothigh() and ta.pivotlow() functions for swing detection
Employs ta.highest() and ta.lowest() for range calculation
Updates dynamically with each new bar
Draws zones using box objects for clear visual representation
Performance Optimization
Efficiently manages box and line objects to minimize resource usage
Uses conditional plotting to reduce unnecessary calculations
Limited to essential visual elements for chart clarity
Timeframe Compatibility
This indicator works on all timeframes but the recommended settings vary:
1-5 minute charts: Lookback period 10-20, Pivot strength 3-5
15-60 minute charts: Lookback period 20-50, Pivot strength 5-10
Daily charts: Lookback period 50-100, Pivot strength 10-15
Weekly charts: Lookback period 20-50, Pivot strength 5-10
Adjust these values based on the volatility of your specific instrument.
Limitations and Considerations
What This Indicator Does NOT Do
Does not provide buy or sell signals on its own
Does not predict future price movements
Does not account for fundamental factors or market events
Does not guarantee profitability or accuracy
Market Condition Awareness
In strong trending markets, price may remain in premium or discount zones for extended periods
During ranging conditions, price typically oscillates between zones more predictably
High volatility can cause frequent zone recalculations
Low volatility may result in narrow zones with limited practical use
Risk Considerations
Premium and discount are relative concepts, not absolute values
What appears as a discount zone may continue lower in a downtrend
What appears as a premium zone may continue higher in an uptrend
Always use proper risk management and position sizing
Consider multiple timeframe analysis for context
Version Information
This indicator is written in Pine Script v6, ensuring compatibility with the latest TradingView features and optimal performance.
Final Notes
This tool is designed to enhance your market analysis by providing a clear visual representation of premium and discount price zones. It should be used as one component of a well-rounded trading approach that includes proper risk management, multiple forms of analysis, and realistic expectations about market behavior.
The concept of premium and discount zones is rooted in auction market theory and the idea that price oscillates around fair value. However, traders should understand that these zones are interpretive tools based on historical data and do not constitute trading advice or predictions about future price action.
Remember to backtest any strategy using this indicator on historical data before applying it to live trading, and always trade responsibly within your risk tolerance.
Disclaimer: The information provided by this indicator is for educational and informational purposes only. It does not constitute financial advice, investment advice, trading advice, or any other sort of advice. Always conduct your own research and consult with qualified financial professionals before making trading decisions.
Renkli EMA BAR//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)
EMA Cross Color Buy/Sell//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)
EMA Color Cross + Trend Arrows V6//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)
ZLSMA Trend + Al/Sat Sinyali/@version=6
indicator("ZLSMA Trend + Al/Sat Sinyali", overlay=true, max_labels_count=500)
length = input.int(25, "ZLSMA Periyodu")
src = input.source(close, "Kaynak")
thickness = input.int(4, "Çizgi Kalınlığı")
colorUp = input.color(color.new(color.lime, 0), "Yükselen Renk")
colorDown = input.color(color.new(color.red, 0), "Düşen Renk")
ema1 = ta.ema(src, length)
ema2 = ta.ema(ema1, length)
zlsma = 2 * ema1 - ema2
trendUp = zlsma > zlsma
trendDown = zlsma < zlsma
zlsmaColor = trendUp ? colorUp : colorDown
plot(zlsma, title="ZLSMA", color=zlsmaColor, linewidth=thickness)
buySignal = ta.crossover(close, zlsma)
sellSignal = ta.crossunder(close, zlsma)
plotshape(buySignal, title="Al", location=location.belowbar, color=color.new(color.lime, 0), style=shape.triangleup, size=size.large, text="AL")
plotshape(sellSignal, title="Sat", location=location.abovebar, color=color.new(color.red, 0), style=shape.triangledown, size=size.large, text="SAT")
bgcolor(trendUp ? color.new(color.lime, 90) : color.new(color.red, 90))
CRUX-3 Macro Regime Index"CRUX-3 Macro Regime Index"
Description:
CRUX-3 Macro Regime Index is a higher-timeframe macro indicator designed to evaluate how crypto markets are performing relative to traditional equities. It compares Bitcoin, Ethereum, and the broader altcoin market (TOTAL3) against the S&P 500 using Z-score normalization to highlight periods of relative outperformance or underperformance.
The indicator incorporates liquidity-based regime detection using Bitcoin dominance and stablecoin dominance to classify market environments as Risk-On, BTC-Led, or Risk-Off. Background shading visually highlights these regimes, helping users identify broader macro conditions rather than short-term trade signals.
CRUX-3 is intended for macro context, regime awareness, and allocation bias decisions, not for precise trade entries or timing.
How to Use:
Weekly timeframe recommended for best results
Rising Z-scores indicate crypto outperforming equities
ETH/SPX typically acts as an early rotation signal
TOTAL3/SPX confirms broader altcoin participation
Regime shading reflects liquidity conditions, not price forecasts
Regime Definitions:
Risk-On: BTC dominance and stablecoin dominance declining
BTC-Led: BTC dominance strong while stablecoin dominance eases
Risk-Off: BTC dominance and stablecoin dominance rising
Notes:
Forward regime bands are statistical reference guides based on historical behavior
This indicator does not predict future prices or market direction
Best used alongside price charts and other macro tools
Disclaimer:
This indicator is for educational and informational purposes only. It does not constitute financial advice, investment advice, or trading recommendations.
Recommended Settings:
Timeframe: Weekly (1W)
Z-Score Lookback: 52
Forward Regime Bands: Enabled






















