2-Period RSI strategy (with filter)2-period RSI strategy backtest described in several books of the trader Larry Connors . This strategy uses a 2 periods RSI , one slow arithmetic moving average and one fast arithmetic moving average.
Entry signal:
- RSI 2 value below oversold level (Larry Connors usually sets oversold to be below 5, but other authors prefer to work below 10 due to the higher number of signals).
- Closing above the slow average (200 periods).
- Entry at closing of candle or opening of next candle.
Exit signal:
- Occurs when the candlestick closes above the fast average (the most common fast average is 5 periods, but some traders also suggest the 10 period average).
Entry Filter (modification made by me):
- Applied an RSI2 arithmetic moving average to smooth out oscillations.
- Entered only when RSI2 is below oversold level and RSI2 moving average is below 30.
* NOTE: In the stocks that I evaluate daily the averages of 4 and 6 periods work very well as a filter.
Comments:
This strategy works very well in Daily charts but can be applied in other chart times as well. As this is a strategy to catch market fluctuations, it presents different results with different stocks.
I have been applying this strategy to the stocks of the Brazilian market (BOVESPA) and have enjoyed the result. Every day I evaluate the stocks that are generating entry signals and choose which one to trade based on the stocks with the highest Profit Value.
The RSI 2 averaging filter probably will reduce profit of the backtests because reduces the number of signals, but the Profit Value will usually increase. For me this was a good thing because without the filter, this strategy usually shows more signals than I have capital to allocate.
Before entering a trade I look at which fast average the paper has the highest Profit Value and then I use this average as my output signal for that trade (this change has greatly improved the result of the outputs).
This strategy does not use Stop Loss because normally Stop Loss decreases effectiveness (profit). In any case, the option to apply a percentage Stop Loss if desired is added in the script. As the strategy does not use stop, extra caution with risk management is advisable. I advise not to allocate more than 20% of the trade capital in the same operation.
I'm still studying ways to improve this strategy, but so far this is the best setup I've found. Suggestions are always welcome and we can test to see if they improve the backtest result.
Good luck and good trades.
================================================
Backtest das estratégia do IFR de 2 períodos descrita em varios livros do trader Larry Connors . Esta estratégia usa um IFR de 2 períodos, uma média movel aritmética lenta e uma média movel aritmética rápida.
Sinal de entrada:
- Valor do IFR 2 abaixo do nível de sobrevenda (Larry Connors usualmente define sobrevenda sendo abaixo de 5, mas outros autores preferem trabalhar abaixo de 10 devido ao maior número de sinais).
- Fechamento acima da média lenta (200 períodos).
- Realizado a compra no fechamento do candle ou na abertura do candle seguinte.
Sinal de saída:
- Ocorre quando o candle fecha acima da média rápida (a média rápida mais comum é a de 5 períodos, mas alguns traders sugerem também a média de 10 períodos).
Filtro para entrada (modificação feita por mim):
- Aplicado uma média móvel aritmética do IFR2 para suavisar as oscilações.
- Realizado a entrada apenas quando o IFR2 está abaixo do nível de sobrevenda e a média móvel do IFR2 está abaixo de 30.
*OBS: nos ativos que avalio diariamente as médias de 4 e 6 períodos funcionam muito bem como filtro.
Comentários:
Esta estratégia funciona muito bem no tempo gráfico Diário mas pode ser aplicada tambem em outros tempos gráficos. Como trata-se de uma estratégia para pegar oscilações do mercado, ela apresenta diferentes resultados com diferentes ativos.
Eu venho aplicando esta estratégia nos ativos do mercado brasileiro (BOVESPA) e tenho gostado do resultado. Diariamente eu avalio os papeis que estão gerando entrada e escolho qual irei realizar o trade baseado nos papeis que apresentam maior Profit Value.
O filtro da média do IFR 2 reduz o lucro nos backtests pois reduz também a quantidade de sinais, mas em compensação o Profit Value irá normalmente aumentar. Para mim isto foi algo positivo pois, sem o filtro, normalmente esta estratégia apresenta mais sinais do que possuo capital para alocar.
Antes de entrar em um trade eu olho em qual média rápida o papel apresenta maior Profit Value e então eu utilizo está média como meu sinal de saída para aquele trade (esta mudança tem melhorado bastante o resultado das saídas).
Está estratégia não utiliza Stop Loss pois normalmente o Stop Loss diminui a eficácia (lucro). De qualquer maneira, foi acrescentado no script a opção de aplicar um Stop Loss percentual caso seja desejado. Como a estratégia não utiliza stop é aconselhável um cuidado redobrado com o gerenciamento de risco. Eu aconselho não alocar mais de 20% do capital de trade em uma mesma operação.
Ainda estou estudando formas de melhorar esta estratégia, mas até o momento está é a melhor configuração que encontrei. Sugestões são sempre bem vindas e podemos testar para verificar se melhoram o resultado do backtest.
Boa sorte e bons trades.
ابحث في النصوص البرمجية عن "a股板块+沪深两市+股价不超过10元的股票+技术形态好"
Pinescript v3 Compatibility Framework (v4 Migration Tool)Pinescript v3 Compatibility Framework (v4 Migration Tool)
This code makes most v3 scripts work in v4 with only a few minor changes below. Place the framework code before the first input statement.
You can totally delete all comments.
Pros:
- to port to v4 you only need to make a few simple changes, not affecting the core v3 code functionality
Cons:
- without #include - large redundant code block, but can be reduced as needed
- no proper syntax highlighting, intellisence for substitute constant names
Make the following changes in v3 script:
1. standard types can't be var names, color_transp can't be in a function, rename in v3 script:
color() => color.new()
bool => bool_
integer => integer_
float => float_
string => string_
2. init na requires explicit type declaration
float a = na
color col = na
3. persistent var init (optional):
s = na
s := nz(s , s) // or s := na(s ) ? 0 : s
// can be replaced with var s
var s = 0
s := s + 1
___________________________________________________________
Key features of Pinescript v4 (FYI):
1. optional explicit type declaration/conversion (you still can't cast series to int)
float s
2. persistent var modifier
var s
var float s
3. string series - persistent strings now can be used in cond and output to screen dynamically
4. label and line objects
- can be dynamically created, deleted, modified using get/set functions, moved before/after the current bar
- can be in if or a function unlike plot
- max limit: 50-55 label, and 50-55 line drawing objects in addition to already existing plots - both not affected by max plot outputs 64
- can only be used in the main chart
- can serve as the only output function - at least one is required: plot, barcolor, line, label etc.
- dynamic var values (including strings) can be output to screen as text using label.new and to_string
str = close >= open ? "up" : "down"
label.new(bar_index, high, text=str)
col = close >= open ? color.green : color.red
label.new(bar_index, na, "close = " + tostring(close), color=col, textcolor=color.white, style=label.style_labeldown, yloc=yloc.abovebar)
// create new objects, delete old ones
l = line.new(bar_index, high, bar_index , low , width=4)
line.delete(l )
// free object buffer by deleting old objects first, then create new ones
var l = na
line.delete(l)
l = line.new(bar_index, high, bar_index , low , width=4)
Turtle Trade Channels by KıvanÇ fr3762his trend following system was designed by Dennis Gartman and Bill Eckhart, and relies on breakouts of historical highs and lows to take and close trades: it is the complete opposite to the "buy low and sell high" approach. This trend following system was taught to a group of average and normal individuals, and almost everyone turned into a profitable trader.
The main rule is "Trade an N-day breakout and take profits when an M-day high or low is breached (N must me above M)". Examples:
Buy a 10-day breakout and close the trade when price action reaches a 5-day low.
Go short a 20-day breakout and close the trade when price action reaches a 10-day high.
In this indicator, the red line is the trading line, and the dotted blue line is the exit line. Original system is:
Go long when the trading line crosses below close price
Go short when the trading line rosses above close price
Exit long positions when the price touches the exit line
Exit short positions when the price touches the exit line
Recommended initial stop-loss is ATR * 2 from the opening price. Default system parameters were 20,10 and 55,20.
Original Turtle Rules:
To trade exactly like the turtles did, you need to set up two indicators representing the main and the failsafe system.
Set up the main indicator with TradePeriod = 20 and StopPeriod = 10 (A.k.a S1)
Set up the failsafe indicator with TradePeriod = 55 and StopPeriod = 20 using a different color. (A.k.a S2)
The entry strategy using S1 is as follows
Buy 20-day breakouts using S1 only if last signaled trade was a loss.
Sell 20-day breakouts using S1 only if last signaled trade was a loss.
If last signaled trade by S1 was a win, you shouldn't trade -Irregardless of the direction or if you traded last signal it or not-
The entry strategy using S2 is as follows:
Buy 55-day breakouts only if you ignored last S1 signal and the market is rallying without you
Sell 55-day breakouts only if you ignored last S1 signal and the market is pluging without you
The turtles had a progressive position sizing approach that boosted their winnings. Once a trading decision has been made you should...
Developers: Dennis Gartman and Bill Eckhart
İndikatörü geliştiren: Dennis Gartman and Bill Eckhart
Amazing Crossover System - 100+ pips per day!I got the main concept for this system on another site. While I have made one important change, I must stress that the heart of this system was created by someone else! We must give credit where credit is due!
Y'all know baby pips. @ForexPhantom published about this system and did both back and forward test around 10 years ago.
I found it on the sit and now I put it to code to see how it performs. I assume 10 points spread for every trade. I use Renesource or AxiTrader to get the low spreads.
There are 2 mods, the single trades and constant trading on the direction.
Main concept
Indicators
5 EMA -- YELLOW
10 EMA -- RED
RSI (10 - Apply to Median Price: HL/2) -- One level at 50.
TIME FRAME
1 Hour Only (very important!)
PAIRS
Virtually any pair seems to work as this is strictly technical analysis.
I recommend sticking to the main currencies and avoiding cross currencies (just his preference).
WHEN TO ENTER A TRADE
Enter LONG when the Yellow EMA crosses the Red EMA from underneath.
RSI must be approaching 50 from the BOTTOM and cross 50 to warrant entry.
Enter SHORT when the Yellow EMA crosses the Red EMA from the top.
RSI must be approaching 50 from the TOP and cross 50 to warrant entry.
I've attached a picture which demonstrates all these conditions.
That's it!
f.bpcdn.co
Trend Score by KIVANÇ fr3762Trend Score compares close prices between last close with previous closes by a certain period of time.
It's like momentum but gives a score +1 when close price is equal to or above (defaultly) 10 bars ago and gives a score of -1 when below.
calculation continues from default length to the 2 times of length.
Defaultly (for 10 bars length)
If Trend Score converges to 10; that means there's a strong uptrend
conversely if Trend Score converges to -10; that means a strong downtrend market is on.
JSE Wyckoff Wave Volume Code// The Stock Market Institute (SMI) describes an propriety indicator the "SMI Wyckoff Wave" for US Stocks. This code is an attempt to make a Wyckoff Wave for the Johannesburg Stock Exchange (JSE).
// The JSE Wyckoff Wave is in a separate code. This is the code for the volume of the wave. Please see code for the JSE Wyckoff Wave which goes with this indicator.
//
// The Wave presents a normalized price for the 10 selected stocks (An Index for the 10 stocks).
// The theory is to select stocks that are widely held, market leaders, actively traded and participate in important market moves.
// This is only my attempt to select 10 stocks and a different selection can be made.
// I am not certain how SMI determine their weightings but what I have done it to equalize the Rand value of the stock volumne so that moves are of equal magnitude.
// The then provides a view of the overall condition of the market and volume flow in the market.
//
// I have used the September 2018 price to normalize the stock price for the 10 selected stocks based. The stocks and weightings can be changed periodically depending on the performance and leadership.
//
// Please, let me know if there is a better work around this.
The stocks and their weightings are:
"JSE:BTI"/0.79
"JSE:SHP"/2.87
"JSE:NPN"/0.18
"JSE:AGL"/1.96
"JSE:SOL"/1.0
"JSE:CFR"/4.42
"JSE:MND"/1.40
"JSE:MTN"/7.63
"JSE:SLM"/7.29
"JSE:FSR"/8.25
JSE Wyckoff WaveThe Stock Market Institute (SMI) describes an propriety indicator the "SMI Wyckoff Wave" for US Stocks. This code is an attempt to make a Wyckoff Wave for the Johannesburg Stock Exchange (JSE). Once the wave has been established the volume can also be calculated. Please see code for the JSE Wyckoff Wave Volume which goes with this indicator.
The Wave presents a normalized price for the 10 selected stocks (An Index for the 10 stocks). The theory is to select stocks that are widely held, market leaders, actively traded and participate in important market moves. This is only my attempt to select 10 stocks and a different selection can be made. I am not certain how SMI determine their weightings but what I have done it to equalize the Rand value of the stock so that moves are of equal magnitude. The then provides a view of the overall condition of the market and volume flow in the market.
I have used the September 2018 price to normalize the stock price for the 10 selected stocks based. The stocks and weightings can be changed periodically depending on the performance and leadership.
Most Indecies when constructed assume that all high prices and all low prices happen at the same time and therefor inflate the wicks of the bars. To make the wave more representatives for the SMI Wyckoff Wave the price is determined on the 5 minute timeframe which removes this bias. However, TradingView does not calculate properly when selecting a lower timeframe than in current period. A work around is to call the sma of the highs and add these which provides more realistic tails. Please, let me know if there is a better work around this.
The stocks and their weightings are:
"JSE:BTI"*0.79
"JSE:SHP"*2.87
"JSE:NPN"*0.18
"JSE:AGL"*1.96
"JSE:SOL"*1.0
"JSE:CFR"*4.42
"JSE:MND"*1.40
"JSE:MTN"*7.63
"JSE:SLM"*7.29
"JSE:FSR"*8.25
OHLC Daily Resolution BandsShout out to nPE- for the idea.
Bands made with stdev from 10 day OHLC.
Keeps resolution to daily, so you can use bands as daily pivots for day trading.
Upper band 1=yesterday close + 0.5 std(ohlc,10)
Upper band 1=yesterday close + 1 std(ohlc,10)
Mid=yesterday close
Lower band 1=yesterday close - 0.5 std(ohlc,10)
Lower band 2=yesterday close - 1 std(ohlc,1
XPloRR MA-Buy ATR-Trailing-Stop Long Term Strategy Beating B&HXPloRR MA-Buy ATR-MA-Trailing-Stop Strategy
Long term MA Trailing Stop strategy to beat Buy&Hold strategy
None of the strategies that I tested can beat the long term Buy&Hold strategy. That's the reason why I wrote this strategy.
Purpose: beat Buy&Hold strategy with around 10 trades. 100% capitalize sold trade into new trade.
My buy strategy is triggered by the EMA(blue) crossing over the SMA curve(orange).
My sell strategy is triggered by another EMA(lime) of the close value crossing the trailing stop(green) value.
The trailing stop value(green) is set to a multiple of the ATR(15) value.
ATR(15) is the SMA(15) value of the difference between high and low values.
Every stock has it's own "DNA", so first thing to do is find the right parameters to get the best strategy values voor EMA, SMA and Trailing Stop.
Then keep using these parameter for future buy/sell signals only for that particular stock.
Do the same for other stocks.
Here are the parameters:
Exponential MA: buy trigger when crossing over the SMA value (use values between 11-50)
Simple MA: buy trigger when EMA crosses over the SMA value (use values between 20 and 200)
Stop EMA: sell trigger when Stop EMA of close value crosses under the trailing stop value (use values between 8 and 16)
Trailing Stop #ATR: defines the trailing stop value as a multiple of the ATR(15) value
Example parameters for different stocks (Start capital: 1000, Order=100% of equity, Period 1/1/2005 to now):
BAR(Barco): EMA=11, SMA=82, StopEMA=12, Stop#ATR=9
Buy&HoldProfit: 45.82%, NetProfit: 294.7%, #Trades:8, %Profit:62.5%, ProfitFactor: 12.539
AAPL(Apple): EMA=12, SMA=45, StopEMA=12, Stop#ATR=6
Buy&HoldProfit: 2925.86%, NetProfit: 4035.92%, #Trades:10, %Profit:60%, ProfitFactor: 6.36
BEKB(Bekaert): EMA=12, SMA=42, StopEMA=12, Stop#ATR=7
Buy&HoldProfit: 81.11%, NetProfit: 521.37%, #Trades:10, %Profit:60%, ProfitFactor: 2.617
SOLB(Solvay): EMA=12, SMA=63, StopEMA=11, Stop#ATR=8
Buy&HoldProfit: 43.61%, NetProfit: 151.4%, #Trades:8, %Profit:75%, ProfitFactor: 3.794
PHIA(Philips): EMA=11, SMA=80, StopEMA=8, Stop#ATR=10
Buy&HoldProfit: 56.79%, NetProfit: 198.46%, #Trades:6, %Profit:83.33%, ProfitFactor: 23.07
I am very curious to see the parameters for your stocks and please make suggestions to improve this strategy.
Mattzab ArrowsMattzab Arrows
THE BASICS
Buy and Sell Signal Arrows
Tack Marks to show how close the next opposite arrow might be- showing possible trend reversals
Standard Bollinger Bands
10-Day SMA Line
Configurable
Open Source
THE NITTY GRITTY
For starters, all values listed below can be changed in the settings. Length of time, as well as source, can be changed. For the Hidden EMA, this can be made visible by increasing its transparency.
ARROWS
The buy and sell signal arrows are based on price and MACD histogram.
The MACD settings are as follows: 10 day fast EMA , 20 day slow EMA , 5 day SMA signal smoothing. Instead of close price, we are using the average point of the day's high, low, and close.
For the arrows, current price and yesterday's price are using hl2 for high/low average.
A BUY arrow is created when:
Current Price IS GREATER THAN Previous Price _AND_ Current MACD Histogram IS GREATER THAN Previous MACD Histogram.
Important Note! Because the MACD Histogram repaints, the buy arrows may appear, then disappear later in the day, if the MACD changes. Check on the changelog to see if I've fixed it by the time you're reading this. (TradingView doesn't let you edit the description after it's been posted)
A SELL arrow is created when:
Current Price IS LESS THAN Previous Price _AND_ Current MACD Histogram IS LESS THAN Yesterday's MACD Histogram _AND_ Close Price is below _EITHER_ the Hidden EMA (default set to 4) _OR_ the Visible SMA (Default set to 10, which is the black line).
The hidden EMA can be made visible by increasing it's transparency in the Style tab.
Including the requirement to only sell if the standard conditions are met, PLUS being below one of those moving average lines, helps to prevent false sell arrows and repainting.
TACK MARKS
The Red Tack is the threshold, or barrier, for the next arrow. It will not move. It is based on previous High/Low/Close Price + MACD.
The Blue Tack is the current point in space for our average Price and MACD Delta Values. It will move throughout the day (or hour or minute depending on your resolution). The Blue Tack will give you an indication of how close or how far from the reversal threshold (Red Tack) the ticker is at that point.
While the Blue Tack is ABOVE Red, the most recent signal arrow will be a buy, and we are in a buy/hold period.
While the Blue Tack is BELOW Red, the most recent signal arrow will be a sell, and we are in a sell/wait period.
If the Blue Tack crosses above or below Red, you'll get the next arrow.
MOVING AVERAGE LINES
There are three moving average lines in this indicator.
The first is black, and is by default a 10-Day Simple Moving Average Line.
This black line is a good safeguard against selling too early. This is a good support line and that's how I use it.
The second is invisible, but can be made visible in the Styling, and is by default a 4-Day Exponential Moving Average Line
The third is the blue 20-Day Bollinger Band line.
BOLLINGER BANDS
The Bollinger Bands are unmodified and are just a background indicator for your use. If you prefer not to see the Bollinger Bands , change their transparency to 0% to hide them. I've cleaned up the Bollinger Bands to make the indicator as a whole- easier on the eyes.
Please leave feedback on how the script works for you, if you run into problems, if you have any changes you'd like to see, etc.
MACDouble + RSI (rec. 15min-2hr intrv) Uses two sets of MACD plus an RSI to either long or short. All three indicators trigger buy/sell as one (ie it's not 'IF MACD1 OR MACD2 OR RSI > 1 = buy", its more like "IF 1 AND 2 AND RSI=buy", all 3 match required for trigger)
The MACD inputs should be tweaked depending on timeframe and what you are trading. If you are doing 1, 3, 5 min or real frequent trading then 21/44/20 and 32/66/29 or other high value MACDs should be considered. If you are doing longer intervals like 2, 3, 4hr then consider 9/19/9 and 21/44/20 for MACDs (experiment! I picked these example #s randomly).
Ideal usage for the MACD sets is to have MACD2 inputs at around 1.5x, 2x, or 3x MACD1's inputs.
Other settings to consider: try having fastlength1=macdlength1 and then (fastlength2 = macdlength2 - 2). Like 10/26/10 and 23/48/20. This seems to increase net profit since it is more likely to trigger before major price moves, but may decrease profitable trade %. Conversely, consider FL1=MCDL1 and FL2 = MCDL2 + (FL2 * 0.5). Example: 10/26/10 and 22/48/30 this can increase profitable trade %, though may cost some net profit.
Feel free to message me with suggestions or questions.
Kay_BBandsV3This is the 3rd version of Kay_BBands.
When +DI (Directional Index ) is above -DI , then Upper band will be visible and vice-versa.
This is when the ADX is above the threshold. 28 is the default in this version. I found its more appealing in 5M time frame.
BLUE - ADX under 10
GREEN - Uptrend, ADX over 10
RED - Downtrend, ADX over 10
Use it with another band with setting 20, 0.6 deviation. Prices keeping above or below the 2nd bands upper or lower bounds shows trending conditions.
I didn't know how to update the old script so published it again.
Changes - :
1) Updated default settings for the indicator
2) ADX setting are now DI (28), ADX (10), adx level to check is 10.
3) IMPORTANT one - When DI is up/down, lower/upper band will also have color (more visible that way.)
Play around the settings.. It really eliminates extra indicator checking visually... Please like if you think idea is good.
CM Renko Overlay BarsCM_Renko Overlay Bars V1
Overlays Renko Bars on Regular Price Bars.
Default Renko plot is based on Average True Range. Look Back period adjustable in Inputs Tab.
If you Choose to use "Traditional" Renko bars and pick the Size of the Renko Bars the please read below.
Value in Input Tab is multiplied by .001 (To work on Forex)
1 = 10 pips on EURUSD - 1 X .001 = .001 or 10 Pips
10 = .01 or 100 Pips
1000 = 1 point to the left of decimal. 1 Point in Stocks etc.
10000 = 10 Points on Stocks etc.
***V2 will fix this issue.
Custom Indicator - No Trade Zone Warning Back Ground Highlights!Years ago I did an analysis of my trades. Every period of the day was profitable except for two. From 10:00-1030, and 1:00 to 1:30. (I was actively Day Trading Futures) Imagine a vertical graph broken down in to 30 minute time segments. I had nice Green bars in every time slot (Showing Net Profits), and HUGE Red Bars from 10 to 10:30 and 1 to 1:30. After analysis I found I made consistent profits at session open, but then I would enter in to bad setups around 10 to make more money. I also found after I took lunch when I came back at 1:00 I would force trades instead of patiently waiting for a great trade setup. I created an indicator that plotted a red background around those times telling me I was not allowed to enter a trade. Profits went up!!! Details on How to adjust times are in 1st Post. You can adjust times and colors to meet your own trading needs.
Trend Trader//@version=6
indicator("Trend Trader", shorttitle="Trend Trader", overlay=true)
// User-defined input for moving averages
shortMA = input.int(10, minval=1, title="Short MA Period")
longMA = input.int(100, minval=1, title="Long MA Period")
// User-defined input for the instrument selection
instrument = input.string("US30", title="Select Instrument", options= )
// Set target values based on selected instrument
target_1 = instrument == "US30" ? 50 :
instrument == "NDX100" ? 25 :
instrument == "GER40" ? 25 :
instrument == "GOLD" ? 5 : 5 // default value
target_2 = instrument == "US30" ? 100 :
instrument == "NDX100" ? 50 :
instrument == "GER40" ? 50 :
instrument == "GOLD" ? 10 : 10 // default value
// User-defined input for the start and end times with default values
startTimeInput = input.int(12, title="Start Time for Session (UTC, in hours)", minval=0, maxval=23)
endTimeInput = input.int(17, title="End Time Session (UTC, in hours)", minval=0, maxval=23)
// Convert the input hours to minutes from midnight
startTime = startTimeInput * 60
endTime = endTimeInput * 60
// Function to convert the current exchange time to UTC time in minutes
toUTCTime(exchangeTime) =>
exchangeTimeInMinutes = exchangeTime / 60000
// Adjust for UTC time
utcTime = exchangeTimeInMinutes % 1440
utcTime
// Get the current time in UTC in minutes from midnight
utcTime = toUTCTime(time)
// Check if the current UTC time is within the allowed timeframe
isAllowedTime = (utcTime >= startTime and utcTime < endTime)
// Calculating moving averages
shortMAValue = ta.sma(close, shortMA)
longMAValue = ta.sma(close, longMA)
// Plotting the MAs
plot(shortMAValue, title="Short MA", color=color.blue)
plot(longMAValue, title="Long MA", color=color.red)
// MACD calculation for 15-minute chart
= request.security(syminfo.tickerid, "15", ta.macd(close, 12, 26, 9))
macdColor = macdLine > signalLine ? color.new(color.green, 70) : color.new(color.red, 70)
// Apply MACD color only during the allowed time range
bgcolor(isAllowedTime ? macdColor : na)
// Flags to track if a buy or sell signal has been triggered
var bool buyOnce = false
var bool sellOnce = false
// Tracking buy and sell entry prices
var float buyEntryPrice_1 = na
var float buyEntryPrice_2 = na
var float sellEntryPrice_1 = na
var float sellEntryPrice_2 = na
if not isAllowedTime
buyOnce :=false
sellOnce :=false
// Logic for Buy and Sell signals
buySignal = ta.crossover(shortMAValue, longMAValue) and isAllowedTime and macdLine > signalLine and not buyOnce
sellSignal = ta.crossunder(shortMAValue, longMAValue) and isAllowedTime and macdLine <= signalLine and not sellOnce
// Update last buy and sell signal values
if (buySignal)
buyEntryPrice_1 := close
buyEntryPrice_2 := close
buyOnce := true
if (sellSignal)
sellEntryPrice_1 := close
sellEntryPrice_2 := close
sellOnce := true
// Apply background color for entry candles
barcolor(buySignal or sellSignal ? color.yellow : na)
/// Creating buy and sell labels
if (buySignal)
label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.green, textcolor=color.white, yloc=yloc.belowbar)
if (sellSignal)
label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.red, textcolor=color.white, yloc=yloc.abovebar)
// Creating labels for 100-point movement
if (not na(buyEntryPrice_1) and close >= buyEntryPrice_1 + target_1)
label.new(bar_index, high, text=str.tostring(target_1), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
buyEntryPrice_1 := na // Reset after label is created
if (not na(buyEntryPrice_2) and close >= buyEntryPrice_2 + target_2)
label.new(bar_index, high, text=str.tostring(target_2), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
buyEntryPrice_2 := na // Reset after label is created
if (not na(sellEntryPrice_1) and close <= sellEntryPrice_1 - target_1)
label.new(bar_index, low, text=str.tostring(target_1), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
sellEntryPrice_1 := na // Reset after label is created
if (not na(sellEntryPrice_2) and close <= sellEntryPrice_2 - target_2)
label.new(bar_index, low, text=str.tostring(target_2), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
sellEntryPrice_2 := na // Reset after label is created
VCP Base Detector
📊 VCP BASE DETECTOR - AUTO-DETECT CONSOLIDATION ZONES
🎯 WHAT IS THIS INDICATOR?
This indicator automatically detects and marks ALL consolidation bases (VCP bases) on your chart. It:
✅ Auto-detects when price enters consolidation
✅ Measures base tightness (volatility contraction)
✅ Tracks base duration (how long consolidating)
✅ Rates base quality (1-5 stars)
✅ Shows volume drying confirmation
✅ Detects base breakouts
✅ Shows progression of multiple bases (VCP pattern)
Use this WITH the "Mark Minervini SEPA Balanced" indicator for complete trading setups!
✅ Mark Minervini SEPA Balanced = Trend + RS + Stage
✅ VCP Base Detector = Base Quality + Progression
Combined = Complete professional trading system!
🎨 WHAT YOU SEE ON YOUR CHART
1️⃣ COLORED BOXES (Base Zones):
🟦 Aqua Box = ⭐⭐⭐⭐⭐ Excellent base (tightest)
🔵 Blue Box = ⭐⭐⭐⭐ Very good base
🟣 Purple Box = ⭐⭐⭐ Good base
🟠 Orange Box = ⭐⭐ Fair base
⬜ Gray Box = ⭐ Weak base
2️⃣ BASE LABELS (With Metrics):
Shows above each base:
• Duration: 20 days
• Tightness: 0.9%
• Quality: ⭐⭐⭐⭐⭐
3️⃣ BREAKOUT LABELS (When price exits base):
Green "BREAKOUT ✓" label shows:
• Price: ₹800
• Volume: 1.6x
4️⃣ DASHBOARD (Top-Left Panel):
Real-time base metrics showing:
• In Base: YES/NO
• Tightness: 0.8%
• Duration: 22 days
• Range: 3.5%
• Volume: Drying/Normal
• Quality: ⭐⭐⭐⭐
📊 UNDERSTANDING BASE QUALITY (⭐ Rating System)
⭐⭐⭐⭐⭐ (EXCELLENT)
├─ Tightness: < 0.8% ATR
├─ Duration: 15-40 days
├─ Volume: Significantly drying
├─ Price Range: < 5%
└─ Result: Most explosive breakouts (best quality)
⭐⭐⭐⭐ (VERY GOOD)
├─ Tightness: 0.8-1.0% ATR
├─ Duration: 15-35 days
├─ Volume: Very dry
├─ Price Range: < 7%
└─ Result: High probability breakouts
⭐⭐⭐ (GOOD)
├─ Tightness: 1.0-1.3% ATR
├─ Duration: 15-30 days
├─ Volume: Drying
├─ Price Range: < 8%
└─ Result: Decent breakout probability
⭐⭐ (FAIR)
├─ Tightness: 1.3-1.5% ATR
├─ Duration: 15-25 days
├─ Volume: Moderate drying
├─ Price Range: < 10%
└─ Result: Lower quality, riskier
⭐ (WEAK)
├─ Tightness: > 1.5% ATR
├─ Duration: Varies
├─ Volume: Not drying enough
├─ Price Range: > 10%
└─ Result: Low quality, skip these
📈 HOW TO USE - STEP BY STEP
STEP 1: ADD INDICATOR TO CHART
────────────────────────────────
1. Open any stock chart (use 1D timeframe for swing trading)
2. Click "Indicators"
3. Search "VCP Base Detector"
4. Click to add to chart
5. Wait a moment for boxes to appear
STEP 2: SCAN FOR BASES
───────────────────────
Look for:
✓ Colored boxes appearing on chart (bases forming)
✓ Dashboard showing "In Base: YES"
✓ Tightness below 1.5%
✓ Volume Dry: YES
STEP 3: MONITOR BASE QUALITY
──────────────────────────────
Dashboard shows stars:
⭐⭐⭐⭐⭐ = Wait for breakout (best setup)
⭐⭐⭐⭐ = Good quality, watch for breakout
⭐⭐⭐ = Decent, but not ideal
⭐⭐ or ⭐ = Skip (lower probability)
STEP 4: WAIT FOR BREAKOUT
──────────────────────────
When price breaks above the box:
✓ Green "BREAKOUT ✓" label appears
✓ Shows breakout price and volume
✓ If volume shows 1.3x+, breakout is confirmed
✓ This is your entry signal!
STEP 5: CHECK MINERVINI CRITERIA (Use Both Indicators)
───────────────────────────────────────────────────────
Before entering:
✓ VCP Base Detector shows ⭐⭐⭐⭐+ quality base
✓ Mark Minervini indicator shows BUY SIGNAL
✓ Dashboard shows 10+ criteria GREEN
✓ Stage shows S2
Result: HIGH-PROBABILITY SETUP! 🎯
📋 DASHBOARD INDICATORS - WHAT EACH MEANS
BASE METRICS SECTION:
─────────────────────
In Base = ✓ YES or ✗ NO
Show if price is currently consolidating
Tightness = 0-3% (lower = tighter = better)
< 0.8% = ⭐⭐⭐⭐⭐ (excellent)
0.8-1.0% = ⭐⭐⭐⭐ (very good)
1.0-1.3% = ⭐⭐⭐ (good)
1.3-1.5% = ⭐⭐ (fair)
> 1.5% = ⭐ (weak)
Duration = Number of days in consolidation
15 days = ⭐ (too short, weak)
20 days = ⭐⭐⭐ (ideal)
30 days = ⭐⭐⭐⭐ (very long, strong)
> 40 days = ⚠️ (too long, may break down)
Range = % movement within the base
< 5% = ⭐⭐⭐⭐⭐ (excellent, very tight)
5-8% = ⭐⭐⭐ (good)
> 10% = ⭐ (loose, not ideal)
Vol Dry = Volume status during consolidation
✓ YES = Volume contracting (good)
✗ NO = Normal/high volume (weak setup)
QUALITY SECTION:
────────────────
Stars = Overall base quality rating
⭐⭐⭐⭐⭐ = Best quality bases (most explosive)
⭐⭐⭐⭐ = Excellent quality
⭐⭐⭐ = Good quality
⭐⭐ = Fair quality
⭐ = Weak quality (skip)
52W INFO SECTION:
─────────────────
From 52W Hi = How far below 52-week high is price?
< 25% = In sweet zone ✓
> 25% = Too far from highs ✗
From 52W Lo = How far above 52-week low is price?
> 30% = In sweet zone ✓
< 30% = Too close to lows ✗
⚙️ CUSTOMIZATION GUIDE
Click ⚙️ gear icon next to indicator to adjust:
MINIMUM BASE DAYS (Default: 15)
──────────────────────────────
Current: 15 = Include shorter bases
Change to 20 = Longer bases only (higher quality)
Change to 10 = Include very short bases (more frequent)
Why: Longer bases = better breakouts, but fewer opportunities
ATR% TIGHTNESS THRESHOLD (Default: 1.5)
────────────────────────────────────────
Current: 1.5 = BALANCED for Indian stocks
Change to 1.0 = ONLY very tight bases (⭐⭐⭐⭐⭐)
Change to 2.0 = Looser bases included (more frequent)
Why: Lower = tighter bases = better quality, fewer signals
VOLUME DRYING THRESHOLD (Default: 0.7)
──────────────────────────────────────
Current: 0.7 = Volume at 70% of average (good drying)
Change to 0.6 = Stricter (more volume drying required)
Change to 0.8 = Looser (less volume drying required)
Why: Volume drying = consolidation confirmation
52W PERIOD (Default: 252)
─────────────────────────
Current: 252 = Full year lookback
Don't change unless you know what you're doing
📈 REAL TRADING EXAMPLE
SCENARIO: Trading MARUTI over 6 weeks
WEEK 1: Nothing happening
─────────────────────────
- No boxes on chart
- Dashboard: "In Base: NO"
- Action: SKIP (not consolidating)
WEEK 2: Base Starting to Form
─────────────────────────────
- Purple box appears (⭐⭐⭐ quality)
- Dashboard: "In Base: YES"
- Tightness: 1.2%
- Duration: 3 days (too new)
- Action: MONITOR (let it develop)
WEEK 3-4: Base Tightening
──────────────────────────
- Box color changes from Purple → Blue (⭐⭐⭐⭐ quality)
- Dashboard: Duration: 12 days
- Tightness: 0.9%
- Vol Dry: YES
- Action: GET READY (high-quality base forming)
WEEK 4-5: Perfect Base Formed
──────────────────────────────
- Box changes to Aqua (⭐⭐⭐⭐⭐ EXCELLENT!)
- Dashboard: Duration: 22 days ✓
- Tightness: 0.8% ✓
- Vol Dry: YES ✓
- Range: 4.2% ✓
- Action: WATCH FOR BREAKOUT
WEEK 5: BREAKOUT HAPPENS!
──────────────────────────
- Price closes above box
- Green "BREAKOUT ✓" label appears
- Shows: Price ₹850, Volume 1.6x
- Mark Minervini indicator: BUY SIGNAL ✓
- Dashboard all GREEN ✓
- Action: ENTER TRADE
Entry: ₹850
Stop: Box low (₹820)
Target: ₹980 (20% move)
RESULT: +15.3% profit in 2 weeks! ✅
💡 PRO TIPS FOR BEST RESULTS
1. COMBINE WITH MINERVINI INDICATOR
Use BOTH indicators together:
✓ VCP Detector = Base quality
✓ Minervini = Trend + RS + Volume
Result = Best high-probability setups
2. PREFER ⭐⭐⭐⭐+ QUALITY BASES
Don't trade ⭐⭐ or ⭐ quality bases
Only trade ⭐⭐⭐+ (ideally ⭐⭐⭐⭐+)
Higher quality = Higher win rate
3. WAIT FOR VOLUME CONFIRMATION
Base must show "Vol Dry: YES"
Breakout must have 1.3x+ volume
Low volume breakouts fail often
4. USE 1D TIMEFRAME ONLY
This indicator optimized for daily charts
Intraday = Too many false signals
Weekly = Misses good setups
5. MONITOR MULTIPLE BASES (VCP PATTERN)
Multiple bases getting tighter = VCP pattern
Each base should be better quality than last
Tightest base = Biggest breakout
6. COMBINE WITH 52W CONTEXT
Dashboard shows "From 52W Hi" and "From 52W Lo"
Price should be in sweet zone:
< 25% from 52W high (uptrend territory)
> 30% above 52W low (not oversold)
7. BACKTEST FIRST
Use TradingView Replay
Go back 6-12 months
See how many bases appeared
See which were profitable
❌ BASES TO SKIP (Lower Probability)
Skip if:
❌ Quality rating < ⭐⭐⭐ (only 1-2 stars)
❌ Tightness > 1.5% (too loose)
❌ Duration < 10 days (too short, weak)
❌ Duration > 50 days (too long, may break down)
❌ Vol Dry: NO (volume not contracting)
❌ Range > 10% (not tight consolidation)
❌ Price < 30% from 52W low (too weak)
❌ Price > 30% from 52W high (too far up, late entry)
⚠️ IMPORTANT DISCLAIMERS
✓ This indicator is for educational purposes only
✓ Past performance does not guarantee future results
✓ Always use proper risk management (position sizing, stop loss)
✓ Never risk more than 2% of your account on one trade
✓ Base detection is technical analysis, not investment advice
✓ Losses can occur - trade at your own risk
✓ Combine with other indicators for best results
🎓 LEARNING RESOURCES
To understand VCP bases better:
→ Study "Trade Like a Stock Market Wizard" by Mark Minervini
→ Watch: "VCP Pattern" videos on YouTube
→ Practice: Backtest on 1-2 years of historical data
→ Learn: How consolidation precedes breakouts
🚀 YOU'RE READY!
Happy trading! 📈🎯
Mark Minervini SEPA - Balanced
📊 MARK MINERVINI SEPA BALANCED - COMPLETE USER GUIDE
🚀 WHAT IS THIS INDICATOR?
This is a professional swing trading indicator based on Mark Minervini's famous
Trend Template strategy. It automatically identifies high-probability setups where:
✅ Long-term trend is BULLISH (confirmed by moving averages)
✅ Stock is OUTPERFORMING the market (relative strength improving)
✅ Price is CONSOLIDATING (forming a base for breakout)
✅ Volume is CONFIRMING (volume spike on breakout)
Result: CLEAR BUY SIGNALS when everything aligns! 🎯
🎨 WHAT YOU SEE ON YOUR CHART
1️⃣ FOUR MOVING AVERAGE LINES:
🟠 Orange Line (MA 20) = Short-term trend
🔵 Blue Line (MA 50) = Intermediate trend
🟢 Green Line (MA 150) = Long-term trend
🔴 Red Line (MA 200) = Very long-term trend
IDEAL: All lines stacked in order (Orange > Blue > Green > Red)
2️⃣ BACKGROUND COLOR:
🟢 GREEN background = Trend template is VALID (bullish setup ready)
🔴 RED background = Trend template is BROKEN (avoid trading)
3️⃣ DASHBOARD PANEL (Top-Right):
Real-time checklist showing:
✓ 6 core trend template rules
✓ Relative strength status
✓ VCP base quality
✓ Stage classification (S1/S2/S3/S4)
✓ Volume breakout status
4️⃣ VCP BASE BOXES (Blue Rectangles):
Shows where consolidation is happening
This is your potential entry zone
5️⃣ BUY SIGNAL LABEL (Green Text Below Candle):
Green "BUY" label appears when ALL criteria are met
This is your strongest entry signal
6️⃣ STOP LOSS LINE (Red Dashed Line):
Shows your stop loss level (base low)
📖 HOW TO USE - STEP BY STEP
STEP 1: ADD INDICATOR TO CHART
────────────────────────────────
1. Open TradingView chart
2. Click "Indicators" (top toolbar)
3. Search "Minervini SEPA Balanced"
4. Click to add to your chart
5. Use DAILY (1D) timeframe for swing trading
STEP 2: CHECK THE DASHBOARD (Top-Right Panel)
1. Look at all the checkmarks
2. Count how many are GREEN (✓)
3. Check Stage column - is it showing S2 or S1?
STEP 3: LOOK FOR SETUP PATTERNS
─────────────────────────────────
Ideal setup shows:
✓ Dashboard: 10+ criteria are GREEN
✓ Stage: S2 (green) or S1 (orange)
✓ Blue VCP box visible on chart (base forming)
✓ Moving averages aligned (50 > 150 > 200)
✓ Price above all moving averages
✓ Background is GREEN
STEP 4: WAIT FOR ENTRY SIGNAL
──────────────────────────────
Option A: BUY SIGNAL label appears
→ Green "BUY" label = ALL criteria met
→ ENTER at market price immediately
Option B: Setup looks good but no BUY label yet
→ Wait for price to break above blue VCP box
→ Volume should spike (1.3x or higher)
→ Then enter at breakout
STEP 5: PLACE YOUR TRADE
────────────────────────
📍 ENTRY: At breakout from VCP base
📍 STOP LOSS: Base low (red dashed line)
📍 TARGET: 20-30% move (typical Minervini target)
📍 HOLDING TIME: 2-4 weeks
🎯 BALANCED VERSION - WHY IT'S BETTER FOR INDIAN STOCKS
Volume Multiplier: 1.3x (NOT 1.5x)
→ Original was too strict for Indian market
→ 1.3x is realistic and catches good breakouts
→ Results: 5-10 signals per stock per year (tradeable!)
Trend Template: Core 6 rules (NOT all 8)
→ Focuses on the most important rules
→ Still maintains quality, but more flexible
→ Works better with Indian stock behavior
Stage Allowed: S1 OR S2 (NOT just S2)
→ Catches earlier moves
→ Allows you to enter sooner
→ But maintains quality with other criteria
📊 DASHBOARD INDICATORS - WHAT EACH MEANS
TREND SECTION (Core 6 Rules):
─────────────────────────────
P>200 ✓ = Price above 200-day MA (long-term uptrend)
150>200 ✓ = MA150 above MA200 (MA alignment)
200↑ ✓ = MA200 trending up (uptrend accelerating)
50>150 ✓ = MA50 above MA150 (intermediate uptrend)
50>200 ✓ = MA50 above MA200 (overall alignment)
P>50 ✓ = Price above MA50 (pullback level intact)
RS STRENGTH SECTION:
───────────────────
RS↑ ✓ = Stock outperforming NIFTY index
✗ = Stock underperforming NIFTY (avoid)
VCP BASE SECTION:
────────────────
In Base ✓ = Consolidation zone detected
✗ = No consolidation yet
Vol Dry ✓ = Volume drying up (base tightening)
✗ = Normal volume (consolidation weak)
ENTRY SECTION:
──────────────
Stage S2 = GREEN (best for swing trading)
S1 = ORANGE (acceptable, early entry)
S3 = RED (avoid - distribution phase)
S4 = RED (avoid - downtrend)
Vol Brk ✓ = Volume confirmed breakout (1.3x+ average)
✗ = Weak volume (breakout likely to fail)
❌ WHEN NOT TO TRADE
SKIP if ANY of these are true:
❌ Background is RED (trend template broken)
❌ Stage is S3 or S4 (distribution or downtrend)
❌ Vol Brk is RED (volume not confirming)
❌ RS↑ is ORANGE/RED (stock underperforming market)
❌ Blue box is NOT visible (no base forming)
❌ Base is very loose/messy (not tight enough)
❌ Moving averages are not aligned
❌ Less than 8 GREEN criteria on dashboard
⚙️ CUSTOMIZATION GUIDE
Click ⚙️ gear icon next to indicator name to adjust settings:
VOLUME MULTIPLIER (Default: 1.3)
────────────────────────────────
Current: 1.3x = BALANCED for Indian stocks ✅
Change to 1.2x = MORE signals (more false breakouts)
Change to 1.4x = FEWER signals (very selective)
Change to 1.5x = ORIGINAL (too strict, rarely triggers)
RS BENCHMARK (Default: NSE:NIFTY)
─────────────────────────────────
Current: NSE:NIFTY = Large-cap stocks
Change to NSE:NIFTY500 = Mid-cap stocks
Change to NSE:NIFTYNXT50 = Small-cap stocks
MINIMUM BASE DAYS (Default: 20)
───────────────────────────────
Current: 20 days = 4 weeks consolidation ✅
Change to 15 = Shorter bases (more frequent signals)
Change to 25 = Longer bases (higher quality)
ATR% FOR TIGHTNESS (Default: 1.5)
──────────────────────────────────
Current: 1.5% = BALANCED ✅
Change to 1.0% = ONLY very tight bases
Change to 2.0% = Loose bases accepted
📈 REAL TRADING EXAMPLE
SCENARIO: Trading RELIANCE over 4 weeks
WEEK 1: Base Starts Forming
────────────────────────────
- Price consolidating around ₹1,500
- Dashboard: 5/14 criteria green
- Action: MONITOR (not ready yet)
WEEK 2: Base Tightens
─────────────────────
- Price still ₹1,500 (no movement)
- VCP box appearing on chart
- Dashboard: 8/14 criteria green
- Vol Dry: ✓ (volume shrinking - good!)
- Action: MONITOR (almost ready)
WEEK 3: Perfect Setup Formed
──────────────────────────────
- Base still ₹1,500
- Dashboard: 12/14 criteria GREEN ✓✓✓
- Stage: S2 ✓
- Blue box tight and clean
- Action: WAIT FOR BREAKOUT
WEEK 4: Breakout Happens!
──────────────────────────
- Price closes at ₹1,550 (breakout!)
- Volume: 1.6x average (exceeds 1.3x requirement)
- Dashboard: BUY SIGNAL ✓ (all criteria met)
- Action: ENTER TRADE
Entry: ₹1,550
Stop: ₹1,480 (base low)
Target: ₹1,850 (20% move)
RESULT: +19.4% profit in 2 weeks! ✅
💡 PRO TIPS FOR BEST RESULTS
1. USE DAILY (1D) CHARTS ONLY
Weekly charts = Fewer signals, slower moves
Daily charts = Best for swing trading ✅
Intraday charts = Too many false signals
2. SCAN MULTIPLE STOCKS
Don't just watch 1 stock
Scan 50-100 stocks daily
More stocks = More opportunities
3. WAIT FOR PERFECT ALIGNMENT
Don't enter on 8/14 criteria
Wait for 12+/14 criteria
This increases win rate significantly
4. VOLUME IS CRITICAL
Always check Vol Brk column
No volume = Likely to fail
1.3x+ volume = Good breakout
5. COMBINE WITH YOUR OWN ANALYSIS
Indicator gives technical signals
You add your own fundamental view
Strong fundamental + technical = Best trade
6. BACKTEST ON HISTORICAL DATA
Use TradingView Replay feature
Go back 6-12 months
See how many signals appeared
Verify which were profitable
7. KEEP A TRADING JOURNAL
Track entry, exit, profit/loss
Note what worked and what didn't
Continuous improvement!
⚠️ IMPORTANT DISCLAIMERS
✓ This indicator is for educational purposes only
✓ Past performance does not guarantee future results
✓ Always use proper risk management (position sizing, stop loss)
✓ Never risk more than 2% of your account on one trade
✓ Backtest thoroughly before using with real money
✓ The indicator provides technical signals, not investment advice
✓ Losses can occur - trade at your own risk
🎯 QUICK START CHECKLIST
Before entering ANY trade, verify:
□ Dashboard shows mostly GREEN (10+ criteria)
□ Stage = S2 (green) or S1 (orange)
□ Blue VCP box visible on chart
□ Price just broke above the box
□ Volume is high (1.3x+ average, Vol Brk = ✓)
□ Moving averages aligned (50 > 150 > 200)
□ RS is uptrending (RS↑ = ✓)
□ BUY SIGNAL label appeared (optional but strong confirmation)
ALL CHECKED? → READY TO BUY! 🚀
📞 FOR HELP & SUPPORT
Questions about the indicator?
→ Check the dashboard - each criterion has a specific meaning
→ Review this guide - answers most common questions
→ Backtest on historical data using TradingView Replay
→ Start with paper trading (no real money) first
🎓 LEARNING RESOURCES
To understand Mark Minervini's method better:
→ Read: "Trade Like a Stock Market Wizard" by Mark Minervini
→ Watch: TradingView educational videos on trend templates
→ Practice: Backtest this indicator on 6-12 months of historical data
→ Learn: Study successful traders who use similar strategies
GOOD LUCK WITH YOUR TRADING! 🚀📈
May your trends be bullish and your breakouts be explosive! 🎯
RCV Essentials════════════════════════════════════════════
RCV ESSENTIALS - MULTI-TIMEFRAME & SESSION ANALYSIS TOOL
════════════════════════════════════════════
📊 WHAT THIS INDICATOR DOES
This professional-grade indicator combines two powerful analysis modules:
1. TRADING SESSION TRACKER - Visualizes high/low ranges for major global market sessions (NY Open, London Open, Asian Session, etc.)
2. MULTI-TIMEFRAME CANDLE DISPLAY - Shows up to 8 higher timeframes simultaneously on your chart (15m, 30m, 1H, 4H, 1D, 1W, 1M, 3M)
════════════════════════════════════════════
🎯 KEY FEATURES
════════════════════════════════════════════
TRADING SESSIONS MODULE:
✓ Track up to 6 custom trading sessions simultaneously
✓ Real-time high/low range detection during active sessions
✓ Pre-configured for NYO (7-9am), LNO (2-3am), Asian Session (4:30pm-12am)
✓ 60+ global timezone options
✓ Customizable colors, labels, and transparency
✓ Daily divider lines (optional Sunday skip for traditional markets)
✓ Only displays on ≤30m timeframes for optimal clarity
MULTI-TIMEFRAME CANDLES MODULE:
✓ Display 1-8 higher timeframes with up to 10 candles each
✓ Real-time candle updates (non-repainting)
✓ Fully customizable colors (separate bullish/bearish for body/border/wick)
✓ Adjustable candle width, spacing, and positioning
✓ Smart label system (top/bottom/both, aligned or follow candles)
✓ Automatic timeframe validation (only shows TFs higher than chart)
✓ Memory-optimized with automatic cleanup
════════════════════════════════════════════
🔧 HOW IT WORKS
════════════════════════════════════════════
TECHNICAL IMPLEMENTATION:
Session Tracking Algorithm:
• Detects session start/end using time() function with timezone support
• Continuously monitors and updates high/low during active session
• Finalizes range when session ends using var persistence
• Draws boxes using real-time bar_index positioning
• Maintains session ranges across multiple days for reference
Multi-Timeframe System:
• Uses ta.change(time()) detection to identify new MTF candle formation
• Constructs candles using custom Type definitions (Candle, CandleSet, Config)
• Stores OHLC data in arrays with automatic size management
• Renders using box objects (bodies) and line objects (wicks)
• Updates current candle every tick; historical candles remain static
• Calculates dynamic positioning based on user settings (offset, spacing, width)
Object-Oriented Architecture:
• Custom Type "Candle" - Stores OHLC values, timestamps, visual elements
• Custom Type "CandleSet" - Manages arrays of candles + settings per timeframe
• Custom Type "Config" - Centralizes all display configuration
• Efficient memory management via unshift() for new candles, pop() for old
Performance Optimizations:
• var declarations minimize recalculation overhead
• Conditional execution (sessions only on short timeframes)
• Maximum display limits prevent excessive object creation
• Timeframe validation at barstate.isfirst reduces redundant checks
════════════════════════════════════════════
📈 HOW TO USE
════════════════════════════════════════════
SETUP:
1. Add indicator to chart (works best on 1m-30m timeframes)
2. Open Settings → "Trading Sessions" group
- Enable desired sessions (NYO, LNO, AS, or custom)
- Select your timezone from 60+ options
- Adjust colors and transparency
3. Open Settings → "Multi-TF Candles" group
- Enable timeframes (TF1-TF8)
- Configure each timeframe and display count
- Customize colors and layout
READING THE CHART:
• Session boxes show high/low ranges during active sessions
• MTF candles display to the right of current price
• Labels identify each timeframe (15m, 1H, 4H, etc.)
• Real-time updates on the most recent MTF candle
TRADING APPLICATIONS:
Session Breakout Strategy:
→ Identify session high/low (e.g., Asian session 16:30-00:00)
→ Wait for break above/below range
→ Confirm with higher timeframe candle close
→ Enter in breakout direction, stop at opposite side of range
Multi-Timeframe Confirmation:
→ Spot setup on primary chart (e.g., 5m)
→ Verify 15m, 1H, 4H candles align with trade direction
→ Only take trades where higher TFs confirm
→ Exit when higher TF candles show reversal
Combined Session + MTF:
→ Asian session establishes range overnight
→ London Open breaks Asian high
→ Confirm with bullish 15m + 1H candles
→ Enter long with stop below Asian high
════════════════════════════════════════════
🎨 ORIGINALITY & INNOVATION
════════════════════════════════════════════
What makes this indicator original:
1. INTEGRATED DUAL-MODULE DESIGN
Unlike separate session or MTF indicators, this combines both in a single performance-optimized script, enabling powerful correlation analysis between session behavior and timeframe structure.
2. ADVANCED RENDERING SYSTEM
Uses custom Pine Script v5 Types with dynamic box/line object management instead of basic plot functions. This enables:
• Precise visual control over positioning and spacing
• Real-time updates without repainting
• Efficient memory handling via automatic cleanup
• Support for 8 simultaneous timeframes with independent settings
3. INTELLIGENT SESSION TRACKING
The algorithm continuously recalculates ranges bar-by-bar during active sessions, then preserves the final range. This differs from static zone indicators that simply draw fixed boxes at predefined levels.
4. MODULAR ARCHITECTURE
Custom Type definitions (Candle, CandleSet, Config) create extensible, maintainable code structure while supporting complex multi-timeframe operations with minimal performance impact.
5. PROFESSIONAL FLEXIBILITY
Extensive customization: 6 configurable sessions, 8 timeframe slots, 60+ timezones, granular color/sizing/spacing controls, multiple label positioning modes—adaptable to any market or trading style.
6. SMART VISUAL DESIGN
Automatic timeframe validation, dynamic label alignment options, and intelligent spacing calculations ensure clarity even with multiple timeframes displayed simultaneously.
════════════════════════════════════════════
⚙️ CONFIGURATION OPTIONS
════════════════════════════════════════════
TRADING SESSIONS:
• Session 1-6: On/Off toggles
• Time Ranges: Custom start-end times
• Labels: Custom text for each session
• Colors: Individual color per session
• Timezone: 60+ options (Americas, Europe, Asia, Pacific, Africa)
• Range Transparency: 0-100%
• Outline: Optional border
• Label Display: Show/hide session names
• Daily Divider: Dotted lines at day changes
• Skip Sunday: For traditional markets vs 24/7 crypto
MULTI-TF CANDLES:
• Timeframes 1-8: Enable/disable individually
• Timeframe Selection: Any TF (seconds to months)
• Display Count: 1-10 candles per timeframe
• Bullish Colors: Body/Border/Wick (independent)
• Bearish Colors: Body/Border/Wick (independent)
• Candle Width: 1-10+ bars
• Right Margin: 0-200+ bars from edge
• TF Spacing: Gap between timeframe groups
• Label Color: Any color
• Label Size: Tiny/Small/Normal/Large/Huge
• Label Position: Top/Bottom/Both
• Label Alignment: Follow Candles or Align
════════════════════════════════════════════
📋 TECHNICAL SPECIFICATIONS
════════════════════════════════════════════
• Pine Script Version: v5
• Chart Overlay: True
• Max Boxes: 500
• Max Lines: 500
• Max Labels: 500
• Max Bars Back: 5000
• Update Frequency: Real-time (every tick)
• Timeframe Compatibility: Chart TF must be lower than selected MTFs
• Session Display: Activates only on ≤30 minute timeframes
• Memory Management: Automatic cleanup via array operations
GRA v5 SNIPER# GRA v5 SNIPER - Documentation & Cheatsheet
## 🎯 Get Rich Aggressively v5 - SNIPER Edition
**Precision Futures Scalping | NQ • ES • YM • GC • BTC**
> **Philosophy:** *Quality over quantity. One sniper shot beats ten spray-and-pray attempts.*
---
## ⚡ QUICK CHEATSHEET
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ GRA v5 SNIPER - QUICK REFERENCE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🎯 SIGNAL REQUIREMENTS (ALL MUST BE TRUE): │
│ ═══════════════════════════════════════════ │
│ ✓ Tier → B minimum (20+ pts NQ) │
│ ✓ Volume → 1.5x+ average │
│ ✓ Delta → 60%+ dominance (buyers OR sellers) │
│ ✓ Body → 70%+ of candle range │
│ ✓ Range → 1.3x+ average candle size │
│ ✓ Wicks → Small opposite wick (<50% of body) │
│ ✓ CVD → Trending with signal direction │
│ ✓ Session → London (3-5am ET) OR NY (9:30-11:30am ET) │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 📊 TIER ACTIONS: │
│ ════════════════ │
│ S-TIER (100+ pts) → 🥇 HOLD position, ride the wave │
│ A-TIER (50-99 pts) → 🥈 SWING for 2-3 minutes │
│ B-TIER (20-49 pts) → 🥉 SCALP quick, 30-60 seconds │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🚨 ENTRY CHECKLIST: │
│ ═══════════════════ │
│ □ Signal appears (S🎯, A🎯, or B🎯) │
│ □ Table shows: Vol GREEN, Delta colored, Body GREEN │
│ □ CVD arrow matches direction (▲ for long, ▼ for short) │
│ □ Session active (LDN! or NY! in yellow) │
│ □ Enter at close of signal candle │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ⛔ DO NOT TRADE WHEN: │
│ ════════════════════ │
│ ✗ Session shows "---" (outside key hours) │
│ ✗ Vol shows RED (below 1.5x) │
│ ✗ Body shows RED (weak candle structure) │
│ ✗ Delta below 60% (no clear dominance) │
│ ✗ Multiple conflicting signals │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 📈 INSTRUMENT SETTINGS: │
│ ════════════════════════ │
│ NQ/ES (1-3 min): S=100, A=50, B=20 pts │
│ YM (1-5 min): S=100, A=50, B=25 pts │
│ GC (5-15 min): S=15, A=8, B=4 pts │
│ BTC (1-15 min): S=500, A=250, B=100 pts │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 📋 DETAILED DOCUMENTATION
### What Makes SNIPER Different?
The SNIPER edition eliminates 80%+ of signals compared to standard GRA. Every signal that passes through has been validated by **8 independent filters**:
| Filter | Standard GRA | SNIPER GRA | Why It Matters |
|--------|-------------|------------|----------------|
| Volume | 1.3x avg | **1.5x avg** | Institutional participation |
| Delta | 55% | **60%** | Clear buyer/seller control |
| Body Ratio | None | **70%+** | No dojis or spinners |
| Range | None | **1.3x avg** | Significant price movement |
| Wicks | None | **<50% body** | Conviction in direction |
| CVD | None | **Required** | Trend confirmation |
| B-Tier Min | 10 pts | **20 pts** | Filter noise |
| Session | Optional | **Required** | Institutional hours |
---
### Signal Anatomy
When you see a signal like `A🎯`, here's what passed validation:
```
Signal: A🎯 LONG at 21,450.00
Validation Breakdown:
├── Points: 67.5 pts ✓ (A-Tier = 50-99)
├── Volume: 2.1x avg ✓ (≥1.5x required)
├── Delta: 68% Buyers ✓ (≥60% required)
├── Body: 78% of range ✓ (≥70% required)
├── Range: 1.6x avg ✓ (≥1.3x required)
├── Wick: Upper 15% ✓ (<50% of body)
├── CVD: ▲ Rising ✓ (Matches LONG)
└── Session: NY! ✓ (Active session)
RESULT: VALID SNIPER SIGNAL
```
---
### Table Legend
| Field | Reading | Color Meaning |
|-------|---------|---------------|
| **Pts** | Point movement | Gold/Green/Yellow = Tiered |
| **Tier** | S/A/B/X | Gold/Green/Yellow/White |
| **Vol** | Volume ratio | 🟢 ≥1.5x, 🔴 <1.5x |
| **Delta** | Buy/Sell % | 🟢 Buy dom, 🔴 Sell dom, ⚪ Neutral |
| **Body** | Body % of range | 🟢 ≥70%, 🔴 <70% |
| **CVD** | Cumulative delta | ▲ Bullish trend, ▼ Bearish trend |
| **Sess** | Session status | 🟡 Active, ⚫ Inactive |
---
### Trading Rules
#### Entry Rules
1. **Wait for signal** - Don't anticipate
2. **Verify table** - All conditions GREEN
3. **Enter at candle close** - Not during formation
4. **Position size by tier:**
- S-Tier: Full size
- A-Tier: 75% size
- B-Tier: 50% size
#### Exit Rules
| Tier | Target | Max Hold Time |
|------|--------|---------------|
| S | Let it run | 5-10 minutes |
| A | 1:1.5 R:R | 2-3 minutes |
| B | 1:1 R:R | 30-60 seconds |
#### Stop Loss
- Place at **opposite end of signal candle**
- For S-Tier: Allow 50% retracement
- For B-Tier: Tight stop, quick exit
---
### Session Priority
```
LONDON OPEN (3:00-5:00 AM ET)
════════════════════════════
• Best for: GC, European indices
• Characteristics: Stop hunts, reversals
• Look for: Sweeps of Asian session levels
NY OPEN (9:30-11:30 AM ET)
════════════════════════════
• Best for: NQ, ES, YM
• Characteristics: High volume, trends
• Look for: Continuation after 10 AM
```
---
### Common Mistakes to Avoid
| Mistake | Why It's Bad | Solution |
|---------|-------------|----------|
| Trading outside sessions | Low volume = fake moves | Wait for LDN! or NY! |
| Ignoring weak body | Dojis reverse | Body must be 70%+ |
| Fighting CVD | Swimming upstream | CVD must confirm |
| Oversizing B-Tier | Small moves = small size | 50% max on B |
| Chasing missed signals | FOMO loses money | Wait for next setup |
---
### Alert Setup
Configure these alerts in TradingView:
| Alert | Priority | Action |
|-------|----------|--------|
| 🎯 S-TIER LONG/SHORT | 🔴 High | Drop everything, check chart |
| 🎯 A-TIER LONG/SHORT | 🟠 Medium | Evaluate within 30 seconds |
| 🎯 B-TIER LONG/SHORT | 🟢 Low | Quick glance if available |
| LONDON/NY OPEN | 🔵 Info | Prepare for action |
---
### Pine Script v6 Notes
This indicator uses Pine Script v6 features:
- `request.security_lower_tf()` for intrabar delta
- Type inference for cleaner code
- Array operations for CVD calculation
**Minimum TradingView Plan:** Pro (for intrabar data)
---
## 🏆 Golden Rule
> **"If you have to convince yourself it's a good signal, it's not a good signal."**
The SNIPER edition is designed so that when a signal appears, there's nothing to think about. If all conditions are met, you trade. If any condition fails, you wait.
**Leave every trade with money. That's the goal.**
---
*© Alexandro Disla - Get Rich Aggressively v5 SNIPER*
*Pine Script v6 | TradingView*
Gould 10Y + 4Y patternDescription:
Overview This indicator is a comprehensive tool for macro-market analysis, designed to visualize historical market cycles on your chart. It combines Edson Gould’s famous Decennial Pattern with a Customizable 4-Year Cycle (e.g., 2002 base) to help traders identify long-term trends, potential market bottoms, and strong bullish years.
This tool is ideal for long-term investors and analysts looking for cyclical confluence on monthly or yearly timeframes (e.g., SPX, NDX).
Key Concepts
Edson Gould’s Decennial Pattern (10-Year Cycle)
Based on the theory that the stock market follows a psychological cycle determined by the last digit of the year.
5 (Strongest Bull): Historically the strongest performance years.
7 (Panic/Crash): Years often associated with market panic or crashes.
2 (Bottom/Buy): Years that often mark major lows.
Custom 4-Year Cycle (Target Year Strategy)
Identify recurring 4-year opportunities based on a user-defined base year.
Default Setting (Base 2002): Highlights years like 2002, 2006, 2010, 2014, 2018, 2022... which have historically been significant market bottoms or excellent buying opportunities.
When a "Target Year" arrives, the indicator highlights the background and displays a distinct Green "Target Year" Label.
Features
Real-time Dashboard: A table in the top-right corner displays the current year's status for both the 10-Year and 4-Year cycles, including a countdown to the next target year.
Dynamic Labels: Automatically marks every year on the chart with its Decennial status (e.g., "Strong Bull (5)", "Panic (7)").
Visual Highlighting:
Target Years: Distinct green background and labels for easy identification of the 4-year cycle.
Significant Decennial Years: Special small markers for years ending in 5 and 7.
Fully Customizable: You can change the base year for the 4-year cycle, toggle the dashboard, and adjust colors via the settings menu.
How to Use
Apply this indicator to high-timeframe charts (Weekly or Monthly) of major indices like S&P 500 or Nasdaq.
Look for confluence between the 10-Year Pattern (e.g., Year 6 - Bullish) and the 4-Year Cycle (Target Year) to confirm long-term bias.
Disclaimer This tool is for educational and research purposes only based on historical cycle theories. Past performance is not indicative of future results. Always manage your risk.
Smart RSI Composite [DotGain]Summary
Do you want to know the "True Direction" of the market without getting distracted by noise on a single timeframe?
The Smart RSI Composite simplifies market analysis by aggregating momentum data from 10 different timeframes (5m to 12M) into a single, easy-to-read Histogram.
Instead of looking at 10 separate charts or dots, this indicator calculates the Average RSI of the entire market structure. It answers one simple question: "Is the market predominantly Bullish or Bearish right now?"
⚙️ Core Components and Logic
This indicator works like a consensus mechanism for momentum:
Data Aggregation: It pulls RSI values from 10 customizable slots (Default: 5m, 15m, 1h, 4h, 1D, 1W, 1M, 3M, 6M, 12M). All slots are enabled by default.
Smart Averaging: It calculates the arithmetic mean of all active timeframes. If the 5m chart is bearish but the Monthly chart is bullish, this indicator balances them out to show you the net result.
Histogram Visualization: The result is plotted as a histogram centered around the 50-line (Neutral).
🚦 How to Read the Histogram
The histogram bars indicate the aggregate strength of the trend based on the Average RSI:
🟩 DARK GREEN (Strong Bullish)
Condition: Average RSI > 60.
Meaning: The market is in a strong uptrend across most timeframes. Momentum is firmly on the buyers' side.
🟢 LIGHT GREEN (Weak Bullish)
Condition: Average RSI between 50 and 60.
Meaning: Slight bullish bias. The bulls are in control, but momentum is not yet extreme.
🔴 LIGHT RED (Weak Bearish)
Condition: Average RSI between 40 and 50.
Meaning: Slight bearish bias. The bears are taking control.
🟥 DARK RED (Strong Bearish)
Condition: Average RSI < 40.
Meaning: The market is in a strong downtrend across most timeframes. Momentum is firmly on the sellers' side.
Visual Elements
Center Line (50): This acts as the Zero-Line. Above 50 is bullish, below 50 is bearish.
Zone Lines (30/70): Dashed lines indicate the traditional Overbought/Oversold levels applied to the aggregate average.
Key Benefit
The Smart RSI Composite acts as a powerful Macro Trend Filter .
Pro Tip: Never go long if the Histogram is Dark Red, and avoid shorting when it is Dark Green. Use this tool to align your trades with the overall market momentum.
Have fun :)
Disclaimer
This "Smart RSI Composite" indicator is provided for informational and educational purposes only. It does not, and should not be construed as, financial, investment, or trading advice.
The signals generated by this tool (both "Buy" and "Sell" indications) are the result of a specific set of algorithmic conditions. They are not a direct recommendation to buy or sell any asset. All trading and investing in financial markets involves substantial risk of loss. You can lose all of your invested capital.
Past performance is not indicative of future results. The signals generated may produce false or losing trades. The creator (© DotGain) assumes no liability for any financial losses or damages you may incur as a result of using this indicator.
You are solely responsible for your own trading and investment decisions. Always conduct your own research (DYOR) and consider your personal risk tolerance before making any trades.
Gold Correlation Dashboard + Alerts [XAUUSD Helper]這是一個專為黃金 (XAUUSD) 交易者設計的 **跨市分析儀表板 (Intermarket Correlation Dashboard)**。
這個指標的核心邏輯基於基本面與資金流向,協助交易者在 10 秒內快速判斷黃金的當前趨勢。它自動監控與黃金高度負相關的資產(美元、美債、日圓),並在圖表上直接顯示多空傾向。
### 📊 監控資產與邏輯
本腳本即時抓取以下關鍵市場數據,並分析其對黃金的影響:
1. **DXY (美元指數)**:黃金最大競爭對手。
- DXY 跌 📉 → 黃金偏多
- DXY 漲 📈 → 黃金偏空
2. **US10Y (10年期美債殖利率)**:黃金的持有成本指標。
- 殖利率跌 📉 → 黃金偏多
- 殖利率漲 📈 → 黃金偏空
3. **USDJPY (美日)** & **USDCHF (美瑞)**:避險資金流向參考。
- 匯率跌 (日圓/瑞郎強) 📉 → 黃金偏多
4. **VIX (恐慌指數)**:市場情緒指標。
- VIX 飆升 📈 → 黃金通常受惠 (避險屬性)
### 🚀 主要功能
1. **即時儀表板**:無需切換視窗,直接在黃金圖表角落查看所有關鍵資產的漲跌狀態。
2. **智能信號總結**:
- 系統會自動計算 **DXY + US10Y + USDJPY** 的綜合方向。
- 當這三大核心指標方向一致時,系統會顯示 **★ STRONG BUY (強力做多)** 或 **★ STRONG SELL (強力做空)**。
- 根據歷史經驗,當這三者同步時,趨勢準確度極高。
3. **警報系統 (Alerts)**:
- 內建警報功能,當出現「強力做多」或「強力做空」信號時,可設定推播通知,不錯過進場機會。
### ⚙️ 如何使用
- 將此指標加載到 XAUUSD (黃金) 的圖表上。
- 建議搭配 H1, H4 或 Daily 時框使用。
- **綠色背景** = 利多黃金 (Bullish)
- **紅色背景** = 利空黃金 (Bearish)
---
*免責聲明:此腳本僅供輔助分析與教育用途,不構成任何投資建議。交易請做好風險控管。*
**Gold (XAUUSD) Intermarket Correlation Dashboard & Alerts**
This indicator is designed for Gold traders who want to combine Technical Analysis with **Fundamental Intermarket Analysis**. It provides a real-time dashboard overlay that monitors key assets highly correlated with XAUUSD.
According to market logic, Gold is heavily influenced by the US Dollar (DXY), US Treasury Yields (US10Y), and global risk sentiment (USDJPY/VIX). This script helps you spot the trend in seconds.
### 📊 Monitored Assets & Logic
The dashboard tracks the real-time direction of the following assets and calculates their impact on Gold:
1. **DXY (US Dollar Index)**: Inverse correlation.
* DXY ↓ = Bullish for Gold
* DXY ↑ = Bearish for Gold
2. **US10Y (US 10-Year Treasury Yield)**: Inverse correlation (Cost of Holding).
* Yields ↓ = Bullish for Gold
* Yields ↑ = Bearish for Gold
3. **USDJPY & USDCHF**: Risk sentiment and currency flow.
* Pair ↓ (Strong JPY/CHF) = Bullish for Gold
4. **VIX (Volatility Index)**: Fear gauge.
* VIX ↑ = Generally Bullish for Gold (Safe Haven demand)
### 🚀 Key Features
**1. Real-Time Dashboard**
View the status of all 5 key assets directly on your XAUUSD chart without switching tabs. The dashboard indicates the "Gold Bias" (Bullish/Bearish) for each asset based on the current timeframe.
**2. Smart Bias Signal ("The 3-Storyline Confirmation")**
The script automatically analyzes the three most critical indicators: **DXY, US10Y, and USDJPY**.
* **★ STRONG BUY ★**: When DXY, US10Y, and USDJPY are **ALL Falling** simultaneously. (High probability setup).
* **★ STRONG SELL ★**: When DXY, US10Y, and USDJPY are **ALL Rising** simultaneously.
**3. Integrated Alerts**
Never miss a setup. You can set alerts to notify you immediately when the "Strong Buy" or "Strong Sell" conditions are met.
### ⚙️ How to Use
1. Add this script to your XAUUSD chart.
2. Works best on H1, H4, or Daily timeframes.
3. Look for the **Summary Row** at the bottom of the dashboard:
* **Green (Strong Buy)**: Look for Long entries.
* **Red (Strong Sell)**: Look for Short entries.
---
*Disclaimer: This script is for educational and informational purposes only. It does not constitute financial advice. Always manage your risk.*
Pair Cointegration & Static Beta Analyzer (v6)Pair Cointegration & Static Beta Analyzer (v6)
This indicator evaluates whether two instruments exhibit statistical properties consistent with cointegration and tradable mean reversion.
It uses long-term beta estimation, spread standardization, AR(1) dynamics, drift stability, tail distribution analysis, and a multi-factor scoring model.
1. Static Beta and Spread Construction
A long-horizon static beta is estimated using covariance and variance of log-returns.
This beta does not update on every bar and is used throughout the entire model.
Beta = Cov(r1, r2) / Var(r2)
Spread = PriceA - Beta * PriceB
This “frozen” beta provides structural stability and avoids rolling noise in spread construction.
2. Correlation Check
Log-price correlation ensures the instruments move together over time.
Correlation ≥ 0.85 is required before deeper cointegration diagnostics are considered meaningful.
3. Z-Score Normalization and Distribution Behavior
The spread is standardized:
Z = (Spread - MA(Spread)) / Std(Spread)
The following statistical properties are examined:
Z-Mean: Should be close to zero in a stationary process
Z-Variance: Measures amplitude of deviations
Tail Probability: Frequency of |Z| being larger than a threshold (e.g. 2)
These metrics reveal whether the spread behaves like a mean-reverting equilibrium.
4. Mean Drift Stability
A rolling mean of the spread is examined.
If the rolling mean drifts excessively, the spread may not represent a stable long-term equilibrium.
A normalized drift ratio is used:
Mean Drift Ratio = Range( RollingMean(Spread) ) / Std(Spread)
Low drift indicates stable long-run equilibrium behavior.
5. AR(1) Dynamics and Half-Life
An AR(1) model approximates mean reversion:
Spread(t) = Phi * Spread(t-1) + error
Mean reversion requires:
0 < Phi < 1
Half-life of reversion:
Half-life = -ln(2) / ln(Phi)
Valid half-life for 10-minute bars typically falls between 3 and 80 bars.
6. Composite Scoring Model (0–100)
A multi-factor weighted scoring system is applied:
Component Score
Correlation 0–20
Z-Mean 0–15
Z-Variance 0–10
Tail Probability 0–10
Mean Drift 0–15
AR(1) Phi 0–15
Half-Life 0–15
Score interpretation:
70–100: Strong Cointegration Quality
40–70: Moderate
0–40: Weak
A pair is classified as cointegrated when:
Total Score ≥ Threshold (default = 70)
7. Main Cointegration Panel
Displays:
Static beta
Log-price correlation
Z-Mean, Z-Variance, Tail Probability
Drift Ratio
AR(1) Phi and Half-life
Composite score
Overall cointegration assessment
8. Beta Hedge Position Sizing (Average-Price Based)
To provide a more stable hedge ratio, hedge sizing is computed using average prices, not instantaneous prices:
AvgPriceA = SMA(PriceA, N)
AvgPriceB = SMA(PriceB, N)
Required B per 1 A = Beta * (AvgPriceA / AvgPriceB)
Using averaged prices results in a smoother, more reliable hedge ratio, reducing noise from bar-to-bar volatility.
The panel displays:
Required B security for 1 A security (average)
This represents the beta-neutral quantity of B required to hedge one unit of A.
Overview of Classical Stationarity & Cointegration Methods
The principal econometric tools commonly used in assessing stationarity and cointegration include:
Augmented Dickey–Fuller (ADF) Test
Phillips–Perron (PP) Test
KPSS Test
Engle–Granger Cointegration Test
Phillips–Ouliaris Cointegration Test
Johansen Cointegration Test
Since these procedures rely on regression residuals, matrix operations, and distribution-based critical values that are not supported in TradingView Pine Script, a practical multi-criteria scoring approach is employed instead. This framework leverages metrics that are fully computable in Pine and offers an operational proxy for evaluating cointegration-like behavior under platform constraints.
References
Engle & Granger (1987), Co-integration and Error Correction
Poterba & Summers (1988), Mean Reversion in Stock Prices
Vidyamurthy (2004), Pairs Trading
Explanation structured with assistance from OpenAI’s ChatGPT
Regards.






















