Multi momentum indicatorScript contains couple momentum oscillators all in one pane
List of indicators:
RSI
Stochastic RSI
MACD
CCI
WaveTrend by LazyBear
MFI
Default active indicators are RSI and Stochastic RSI
Other indicators are disabled by default
RSI, StochRSI and MFI are modified to be bounded to range from 100 to -100. That's why overbought is 40 and 60 instead 70 and 80 while oversold -40 and -60 instead 30 and 20.
MACD and CCI as they are not bounded to 100 or 200 range, they are limited to 100 - -100 by default when activated (extras are simply hidden) but there is an option to show full indicator.
In settings there are couple more options like show crosses or show only histogram.
Default source for all indicators is close (except WaveTrend and MFI which use hlc3) and it could be changed but for all indicators.
There is an option for 2nd RSI which can be set for any timeframe and background calculated by Fibonacci levels.
ابحث في النصوص البرمجية عن "100万新币等于多少人民币"
Open Interest Rank-BuschiEnglish:
One part of the "Commitment of Traders-Report" is the Open Interest which is shown in this indicator (source: Quandl database).
Unlike my also published indicator "Open Interest-Buschi", the values here are not absolute but in a ranking system from 0 to 100 with individual time frames-
The following futures are included:
30-year Bonds (ZB)
10-year Notes ( ZN )
Soybeans (ZS)
Soybean Meal (ZM)
Soybean Oil (ZL)
Corn ( ZC )
Soft Red Winter Wheat (ZW)
Hard Red Winter Wheat (KE)
Lean Hogs (HE)
Live Cattle ( LE )
Gold ( GC )
Silver (SI)
Copper (HG)
Crude Oil ( CL )
Heating Oil (HO)
RBOB Gasoline ( RB )
Natural Gas ( NG )
Australian Dollar (A6)
British Pound (B6)
Canadian Dollar (D6)
Euro (E6)
Japanese Yen (J6)
Swiss Franc (S6)
Sugar ( SB )
Coffee (KC)
Cocoa ( CC )
Cotton ( CT )
S&P 500 E-Mini (ES)
Russell 2000 E-Mini (RTY)
Dow Jones Industrial Mini (YM)
Nasdaq 100 E-Mini (NQ)
Platin (PL)
Palladium (PA)
Aluminium (AUP)
Steel ( HRC )
Ethanol (AEZ)
Brent Crude Oil (J26)
Rice (ZR)
Oat (ZO)
Milk (DL)
Orange Juice (JO)
Lumber (LS)
Feeder Cattle (GF)
S&P 500 ( SP )
Dow Jones Industrial Average Index (DJIA)
New Zealand Dollar (N6)
Deutsch:
Ein Bestandteil des "Commitment of Traders-Report" ist das Open Interest, das in diesem Indikator dargestellt wird (Quelle: Quandl Datenbank).
Anders als in meinem ebenfalls veröffentlichten Indikator "Open Interest-Buschi" werden hier nicht die absoluten Werte dargestellt, sondern in einem Ranking-System von 0 bis 100 mit individuellen Zeitrahmen.
Folgende Futures sind enthalten:
30-jährige US-Staatsanleihen (ZB)
10-jährige US-Staatsanleihen ( ZN )
Sojabohnen(ZS)
Sojabohnen-Mehl (ZM)
Sojabohnen-Öl (ZL)
Mais( ZC )
Soft Red Winter-Weizen (ZW)
Hard Red Winter-Weizen (KE)
Magerschweine (HE)
Lebendrinder ( LE )
Gold ( GC )
Silber (SI)
Kupfer(HG)
Rohöl ( CL )
Heizöl (HO)
Benzin ( RB )
Erdgas ( NG )
Australischer Dollar (A6)
Britisches Pfund (B6)
Kanadischer Dollar (D6)
Euro (E6)
Japanischer Yen (J6)
Schweizer Franken (S6)
Zucker ( SB )
Kaffee (KC)
Kakao ( CC )
Baumwolle ( CT )
S&P 500 E-Mini (ES)
Russell 2000 E-Mini (RTY)
Dow Jones Industrial Mini (YM)
Nasdaq 100 E-Mini (NQ)
Platin (PL)
Palladium (PA)
Aluminium (AUP)
Stahl ( HRC )
Ethanol (AEZ)
Brent Rohöl (J26)
Reis (ZR)
Hafer (ZO)
Milch (DL)
Orangensaft (JO)
Holz (LS)
Mastrinder (GF)
S&P 500 ( SP )
Dow Jones Industrial Average Index (DJIA)
Neuseeland Dollar (N6)
Well Rounded Moving AverageIntroduction
There are tons of filters, way to many, and some of them are redundant in the sense they produce the same results as others. The task to find an optimal filter is still a big challenge among technical analysis and engineering, a good filter is the Kalman filter who is one of the more precise filters out there. The optimal filter theorem state that : The optimal estimator has the form of a linear observer , this in short mean that an optimal filter must use measurements of the inputs and outputs, and this is what does the Kalman filter. I have tried myself to Kalman filters with more or less success as well as understanding optimality by studying Linear–quadratic–Gaussian control, i failed to get a complete understanding of those subjects but today i present a moving average filter (WRMA) constructed with all the knowledge i have in control theory and who aim to provide a very well response to market price, this mean low lag for fast decision timing and low overshoots for better precision.
Construction
An good filter must use information about its output, this is what exponential smoothing is about, simple exponential smoothing (EMA) is close to a simple moving average and can be defined as :
output = output(1) + α(input - output(1))
where α (alpha) is a smoothing constant, typically equal to 2/(Period+1) for the EMA.
This approach can be further developed by introducing more smoothing constants and output control (See double/triple exponential smoothing - alpha-beta filter) .
The moving average i propose will use only one smoothing constant, and is described as follow :
a = nz(a ) + alpha*nz(A )
b = nz(b ) + alpha*nz(B )
y = ema(a + b,p1)
A = src - y
B = src - ema(y,p2)
The filter is divided into two components a and b (more terms can add more control/effects if chosen well) , a adjust itself to the output error and is responsive while b is independent of the output and is mainly smoother, adding those components together create an output y , A is the output error and B is the error of an exponential moving average.
Comparison
There are a lot of low-lag filters out there, but the overshoots they induce in order to reduce lag is not a great effect. The first comparison is with a least square moving average, a moving average who fit a line in a price window of period length .
Lsma in blue and WRMA in red with both length = 100 . The lsma is a bit smoother but induce terrible overshoots
ZLMA in blue and WRMA in red with both length = 100 . The lag difference between each moving average is really low while VWRMA is way more precise.
Hull MA in blue and WRMA in red with both length = 100 . The Hull MA have similar overshoots than the LSMA.
Reduced overshoots moving average (ROMA) in blue and WRMA in red with both length = 100 . ROMA is an indicator i have made to reduce the overshoots of a LSMA, but at the end WRMA still reduce way more the overshoots while being smoother and having similar lag.
I have added a smoother version, just activate the extra smooth option in the indicator settings window. Here the result with length = 200 :
This result is a little bit similar to a 2 order Butterworth filter. Our filter have more overshoots which in this case could be useful to reduce the error with edges since other low pass filters tend to smooth their amplitude thus reducing edge estimation precision.
Conclusions
I have presented a well rounded filter in term of smoothness/stability and reactivity. Try to add more terms to have different results, you could maybe end up with interesting results, if its the case share them with the community :)
As for control theory i have seen neural networks integrated to Kalman flters which leaded to great accuracy, AI is everywhere and promise to be a game a changer in real time data smoothing. So i asked myself if it was possible for a neural networks to develop pinescript indicators, if yes then i could be replaced by AI ? Brrr how frightening.
Thanks for reading :)
Quadruple Kaufman Adaptive Moving AverageFour Kaufman Adaptive Moving Averages in one script. Useful for identifying trends and setting points to add to positions / exit trades. KAMA's are great for keeping you in trending markets and avoiding sideways chops and ranges. Try them out by tweaking the fast/slow ma's and lengths to get the right set for your charts that removes the thinking about whether to be long or short and when to add to positions.
A suggested trading strategy is to tweak the ma's (often you'll want larger values) until they span the price action well on past trends. Then each time price action closes and crosses one of your KAMA lines is an opportunity to add to your position. Once all lines are cleared and you've loaded up your position, hopefully your average price of entry falls short of the highest KAMA line's value. Once this happens you don't need to get out the trade until such time as a price close crosses again that largest KAMA line. For eager profit takers, close positions once any KAMA line is crossed once you're successfully loaded up on a direction.
I use this script with a renko chart and values -> 26 length 6 fast ma 100 slow ma, 26 8 100, 26 10 100, 26 12 100 and it's good to see these moving averages, unlike regular moving averages, bend around choppy action that come when trends pause, keeping me successfully in winning trades. Give it a try.
cci based potential buy/sell signal
Commodity Channel Index Potential Buy Signal
Commodity Channel Index (CCI) is below oversold line (-200).
CCI then crosses above -100 line
Commodity Channel Index Potential Sell Signal
Commodity Channel Index (CCI) is above overbought line (+200).
CCI then crosses below +100 line.
Türkçe Açıklama;
CCI Potansiyel Al Sinyali
CCI indikatörünün -200 altında bulunduğu bölgeler aşırı satış bölgeleri,
Sonrasında aşağıdan gelerek -100 çizgisinin üzerine çıktığı yada çıkmak üzere olduğu noktalar al sinyali
CCI Potansiyel Satl Sinyali
CCI indikatörünün +200 üzerinde bulunduğu bölgeler aşırı alım bölgeleri,
Sonrasında yukarıdan inerek +100 çizgisinin altına indiği yada inmek üzere olduğu noktalar sat sinyali
Not: Tek başına kullanılması son derece hatalı sonuçlar verebilir. Sadece olabilirlik potansiyeli taşımaktadır.
Aroon Single Line This indicator converts double lined Aroon indicator into a single line oscillator.
It is simply obtained by subtracting Aroon down from Aroon Up.
*If Oscillator points 100 value, it means there is a Strong Uptrend.
*If Oscillator points values between 100 and 40, it means there is an uptrend.
*If Oscillator points values between 20 and -20, it means no trend, it is sideways.But, when it is sideways; generally, oscillator makes FLAT LINES
between 20 and -20 values. 0 value is pointed out when the trend is downward as well, which means aroon up=aroon down.
*If Oscillator points values between -40 and -100, it means there is a downtrend.
*If Oscillator points -100 value, it means there is a Strong downtrend.
(20, 40) and (-20, -40) intervals are not mentioned, because; generally these are transition values and hard to comment, it will be more certain to
wait till values are between or at the reference values given.
CCI 0Trend Strategy (by Marcoweb) v1.0Hi guys,
I am trying to create a strategy that consists in the crossover/under of the 0 line of the Commodity Channel Index . Every time the price crosses over the 0 line in the CCI the strategy has to long getting short on the cross under and viceversa.
I have published here another script strategy (consists in a crossover/under of the Overbought/Oversold levels of the CCI) that works so I could have the opportunity to share with you the main idea that as per now is mistaken:
//@version=2
strategy(title="CCI 0Trend Strategy (by Marcoweb) v1.0", shorttitle="CCI_0T_Stra_v1.0", overlay=true)
///////////// CCI
length = input(20, minval=1)
src = input(close, title="Source")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
plot(cci, color=black)
band1 = hline(100, color=blue, linestyle=solid)
band0 = hline(-100, color=red, linestyle=solid)
bandl = hline(0, color=orange, linestyle=solid)
fill(band1, band0, color=olive)
p1 = plot(band0, color=red,title="-100")
p2 = plot(band1, color=blue,title="100")
p3 = plot(bandl, color=orange,title="0")
///////////// CCI 0Trend Strategy (by Marcoweb) v1.0 Strategy
if (not na(cci))
if (crossover(cci, bandl)
strategy.entry("CCI_L", strategy.long, stop=bandl, oca_type=strategy.oca.cancel, comment="CCI_L")
else
strategy.cancel(id="CCI_L")
if (crossunder(cci, bandl)
strategy.entry("CCI_S", strategy.short, stop=bandl, oca_type=strategy.oca.cancel, comment="CCI_S")
else
strategy.cancel(id="CCI_S")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)
With this coding I get the error : line 24 (if (crossover(cci, bandl): mismatched input '|E|' expecting RPAR
Hope you like the idea ;)
How to automate this strategy for free using a chrome extension.Hey everyone,
Recently we developed a chrome extension for automating TradingView strategies using the alerts they provide. Initially we were charging a monthly fee for the extension, but we have now decided to make it FREE for everyone. So to display the power of automating strategies via TradingView, we figured we would also provide a profitable strategy along with the custom alert script and commands for the alerts so you can easily cut and paste to begin trading for profit while you sleep.
Step 1:
You are going to need to download the Chrome Extension called AutoView. You can get the extension for free by following this link: bit.ly ( I had to shorten the link as it contains Google and TV automatically converts it to a symbol)
Step 2: Go to your chrome extension page, and under the new extension you'll see a "settings" button. In the setting you will have to connect and give permission to the exchange 1broker allowing the extension to place your orders automatically when triggered by an alert.
Step 3: Setup the strategy and custom script for the alerts in TradingView. The attached script is the strategy, you can play with the settings yourself to try and get better numbers/performance if you please.
This following script is for the custom alerts:
//@version=2
study("4All-Alert", shorttitle="Alerts")
src = close
len = input(4, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsin = input(5)
sn = 100 - rsin
ln = 0 + rsin
short = crossover(rsi, sn) ? 1 : 0
long = crossunder(rsi, ln) ? 1 : 0
plot(long, "Long", color=green)
plot(short, "Short", color=red)
Now that you have the extension installed, the custom strategy and alert scripts in place, you simply need to create the alerts.
To get the alerts to communicate with the extension properly, there is a specific syntax that you will need to put in the message of the alert. You can find more details about the syntax here : gist.github.com
For this specific strategy, I use the Alerts script, long/short greater than 0.9 on close.
In the message for a long place this as your message:
Long
c=order b=short
c=position b=short l=200 t=market
b=long q=0.01 l=200 t=market tp=13 sl=25
and for the short...
Short
c=order b=long
c=position b=long l=200 t=market
b=short q=0.01 l=200 t=market tp=13 sl=25
If you'll notice in my above messages, compared to the strategy my tp and sl (take profit and stop loss) vary by a few pips. This is to cover the market opens and spread on 1broker. You can change the tp and sl in the strategy to the above and see that the overall profit will not vary much at all.
I hope this all makes sense and it is enough to not only make some people money, but to show the power of coming up with your own strategy and automating it using TradingView alerts and the free Chrome Extension AutoView.
ps. I highly recommend upgrading your TradingView account so you have access to back testing and multiple alerts.
There is really no reason you won't cover the cost and then some on a monthly basis using the tools provided.
Best of luck and happy trading.
Note: The extension currently allows for automation on 2 exchanges; 1broker and Okcoin. If you do not have accounts there, we'd appreciate you signing up using our referral links.
www.okcoin.com
1broker.com
Indicator: Trend Trigger FactorIntroduced by M.H.Pee, Trend Trigger Factor is designed to keep the trader trading with the trend.
System rules according to the developer:
* If the 15-day TTF is above 100 (indicating an uptrend), you will want to be in long positions.
* If the 15-day TTF is below -100, you will want to be short.
* If it is between -100 and 100, you should remain with the current position.
More info:
Original Article by Mr.Pee: drive.google.com
MA Strength Indicator EnhancedThe "MA Strength" is an indicator that measures market trend strength or (in the case of forex pairs) the relative strength of individual currencies based on up to five different moving averages (MA). It offers multiple calculation methods, such as simple summation, normalized value, or measuring ATR/percentage distance from the price. The results are summarized in a clear table, and it provides customizable alerts for trend changes or shifts in currency strength. The high level of configurability (e.g., MA weighting, "all MA alignment" requirement) allows for fine-tuning the strategy.
💬 Interpreting the Table (Top Rows)
The top row of the table shows the final output of the indicator. This changes according to the set "Table Mode".
Trend Mode: The top row shows the final, aggregated trend status (e.g., "BULLISH", "NEUTRAL") and the corresponding "Trend Value". This is the value the indicator compares to its thresholds.
Forex Mode: (Only on 6-character pairs): The top two rows show the strength of the Base currency and the Quote currency separately.
Calculation of the top rows:
The indicator calculates the individual score of all active MAs (according to the chosen method).
Trend Value: This is the final value calculated from the scores.
If "Enable Averaging" is ON, this will be the average of the scores (e.g., MA1 score is 5.0, MA2 score is 7.0 -> Trend Value is 6.0).
If averaging is OFF, this will be the sum of the scores (e.g., 5.0 + 7.0 = 12.0).
Forex Calculation: "Forex Mode" uses this "Trend Value". If the Trend Value is +6.0 (on an EURUSD pair):
The Base currency (EUR) value will be +6.0.
The Quote currency (USD) value will be -6.0.
The indicator compares these values to the thresholds to determine the "STRONG" status for EUR and "WEAK" status for USD.
📊 Calculation Methods
The indicator can calculate trend strength using 5 methods. The final "Trend Value" is derived from the results of these calculations.
Sum:
Description: Simply adds up the individual scores of all enabled moving averages (MA).
Formula: If the price is above an MA, it gets the "Score Above" value (e.g., +2.0); if below, it gets the "Score Below" value (e.g., -2.0).
Example: Result = (MA1 score) + (MA2 score) + ...
Normalized:
Description: Takes the sum obtained by the "Sum" method and converts it to a scale between -100% (maximally bearish) and +100% (maximally bullish). It takes into account the maximum possible positive and negative scores.
Formula: Result = (Total Score / Max Possible Score) * 100
Percentage Distance:
Description: This method also considers distance. The further the price is from the MA in percentage terms, the higher the score.
Formula: MA Score = (|Close Price - MA| / MA * 100) * Weight (The "Weight" is the "Score Above/Below" value set in settings).
ATR Distance:
Description: Similar to percentage distance, but normalizes the distance using volatility via ATR (Average True Range).
Formula: MA Score = (|Close Price - MA| / ATR) * Weight
Candle Count:
Description: Counts how many consecutive candles have been above or below the MA. It multiplies this number by the set weight.
Formula: MA Score = (Number of consecutive candles) * Weight
⚙️ Settings Options
Moving Averages (MA 1-5)
For each moving average, you can set:
Enable MA: Turn the specific MA on or off.
Type: The type of moving average (SMA, EMA, WMA, etc.).
Period: The period of the MA (e.g., 50, 200).
Score Above / Below: The most important setting. This defines the "weight" of the MA in the calculation. In "Sum" mode, this is a fixed score; in distance-based modes, this is a multiplier (weight). It is advisable to write a positive number for "Score Above" and a negative number for "Score Below".
Calculation Settings
Enable Averaging: If this is on, the indicator shows the average of the active MA scores, not the total score.
Exception: This function is not available in "Normalized" mode.
Require All MA Alignment: This is a strict filter. If enabled, the indicator only gives a "BULLISH" (or "STRONG") signal if the price is above all enabled moving averages. Similarly, a "BEARISH" signal only occurs if the price is below all moving averages. If the price is on the opposite side of even just one MA (e.g., above 4, below 1), the status becomes "NEUTRAL", regardless of the scores.
Strength / Trend Thresholds
Enable Extra Levels: If active, statuses are expanded: "EXT. BULLISH" / "EXT. BEARISH" (Trend mode) or "EXT. STRONG" / "EXT. WEAK" (Forex mode). This indicates stronger, overbought/oversold conditions.
Threshold setting: The thresholds (e.g., "Strong Above - ATR") determine when the calculated value counts as a "STRONG" or "WEAK" status.
🔢 Setting Thresholds via Calculation
If "Enable Averaging" is OFF, the "Trend Value" shown in the table will be the sum of the individual MA scores. Therefore, we must define the threshold by adding up the minimum expected performance from each moving average. This allows us to set different expectations for short, medium, and long-term averages.
Step 1: Determine MA weights
In our example, we use 3 active MAs with the following weights (Score Above values):
MA1 (Short): Weight = +2
MA2 (Medium): Weight = +3
MA3 (Long): Weight = +4
Step 2: Determine the minimum expected distance
Define a minimum distance expected from each MA to trigger a "Strong" signal.
Step 3: Calculate target scores and the final threshold
Note: If "Enable Averaging" is ON, the resulting value (sum of target scores) must be
averaged to get the final threshold.
Example 1: ATR Distance
-Goal: I want a "Strong" signal if the price is...
...at least 1.0 ATR above MA1 (Short),
...at least 1.5 ATR above MA2 (Medium),
...and at least 2.0 ATR above MA3 (Long).
-Calculation (Expected Distance * Weight):
MA1 Target Score: 1.0 * 2 = 2.0
MA2 Target Score: 1.5 * 3 = 4.5
MA3 Target Score: 2.0 * 4 = 8.0
-Final Threshold (Sum of Target Scores): 2.0 + 4.5 + 8.0 = 14.5
-Setting: Set "Strong Above - ATR" threshold to 14.5.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold: 4.8 (14.5 / 3 = 4.83).
Example 2: Percentage Distance
-Goal: I want a "Strong" signal if the price is...
...at least 0.5% above MA1,
...at least 1.0% above MA2,
...and at least 1.5% above MA3.
-Calculation (Expected Distance * Weight):
MA1 Target Score: 0.5 * 2.0 = 1.0
MA2 Target Score: 1.0 * 3.0 = 3.0
MA3 Target Score: 1.5 * 4.0 = 6.0
-Final Threshold (Sum): 1.0 + 3.0 + 6.0 = 10.0
-Setting: Set "Strong Above - Percentage" threshold to 10.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 3: Candle Count
-Goal: I want a "Strong" signal if...
...at least 3 consecutive candles are above MA1,
...at least 5 consecutive candles are above MA2,
...and at least 10 consecutive candles are above MA3.
-Calculation (Expected Candle Count * Weight):
MA1 Target Score: 3 * 2.0 = 6.0
MA2 Target Score: 5 * 3.0 = 15.0
MA3 Target Score: 10 * 4.0 = 40.0
-Final Threshold (Sum): 6.0 + 15.0 + 40.0 = 61.0
-Setting: Set "Strong Above - Candle" threshold to 61.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 4: Sum
In this mode, distance does not matter, only whether the price is above or below the MA.
-Goal: "Strong" signal if the price is above the long-term averages, but can be below the short-term (MA1).
MA1 (Short): Can be below (Weight: -2.0)
MA2 (Medium): Must be above (Weight: +3.0)
MA3 (Long): Must be above (Weight: +4.0)
-Calculation: -2.0 + 3.0 + 4.0 = 5.0
-Setting: Set "Strong Above - Sum" threshold to 5.0.
If it must be above all three moving averages, the threshold would be 2.0 + 3.0 + 4.0 = 9.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 5: Normalized
The basic logic is similar to the "Sum" method.
-Goal: "Strong" signal if price is above MA2 and MA3, but potentially below MA1.
-Calculation: Target Sum: 5.0. Max Possible Score (above all): 9.0.
-Threshold: (5.0 / 9.0) * 100 = 55.5
In this calculation method, averaging cannot be set.
The Usage of the "ATR %" Row
The "ATR %" row shows the percentage movement of an average candle.
How to use this with "Percentage Distance" mode:
This number gives a baseline. It helps decide if the "Percentage Distance" threshold is realistic.
Example: You see the "ATR %" value is hovering around 1.2%. This means a "normal" candle moves about 1.2%.
If you set the Percentage threshold to 0.5%, it is too low. The indicator will constantly give a "Strong" signal because even average movement (noise) exceeds the threshold.
Correct Usage: If "normal" movement is 1.2%, then a "strong" movement (trend) needs to be significantly larger. For example, set the threshold to double the ATR %: 2.4 (2 * 1.2). Thus, you only get a "Strong" signal if the movement is twice the average volatility.
Supplementary Information
Rounding Differences:
The numbers displayed in the table and the precision of calculations in the background differ.
Table Display: The indicator rounds numbers to two decimal places in the table. So, if the value is 0.996, the table shows 1.00 (rounded up).
Internal Calculation: The background calculation uses much higher precision. When determining status (STRONG vs NEUTRAL), the program compares the precise, unrounded value to the threshold.
Result: Due to rounding, it may happen that if the threshold is 1.00 and the table shows 1.00, the status flickers between Strong and Neutral. If this is bothersome, it is advisable to set a slightly lower threshold (e.g., 0.98).
🔔 Alert Settings
The indicator can send alerts when the status changes.
Alert Method:
Trend: Alerts when the main trend status changes (e.g., from "NEUTRAL" to "BULLISH"). You can specify which direction to alert for (e.g., only "BULLISH").
Forex: Works only on 6-character forex pairs. You can set separate alerts for the Base or Quote currency.
Forex Strength Level: You can specify at which status level to alert (e.g., "WEAK" or "EXT. STRONG").
📈 Trading Tips
Trend Confirmation: Use the "BULLISH" / "BEARISH" status to confirm your existing strategy (e.g., breakouts, bounces off support).
Forex Pairing: In Forex mode, look for pairs where the Base currency is "STRONG" and the Quote currency is "WEAK" (or "EXT. STRONG" / "EXT. WEAK") for a long position.
Short Position: Reverse the above (Base: WEAK, Quote: STRONG).
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
Penny Stock Golden Cross ScannerPenny Stock Golden Cross Scanner
Scan and track potential breakout opportunities in penny stocks with this Golden Cross Scanner. Designed for traders looking at low-priced, high-volume stocks, this indicator identifies bullish setups using 50, 100, and 200-period moving averages.
Key Features:
✅ Monitors up to 10 user-defined tickers.
✅ Filters penny stocks by maximum price and minimum volume.
✅ Detects proximity to 100 MA and 200 MA for potential golden cross or support/resistance signals.
✅ Assigns signal tiers for each stock (Tier 1 🔥, Tier 2 ⚡, Tier 3 📊) based on price action relative to moving averages.
✅ Customizable scanner table with position options on the chart.
✅ Real-time plotting of 50, 100, and 200 moving averages for context.
✅ Option to display only stocks currently generating signals.
Adaptive Trend Navigator [ATH Filter & Risk Engine]Description:
This strategy implements a systematic Trend Following approach designed to capture major moves while actively protecting capital during severe bear markets. It combines a classic Moving Average "Fan" logic with two advanced risk management layers: a 4-Stage Dynamic Stop Loss and a macro-economic "Circuit Breaker" filter.
Core Concepts:
1. Trend Identification (Entry Logic) The script uses a cascade of Simple Moving Averages (SMA 25, 50, 100, 200) to identify the maturity of a trend.
Entries are triggered by specific crossovers (e.g., SMA 25 crossing SMA 50) or by breaking above the previous trade's high ("High-Water Mark" Re-Entry).
2. The "Circuit Breaker" (Crash Protection) To prevent trading during historical market collapses (like 2000 or 2008), the strategy monitors the Nasdaq 100 (QQQ) as a global benchmark:
Normal Regime: If the market is within 20% of its All-Time High, the strategy operates normally.
Crisis Regime: If the QQQ falls more than 20% from its ATH, the "Circuit Breaker" activates (Visualized by a Red Background).
Recovery Rule: In a Crisis Regime, new long positions are blocked unless the QQQ reclaims its SMA 200. This filters out "bull traps" in secular bear markets.
3. 4-Stage Risk Engine (Exit Logic) Once in a trade, the risk management adapts to the position's performance:
Stage 1: Fixed initial Stop Loss (default 10%) for breathing room.
Stage 2: Moves to Break-Even area once the price rises 12%.
Stage 3: Tightens to a trailing stop (8%) after 25% profit.
Stage 4: Maximizes gains with a tight trailing stop (5%) during parabolic moves (>40% profit).
Visual Guide:
SMAs: 25/50/100/200 period lines for trend visualization.
Red Background: Indicates the "Crisis Regime" where trading is halted due to broad market weakness.
Blue Background: Indicates a "Recovery Phase" (Crisis is active, but market is above SMA 200).
Red Line: Shows the dynamic Stop Loss level for active positions.
Settings: All parameters (SMA lengths, Drawdown threshold, Risk Stages) are fully customizable. The QQQ benchmark ticker can also be changed to SPY or other indices depending on the asset class traded.
Dynamic SMA Trend System [Multi-Stage Risk Engine]Description:
This script implements a robust Trend Following strategy based on a multiple Simple Moving Average (SMA) crossover logic (25, 50, 100, 200). What sets this strategy apart is its advanced "4-Stage Risk Engine" and a smart "High-Water Mark" Re-Entry system, designed to protect profits during parabolic moves while filtering out chop during sideways markets.
How it works:
The strategy operates on three core pillars: Trend Identification, Dynamic Risk Management, and Momentum Re-Entry.
1. Entry Logic (Trend Identification) The script looks for crossovers at different trend stages to capture early reversals as well as established trends:
Short-Term: SMA 25 crosses over SMA 50.
Mid-Term: SMA 50 crosses over SMA 100.
Macro-Trend: SMA 100 crosses over SMA 200.
2. The 4-Stage Risk Engine (Dynamic Stop Loss) Instead of a static Stop Loss, this strategy uses a progressive system that adapts as the price increases:
Stage 1 (Protection): Starts with a fixed Stop Loss (default -10%) to give the trade room to breathe.
Stage 2 (Break-Even): Once the price rises by 12%, the Stop is moved to trailing mode (10% distance), effectively securing a near break-even state.
Stage 3 (Profit Locking): At 25% profit, the trailing stop tightens to 8% to lock in gains.
Stage 4 (Parabolic Mode): At 40% profit, the trailing stop tightens further to 5% to capture the peak of parabolic moves.
3. Dual Exit Mechanism The strategy exits a position if EITHER of the following happens:
Stop Loss Hit: Price falls below the dynamic red line (Risk Engine).
Dead Cross: The trend structure breaks (e.g., SMA 25 crosses under SMA 50), signaling a momentum loss even if the Stop Loss wasn't hit.
4. "High-Water Mark" Re-Entry To avoid "whipsaws" in choppy markets, the script does not re-enter immediately after a stop-out.
It marks the highest price of the previous trade (Green Dotted Line).
A Re-Entry only occurs if the price breaks above this previous high (showing renewed strength) AND the long-term trend is bullish (Price > SMA 200).
Visuals:
SMAs: 25 (Yellow), 50 (Orange), 100 (Blue), 200 (White).
Red Line: Visualizes the dynamic Stop Loss level.
Green Dots: Visualizes the target price needed for a valid re-entry.
Settings: All parameters (SMA lengths, Stop Loss percentages, Staging triggers) are fully customizable in the settings menu to fit different assets (Crypto, Stocks, Forex) and timeframes.
RSI Forecast Colorful [DiFlip]RSI Forecast Colorful
Introducing one of the most complete RSI indicators available — a highly customizable analytical tool that integrates advanced prediction capabilities. RSI Forecast Colorful is an evolution of the classic RSI, designed to anticipate potential future RSI movements using linear regression. Instead of simply reacting to historical data, this indicator provides a statistical projection of the RSI’s future behavior, offering a forward-looking view of market conditions.
⯁ Real-Time RSI Forecasting
For the first time, a public RSI indicator integrates linear regression (least squares method) to forecast the RSI’s future behavior. This innovative approach allows traders to anticipate market movements based on historical trends. By applying Linear Regression to the RSI, the indicator displays a projected trendline n periods ahead, helping traders make more informed buy or sell decisions.
⯁ Highly Customizable
The indicator is fully adaptable to any trading style. Dozens of parameters can be optimized to match your system. All 28 long and short entry conditions are selectable and configurable, allowing the construction of quantitative, statistical, and automated trading models. Full control over signals ensures precise alignment with your strategy.
⯁ Innovative and Science-Based
This is the first public RSI indicator to apply least-squares predictive modeling to RSI calculations. Technically, it incorporates machine-learning logic into a classic indicator. Using Linear Regression embeds strong statistical foundations into RSI forecasting, making this tool especially valuable for traders seeking quantitative and analytical advantages.
⯁ Scientific Foundation: Linear Regression
Linear regression is a fundamental statistical method that models the relationship between a dependent variable y and one or more independent variables x. The general formula for simple linear regression is:
y = β₀ + β₁x + ε
where:
y = predicted variable (e.g., future RSI value)
x = explanatory variable (e.g., bar index or time)
β₀ = intercept (value of y when x = 0)
β₁ = slope (rate of change of y relative to x)
ε = random error term
The goal is to estimate β₀ and β₁ by minimizing the sum of squared errors. This is achieved using the least squares method, ensuring the best linear fit to historical data. Once the coefficients are calculated, the model extends the regression line forward, generating the RSI projection based on recent trends.
⯁ Least Squares Estimation
To minimize the error between predicted and observed values, we use the formulas:
β₁ = Σ((xᵢ - x̄)(yᵢ - ȳ)) / Σ((xᵢ - x̄)²)
β₀ = ȳ - β₁x̄
Σ denotes summation; x̄ and ȳ are the means of x and y; and i ranges from 1 to n (number of observations). These equations produce the best linear unbiased estimator under the Gauss–Markov assumptions — constant variance (homoscedasticity) and a linear relationship between variables.
⯁ Linear Regression in Machine Learning
Linear regression is a foundational component of supervised learning. Its simplicity and precision in numerical prediction make it essential in AI, predictive algorithms, and time-series forecasting. Applying regression to RSI is akin to embedding artificial intelligence inside a classic indicator, adding a new analytical dimension.
⯁ Visual Interpretation
Imagine a time series of RSI values like this:
Time →
RSI →
The regression line smooths these historical values and projects itself n periods forward, creating a predictive trajectory. This projected RSI line can cross the actual RSI, generating sophisticated entry and exit signals. In summary, the RSI Forecast Colorful indicator provides both the current RSI and the forecasted RSI, allowing comparison between past and future trend behavior.
⯁ Summary of Scientific Concepts Used
Linear Regression: Models relationships between variables using a straight line.
Least Squares: Minimizes squared prediction errors for optimal fit.
Time-Series Forecasting: Predicts future values from historical patterns.
Supervised Learning: Predictive modeling based on known output values.
Statistical Smoothing: Reduces noise to highlight underlying trends.
⯁ Why This Indicator Is Revolutionary
Scientifically grounded: Built on statistical and mathematical theory.
First of its kind: The first public RSI with least-squares predictive modeling.
Intelligent: Incorporates machine-learning logic into RSI interpretation.
Forward-looking: Generates predictive, not just reactive, signals.
Customizable: Exceptionally flexible for any strategic framework.
⯁ Conclusion
By combining RSI and linear regression, the RSI Forecast Colorful allows traders to predict market momentum rather than simply follow it. It's not just another indicator: it's a scientific advancement in technical analysis technology. Offering 28 configurable entry conditions and advanced signals, this open-source indicator paves the way for innovative quantitative systems.
⯁ Example of simple linear regression with one independent variable
This example demonstrates how a basic linear regression works when there is only one independent variable influencing the dependent variable. This type of model is used to identify a direct relationship between two variables.
⯁ In linear regression, observations (red) are considered the result of random deviations (green) from an underlying relationship (blue) between a dependent variable (y) and an independent variable (x)
This concept illustrates that sampled data points rarely align perfectly with the true trend line. Instead, each observed point represents the combination of the true underlying relationship and a random error component.
⯁ Visualizing heteroscedasticity in a scatterplot with 100 random fitted values using Matlab
Heteroscedasticity occurs when the variance of the errors is not constant across the range of fitted values. This visualization highlights how the spread of data can change unpredictably, which is an important factor in evaluating the validity of regression models.
⯁ The datasets in Anscombe’s quartet were designed to have nearly the same linear regression line (as well as nearly identical means, standard deviations, and correlations) but look very different when plotted
This classic example shows that summary statistics alone can be misleading. Even with identical numerical metrics, the datasets display completely different patterns, emphasizing the importance of visual inspection when interpreting a model.
⯁ Result of fitting a set of data points with a quadratic function
This example illustrates how a second-degree polynomial model can better fit certain datasets that do not follow a linear trend. The resulting curve reflects the true shape of the data more accurately than a straight line.
⯁ What Is RSI?
The RSI (Relative Strength Index) is a technical indicator developed by J. Welles Wilder. It measures the velocity and magnitude of recent price movements to identify overbought and oversold conditions. The RSI ranges from 0 to 100 and is commonly used to identify potential reversals and evaluate trend strength.
⯁ How RSI Works
RSI is calculated from average gains and losses over a set period (commonly 14 bars) and plotted on a 0–100 scale. It consists of three key zones:
Overbought: RSI above 70 may signal an overbought market.
Oversold: RSI below 30 may signal an oversold market.
Neutral Zone: RSI between 30 and 70, indicating no extreme condition.
These zones help identify potential price reversals and confirm trend strength.
⯁ Entry Conditions
All conditions below are fully customizable and allow detailed control over entry signal creation.
📈 BUY
🧲 Signal Validity: Signal remains valid for X bars.
🧲 Signal Logic: Configurable using AND or OR.
🧲 RSI > Upper
🧲 RSI < Upper
🧲 RSI > Lower
🧲 RSI < Lower
🧲 RSI > Middle
🧲 RSI < Middle
🧲 RSI > MA
🧲 RSI < MA
🧲 MA > Upper
🧲 MA < Upper
🧲 MA > Lower
🧲 MA < Lower
🧲 RSI (Crossover) Upper
🧲 RSI (Crossunder) Upper
🧲 RSI (Crossover) Lower
🧲 RSI (Crossunder) Lower
🧲 RSI (Crossover) Middle
🧲 RSI (Crossunder) Middle
🧲 RSI (Crossover) MA
🧲 RSI (Crossunder) MA
🧲 MA (Crossover)Upper
🧲 MA (Crossunder)Upper
🧲 MA (Crossover) Lower
🧲 MA (Crossunder) Lower
🧲 RSI Bullish Divergence
🧲 RSI Bearish Divergence
🔮 RSI (Crossover) Forecast MA
🔮 RSI (Crossunder) Forecast MA
📉 SELL
🧲 Signal Validity: Signal remains valid for X bars.
🧲 Signal Logic: Configurable using AND or OR.
🧲 RSI > Upper
🧲 RSI < Upper
🧲 RSI > Lower
🧲 RSI < Lower
🧲 RSI > Middle
🧲 RSI < Middle
🧲 RSI > MA
🧲 RSI < MA
🧲 MA > Upper
🧲 MA < Upper
🧲 MA > Lower
🧲 MA < Lower
🧲 RSI (Crossover) Upper
🧲 RSI (Crossunder) Upper
🧲 RSI (Crossover) Lower
🧲 RSI (Crossunder) Lower
🧲 RSI (Crossover) Middle
🧲 RSI (Crossunder) Middle
🧲 RSI (Crossover) MA
🧲 RSI (Crossunder) MA
🧲 MA (Crossover)Upper
🧲 MA (Crossunder)Upper
🧲 MA (Crossover) Lower
🧲 MA (Crossunder) Lower
🧲 RSI Bullish Divergence
🧲 RSI Bearish Divergence
🔮 RSI (Crossover) Forecast MA
🔮 RSI (Crossunder) Forecast MA
🤖 Automation
All BUY and SELL conditions can be automated using TradingView alerts. Every configurable condition can trigger alerts suitable for fully automated or semi-automated strategies.
⯁ Unique Features
Linear Regression Forecast
Signal Validity: Keep signals active for X bars
Signal Logic: AND/OR configuration
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Chart Labels: BUY/SELL markers above price
Automation & Alerts: BUY/SELL
Background Colors: bgcolor
Fill Colors: fill
Linear Regression Forecast
Signal Validity: Keep signals active for X bars
Signal Logic: AND/OR configuration
Condition Table: BUY/SELL
Condition Labels: BUY/SELL
Chart Labels: BUY/SELL markers above price
Automation & Alerts: BUY/SELL
Background Colors: bgcolor
Fill Colors: fill
Dual MTF Confirmed Trend Strategy (5m Entry / 15m MACD & RSI) v1That is a detailed Dual Multi-Timeframe (MTF) Confirmed Trend Strategy written in Pine Script for TradingView. The core idea of this strategy is to only take entry signals on a faster timeframe (5-minute) when the trend is strongly confirmed on a slower, higher timeframe (15-minute). This aims to reduce false signals and trade in the direction of the dominant trend. Here is an explanation of how the strategy works, broken down by section:
1. 5-Minute Entry Filters 🚀This section calculates several indicators on the current 5-minute chart to identify potential trade setups. A position is only considered if all 5-minute conditions align.
Supertrend: A trend-following indicator based on Average True Range (ATR).
Long Condition: The closing price must be above the Supertrend line.
Short Condition: The closing price must be below the Supertrend line.
Gann Hi-Lo (GHL): A trend indicator using Simple Moving Averages (SMA) of the high and low prices. GHL Line: Switches between the SMA of the Highs and the SMA of the Lows based on price action.
Long Condition: The closing price must be above the GHL line.
Short Condition: The closing price must be below the GHL line.
Exponential Moving Averages (EMAs): It uses a 50-period EMA and a 100-period EMA to confirm the short-term trend direction.
Long Condition: The closing price must be above both the 50 EMA and the 100 EMA.
Short Condition: The closing price must be below both the 50 EMA and the 100 EMA.
2. 15-Minute MTF Confirmation Filters ⏳This is the crucial step where the strategy verifies the trend on the slower, 15-minute timeframe using the request security function. This step acts as a gatekeeper to ensure the 5-minute trade aligns with the larger trend.
MACD Histogram (12, 26, 9): The difference between the MACD Line and the Signal Line.
Long Confirmation: The 15m MACD Histogram must be greater than 0 (MACD line is above the Signal line, indicating bullish momentum).
Short Confirmation: The 15m MACD Histogram must be less than 0 (MACD line is below the Signal line, indicating bearish momentum).
RSI (Relative Strength Index) (14): A momentum oscillator. The 50 level is often used to determine the general market trend.
Long Confirmation: The 15m RSI must be greater than 50 (indicating stronger bullish momentum).
Short Confirmation: The 15m RSI must be less than 50 (indicating stronger bearish momentum).
The Total 15m Confirmation is only true if both the MACD and the RSI confirmation signals align.
3. Trade Orders (Entry Logic) ⚖️
The strategy only executes a trade when the 5-minute entry conditions are met AND the 15-minute confirmation conditions are met.
Final Long Condition:
5m Conditions (Supertrend, GHL, EMA alignment) AND
15m Confirmation (MACD Hist > 0 AND RSI > 50)
Final Short Condition:
5m Conditions (Supertrend, GHL, EMA alignment) AND
15m Confirmation (MACD Hist < 0 AND RSI < 50)
When a trade signal is generated, the strategy:
Closes any opposite position (e.g., closes a "Short" trade if a "Long" signal appears).
Enters the new position (e.g., enters a "Long" trade).
This is designed as a reversal strategy where a new entry automatically closes the previous opposing trade.
In Summary
The strategy operates on a principle of Trend Alignment:
5-Minute Chart: Is used for Signal Timing (when exactly to enter the market).
15-Minute Chart: Is used for Trend Validation (is the overall market momentum supporting the signal?).
It's an attempt to capture short-term moves (5m signals) that are backed by strong medium-term momentum (15m confirmation), thereby aiming for higher probability trades.
This is not investment advice; it is recommended to perform optimization and backtesting for the assets intended for implementation.
Multi EMA and SMA with VWAP Indicator📊 Custom Multi-MA & VWAP Indicator
A comprehensive and fully customizable moving average indicator that combines 6 Exponential Moving Averages (EMAs), 3 Simple Moving Averages (SMAs), and VWAP in one clean, easy-to-use tool.
✨ Features:
6 Configurable EMAs:
• Default periods: 9, 21, 50, 100, 150, 200
• Fully adjustable lengths
• Individual color customization
• Show/hide toggles for each EMA
3 Configurable SMAs:
• Default periods: 20, 50, 100
• Fully adjustable lengths
• Individual color customization
• Show/hide toggles for each SMA
• Thicker lines for easy distinction from EMAs
VWAP (Volume Weighted Average Price):
• Toggle on/off
• Customizable color and line width
• Essential for intraday trading and institutional levels
🎯 Use Cases:
• Trend identification and confirmation
• Support and resistance levels
• Entry and exit signals
• Multi-timeframe analysis
• Day trading and swing trading strategies
• Institutional price levels (VWAP)
⚙️ Fully Customizable:
Every aspect of this indicator is configurable through the settings panel:
• Adjust any MA period to fit your trading strategy
• Choose your preferred colors for better chart visualization
• Enable/disable specific MAs to reduce chart clutter
• Customize VWAP line thickness
📈 Perfect For:
• Traders who use multiple moving averages in their strategy
• Those seeking an all-in-one MA solution
• Clean chart organization with one indicator instead of multiple
• Both beginners and experienced traders
💡 Tips:
• Use shorter EMAs (9, 21) for quick trend changes
• Longer EMAs (100, 150, 200) act as strong support/resistance
• VWAP is particularly useful for intraday trading
• Customize colors to match your chart theme
Version: Pine Script v6
Overlay: Yes (plots directly on price chart)
Multi-Timeframe EMA & SMA Scanner - Price Level LabelsOverview
A powerful multi-timeframe moving average scanner that displays EMA and SMA levels from up to 8 different timeframes simultaneously on your chart. Perfect for identifying key support/resistance levels, confluence zones, and multi-timeframe trend analysis.
Key Features
📊 Multi-Timeframe Analysis
Monitor up to 8 different timeframes simultaneously (5m, 10m, 15m, 30m, 1H, 4H, 1D, 1W)
Each timeframe can be independently enabled/disabled
Fully customizable timeframe selection
📈 Comprehensive Moving Averages
5 configurable EMA periods (default: 8, 21, 50, 100, 200)
2 configurable SMA periods (default: 200, 400)
All periods are fully customizable to match your trading strategy
🎯 Smart Price Level Labels
Labels positioned at actual price levels (not in a list)
Color-coded labels for easy identification
Dynamic text color: Green when price is above, Red when below
Compact notation: E8-5m means EMA 8 on 5-minute timeframe
Adjustable label offset from current price
📉 Optional Horizontal Lines
Dotted reference lines at each MA level
Color-matched to corresponding MA type
Can be toggled on/off independently
📋 Comprehensive Data Table
Shows all MA values organized by timeframe
Displays percentage distance from current price
Trend indicator (Strong Up/Up/Neutral/Down/Strong Down)
EMA alignment status (Bullish/Bearish/Mixed)
Color-coded cells for quick visual analysis
🎨 Full Customization
Individual color settings for each MA type
Adjustable table size (Tiny/Small/Normal/Large)
Choose table position (Left/Right)
Toggle any MA or timeframe on/off
🔔 Built-in Alerts
Golden Cross detection (EMA 50 crosses above EMA 200)
Death Cross detection (EMA 50 crosses below EMA 200)
Price crossing major EMAs
Available for multiple timeframes
How to Use
For Day Traders:
Enable lower timeframes (5m, 10m, 15m, 30m)
Focus on faster EMAs (8, 21, 50)
Watch for confluence zones where multiple timeframe MAs cluster
For Swing Traders:
Enable higher timeframes (1H, 4H, 1D)
Use all EMAs plus SMAs for broader perspective
Look for alignment across timeframes for high-probability setups
For Position Traders:
Focus on daily and weekly timeframes
Emphasize 100, 200 EMAs and 200, 400 SMAs
Use for long-term trend confirmation
Understanding the Labels
Label Format: E8-5m 45250.50
E8 = EMA with period 8
5m = 5-minute timeframe
45250.50 = Current price level
Green text = Price is currently above this level (potential support)
Red text = Price is currently below this level (potential resistance)
For SMAs: S200-1D 44500.00
S200 = SMA with period 200
1D = Daily timeframe
Trading Applications
Support/Resistance Identification
MAs act as dynamic support and resistance levels
Multiple timeframe MAs create stronger zones
Confluence Trading
When multiple MAs from different timeframes cluster together, it creates high-probability zones
These areas often result in strong reactions
Trend Analysis
Check the Alignment column: Bullish alignment = all EMAs in ascending order
Trend column shows overall price position relative to all MAs
Entry/Exit Timing
Use lower timeframe MAs for precise entries
Use higher timeframe MAs for trend direction and exits
Settings Guide
Timeframes Section:
Select and enable/disable up to 8 timeframes
Default: 5m, 10m, 15m, 30m, 1H, 4H, 1D, 1W
MA Periods Section:
Customize all EMA and SMA periods
Default EMAs: 8, 21, 50, 100, 200
Default SMAs: 200, 400
Display Section:
Toggle price labels and horizontal lines
Adjust label offset (distance from right edge)
Show/hide data table
Choose table position and size
Colors Section:
Customize colors for each MA type
Each MA has independent color control
Pro Tips
✅ Start with default settings and adjust based on your trading style
✅ Disable timeframes/MAs you don't use to reduce chart clutter
✅ Use the data table for quick overview, labels for precise levels
✅ Look for "confluence clusters" where multiple MAs from different timeframes align
✅ Green labels = potential support, Red labels = potential resistance
✅ Set alerts on key crossovers for automated notifications
Technical Specifications
Pine Script v6
Overlay indicator (displays on main chart)
Maximum 500 labels supported
Real-time updates on each bar close
Compatible with all instruments and timeframes
Perfect For:
Day traders seeking multi-timeframe confirmation
Swing traders looking for high-probability setups
Position traders monitoring long-term trends
Anyone using moving averages as part of their strategy
Note: This indicator does not provide buy/sell signals. It's a tool for analysis and should be used in conjunction with your trading strategy and risk management rules.
The 'Qualified' POI Scorer [PhenLabs]📊 The “Qualified” POI Scorer (Q-POI)
Version: PineScript™ v6
📌 Description
The “Qualified” POI Scorer helps intermediate traders overcome "analysis paralysis" by filtering Smart Money Concepts (SMC) structures based on their probability. Instead of flooding your chart with every possible Order Block, this script assigns a proprietary “Quality Score” (0-100) to each zone. It analyzes the strength of the displacement, the presence of imbalances (FVG), and liquidity mechanics to determine which zones are worth your attention. It is designed to clean up your charts and enforce discipline by visually fading out low-quality setups.
🚀 Points of Innovation
Dynamic “Glass UI” Transparency that automatically fades weak zones based on their score.
Proprietary Scoring Algorithm (0-100) based on three distinct institutional factors.
Visual Icon System that prints analytical context (💧— 🚀/🐌—🧱) directly on the chart.
Automated Mitigation Tracking that changes the visual state of zones after they are tested.
Displacement Velocity calculation using ATR to verify institutional intent.
🔧 Core Components
Liquidity Sweep Engine: Detects if a pivot point grabbed liquidity from the previous X bars before reversing.
FVG Validator: Checks if the move away from the zone created a valid Fair Value Gap.
Momentum Scorer: Calculates the size of the displacement candle relative to the Average True Range (ATR).
🔥 Key Features
Quality Filtering: Automatically hides or dims zones that score below 50 (user configurable).
State Management: Zones turn grey when mitigated and delete themselves when invalidated.
Visual Scorecard: Displays the exact numeric score on the zone for quick decision-making.
Time-Decay Logic: Keeps the chart clean by managing the lifespan of old zones.
🎨 Visualization
High Score Zones (80-100): Display as bright, semi-solid boxes indicating high probability.
Medium Score Zones (50-79): Display as translucent “glass” boxes.
Low Score Zones (<50): Display as faint “ghost” boxes or are completely hidden.
Rocket Icon (🚀): Indicates high momentum displacement.
Snail Icon (🐌): Indicates low momentum displacement.
Drop Icon (💧): Indicates the zone swept liquidity.
Brick Icon (🧱): Indicates the zone is supported by an FVG.
📖 Usage Guidelines
Swing Structure Length (Default: 5): Controls the sensitivity of the pivot detection; lower numbers create more zones, higher numbers find major swing points.
ATR Length (Default: 14): Determines the lookback period for calculating relative momentum.
Minimum Quality Score (Default: 50): The threshold for which zones are considered “valid” enough to be fully visible.
Bullish/Bearish Colors: Fully customizable colors that adapt their own transparency based on the score.
Show Weak Zones (Default: False): Toggles the visibility of zones that failed the quality check.
✅ Best Use Cases
Filtering noise during high-volatility sessions by focusing only on Score 80+ zones.
Confirming trend continuation entries by looking for the Rocket (🚀) momentum icon.
Avoiding “stale” zones by ignoring any box that has turned grey (Mitigated).
⚠️ Limitations
The indicator is reactive to closed candles and cannot predict news-driven spikes.
Scoring is based on technical structure and does not account for fundamental drivers.
In extremely choppy markets, the ATR filter may produce lower scores due to lack of displacement.
💡 What Makes This Unique
It transforms subjective SMC analysis into an objective, quantifiable score.
The visual hierarchy allows traders to assess chart quality in milliseconds without reading data.
It integrates three separate SMC concepts (Liquidity, Imbalance, Structure) into a single tool.
🔬 How It Works
Step 1: The script identifies a Swing High or Low based on your length input.
Step 2: It looks backward to see if that swing swept liquidity, and looks forward to check for an FVG and displacement.
Step 3: It calculates a weighted score (30pts for Sweep, 30pts for FVG, 40pts for Momentum).
Step 4: It draws the zone with a transparency level designated by the score and appends the relevant icons.
💡 Note:
For the best results, use this indicator on the timeframe you execute trades on (e.g., 15m or 1h). Do not use it to find entries on the 1m chart if your analysis is based on the 4h chart.
纳斯达克涨2.5%以上//@version=5
indicator("纳斯达克大涨标记", shorttitle="NASDAQ+2.5%", overlay=true)
// 纳斯达克综合指数的符号
// 如果您想使用 E-mini 纳斯达克 100 期货 (NQ!) 或其他相关工具,请更改此符号
symbolName = "NASDAQ:IXIC"
// 目标涨幅百分比
targetPercentage = 2.5
// 获取纳斯达克指数的数据
// 使用 security() 函数获取不同品种的数据
nasdaq_close = request.security(symbolName, "D", close )
nasdaq_prev_close = request.security(symbolName, "D", close )
// 确保我们有足够的数据进行计算
isDataAvailable = not na(nasdaq_close) and not na(nasdaq_prev_close)
// 计算当天的涨幅百分比
// (今日收盘价 - 昨日收盘价) / 昨日收盘价 * 100
changePercentage = isDataAvailable ? (nasdaq_close - nasdaq_prev_close) / nasdaq_prev_close * 100 : na
// 检查条件:涨幅是否大于或等于目标百分比
isBigUpDay = changePercentage >= targetPercentage
// 绘制粉红色的点
plotshape(isBigUpDay,
title="大涨日",
location=location.belowbar, // 绘制在 K 线的下方
color=color.rgb(255, 0, 255, 0), // 纯粉红色
style=shape.circle,
size=size.small,
text="")
// 可以在图表底部显示涨幅百分比作为确认
plot(isBigUpDay ? changePercentage : na,
title="当日涨幅%",
color=color.rgb(255, 0, 255, 50),
style=plot.style_stepline,
trackprice=false)
// 警报示例 (可选)
// if isBigUpDay
// alert("纳斯达克当日涨幅达到 " + str.tostring(targetPercentage) + "% 或以上!", alert.freq_once_per_bar_close)
Cjack COT IndexHere's the updated description with the formula and additional context:
---
**Cjack COT Index - Commitment of Traders Positioning Indicator**
This indicator transforms raw Commitment of Traders (COT) data into normalized 0-100 index values, making it easy to identify extreme positioning across different trader categories.
**How It Works:**
The indicator calculates a min-max normalized index for three trader groups over your chosen lookback period (default 26 weeks):
- **Large Speculators** (Non-commercial positions) - typically trend followers
- **Small Speculators** (Non-reportable positions) - retail traders
- **Commercial Hedgers** - producers and consumers hedging business risk
The normalization formula is: **Index = (Current Position - Minimum Position) / (Maximum Position - Minimum Position) × 100**
This calculation shows where current net positioning sits between the minimum and maximum levels observed in the lookback window. A reading of 100 means current positioning equals the maximum net long over that period, 0 equals the minimum (most net short), and 50 is the midpoint of the range.
**Important:** The lookback period critically affects index readings - shorter lookbacks (13-26 weeks) make the index more sensitive to recent extremes, while longer lookbacks (52-78 weeks) provide broader historical context and identify truly exceptional positioning. Min-max normalization is essential because it makes positioning comparable across different contracts and time periods, regardless of the absolute size of positions.
**What It's Good For:**
The indicator excels at identifying **crowded trades** and potential reversals by tracking contrarian setups where commercials (smart money) position opposite to speculators. Background highlighting automatically flags:
- **Long setups** (green): Commercials heavily long while speculators are heavily short
- **Short setups** (red): Commercials heavily short while speculators are heavily long
The "Shift Index" option (enabled by default) displays last week's tradeable COT data aligned with current price action, ensuring you're working with actionable information since COT reports publish with a delay.
Works on weekly timeframes and below for commodities and futures with available COT data.
Relative Performance Areas [LuxAlgo]The Relative Performance Areas tool enables traders to analyze the relative performance of any asset against a user-selected benchmark directly on the chart, session by session.
The tool features three display modes for rescaled benchmark prices, as well as a statistics panel providing relevant information about overperforming and underperforming streaks.
🔶 USAGE
Usage is straightforward. Each session is highlighted with an area displaying the asset price range. By default, a green background is displayed when the asset outperforms the benchmark for the session. A red background is displayed if the asset underperforms the benchmark.
The benchmark is displayed as a green or red line. An extended price area is displayed when the benchmark exceeds the asset price and is set to SPX by default, but traders can choose any ticker from the settings panel.
Using benchmarks to compare performance is a common practice in trading and investing. Using indexes such as the S&P 500 (SPX) or the NASDAQ 100 (NDX) to measure our portfolio's performance provides a clear indication of whether our returns are above or below the broad market.
As the previous chart shows, if we have a long position in the NASDAQ 100 and buy an ETF like QQQ, we can clearly see how this position performs against BTSUSD and GOLD in each session.
Over the last 15 sessions, the NASDAQ 100 outperformed the BTSUSD in eight sessions and the GOLD in six sessions. Conversely, it underperformed the BTCUSD in seven sessions and the GOLD in nine sessions.
🔹 Display Mode
The display mode options in the Settings panel determine how benchmark performance is calculated. There are three display modes for the benchmark:
Net Returns: Uses the raw net returns of the benchmark from the start of the session.
Rescaled Returns: Uses the benchmark net returns multiplied by the ratio of the benchmark net returns standard deviation to the asset net returns standard deviation.
Standardized Returns: Uses the z-score of the benchmark returns multiplied by the standard deviation of the asset returns.
Comparing net returns between an asset and a benchmark provides traders with a broad view of relative performance and is straightforward.
When traders want a better comparison, they can use rescaled returns. This option scales the benchmark performance using the asset's volatility, providing a fairer comparison.
Standardized returns are the most sophisticated approach. They calculate the z-score of the benchmark returns to determine how many standard deviations they are from the mean. Then, they scale that number using the asset volatility, which is measured by the asset returns standard deviation.
As the chart above shows, different display modes produce different results. All of these methods are useful for making comparisons and accounting for different factors.
🔹 Dashboard
The statistics dashboard is a great addition that allows traders to gain a deep understanding of the relationship between assets and benchmarks.
First, we have raw data on overperforming and underperforming sessions. This shows how many sessions the asset performance at the end of the session was above or below the benchmark.
Next, we have the streaks statistics. We define a streak as two or more consecutive sessions where the asset overperformed or underperformed the benchmark.
Here, we have the number of winning and losing streaks (winning means overperforming and losing means underperforming), the median duration of each streak in sessions, the mode (the number of sessions that occurs most frequently), and the percentages of streaks with durations equal to or greater than three, four, five, and six sessions.
As the image shows, these statistics are useful for traders to better understand the relative behavior of different assets.
🔶 SETTINGS
Benchmark: Benchmark for comparison
Display Mode: Choose how to display the benchmark; Net Returns: Uses the raw net returns of the benchmark. Rescaled Returns: Uses the benchmark net returns multiplied by the ratio of the benchmark and asset standard deviations. Standardized Returns: Uses the benchmark z-score multiplied by the asset standard deviation.
🔹 Dashboard
Dashboard: Enable or disable the dashboard.
Position: Select the location of the dashboard.
Size: Select the dashboard size.
🔹 Style
Overperforming: Enable or disable displaying overperforming sessions and choose a color.
Underperforming: Enable or disable displaying underperforming sessions and choose a color.
Benchmark: Enable or disable displaying the benchmark and choose colors.






















