Multiple Screeners with AlertsI already published few version of my custom screeners. Unfortunately, because of TradingView's security function call limit you can't use more than 40 stocks in 1 screener.
Fortunately, you can compute multiple values in your function and screen few indicators at once.
In this script I show how you can compute 5 indicators at the same time for 40 instruments. I display then in different labels.
Every label consist of list of instruments satisfying current indicator conditions and a value for it. It can be absolute value as for RSI or -1/1 representing Bullish/Bearish event.
Also you can create 1 alert with result of all screeners inside.
In this example I took 5 indicators with following conditions:
RSI - "RSI < 30" or "RSI > 70"
TSI - "TSI < -30" or "RSI >30"
ADX - "ADX > 40"
MACD - "MACD Bullish Cross" or "MACD Bearish Cross" (1 and -1 in screener)
AO - "AO Crosses 0 UP" or "AO Crosses 0 DOWN" (1 and -1 in screener)
Params
- bars_apart - this parameter define how may bars apart you labels are on your chart. If you see labels overlapping, increase this number.
- Parameters for all used indicators
- 40 symbol inputs for instruments you want to use in this screener
Alerts
You can create an alert from it easily by selecting screener name from the list and then selecting "Any alert() function call".
No additional configuration is required, message and alert on close is generated in the code.
You should better change default name for your alert. Sometimes because of big amount of inputs you might receive an error.
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
Tìm kiếm tập lệnh với "30年国债收益率"
RSI Classic Strategy (by Coinrule)One of the questions hobbyist traders more often ask is: what is the perfect trading indicator?
Every indicator is just a tool, so its efficiency is proportional to your ability to read its signals and translate them into an actionable trading strategy. The RSI is likely the most flexible and easy to use among the technical indicators.
This trading strategy tries to catch short-term swings on the coins of your choice with a simple yet profitable setup.
Buy when the RSI is lower than 30 (you can adjust it to 35 in times of steep uptrend).
Sell when the RSI is greater than 65 (the target may range between 60 and 75 depending on the volatility of the coin).
Note that the buy signal comes when the indicator crosses below 30 and not when it crosses above 30 as it happens on the built-in RSI strategy on Tradingview.
The present script overperforms the built-in strategy, even adding trading fees and using a lower amount of capital for each trade (30%). That means that the system can deliver higher net-profits with lower risk levels.
A typical example of market conditions where this strategy works perfectly is as follows.
The first initial breakout indicates that a new leg up in the trend may start. Bitcoin starts to trade within a range which you can identify when it reaches the point 3. That is the perfect time to start the rule because
- trading within a channel anticipates possible swings up and down
- the trend is on the upside, providing low downside risk in buying the dips.
This strategy works well with selected coins of your choice, and it's a great fit on leverage exchanges like Binance Futures.
If you prefer to run it across all available coins on the market, instead, you may choose an optimized version.
Multi Time Frame Buy the Dips (by Coinrule)Buying the dips is a relatively easy automated trading strategy that can return impressive profits, especially during uptrend times. Not all price drops are for buying, though. This trading system is based on a multi time frame buy-the-dip approach to optimize each trade.
The strategy catches sudden price drops on a 1-hr time frame when the price increases significantly in the last 12 hours. During steep uptrends, profit-taking price actions result in flash crashes that provide great opportunity to enter at convenient prices.
Buy Condition
The setup of the script is optimized on a 30 min time frame. You can adjust the parameters to fit different time frames.
The system gets a buy signal when
- the price drops 1% from the two previous candles (1 hour time frame = two 30-min candles)
- the price is up 3% from the last 12 hours (twenty-four 30-min candles equal the desired time frame)
Sell Condition
Each trade comes with a stop loss of 3% and a take profit of 4%.
This setup has been optimized, running over 150 backtests on more than 20 different crypto trading pairs.
The strategy assumes each order to trade 30% of the available capital. A trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange.
Easy Loot Golden CrossGolden/Death Cross Moving Average Indicator
30, 100 & 200 period Simple Moving Average (SMA).
30 = Yellow
100 = Green
200 = Black
Black crosses mark the 'golden crosses' as well as the 'death crosses'. These black crosses appear when the 30 crosses the 100 & when the 100 crosses the 200. These black crosses don't tell you when to buy/sell, but simply indicate interest in the market.
This code is open-source so feel free to add this indicator to your chart and play around with the different moving average timeframes & color schemes.
Golden Cross
The golden cross occurs when a short-term moving average crosses over a major long-term moving average to the upside and is interpreted by analysts and traders as signaling a definitive upward turn in a market. Basically, the short-term average trends up faster than the long-term average, until they cross.
There are three stages to a golden cross:
A downtrend that eventually ends as selling is depleted
A second stage where the shorter moving average crosses up through the longer moving average
Finally, the continuing uptrend, hopefully leading to higher prices
Death Cross
Conversely, a similar downside moving average crossover constitutes the death cross and is understood to signal a decisive downturn in a market. The death cross occurs when the short term average trends down and crosses the long-term average, basically going in the opposite direction of the golden cross.
The death cross preceded the economic downturns in 1929, 1938, 1974, and 2008.
Traders Dynamic Index(RSI) w/ Bull&Bear Control ZonesMomentum (RSI) is one of the most commonly used indicators for trading, but the vast majority of traders who use it, simply apply it as an oscillator to measure overbought and oversold conditions. However, momentum is much more complex than that and using a basic RSI fails to highlight these complexities.
What this highlights are some of the areas/zones that many people may not even know about or are unaware what the RSI can actually reveal about a particular trend.
What this indicator is showing:
Fast moving RSI (Green) - 1 period
Slow moving RSI (Red) - 9 period
Bollinger Bands
Relative Strength: 1 - 100
Bearish Control Zone: 30(Below) - 45
Bullish Control Zone: 60 - 70 (Above)
How this identifies trends:
Bear Market(Bearish Control Zone):
-Support: 20(Below) - 30
-Resistance: 55 - 65
-Momentum will test resistance but will fail to hold support at 50
Bull Market(Bullish Control Zone):
-Support: 45 - 50
-Resistance: 80 - 90(Above)
-Momentum will test support but will not continue past the 45 support
How this identifies reversals:
If a market is bullish, but loses support at 45 and tests 30, it has begun reversal. If a market is bearish, but breaks 60 and tests 70, it has begun reversal.
-A bull market reversal is confirmed if it finds resistance at 60 after testing bearish support
-A bear market reversal is confirmed if it finds support at 50 after testing bullish resistance
Slow & Fast RSI w/ Boll Bands:
-The Slow and Fast RSI crossovers will act as Intermediate trends within the Macro trend - Fast crosses slow, bullish. Slow cross fast, bearish.
-Use in confluence with the Macro trend.
-While under Bearish Control, the Slow RSI will act as resistance for the Fast RSI.
-While under Bullish Control, the Slow RSI will act as support for the Fast RSI.
-The two will have an impulsive crossover when the Macro trend reverses.
-The Bollinger Bands will act as a volatility gauge for potential approaching tests of Support & Resistances. (Expansions & Contractions)
This is an analog of TDIGM (GoldMinds)
-Added Bullish/Bearish Control Zones.
-Changed Fast RSI to Green and Slow RSI to Red.
50ema + 105emaIf price action is above the 50ema + 105ema on the 30-minute chart, be bullish.
If price action is below the 50ema + 105ema on the 30-minute chart, be bearish.
If price action is in-between buy off the lower when it acts like support and sell near the top ema which will act like resistance.
The purpose of this indicator is to show these 30-minute moving averages -- regardless of timeframe. This will only appear if you are using an intraday timeframe.
Fibonacci + RSI - StrategyStrategy: Fibonacci + RSI:
- Intraday trading strategy (Scalping).
Time Frames Tested with best Results:
30 Minutes.
5 Minutes.
15 Minutes.
1 Minute
Indicators Used:
RSI (30 / 70)
Fibonacci (1 - 0.784)
How it Works:
Once the Price Hits the 1 or -1 Fibonacci Level and bounces a little bit, It checks the RSI if Over Bought or Over Sold According to 30 - 70.
If both conditions are satisfied, it triggers a Long or Short Positions.
Further Notes:
- I have put a Stop-loss with a 2% just for further upgrades.
- Not advised to use in High Volatility Markets.
- No Repaint was observed during a 2-Weeks Tests.
If you have any suggestions or modifications please contact to add.
If you have observed any bad behavior please contact to fix.
Trade wisely.
[LunaOwl] 智慧型RSI (Smart RSI - a handy tool with less noise)Relative Strength Index is a common technical analysis tool, it is classified as a momentum oscillator, measuring the velocity and magnitude of directional price movements. it is most typically used on a 14-period timeframe, measured on a scale from 0 to 100, with high and low levels marked at 70 and 30.
相對強弱指標是常見的技術分析工具,它被歸類為動量振盪器,用於測量定向價格運動的速度和幅度,通常會使用14期數,擺盪範圍在0到100間,超買超賣分別標記成70、30。
after simple improvement and addition of logical judgment, it becomes a passive judge from subjective judgments, avoid the shortcomings of peoples in watching passivation, and the trade can be more consistent.
經過簡單的改良與添加邏輯判斷,能夠使RSI指標的使用,從主觀的判斷成為被動的確認指標,有效避免人們判斷指標鈍化的主觀缺失,並能夠使得交易更加一致。
--------------------------*
1) parameter
RSI period 1 - default is 14, same as general RSI.
RSI period 2 - default is 5, due to its own formula, the amplitude of the oscillator will become larger and more agile or fast. When the parameter is small.
exponential moving avg of RSI - using the result of RSI period 1 as the source of Ema's formula, the default length is 14, which can filter the excessive agility of RSI period 2 to reduce noise, and compared to using the baseline as the criterion for long and short judgments, The characteristics of exponential moving avg are more suitable to become flexible filtering standards.
Overbought - default is 70, you can set your overbought level.
Oversold - same as above, the default is 30.
2) Options
Open Candle color(開啟蠟燭線趨勢) - choose whether to start the color of the candle.
Open background color(開啟指標背景色) - the default is false, you can turn on.
--------------------------*
1. 設置參數
RSI期數1:預設值是14,是普通的RSI指標。
RSI期數2:預設值是5,由於RSI公式的算法,造成參數愈小擺盪幅度就會變大,反應比較快。
指數平均化的RSI期數1:將RSI期數1的結果帶入指數移動平均公式,預設值14,它能過濾RSI期數2過度敏捷的缺點,減少雜訊,相較於單純使用基準線作為多空判斷標準,用EMA的判斷標準更加因時制宜。
超買線:預設值是70,可以隨意調。
超賣線:預設值是30,一樣的。
2. 設定選項
開啟蠟燭線趨勢:顧名思義。已經幫您開好了。
開啟指標背景色:顏色太淺的話可以調深一點。
--------------------------*
ver.2- adjust new style design and create two options.
修改2: 調整新的樣式設計與建立兩個選項。
--------------------------*
ver.3- Create alert condition. maybe I should refer to the Alert Creation Framework,
there is also room for improvement.
修改3: 建立快訊選項。我應該參考警報創建框架,還有進步空間。
--------------------------*
Indicator Style - 指標樣式
The design uses casual light color style, light gray between overbought and oversold.
--------------------------*
Market Example - 市場範例
1. Bitcoin/Tether, Binance, 1 day
2. Bitcoin/USD, Coinbase, 4 hour
3. EUR/USD, Forex Market, 4 hour
4. GBP/USD, Forex Market, 30 min
5. TAIEX, Taiwan SE Weighted Index, 1 week
--------------------------*
postscript - 後記感想
The purpose of publishing Chinese Scripts is to make Pine close to more Chinese user.
I hope English skills enhancement...staggered writing makes me feel hard.
發布中文腳本的目的,是希望可以讓 Pine 親近更多中文圈的使用者。希望我的英語進步,中英文交錯撰寫有一些困難。
--------------------------*
If you find my works useful, you can give me encouragement. I can buy more books to sophisticated themselves.
如果您發現我的作品有用,可以給我鼓勵。讓我可以買更多書籍來精進自己。
MacD (Future Known or Unknown) StrategyThis indicator/strategy is to be used as a way to baseline the top potential any strategy could have with other strategies and indicators.
What I have created literally shows the BEST moves possible you could have made in my opinion for SHORTING or LONGING using only the MacD values of the 4 hour while on the 30 minute chart.
To use this, try checking out XBTUSD on the 30 minute chart . It will work under different time frames but works best on the 30 minute chart in my opinion. It WILL NOT WORK Above 2 hours time frame.
DO NOT TRADE WITH THIS indicator . I can't emphasize this enough. These results only work because of the lookahead_on parameter. A lot of scam indicators and strategies use this to trick people on tradingView into buying their scripts.
This code is OPEN SOURCE and as such there is nothing to hide and no scam!
I like to use this as a comparison tool for how good I 'could' have traded and at what points those were. By knowing where the perfect trading positions are, you can create real indicators and scripts that try to find patterns in those positions.
This also shows that IF you could know the direction the MacD was going what amazing results you could get ^_~.
This is meant purely for entertainment purposes and for comparing against your own scripts.
I've included the options in the settings to allow ONLY LONG or ONLY SHORTS. By default it attempts both buy attempts. You can also change your starting ($) amount and commission percentage that is taken per trade as well.
Also included in the options is the ability to set the back testing time frame to see how it performs during just certain time periods.
Finally a color explanation
Red - MacD 4 hour going down
Green - MacD 4 hour going up
Purple - MacD 4 hour going down (from an up position)
Yellow - MacD 4 hour going up (from a down position)
Notice the program will always buy right before it turns into a yellow color since it knows the future.
In the options you can turn off 'use the future' to see the horrible results if you trade the moment you know which direction the MacD 4 hour is actually going. I will revise this script in the future with attempts to work without knowing the future as play options to get better results.
If you have any questions or comments, please do not hesitate to ask!
(JS)DMI BarsAlright - so this is my own version of John Carter's "10x Bars"... I have done multiple things that are different from his version so they are slightly different..
So first of all the main indicator is based off of the ADX and the DMI;
For those who aren't familiar with it, Directional Movement is what you'd pull up under "built-in's" from the indicators tab (if you want to check it out).
The standard interpretation of this however, is when the ADX is above 20 that suggests the trend is strong, whereas under 20 suggests it is weak.
Also, when the D+ is above the D- that suggests a bullish trend, and D- above D+ suggests a bearish trend.
These bars take away the need to have it at the bottom of your screen, and places the data on the bars on your chart instead.
=========================================================================================================================================
So here's what the colors stand for -
Yellow - The ADX is under 20, no strength in trend
Shades of green occur when the ADX is above 20 and there's a bullish trend (D+ higher than D-)
Bright Green (Lime) - Bullish trend, D+ above 30
Green - Bullish Trend
Yellow Green - Bullish trend, D+ below 15
Shades of red occur when the ADX is above 20 and there's a bearish trend (D- higher than D+)
Bright Red - Bearish trend, D- above 30
Red - Bearish Trend
Orange - Bearish trend, D- below 15
=========================================================================================================================================
I have also added multiple time frame labels (label script used is the one created by Ricardo Santos)
These labels are color coded the same as the bars/candles, and they appear off to the right of your screen using every built in time increment from TradingView.
The purpose is to show you in real time, and on any chart resolution, what the current trend is on every individual time frame.
So using just one single chart you'll see your current resolutions candles, but also on the labels you'll see:
1 Minute
3 Minute
5 Minute
15 Minute
30 Minute
45 Minute
1 Hour
2 Hour
3 Hour
4 Hour
Daily
Weekly
Monthly
There is an input I added that allows you to adjust where your labels appear on the side of your screen as well!
=========================================================================================================================================
Now onto the volume spike portion of the indicator. This will plot a blue dot under each bar that has a spike in volume which meets your specified criteria.
I have 500% as the default setting.
What that means is that this indicator looks back and gets the 50 bar volume average and then applies dots where volume is 500% above average.
=========================================================================================================================================
Now finally, the reversal arrows. This is another simple to understand concept that I first read in John Carter's book "Mastering the Trade" that he calls "HOLP/LOHP".
I have added the ability to change the look back period you'd like the indicator to watch for highs and lows on.
What that stands for is 'High of Low Period' and 'Low of High Period', and it is used like this-
Whenever a bar makes a new high the indicator watches the low on that highest bar. Then when a bar afterwards makes a lower low then the one on the high bar,
a reversal arrow is given. Apply this same concept in the other direction in for the highs on the lowest bars.
=========================================================================================================================================
Now, I didn't want to make a "set" or have a bunch of different indicators out there that are all intended for the same package, so I took the time to put them together,
and if there's a part of it you don't care for they can easily be turned off in the settings.
Enjoy!
ADX +- DiThis Adx +-Di is just a complete version of what the ADX is supposed to signal.
So you have:
15 (contraction), 20 (threshold), 30 (expansion), 40 (resistance) levels.
Below 20 the price is not trending
Above 30 the price is trending
Below 15 price has been in contraction for too long
Between 20 and 30 price is in a "transition zone".
I finally added a "Resistance" level (40), which has to be adapted to best represent the historical levels where price usually encounters resistance, and where the price can be declared "overtrending", which means a return to lower levels is likely to happen.
I've chosen mild colors, and set the Adx Color to White, because I use black background, you can easily change that.
Enjoy
-Maurice
ICHIMOKU MTFMultiple Time Frame Version of Ichimoku Kinko Hyo Indicator.
Created in 1940's by Goichi Hosoda withe the help of University students in Japan.
Ichimoku is one of the best trend following indicators that works nearly perfect in all markets and time frames.
Ichimoku is originally an built in indicator in Tradingview but there are some problems like:
the indicator hast 5 lines but you can change only 4 parameters in the settings menu of Tradingview Charts which you could only control 3 of the lines effectively. A second problem is that Tradingview preferred to use English titles for the ICHIMOKU lines instead of giving them the most common original Japanese ones. (So I rewrite the indicator)
Kijun Sen (blue line): Also called standard line or base line, this is calculated by averaging the highest high and the lowest low for the past 26 periods.
Tenkan Sen (red line): This is also known as the turning line and is derived by averaging the highest high and the lowest low for the past nine periods.
Chikou Span (Plum line): This is called the lagging line. It is today’s closing price plotted 26 periods behind.
Senkou SpanA (green line): The first Senkou line is calculated by averaging the Tenkan Sen and the Kijun Sen and plotted 26 periods ahead.
Senkou SpanB (purple line):
The second Senkou line is determined by averaging the highest high and the lowest low for the past 52 periods and plotted 26 periods ahead.
PERSONALLY I ADVISE YOU TO USE ICHIMOKU WITH DEAFULT LENGTHS (9,26,26,52,26) IN ORDER FOR STOCK MARKETS AND FOREX MARKETS
FOR CRYPTO YOU'D BETTER USE:
10,30,30,60,30 OR 20,60,60,120,60
THE TRICKY THING IS THAT KEEPING THE 1-3-3-6-3 RATIO CONSTANT IS NECESSARY
Here's a link of my Youtube video explaining ICHIMOKU but unfortunately only in TURKISH:
www.youtube.com
Developed by: Goichi Hosoda
Here's the link to a complete list of all my indicators:
tr.tradingview.com
Ichimoku kullanımı anlattığım detaylı video serisini linkten izleyebilirsiniz:
www.youtube.com
İndikatörü geliştiren: Goichi Hosoda
ICHIMOKU Kinko Hyo by KIVANC fr3762Created in 1940's by Goichi Hosoda withe the help of University students in Japan.
Ichimoku is one of the best trend following indicators that works nearly perfect in all markets and time frames.
Ichimoku is originally an built in indicator in Tradingview but there are some problems like:
the indicator hast 5 lines but you can change only 4 parameters in the settings menu of Tradingview Charts which you could only control 3 of the lines effectively. A second problem is that Tradingview preferred to use English titles for the ICHIMOKU lines instead of giving them the most common original Japanese ones. (So I rewrite the indicator)
Kijun Sen (blue line): Also called standard line or base line, this is calculated by averaging the highest high and the lowest low for the past 26 periods.
Tenkan Sen (red line): This is also known as the turning line and is derived by averaging the highest high and the lowest low for the past nine periods.
Chikou Span (Plum line): This is called the lagging line. It is today’s closing price plotted 26 periods behind.
Senkou SpanA (green line): The first Senkou line is calculated by averaging the Tenkan Sen and the Kijun Sen and plotted 26 periods ahead.
Senkou SpanB (purple line):
The second Senkou line is determined by averaging the highest high and the lowest low for the past 52 periods and plotted 26 periods ahead.
PERSONALLY I ADVISE YOU TO USE ICHIMOKU WITH DEAFULT LENGTHS (9,26,26,52,26) IN ORDER FOR STOCK MARKETS AND FOREX MARKETS
FOR CRYPTO YOU'D BETTER USE:
10,30,30,60,30 OR 20,60,60,120,60
THE TRICKY THING IS THAT KEEPING THE 1-3-3-6-3 RATIO CONSTANT IS NECESSARY
Here's a link of my Youtube video explaining ICHIMOKU but unfortunately only in TURKISH:
www.youtube.com
Developed by: Goichi Hosoda
RSI Multi-TimeframeThe Relative Strength Index (RSI) is an extremely useful oscillating momentum indicator that was developed by J. Welles Wilder and is one of the most widely used indicators in technical analysis.
HOW IS IT USED ?
In the classic view, a security is thought to be overbought when its RSI reading is above 70 and oversold when its RSI reading falls below 30. This makes it a good indicator for mean-reversion systems. Wilder recommended using the 70 and 30 levels as overbought and oversold levels respectively. When the RSI moves up over the 30 line it is considered a possible bullish reversal while a move down below the 70 line is considered a possible bearish reversal.
When the RSI is above 70 it is a potential exit signal if you are in a long position and when it is below 30 it is a potential exit signal if you are in a short position. Some traders use extreme readings for entry points in the direction of the long-term trend. Thus, if the long-term trend is bullish, then you'd wait for the RSI to reach oversold territory, which would be a potential entry point for a long position. Conversely, if the long-term trend is bearish, then overbought conditions could be a potential point to short the security.
I added the possibility to add on the chart a 2nd timeframe for confirmation.
If you found this script useful, a tip is always welcome... :)
Ichimoku Cloud w/SelIchimoku Cloud with selection for:
Regular:
conversionPeriods = 9,
basePeriods = 26
laggingSpan2Periods = 52,
displacement = 26
Crypto:
conversionPeriods = 10,
basePeriods = 30,
laggingSpan2Periods = 60,
displacement = 30
Crypto Doubled:
conversionPeriods = 20,
basePeriods = 60,
laggingSpan2Periods = 120,
displacement = 30
CM_Ultimate RSI Multi Time FrameAvailable Options on Inputs Tab!!!
RSI with ability to change first RSI to a different Time Frame.(Defaults To Current Chart Time Frame).
Ability To Turn On/Off Background Highlighting if First RSI is Above/Below 70 or 30 Lines.
Ability To Turn On/Off Background Highlighting When First RSI Crosses Above 30 Or Below 70.
Ability To Turn On/Off "B" Or "S" When First RSI Crosses Above 30 Or Below 70.
Ability To Turn On/Off Mid -Line Plot.
Option To Plot 2nd RSI to show different Time Frames on same chart!!!
Ability To Use Different Look Back Period If You Plot 2nd RSI.
Opening Range Breakout with 2 Profit Targets.Opening Range Breakout with 2 Profit Targets.
Updated Indicator now works on all Symbols with Many Different Session Options.
***Known PineScript Issue…While the Opening Range is being Formed the lines only adjust for that individual bar. Just reset Indicator after Opening Range Completes.
***All Times are Based on New York Time
Session Options Forex U.S. Banks Open (8:00), Gold U.S. Open (8:20), Oil U.S. Open (9:00), U.S. Cash Session - Stocks (9:30), NY Forex Open (17:00) , Europe Open (02:00), or if you choose Setting 0 the Session Runs from 00:00 to 00:00 (Midnight to Midnight).
***Ability to use 60 minute Opening Range, 30 minute, 15 minute, and many other options.
***However you can manually change the times in the Inputs Tab to adjust for any session you prefer. This is useful for Day Light Savings Adjustments. Also the default times work if your charts are set to EST Time. If you use A different time zone in your settings you need to Adjust the times in the inputs tab.
Initially Opening Range High and Low plot as Yellow Lines. If Price Goes Above Opening Range then Line Turns Green. If Price Goes Below Opening Range Line Turns Red.
By default the First Profit Target is 1/2 the Width of the Opening Range and the 2nd Profit Target is 1 Times the Opening Range. However these are Adjustable in the Inputs Tab.
By Default the Opening Range Length is 1 Hour. However, you can Change the Opening Range Length to 15 min, 30 min, 2 hours etc. in the Inputs Tab.
Plots a 1 Above or Below Candle when 1st Profit Target is Achieved, and a 2 when 2nd Profit Target is Achieved.
ICT Fair Value Gap Detector [Eˣ]//@version=6
indicator(title='Fair Value Gap Detector', shorttitle='FVG', overlay=true, max_boxes_count=500)
// ========== INPUTS ==========
showBullishFVG = input.bool(true, 'Show Bullish FVG', group='Display', inline='bull')
bullishColor = input.color(color.new(color.green, 80), '', group='Display', inline='bull')
showBearishFVG = input.bool(true, 'Show Bearish FVG', group='Display', inline='bear')
bearishColor = input.color(color.new(color.red, 80), '', group='Display', inline='bear')
maxGaps = input.int(20, 'Max FVG to Display', minval=5, maxval=50, tooltip='Limit number of visible gaps', group='Display')
showLabels = input.bool(true, 'Show FVG Labels', group='Display')
extendGaps = input.int(50, 'Extend Gaps (bars)', minval=10, maxval=200, tooltip='How far to extend gaps to the right', group='Display')
minGapSize = input.float(0.05, 'Min Gap Size %', minval=0.01, maxval=2.0, step=0.01, tooltip='Minimum gap size as % of price', group='Filters')
showFilled = input.bool(false, 'Show Filled Gaps', tooltip='Keep showing gaps after price fills them', group='Filters')
autoMitigation = input.bool(true, 'Auto-Detect Mitigation', tooltip='Automatically detect when gaps are filled', group='Advanced')
mitigationType = input.string('Full', 'Mitigation Type', , tooltip='How much fill required to consider gap mitigated', group='Advanced')
highlightActive = input.bool(true, 'Highlight Nearest Gap', tooltip='Show which gap price is approaching', group='Advanced')
// ========== FVG DETECTION ==========
// Bullish FVG: Gap between candle 3 low and candle 1 high (when candle 2 is strong bullish)
// Occurs when: high < low (there's a gap that wasn't filled)
f_detectBullishFVG() =>
bool isFVG = false
float fvgTop = na
float fvgBottom = na
int fvgBar = na
// Check for bullish FVG: current candle's low is above the high from 2 candles ago
if low > high
// Verify middle candle was bullish and strong
if close > open
fvgBottom := high
fvgTop := low
fvgBar := bar_index
isFVG := true
// Bearish FVG: Gap between candle 3 high and candle 1 low (when candle 2 is strong bearish)
// Occurs when: low > high (there's a gap that wasn't filled)
f_detectBearishFVG() =>
bool isFVG = false
float fvgTop = na
float fvgBottom = na
int fvgBar = na
// Check for bearish FVG: current candle's high is below the low from 2 candles ago
if high < low
// Verify middle candle was bearish and strong
if close < open
fvgTop := low
fvgBottom := high
fvgBar := bar_index
isFVG := true
// Detect FVGs
= f_detectBullishFVG()
= f_detectBearishFVG()
// ========== FVG STORAGE ==========
var array bullishFVGTops = array.new()
var array bullishFVGBottoms = array.new()
var array bullishFVGBars = array.new()
var array bullishFVGFilled = array.new()
var array bullishFVGFillPercent = array.new()
var array bearishFVGTops = array.new()
var array bearishFVGBottoms = array.new()
var array bearishFVGBars = array.new()
var array bearishFVGFilled = array.new()
var array bearishFVGFillPercent = array.new()
// Add new bullish FVG
if bullFVG and not na(bullFVGTop) and not na(bullFVGBottom)
float gapSize = ((bullFVGTop - bullFVGBottom) / bullFVGBottom) * 100
// Check minimum size
if gapSize >= minGapSize
array.unshift(bullishFVGTops, bullFVGTop)
array.unshift(bullishFVGBottoms, bullFVGBottom)
array.unshift(bullishFVGBars, bullFVGBar)
array.unshift(bullishFVGFilled, false)
array.unshift(bullishFVGFillPercent, 0.0)
// Limit array size
if array.size(bullishFVGTops) > maxGaps
array.pop(bullishFVGTops)
array.pop(bullishFVGBottoms)
array.pop(bullishFVGBars)
array.pop(bullishFVGFilled)
array.pop(bullishFVGFillPercent)
// Add new bearish FVG
if bearFVG and not na(bearFVGTop) and not na(bearFVGBottom)
float gapSize = ((bearFVGTop - bearFVGBottom) / bearFVGBottom) * 100
if gapSize >= minGapSize
array.unshift(bearishFVGTops, bearFVGTop)
array.unshift(bearishFVGBottoms, bearFVGBottom)
array.unshift(bearishFVGBars, bearFVGBar)
array.unshift(bearishFVGFilled, false)
array.unshift(bearishFVGFillPercent, 0.0)
if array.size(bearishFVGTops) > maxGaps
array.pop(bearishFVGTops)
array.pop(bearishFVGBottoms)
array.pop(bearishFVGBars)
array.pop(bearishFVGFilled)
array.pop(bearishFVGFillPercent)
// ========== MITIGATION DETECTION ==========
if autoMitigation
// Check bullish FVGs (filled when price comes back down)
int bullSize = array.size(bullishFVGTops)
if bullSize > 0
for i = 0 to bullSize - 1
if not array.get(bullishFVGFilled, i)
float fvgTop = array.get(bullishFVGTops, i)
float fvgBottom = array.get(bullishFVGBottoms, i)
float gapSize = fvgTop - fvgBottom
// Calculate how much of the gap has been filled
float fillAmount = 0.0
if low <= fvgTop and low >= fvgBottom
fillAmount := (fvgTop - low) / gapSize
else if low < fvgBottom
fillAmount := 1.0
array.set(bullishFVGFillPercent, i, fillAmount)
// Check mitigation based on type
bool isMitigated = false
if mitigationType == 'Full'
isMitigated := low <= fvgBottom
else if mitigationType == '50%'
isMitigated := fillAmount >= 0.5
else // Partial
isMitigated := low <= fvgTop
if isMitigated
array.set(bullishFVGFilled, i, true)
// Check bearish FVGs (filled when price comes back up)
int bearSize = array.size(bearishFVGTops)
if bearSize > 0
for i = 0 to bearSize - 1
if not array.get(bearishFVGFilled, i)
float fvgTop = array.get(bearishFVGTops, i)
float fvgBottom = array.get(bearishFVGBottoms, i)
float gapSize = fvgTop - fvgBottom
// Calculate how much of the gap has been filled
float fillAmount = 0.0
if high >= fvgBottom and high <= fvgTop
fillAmount := (high - fvgBottom) / gapSize
else if high > fvgTop
fillAmount := 1.0
array.set(bearishFVGFillPercent, i, fillAmount)
// Check mitigation based on type
bool isMitigated = false
if mitigationType == 'Full'
isMitigated := high >= fvgTop
else if mitigationType == '50%'
isMitigated := fillAmount >= 0.5
else // Partial
isMitigated := high >= fvgBottom
if isMitigated
array.set(bearishFVGFilled, i, true)
// ========== FIND NEAREST GAPS ==========
float nearestBullDist = 999999
int nearestBullIdx = -1
float nearestBearDist = 999999
int nearestBearIdx = -1
if highlightActive
int bullSize = array.size(bullishFVGTops)
if bullSize > 0
for i = 0 to bullSize - 1
if not array.get(bullishFVGFilled, i)
float fvgMid = (array.get(bullishFVGTops, i) + array.get(bullishFVGBottoms, i)) / 2
float dist = math.abs(close - fvgMid)
if dist < nearestBullDist and close > fvgMid
nearestBullDist := dist
nearestBullIdx := i
int bearSize = array.size(bearishFVGTops)
if bearSize > 0
for i = 0 to bearSize - 1
if not array.get(bearishFVGFilled, i)
float fvgMid = (array.get(bearishFVGTops, i) + array.get(bearishFVGBottoms, i)) / 2
float dist = math.abs(close - fvgMid)
if dist < nearestBearDist and close < fvgMid
nearestBearDist := dist
nearestBearIdx := i
// ========== VISUALIZATION ==========
var array bullishBoxes = array.new()
var array bullishLabels = array.new()
var array bearishBoxes = array.new()
var array bearishLabels = array.new()
// Clear old drawings
if barstate.islast
if array.size(bullishBoxes) > 0
for i = 0 to array.size(bullishBoxes) - 1
box.delete(array.get(bullishBoxes, i))
array.clear(bullishBoxes)
if array.size(bullishLabels) > 0
for i = 0 to array.size(bullishLabels) - 1
label.delete(array.get(bullishLabels, i))
array.clear(bullishLabels)
if array.size(bearishBoxes) > 0
for i = 0 to array.size(bearishBoxes) - 1
box.delete(array.get(bearishBoxes, i))
array.clear(bearishBoxes)
if array.size(bearishLabels) > 0
for i = 0 to array.size(bearishLabels) - 1
label.delete(array.get(bearishLabels, i))
array.clear(bearishLabels)
// Draw bullish FVGs
if barstate.islast and showBullishFVG
int bullSize = array.size(bullishFVGTops)
if bullSize > 0
for i = 0 to bullSize - 1
bool isFilled = array.get(bullishFVGFilled, i)
if not isFilled or showFilled
float fvgTop = array.get(bullishFVGTops, i)
float fvgBottom = array.get(bullishFVGBottoms, i)
int fvgBar = array.get(bullishFVGBars, i)
float fillPct = array.get(bullishFVGFillPercent, i)
bool isActive = highlightActive and i == nearestBullIdx and not isFilled
color boxColor = isFilled ? color.new(color.gray, 90) : isActive ? color.new(color.lime, 70) : bullishColor
int borderWidth = isActive ? 2 : 1
box b = box.new(fvgBar, fvgTop, bar_index + extendGaps, fvgBottom,
border_color=boxColor,
bgcolor=boxColor,
border_width=borderWidth,
border_style=isFilled ? line.style_dotted : line.style_solid)
array.push(bullishBoxes, b)
// Label
if showLabels and not isFilled
string labelText = isActive ? 'FVG+ 🎯' : 'FVG+'
if fillPct > 0 and fillPct < 1.0
labelText += ' ' + str.tostring(fillPct * 100, '#') + '%'
label lbl = label.new(bar_index + 2, fvgTop, labelText,
color=color.new(color.green, isActive ? 70 : 85),
textcolor=color.white,
style=label.style_label_down,
size=isActive ? size.normal : size.small)
array.push(bullishLabels, lbl)
// Draw bearish FVGs
if barstate.islast and showBearishFVG
int bearSize = array.size(bearishFVGTops)
if bearSize > 0
for i = 0 to bearSize - 1
bool isFilled = array.get(bearishFVGFilled, i)
if not isFilled or showFilled
float fvgTop = array.get(bearishFVGTops, i)
float fvgBottom = array.get(bearishFVGBottoms, i)
int fvgBar = array.get(bearishFVGBars, i)
float fillPct = array.get(bearishFVGFillPercent, i)
bool isActive = highlightActive and i == nearestBearIdx and not isFilled
color boxColor = isFilled ? color.new(color.gray, 90) : isActive ? color.new(color.orange, 70) : bearishColor
int borderWidth = isActive ? 2 : 1
box b = box.new(fvgBar, fvgTop, bar_index + extendGaps, fvgBottom,
border_color=boxColor,
bgcolor=boxColor,
border_width=borderWidth,
border_style=isFilled ? line.style_dotted : line.style_solid)
array.push(bearishBoxes, b)
// Label
if showLabels and not isFilled
string labelText = isActive ? 'FVG- 🎯' : 'FVG-'
if fillPct > 0 and fillPct < 1.0
labelText += ' ' + str.tostring(fillPct * 100, '#') + '%'
label lbl = label.new(bar_index + 2, fvgBottom, labelText,
color=color.new(color.red, isActive ? 70 : 85),
textcolor=color.white,
style=label.style_label_up,
size=isActive ? size.normal : size.small)
array.push(bearishLabels, lbl)
// ========== INFO TABLE ==========
var table infoTable = table.new(position.top_right, 2, 5, border_width=1, bgcolor=color.new(color.black, 85), border_color=color.gray)
if barstate.islast
// Header
table.cell(infoTable, 0, 0, '⚡ Fair Value Gaps', bgcolor=color.new(color.blue, 70), text_color=color.white, text_size=size.normal)
table.merge_cells(infoTable, 0, 0, 1, 0)
// Count unfilled bullish FVGs
int activeBullish = 0
int bullSize = array.size(bullishFVGTops)
if bullSize > 0
for i = 0 to bullSize - 1
if not array.get(bullishFVGFilled, i)
activeBullish += 1
table.cell(infoTable, 0, 1, 'Bullish FVG:', text_color=color.white, text_size=size.small)
table.cell(infoTable, 1, 1, str.tostring(activeBullish), bgcolor=color.new(color.green, 70), text_color=color.white, text_size=size.small)
// Count unfilled bearish FVGs
int activeBearish = 0
int bearSize = array.size(bearishFVGTops)
if bearSize > 0
for i = 0 to bearSize - 1
if not array.get(bearishFVGFilled, i)
activeBearish += 1
table.cell(infoTable, 0, 2, 'Bearish FVG:', text_color=color.white, text_size=size.small)
table.cell(infoTable, 1, 2, str.tostring(activeBearish), bgcolor=color.new(color.red, 70), text_color=color.white, text_size=size.small)
// Bias
string bias = activeBullish > activeBearish ? '⬆ Bullish' : activeBearish > activeBullish ? '⬇ Bearish' : '↔ Neutral'
color biasColor = activeBullish > activeBearish ? color.green : activeBearish > activeBullish ? color.red : color.gray
table.cell(infoTable, 0, 3, 'Bias:', text_color=color.white, text_size=size.small)
table.cell(infoTable, 1, 3, bias, text_color=biasColor, text_size=size.small)
// Nearest gap
if nearestBullIdx >= 0 and nearestBullDist < nearestBearDist
float distPct = (nearestBullDist / close) * 100
table.cell(infoTable, 0, 4, 'Target:', text_color=color.white, text_size=size.tiny)
table.cell(infoTable, 1, 4, 'Bull FVG -' + str.tostring(distPct, '#.##') + '%', text_color=color.lime, text_size=size.tiny)
else if nearestBearIdx >= 0
float distPct = (nearestBearDist / close) * 100
table.cell(infoTable, 0, 4, 'Target:', text_color=color.white, text_size=size.tiny)
table.cell(infoTable, 1, 4, 'Bear FVG +' + str.tostring(distPct, '#.##') + '%', text_color=color.orange, text_size=size.tiny)
else
table.cell(infoTable, 0, 4, 'Status:', text_color=color.white, text_size=size.tiny)
table.cell(infoTable, 1, 4, 'No active gaps', text_color=color.gray, text_size=size.tiny)
// ========== SIGNALS ==========
// Price entering bullish FVG
bool enteringBullFVG = false
if nearestBullIdx >= 0 and bullSize > 0
float fvgTop = array.get(bullishFVGTops, nearestBullIdx)
float fvgBottom = array.get(bullishFVGBottoms, nearestBullIdx)
bool isFilled = array.get(bullishFVGFilled, nearestBullIdx)
enteringBullFVG := not isFilled and low <= fvgTop and low > fvgTop
// Price entering bearish FVG
bool enteringBearFVG = false
if nearestBearIdx >= 0 and bearSize > 0
float fvgTop = array.get(bearishFVGTops, nearestBearIdx)
float fvgBottom = array.get(bearishFVGBottoms, nearestBearIdx)
bool isFilled = array.get(bearishFVGFilled, nearestBearIdx)
enteringBearFVG := not isFilled and high >= fvgBottom and high < fvgBottom
// Plot signals
plotshape(enteringBullFVG, 'Bullish FVG Fill', shape.circle, location.belowbar, color.new(color.lime, 0), size=size.small)
plotshape(enteringBearFVG, 'Bearish FVG Fill', shape.circle, location.abovebar, color.new(color.orange, 0), size=size.small)
// New FVG signals
plotshape(bullFVG, 'New Bullish FVG', shape.triangleup, location.belowbar, color.new(color.green, 30), size=size.tiny)
plotshape(bearFVG, 'New Bearish FVG', shape.triangledown, location.abovebar, color.new(color.red, 30), size=size.tiny)
// ========== ALERTS ==========
alertcondition(enteringBullFVG, 'Price Entering Bullish FVG', '🟢 Price entering Bullish Fair Value Gap on {{ticker}} at {{close}}')
alertcondition(enteringBearFVG, 'Price Entering Bearish FVG', '🔴 Price entering Bearish Fair Value Gap on {{ticker}} at {{close}}')
alertcondition(bullFVG, 'New Bullish FVG Detected', '⚡ New Bullish FVG detected on {{ticker}}')
alertcondition(bearFVG, 'New Bearish FVG Detected', '⚡ New Bearish FVG detected on {{ticker}}')
CRR SELL BOX MICROWhat it analyzes
Multi-TF:
1m, 5m, 15m, 30m (tf1–tf4).
In each timeframe it looks at:
EMA 15 / 30 / 200 → trend.
MACD → momentum.
RSI → strength.
From this it derives:
t1, t2, t3, t4 = +1 bullish, -1 bearish, 0 neutral.
A bearScore = how many TFs are bearish → multiTfBear.
Volatility / momentum:
ATR in pips (atrPips) → checks for sufficient movement (sufAtr).
1m candlestick body in pips → momentumBear1
(large bearish candle + MACD bearish + RSI bearish).
Strong downward candle in ticks (bigDrop) → type of large vertical red candle.
Global sensitivity:
Mode: Normal / High / Turbo
Automatically adjusts:
Minimum drop in ticks,
Minimum candlestick body,
Minimum ATR.
2️⃣ Main Sell Signal
SELL WITHOUT PULLBACK 1m
sellNoPull:
EMA 15 < EMA 30 < EMA 200 (strong bearish trend 1m),
MACD crosses bearish,
Price below EMA30 1m.
Multi-TF Bear
multiTfBear:
Normal Mode: 1m bearish and 5m–15m–30m not bullish,
High/Turbo Mode: at least 2 bearish TFs (bearScore >= 2).
Final condition (what triggers the setup)
Conservative:
condSellConservative = sellNoPull + multiTfBear + sufAtr + momentumBear1
Aggressive:
condSellAggressive = (t1 == -1 or bigDrop) + 15m not bullish + sufAtr
Final:
condSellFinal
If aggressiveMicro = true → uses aggressive logic.
Otherwise → uses conservative logic.
When condSellFinal is true:
It is considered a valid sell setup for scalping / micro. 3️⃣ States it shows you
Depending on what it detects:
🔴 "MICRO SELL 10-20p"
(aggressive mode ON + everything aligned for a quick drop).
🟥 "SCALPING SELL"
(if you're in conservative mode).
🟧 "NORMAL SELL"
(multi-timeframe bearish but without a strong trigger).
⚪ "NEUTRAL (NO SELL)"
(no setup).
Extra info (below the light bulb):
"STRONG DROP" if there's a large red candlestick indicating a sharp decline.
"MULTI TF BEARISH" if several timeframes are bearish.
"NO SETUP" if conditions are not met.
4️⃣ HUD + Session Clock
Compact HUD at the top center:
Row 1: STATUS: MICRO SELL / NORMAL SELL / NEUTRAL.
Row 2: Light bulb ● (red, orange, or gray) + extra info text.
New York Clock:
Detects session: TOKYO / LONDON / NEW YORK
(for trading time context only).
5️⃣ Alerts
When condSellFinal is met, it triggers:
"CRR SCALPING/MICRO SELL - sell signal activated"
🧠 In simple terms:
It's your specialized SELL radar:
It combines multi-timeframe analysis, momentum, ATR, and strong bearish candlesticks to alert you when gold is ready for a quick 10-20 pip short trade or a more serious bearish scalp.
CRR BUY What it analyzes
4 timeframes:
1m, 5m, 15m, and 30m.
In each timeframe it looks at:
EMA 15 / 30 / 200 → trend.
MACD → momentum.
RSI → strength.
From this it derives:
t1, t2, t3, t4 = +1 bullish, -1 bearish, 0 neutral.
A multi-timeframe bullScore (how many timeframes are bullish).
2️⃣ Volatility / momentum filters
ATR in pips → checks if there is enough movement (suffAtr).
1m candlestick body in pips → momentumBull1
(strong bullish candle with bullish MACD + bullish RSI).
Strong upward candle (bigPump) measured in ticks/pips.
Sensitivity mode:
Normal / High / Turbo → loosens or tightens filters for:
Strong candle,
Minimum body,
Minimum ATR.
3️⃣ Buy logic
There are three levels:
condBuyConservative
CLASSIC BUY WITHOUT RETRACEMENT:
Strong 1m trend, bullish MACD crossover, price above EMA30, + 1m momentum, + sufficient ATR, + multi-timeframe bullish.
condBuyAggressive (if using aggressive mode):
It's enough to have:
1m bullish (t1 == 1) or bigPump,
15m not bearish,
Sufficient ATR.
condBuyFinal
If aggressiveMicro = true → uses condBuyAggressive.
Otherwise → uses condBuyConservative.
Based on this, it displays states:
✅ "MICRO BUY 10-20p" (aggressive mode ON and everything aligned)
✅ "SCALPING BUY" (conservative mode with confirmations)
✅ "NORMAL BUY" (multi-timeframe bullish but without a strong trigger)
⛔ "NEUTRAL (NO BUY)" (no setup)
And triggers an alert:
CRR SCALPING BUY when condBuyFinal is met.
4️⃣ HUD and sessions
Detects session by New York time:
TOKYO / LONDON / NEW YORK (different color). Compact HUD at the top center with:
STATUS (buy or neutral text),
Green/teal/gray light bulb icon (●),
Extra info:
"STRONG UPTREND" if there's a big pump,
"MULTI TF BULLISH" if many timeframes are bullish,
"NO SETUP" if there's nothing.
🧠 In simple terms:
It's a BUY ONLY bullish radar for scalping/micro trading, which combines multi-timeframe analysis + momentum + ATR + strong candlestick patterns, summarizes it in a HUD, and sends you an alert when there's a real setup to go long.Qué analiza
4 marcos de tiempo:
1m, 5m, 15m y 30m.
En cada TF mira:
EMA 15 / 30 / 200 → tendencia.
MACD → impulso.
RSI → fuerza.
De ahí saca:
t1, t2, t3, t4 = +1 toro, -1 oso, 0 neutro.
Un bullScore multi–TF (cuántos TF están alcistas).
2️⃣ Filtros de volatilidad / momentum
ATR en pips → comprueba si hay suficiente movimiento (sufAtr).
Cuerpo de la vela 1m en pips → momentumBull1
(vela alcista fuerte con MACD bull + RSI bull).
Vela de subida fuerte (bigPump) medida en ticks/pips.
Modo sensibilidad:
Normal / Alta / Turbo → relaja o endurece filtros de:
Vela fuerte,
Cuerpo mínimo,
ATR mínimo.
3️⃣ Lógica de compra
Hay tres niveles:
condBuyConservador
BUY SIN RETRO clásico:
Tendencia 1m fuerte, cruce MACD bull, precio sobre EMA30, + momentum 1m, + ATR ok, + multi–TF bull.
condBuyAgresivo (si usas modo agresivo):
Basta con:
1m toro (t1 == 1) o bigPump,
15m no bajista,
ATR suficiente.
condBuyFinal
Si aggressiveMicro = true → usa condBuyAgresivo.
Si no → usa condBuyConservador.
Según eso, muestra estados:
✅ "COMPRA MICRO 10-20p" (modo agresivo ON y todo alineado)
✅ "COMPRA SCALPING" (modo conservador con confirmaciones)
✅ "COMPRA NORMAL" (multi–TF alcista pero sin trigger fuerte)
⛔ "NEUTRO (NO COMPRA)" (no hay setup)
Y dispara alerta:
CRR COMPRA SCALPING cuando condBuyFinal se cumple.
4️⃣ HUD y sesiones
Detecta sesión por hora de New York:
TOKIO / LONDRES / NEW YORK (color distinto).
HUD compacto arriba al centro con:
ESTADO (texto de compra o neutro),
Bombillo (●) verde/teal/gris,
Info extra:
"SUBIDA FUERTE" si hay bigPump,
"MULTI TF ALCISTA" si muchos TF están bull,
"SIN SETUP" si no hay nada.
🧠 En simple:
Es un radar de COMPRA SOLO BULL para scalping/micro, que mezcla multi–TF + momentum + ATR + vela fuerte, te lo resume en un HUD y te manda alerta cuando hay setup real para disparar largo.
⭐ Silver HUD v14.6 ⭐Silver HUD v14.6 is an enhanced Pine Script v5 indicator for micro silver futures (SIL) trading on TradingView, featuring a compact 2-column bottom-right HUD with weighted scoring across 5 engines (trend, flow, momentum, PB, turbo), 2H structure arbitration, divergence detection, volume surge analysis, BUY/SELL arrows, and risk warnings. Expanded from v14.5 with dedicated DIV/VOL rows for better signal context on 5m charts.
Multi-Engine Scoring
Trend Engine
EMA20/50 alignment + VWAP direction (1.001%/0.999% thresholds): UP/DOWN/MIXED scores 100/60/20.
Flow Engine
CCIOBV (CCI20 + OBV EMA13 sync) + QQE (RSI14 smoothed with trailing volatility): dual UP/DOWN = strong flow (100), mixed (60).
Momentum
RSI14/MFI14 >55 (UP=100), <45 (DOWN=100), else NEUTRAL (60).
PB (Pullback)
EMA20 deviation: -0.4% to +1.2% = OK (100), ≥1.2% CHASE (70/40), DEEP (30/80 for long/short).
Turbo
ATR14 percentile (>70 EXPANDING, <30 FADE) + BB20 width percentile (<20 SQ): SQ+EXPANDING=BREAKOUT (100).
Weighted Totals
BUY: flow(30%)+mom(25%)+PB(25%)+trend(10%)+turbo(10%); SELL adjusts turbo(20%)/PB(15%). Thresholds: BUY≥75, SELL≥72.
Advanced Features
2H Arbitration
Swing HH/HL/LL/LH detection resolves BUY/SELL conflicts; UP (HH/HL) favors longs, DOWN (LL/LH) shorts.
Divergence
RSI-based: price HH without RSI HH = BEAR DIV; price LL without RSI LL = BULL DIV.
Volume Surge
2x 20-SMA or 80th percentile: BULL/BEAR SURGE (directional), SURGE (neutral).
Signals & Risk
Raw triggers filtered (no DEEP PB BUY, no DOWN trend BUY, UP flow required); final uses 2H tiebreaker. RISK flags DIV, surges, DEEP PB, trend conflicts, score ties. Tiny BUY/SELL arrows on raw signals.
HUD Layout
14-row table: TREND/FLOW/MOM/PB/TURBO/FINAL/BUY*/SELL*/2H/DIV/VOL/RISK/Threshold. Stars rate scores (★★★★★=90+), color-coded statuses, gold FINAL. Perfect for SIL scalpers needing confluence + risk at a glance.
Options Scalper v2 - SPY/QQQHere's a comprehensive description of the Options Scalper v2 strategy:
---
## Options Scalper v2 - SPY/QQQ
### Overview
A multi-indicator confluence-based scalping strategy designed for trading SPY and QQQ options on short timeframes (1-5 minute charts). The strategy uses a scoring system to generate high-probability CALL and PUT signals by requiring alignment across multiple technical indicators before triggering entries.
---
### Core Logic
The strategy operates on a **scoring system (0-9 points)** where both bullish (CALL) and bearish (PUT) conditions are evaluated independently. A signal only fires when:
1. A recent EMA crossover occurred (within the last 3 bars)
2. The direction's score meets the minimum threshold (default: 4 points)
3. The signal's score is higher than the opposite direction
4. Enough bars have passed since the last signal (cooldown period)
5. Price action occurs during valid trading sessions
---
### Indicators Used
| Indicator | Purpose | CALL Condition | PUT Condition |
|-----------|---------|----------------|---------------|
| **9/21 EMA Cross** | Primary trigger | Fast EMA crosses above slow | Fast EMA crosses below slow |
| **200 EMA** | Trend filter | Price above 200 EMA | Price below 200 EMA |
| **RSI (14)** | Momentum filter | RSI between 45-65 | RSI between 35-55 |
| **VWAP** | Institutional level | Price above VWAP | Price below VWAP |
| **MACD (12,26,9)** | Momentum confirmation | MACD line > Signal line | MACD line < Signal line |
| **Stochastic (14,3)** | Overbought/Oversold | Oversold or K > D | Overbought or K < D |
| **Volume** | Participation confirmation | Spike on green candle | Spike on red candle |
| **Price Structure** | Breakout detection | Higher high formed | Lower low formed |
---
### Scoring Breakdown
**CALL Score (Max 9 points):**
- Recent EMA cross up: +2 pts
- EMA alignment (fast > slow): +1 pt
- RSI in bullish range: +1 pt
- Above VWAP: +1 pt
- MACD bullish: +1 pt
- Volume spike on green candle: +1 pt
- Stochastic setup: +1 pt
- Above 200 EMA: +1 pt
- Breaking higher high: +1 pt
**PUT Score (Max 9 points):**
- Recent EMA cross down: +2 pts
- EMA alignment (fast < slow): +1 pt
- RSI in bearish range: +1 pt
- Below VWAP: +1 pt
- MACD bearish: +1 pt
- Volume spike on red candle: +1 pt
- Stochastic setup: +1 pt
- Below 200 EMA: +1 pt
- Breaking lower low: +1 pt
---
### Risk Management
The strategy uses **ATR-based dynamic stops and targets**:
| Parameter | Default | Description |
|-----------|---------|-------------|
| Stop Loss | 1.5x ATR | Distance below entry for longs, above for shorts |
| Take Profit | 2.0x ATR | Creates a 1:1.33 risk-reward ratio |
Positions are also closed on:
- Opposite direction signal (flip trade)
- Take profit or stop loss hit
---
### Session Filtering
Trades are restricted to high-liquidity periods by default:
- **Morning Session:** 9:30 AM - 11:00 AM EST
- **Afternoon Session:** 2:30 PM - 3:55 PM EST
This avoids choppy midday price action and captures the highest volume periods.
---
### Input Parameters
| Parameter | Default | Description |
|-----------|---------|-------------|
| Fast EMA | 9 | Fast moving average period |
| Slow EMA | 21 | Slow moving average period |
| Trend EMA | 200 | Long-term trend filter |
| RSI Length | 14 | RSI calculation period |
| RSI Overbought | 65 | Upper RSI threshold |
| RSI Oversold | 35 | Lower RSI threshold |
| Volume Multiplier | 1.2x | Volume spike detection threshold |
| Min Signal Strength | 4 | Minimum score required to trigger |
| Crossover Lookback | 3 | Bars to consider crossover "recent" |
| Min Bars Between Signals | 5 | Cooldown period between signals |
---
### Visual Elements
**Chart Plots:**
- Green line: 9 EMA (fast)
- Red line: 21 EMA (slow)
- Gray line: 200 EMA (trend)
- Purple dots: VWAP
**Signal Markers:**
- Green triangle up + "CALL" label: Buy call signal
- Red triangle down + "PUT" label: Buy put signal
- Small circles: EMA crossover reference points
**Info Table (Top Right):**
- Real-time CALL and PUT scores
- RSI, MACD, Stochastic values
- VWAP and 200 EMA position
- Recent crossover status
- Current signal state
---
### Alerts
| Alert Name | Trigger |
|------------|---------|
| CALL Entry | Standard call signal fires |
| PUT Entry | Standard put signal fires |
| Strong CALL | Call signal with score ≥ 6 |
| Strong PUT | Put signal with score ≥ 6 |
---
### Recommended Usage
| Setting | 0DTE Scalping | Intraday Swings |
|---------|---------------|-----------------|
| Timeframe | 1-2 min | 5 min |
| Min Signal Strength | 5-6 | 4 |
| ATR Stop Mult | 1.0 | 1.5 |
| ATR TP Mult | 1.5 | 2.0 |
| Option Delta | 0.40-0.50 | 0.30-0.40 |
---
### Key Improvements Over v1
1. **Requires actual crossover** - Eliminates false signals from simple trend continuation
2. **Balanced scoring** - Both directions evaluated equally, highest score wins
3. **Signal cooldown** - Prevents overtrading with minimum bar spacing
4. **Multi-indicator confluence** - 8 factors must align for signal generation
5. **Volume-candle alignment** - Volume spikes only count when matching candle direction
---
### Disclaimer
This strategy is for educational purposes. Backtest thoroughly before live trading. Options trading involves significant risk of loss. Past performance does not guarantee future results.
TMT 1M HA Scalping INDICATOR - Hitesh Nimje📊 TMT 1 Minute HA Scalping Strategy - Hitesh Nimje
🎯 Strategy Overview
A 1-minute scalping strategy designed for high-frequency trading using Heikin Ashi-inspired crossover logic with multiple filters for precision entries.
🔧 Key Components
1. Moving Averages (Trend Detection)
LineTypePeriodColorPurposeFast SMASimple MA9🔵 BluePrimary signal lineSlow SMASimple MA21🔴 RedSecondary confirmationTrend SMASMA (1H)50⚫ BlackOverall market trend bias
2. Entry Signals (Crossover Logic)
🔥 BUY Signal: Fast SMA (9) crosses ABOVE Slow SMA (21)
🔥 SELL Signal: Fast SMA (9) crosses BELOW Slow SMA (21)
3. Entry Filters (4-Layer Confirmation)
✅ LONG Entry = Crossover + Trend Up + RSI Overbought + Bar Confirmed
✅ SHORT Entry = Crossunder + Trend Down + RSI Oversold + Bar Confirmed
longCond = sma_slope > 0 AND rsi >= 70 AND buySignal
shortCond = sma_slope < 0 AND rsi <= 30 AND sellSignal
FilterLongShortPurposeTrend Slopesma_slope > 0sma_slope < 0Market directionRSI FilterRSI >= 70RSI <= 30Momentum extremeCrossoverFast > SlowFast < SlowEntry triggerBar Statebarstate.isconfirmedbarstate.isconfirmedNo repaint
⚡ Risk Management
Stop Loss (Dynamic ATR-based)
Long SL = Lowest Low (7) - 1×ATR(14)
Short SL = Highest High (7) + 1×ATR(14)
Take Profit (1:1 Risk-Reward)
Long TP = Entry + (Entry - SL distance)
Short TP = Entry - (SL distance - Entry)
⏰ Trading Hours
📅 Active: 00:00 - 14:59 (3:00 PM cutoff)
🛑 Auto-close: All positions closed at 15:00
🎨 Visual Elements
📍 BUY Labels: 🟢 Green (below bar)
📍 SELL Labels: 🔴 Red (above bar)
📈 Fast SMA: 🔵 Blue line (9-period)
📉 Slow SMA: 🔴 Red line (21-period)
📊 Trend SMA: ⚫ Black line (50-period, 1H)
⚙️ Input Parameters
ParameterDefaultPurposeEnd of Day1500 (3 PM)Auto-close timeLot Size1Position size
🚀 How It Works (Step-by-Step)
1. Monitor Fast(9) vs Slow(21) SMA crossover
2. Check 1H Trend SMA slope (up/down bias)
3. Validate RSI extreme (70+/30-)
4. Wait for bar confirmation
5. Enter with ATR-based SL & 1:1 TP
6. Auto-exit at 3 PM or SL/TP hit
💡 Strategy Strengths
* ✅ Multi-timeframe trend filter
* ✅ RSI momentum confirmation
* ✅ Dynamic ATR stop losses
* ✅ No repaint signals
* ✅ End-of-day risk control
* ✅ 1:1 Risk-Reward consistency
Perfect for 1-minute scalping on volatile instruments! 🔥
© Hitesh Nimje | Thought Magic Trading
Contact: 8087192915
TRADING DISCLAIMER
RISK WARNING
Trading involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results. You should carefully consider whether trading is suitable for you in light of your circumstances, knowledge, and financial resources.
NO FINANCIAL ADVICE
This indicator is provided for educational and informational purposes only. It does not constitute:
* Financial advice or investment recommendations
* Buy/sell signals or trading signals
* Professional investment advice
* Legal, tax, or accounting guidance
LIMITATIONS AND DISCLAIMERS
Technical Analysis Limitations
* Pivot points are mathematical calculations based on historical price data
* No guarantee of accuracy of price levels or calculations
* Markets can and do behave irrationally for extended periods
* Past performance does not guarantee future results
* Technical analysis should be used in conjunction with fundamental analysis
Data and Calculation Disclaimers
* Calculations are based on available price data at the time of calculation
* Data quality and availability may affect accuracy
* Pivot levels may differ when calculated on different timeframes
* Gaps and irregular market conditions may cause level failures
* Extended hours trading may affect intraday pivot calculations
Market Risks
* Extreme market volatility can invalidate all technical levels
* News events, economic announcements, and market manipulation can cause gaps
* Liquidity issues may prevent execution at calculated levels
* Currency fluctuations, inflation, and interest rate changes affect all levels
* Black swan events and market crashes cannot be predicted by technical analysis
USER RESPONSIBILITIES
Due Diligence
* You are solely responsible for your trading decisions
* Conduct your own research before using this indicator
* Verify calculations with multiple sources before trading
* Consider multiple timeframes and confirm levels with other technical tools
* Never rely solely on one indicator for trading decisions
Risk Management
* Always use proper risk management and position sizing
* Set appropriate stop-losses for all positions
* Never risk more than you can afford to lose
* Consider the inherent risks of leverage and margin trading
* Diversify your portfolio and trading strategies
Professional Consultation
* Consult with qualified financial advisors before trading
* Consider your tax obligations and legal requirements
* Understand the regulations in your jurisdiction
* Seek professional advice for complex trading strategies
LIMITATION OF LIABILITY
Indemnification
The creator and distributor of this indicator shall not be liable for:
* Any trading losses, whether direct or indirect
* Inaccurate or delayed price data
* System failures or technical malfunctions
* Loss of data or profits
* Interruption of service or connectivity issues
No Warranty
This indicator is provided "as is" without warranties of any kind:
* No guarantee of accuracy or completeness
* No warranty of uninterrupted or error-free operation
* No warranty of merchantability or fitness for a particular purpose
* The software may contain bugs or errors
Maximum Liability
In no event shall the liability exceed the purchase price (if any) paid for this indicator. This limitation applies regardless of the theory of liability, whether contract, tort, negligence, or otherwise.
REGULATORY COMPLIANCE
Jurisdiction-Specific Risks
* Regulations vary by country and region
* Some jurisdictions prohibit or restrict certain trading strategies
* Tax implications differ based on your location and trading frequency
* Commodity futures and options trading may have additional requirements
* Currency trading may be regulated differently than stock trading
Professional Trading
* If you are a professional trader, ensure compliance with all applicable regulations
* Adhere to fiduciary duties and best execution requirements
* Maintain required records and reporting
* Follow market abuse regulations and insider trading laws
TECHNICAL SPECIFICATIONS
Data Sources
* Calculations based on TradingView data feeds
* Data accuracy depends on broker and exchange reporting
* Historical data may be subject to adjustments and corrections
* Real-time data may have delays depending on data providers
Software Limitations
* Internet connectivity required for proper operation
* Software updates may change calculations or functionality
* TradingView platform dependencies may affect performance
* Third-party integrations may introduce additional risks
MONEY MANAGEMENT RECOMMENDATIONS
Conservative Approach
* Risk only 1-2% of capital per trade
* Use position sizing based on volatility
* Maintain adequate cash reserves
* Avoid over-leveraging accounts
Portfolio Management
* Diversify across multiple strategies
* Don't put all capital into one approach
* Regularly review and adjust trading strategies
* Maintain detailed trading records
FINAL LEGAL NOTICES
Acceptance of Terms
* By using this indicator, you acknowledge that you have read and understood this disclaimer
* You agree to assume all risks associated with trading
* You confirm that you are legally permitted to trade in your jurisdiction
Updates and Changes
* This disclaimer may be updated without notice
* Continued use constitutes acceptance of any changes
* It is your responsibility to stay informed of updates
Governing Law
* This disclaimer shall be governed by the laws of the jurisdiction where the indicator was created
* Any disputes shall be resolved in the appropriate courts
* Severability clause: If any part of this disclaimer is invalid, the remainder remains enforceable
REMEMBER: THERE ARE NO GUARANTEES IN TRADING. THE MAJORITY OF RETAIL TRADERS LOSE MONEY. TRADE AT YOUR OWN RISK.
Contact Information:
* Creator: Hitesh_Nimje
* Phone: Contact@8087192915
* Source: Thought Magic Trading
© HiteshNimje - All Rights Reserved
This disclaimer should be prominently displayed whenever the indicator is shared, sold, or distributed to ensure users are fully aware of the risks and limitations involved in trading.






















