Nifty Support-Resistance Breakout (Nomaan Shaikh) The Nifty Support-Resistance Breakout Indicator is a powerful tool designed for traders to identify key support and resistance levels on the Nifty index chart and detect potential breakout opportunities. This indicator automates the process of plotting dynamic support and resistance levels based on historical price action and provides clear visual signals when a breakout occurs. It is ideal for traders who rely on technical analysis to make informed trading decisions.
Candlestick analysis
DOM-KARTIKThis Pine Script indicator, titled "Advanced Smart Money Tracker", is designed to analyze market activity and identify key patterns related to volume spikes, stop hunts, and potential retail traps. It leverages advanced volume and price action analysis to give traders insights into possible fake breakouts or market manipulations.
AKR - BajajFinServ Buy/Sell Alerts on Previous High/LowThis indicator will work on BajajFinserv script. It will give buy or sell signal based on prev day high and low.
R3v GoldKey Uses of Moving Averages:
Trend Identification: Moving averages help determine the overall market direction. If the price is above the moving average, it suggests an uptrend, while if it’s below, it suggests a downtrend.
Support and Resistance Levels: Prices often respect the moving average as dynamic support or resistance levels. For example, during an uptrend, the price may frequently bounce off the moving average.
Crossovers: A common trading strategy involves two moving averages with different periods, such as a fast EMA (like the 9-period) crossing above a slow SMA (like the 50-period). This crossover can signal a potential buy (bullish crossover) or sell (bearish crossover).
Pivot Points MejoradoHola este indicador les servirá para visualizar los puntos mínimos y máximos despues de 5 velas.
Sadosi Gap SelecterThis indicator is designed to be used on daily charts. Please note that it will not work with weekly or hourly data.
The Sadosi Gap Selecter is a powerful indicator designed to identify price gaps that occur between specific dates on the chart. It allows users to easily analyze price movements between selected weeks and days, highlighting these periods with visual boxes. This helps traders spot potential trend reversals and key price levels more effectively. It’s particularly valuable for those utilizing gap trading strategies to identify market inefficiencies.
The core functionality of this indicator is based on detecting price differences between two selected days within a defined date range. With the Start Day (day1) and End Day (day2) options, you can choose the exact days of the week you’d like to analyze. For instance, if you want to focus on price movements from Friday to Monday, simply select those days. Additionally, the Start Week (week1) and End Week (week2) settings allow you to narrow down the time frame on a weekly basis, making it easy to analyze price behavior during specific periods of the year.
For visual customization, several options are available. The Color (renk) setting lets you choose between red and yellow for the highlighted boxes. The Transparency (op) control adjusts the background opacity from 0% (fully opaque) to 100% (completely transparent), allowing you to manage how prominently the boxes appear on your chart. Furthermore, the Border (hat) option enables you to add or remove borders around the boxes, helping reduce visual clutter or emphasize certain areas depending on your preference.
Once applied to the chart, the indicator automatically generates boxes for the specified date ranges. The upper and lower bounds of each box are determined based on the price movement within that period, providing insights into the direction and strength of the trend. However, this tool does not generate definitive buy or sell signals on its own. It is recommended to use it alongside other technical analysis tools to make more informed trading decisions.
With the Sadosi Gap Selecter, you can gain clearer insights into price behavior, strengthen your trend analyses using historical data, and fully customize the settings to match your trading style for more effective results.
This indicator is designed to be used on daily charts. Please note that it will not work with weekly or hourly data
Algoman Oscillator//@version = 5
indicator(shorttitle='Algoman Oscillator', title='Algoman Oscillator', overlay=false)
n1 = input(10, 'Channel length')
n2 = input(21, 'Average length')
reaction_wt = input.int(defval=1, title='Reaction in change of direction', minval=1)
nsc = input.float(53, 'Levels About Buys', minval=0.0)
nsv = input.float(-53, 'Levels About Sells', maxval=-0.0)
Buy_sales = input(true, title='Only Smart Buy Reversal')
Sell_sales = input(true, title='Only Smart Sell Reversal')
Histogram = input(true, title='Show Histogarm')
//Trendx = input(false, title='Show Trendx')
barras = input(true, title='Divergence on chart(Bars)')
divregbull = input(true, title='Regular Divergence Bullish')
divregbear = input(true, title='Regular Divergence Bearish')
divhidbull = input(true, title='Show Divergence Hidden Bullish')
divhidbear = input(true, title='Show Divergence Hidden Bearish')
Tags = input(true, title='Show Divergence Lable')
amme = input(false, title='Activar media movil Extra para WT')
White = #FDFEFE
Black = #000000
Bearish = #e91e62
Bullish = #18e0ff
Strong_Bullish = #2962ff
Bullish2 = #00bedc
Blue1 = #00D4FF
Blue2 = #009BBA
orange = #FF8B00
yellow = #FFFB00
LEZ = #0066FF
purp = #FF33CC
// Colouring
tf(_res, _exp, gaps_on) =>
gaps_on == 0 ? request.security(syminfo.tickerid, _res, _exp) : gaps_on == true ? request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_on, barmerge.lookahead_off) : request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_off, barmerge.lookahead_off)
ha_htf = ''
show_ha = input.bool(true, "Show HA Plot/ Market Bias", group="HA Market Bias")
ha_len = input(7, 'Period', group="HA Market Bias")
ha_len2 = input(10, 'Smoothing', group="HA Market Bias")
// Calculations {
o = ta.ema(open, ha_len)
c = ta.ema(close, ha_len)
h = ta.ema(high, ha_len)
l = ta.ema(low, ha_len)
haclose = tf(ha_htf, (o + h + l + c) / 4, 0)
xhaopen = tf(ha_htf, (o + c) / 2, 0)
haopen = na(xhaopen ) ? (o + c) / 2 : (xhaopen + haclose ) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))
o2 = tf(ha_htf, ta.ema(haopen, ha_len2), 0)
c2 = tf(ha_htf, ta.ema(haclose, ha_len2), 0)
h2 = tf(ha_htf, ta.ema(hahigh, ha_len2), 0)
l2 = tf(ha_htf, ta.ema(halow, ha_len2), 0)
ha_avg = (h2 + l2) / 2
// }
osc_len = 8
osc_bias = 100 *(c2 - o2)
osc_smooth = ta.ema(osc_bias, osc_len)
sigcolor =
(osc_bias > 0) and (osc_bias >= osc_smooth) ? color.new(Bullish, 35) :
(osc_bias > 0) and (osc_bias < osc_smooth) ? color.new(Bullish2, 75) :
(osc_bias < 0) and (osc_bias <= osc_smooth) ? color.new(Bearish, 35) :
(osc_bias < 0) and (osc_bias > osc_smooth) ? color.new(Bearish, 75) :
na
// }
nsc1 = nsc
nsc2 = nsc + 5
nsc3 = nsc + 10
nsc4 = nsc + 15
nsc5 = nsc + 20
nsc6 = nsc + 25
nsc7 = nsc + 30
nsc8 = nsc + 35
nsv1 = nsv - 5
nsv2 = nsv - 10
nsv3 = nsv - 15
nsv4 = nsv - 20
nsv5 = nsv - 25
nsv6 = nsv - 30
nsv7 = nsv - 35
nsv8 = nsv - 40
ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)
wt1 = tci
wt2 = ta.sma(wt1, 4)
direction = 0
direction := ta.rising(wt1, reaction_wt) ? 1 : ta.falling(wt1, reaction_wt) ? -1 : nz(direction )
Change_of_direction = ta.change(direction, 1)
pcol = direction > 0 ? Strong_Bullish : direction < 0 ? Bearish : na
obLevel1 = input(60, 'Over Bought Level 1')
obLevel2 = input(53, 'Over Bought Level 2')
osLevel1 = input(-60, 'Over Sold Level 1')
osLevel2 = input(-53, 'Over Sold Level 2')
rsi = ta.rsi(close,14)
color greengrad = color.from_gradient(rsi, 10, 90, #00ddff, #007d91)
color redgrad = color.from_gradient(rsi, 10, 90, #8b002e, #e91e62)
ob1 = plot(obLevel1, color=#e91e6301)
os1 = plot(osLevel1, color=#00dbff01)
ob2 = plot(obLevel2, color=#e91e6301)
os2 = plot(osLevel2, color=#00dbff01)
p1 = plot(wt1, color=#00dbff01)
p2 = plot(wt2, color=#e91e6301)
plot(wt1 - wt2, color=wt2 - wt1 > 0 ? redgrad : greengrad, style=plot.style_columns)
// fill(p1,p2,color = wt2 - wt1 > 0 ? redgrad: greengrad) // old
fill(p1,p2,color = sigcolor) // new
fill(ob1,ob2,color = #e91e6350)
fill(os1,os2,color = #00dbff50)
midpoint = (nsc + nsv) / 2
ploff = (nsc - midpoint) / 8
BullSale = ta.crossunder(wt1, wt2) and wt1 >= nsc and Buy_sales == true
BearSale = ta.crossunder(wt1, wt2) and Buy_sales == false
Bullishh = ta.crossover(wt1, wt2) and wt1 <= nsv and Sell_sales == true
Bearishh = ta.crossover(wt1, wt2) and Sell_sales == false
plot(BullSale ? wt2 + ploff : na, style=plot.style_circles, color=color.new(Bearish, 0), linewidth=3, title='BuysG')
plot(BearSale ? wt2 + ploff : na, style=plot.style_circles, color=color.new(Bearish, 0), linewidth=3, title='SellsG')
plot(Bullishh ? wt2 - ploff : na, style=plot.style_circles, color=color.new(Strong_Bullish, 0), linewidth=3, title='Buys On Sale')
plot(Bearishh ? wt2 - ploff : na, style=plot.style_circles, color=color.new(Strong_Bullish, 0), linewidth=3, title='Sells on Sale')
plot(Histogram ? wt1 - wt2 : na, style=plot.style_area, color=color.new(Blue2, 80), linewidth=1, title='Histograma')
barcolor(barras == true and Bullishh == true or barras == true and Bearishh == true ? Bullish2 : na)
barcolor(barras == true and BullSale == true or barras == true and BearSale == true ? Bearish : na)
/////// Divergence ///////
f_top_fractal(_src) =>
_src < _src and _src < _src and _src > _src and _src > _src
f_bot_fractal(_src) =>
_src > _src and _src > _src and _src < _src and _src < _src
f_fractalize(_src) =>
f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0
fractal_top1 = f_fractalize(wt1) > 0 ? wt1 : na
fractal_bot1 = f_fractalize(wt1) < 0 ? wt1 : na
high_prev1 = ta.valuewhen(fractal_top1, wt1 , 0)
high_price1 = ta.valuewhen(fractal_top1, high , 0)
low_prev1 = ta.valuewhen(fractal_bot1, wt1 , 0)
low_price1 = ta.valuewhen(fractal_bot1, low , 0)
regular_bearish_div1 = fractal_top1 and high > high_price1 and wt1 < high_prev1 and divregbear == true
hidden_bearish_div1 = fractal_top1 and high < high_price1 and wt1 > high_prev1 and divhidbear == true
regular_bullish_div1 = fractal_bot1 and low < low_price1 and wt1 > low_prev1 and divregbull == true
hidden_bullish_div1 = fractal_bot1 and low > low_price1 and wt1 < low_prev1 and divhidbull == true
col1 = regular_bearish_div1 ? Bearish : hidden_bearish_div1 ? Bearish : na
col2 = regular_bullish_div1 ? Strong_Bullish : hidden_bullish_div1 ? Strong_Bullish : na
plot(title='Divergence Bearish', series=fractal_top1 ? wt1 : na, color=col1, linewidth=2, transp=0)
plot(title='Divergence Bullish', series=fractal_bot1 ? wt1 : na, color=col2, linewidth=2, transp=0)
plotshape(regular_bearish_div1 and divregbear and Tags ? wt1 + ploff * 1 : na, title='Divergence Regular Bearish', text='Bear', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(Bearish, 0), textcolor=color.new(White, 0))
plotshape(hidden_bearish_div1 and divhidbear and Tags ? wt1 + ploff * 1 : na, title='Divergence Hidden Bearish', text='H Bear', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(Bearish, 0), textcolor=color.new(White, 0))
plotshape(regular_bullish_div1 and divregbull and Tags ? wt1 - ploff * 1 : na, title='Divergence Regular Bullish', text='Bull', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(Strong_Bullish, 0), textcolor=color.new(White, 0))
plotshape(hidden_bullish_div1 and divhidbull and Tags ? wt1 - ploff * 1 : na, title='Divergence Hidden Bullish', text='H Bull', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(Strong_Bullish, 0), textcolor=color.new(White, 0))
/////// Unfazed Alerts //////
alertcondition(BullSale, title='Smart Bullish Reversal')
alertcondition(BearSale, title='Smart Bearish Reversal')
alertcondition(Bullishh, title='Bullish Reversal')
alertcondition(Bearishh, title='Bearish Reversal')
alertcondition(BullSale or Bullishh, title='Any Bullish reversal')
alertcondition(BearSale or Bearishh, title='Any Bearish Reversal')
alertcondition(Change_of_direction, title='Change In Direction WT')
/////// Extra Alerts //////
alertcondition(BullSale, title='Overbought Reversal')
alertcondition(BearSale, title='All Reversal')
alertcondition(Bullishh, title='Oversold Buys')
alertcondition(Bearishh, title='All Buys')
alertcondition(BullSale or Bullishh, title='Buys/Reversal Overbought/Oversold')
alertcondition(BearSale or Bearishh, title='All Reversal/Buys')
alertcondition(Change_of_direction, title='WT Direction Change')
////////////////////////////////////////////////-MISTERMOTA MOMENTUM-/////////////////////////////////////
source = input(close)
responsiveness = math.max(0.00001, input.float(0.9, minval=0.0, maxval=1.0))
periodd = input(50)
sd = ta.stdev(source, 50) * responsiveness
var worm = source
diff = source - worm
delta = math.abs(diff) > sd ? math.sign(diff) * sd : diff
worm += delta
ma = ta.sma(source, periodd)
raw_momentum = (worm - ma) / worm
current_med = raw_momentum
min_med = ta.lowest(current_med, periodd)
max_med = ta.highest(current_med, periodd)
temp = (current_med - min_med) / (max_med - min_med)
value = 0.5 * 2
value *= (temp - .5 + .5 * nz(value ))
value := value > .9999 ? .9999 : value
value := value < -0.9999 ? -0.9999 : value
temp2 = (1 + value) / (1 - value)
momentum = .25 * math.log(temp2)
momentum += .5 * nz(momentum )
//momentum := raw_momentum
signal = nz(momentum )
trend = math.abs(momentum) <= math.abs(momentum )
////////////////////////////////////////////////-GROWING/FAILING-//////////////////////////////////////////
length = input.int(title="MOM Period", minval=1, defval=14, group="MOM Settings")
src = input(title="MOM Source", defval=hlc3, group="MOM Settings")
txtcol_grow_above = input(#1a7b24, "Above Grow", group="MOM Settings", inline="Above")
txtcol_fall_above = input(#672ec5, "Fall", group="MOM Settings", inline="Above")
txtcol_grow_below = input(#F37121, "Below Grow", group="MOM Settings", inline="Below")
txtcol_fall_below = input(#be0606, "Fall", group="MOM Settings", inline="Below")
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
typeMA = input.string(title = "Method", defval = "SMA", options= , group="MA Settings")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="MA Settings")
smoothingLine = ma(delta, smoothingLength, typeMA)
deltaText=(delta > 0 ? (delta > delta ? " MOM > 0 and ? Growing, MOM = " + str.tostring(delta , "#.##") :" MOM > 0 and ? Falling, MOM = " + str.tostring(delta , "#.##") ) : (delta > delta ? "MOM < 0 and ? Growing, MOM = " + str.tostring(delta , "#.##"): " MOM < 0 and ? Falling, MOM = " + str.tostring(delta , "#.##")))
oneDay = 24 * 60 * 60 * 1000
barsAhead = 3
tmf = if timeframe.ismonthly
barsAhead * oneDay * 30
else if timeframe.isweekly
barsAhead * oneDay * 7
else if timeframe.isdaily
barsAhead * oneDay
else if timeframe.isminutes
barsAhead * oneDay * timeframe.multiplier / 1440
else if timeframe.isseconds
barsAhead * oneDay * timeframe.multiplier / 86400
else
0
angle(_src) =>
rad2degree = 180 / 3.14159265359 //pi
ang = rad2degree * math.atan((_src - _src ) / ta.atr(14))
ang
emae = angle(smoothingLine)
emaanglestat = emae > emae ? "? Growing": "? Falling"
deltaTextxxx = "MOM MA/ATR angle value is " + str.tostring(emae, "#.##") + "° and is " + emaanglestat
deltacolorxxx = emae >0 and emae >=emae ? txtcol_grow_above : txtcol_fall_below
// Label
label lpt1 = label.new(time, -30, text=deltaTextxxx , color=deltacolorxxx, xloc=xloc.bar_time, style=label.style_label_left, textcolor=color.white, textalign=text.align_left, size=size.normal)
label.set_x(lpt1, label.get_x(lpt1) + tmf)
label.delete(lpt1 )
txtdeltaColors = (delta > 50 ? (delta < delta ? txtcol_grow_above : txtcol_fall_above) : (delta < delta ? txtcol_grow_below : txtcol_fall_below))
label ldelta1 = label.new(time, 30, text=deltaText , color=txtdeltaColors, xloc=xloc.bar_time, style=label.style_label_left, textcolor=color.white, textalign=text.align_left, size=size.normal)
label.set_x(ldelta1, label.get_x(ldelta1) + tmf)
label.delete(ldelta1 )
8EMA/VWAP ReversalThis indicator helps mark out potenital areas of reversals in the market. Still a work in progress but best used using the 5m timeframe and on funds(SPY, QQQ, RTY)
EMA Trend Dashboard//@version=6
indicator("Line Extension Example", overlay=true)
// Kullanıcı girişi
extendLeftInput = input.bool(false, title="Extend Left", group="Line Settings")
extendRightInput = input.bool(true, title="Extend Right", group="Line Settings")
// extendStyle için durum belirleyicisi
extendStyle = switch
extendLeftInput and extendRightInput => extend.both
extendLeftInput => extend.left
extendRightInput => extend.right
=> extend.none
// Slope hesaplaması ve çizgiyi oluşturma
startPrice = 1000
endPrice = 1050
lengthInput = 20
baseLine := line.new(bar_index - lengthInput + 1, startPrice, bar_index, endPrice, width=1, extend=extendStyle, color=color.new(color.blue, 0))
Bullish Candlestick Patterns for NQ 1minIdentifies and plots specific bullish candlestick patterns on a 1-minute chart of the NQ (Nasdaq 100 futures) market. Here's a breakdown of what the script does:
What This Script Does
This script scans the 1-minute NQ chart for specific bullish candlestick patterns and visually highlights them on the chart. Traders can use this indicator to quickly identify potential bullish reversal signals and make trading decisions accordingly.
How to Use
Add this script to a 1-minute NQ chart on TradingView.
Customize the input parameters (e.g., hammerWickRatio, engulfingBodyRatio) if needed.
Look for the labeled patterns on the chart to identify potential bullish opportunities.
Adaptive Volatility Zones + MACD + RSI Strategy#### Strategy Overview:
This strategy is designed for trading on higher timeframes (from 4 hours and above) and combines several modern approaches to market analysis. It uses adaptive levels based on volatility, MACD and RSI indicators to confirm signals, and a trend filter (EMA 200). The strategy is optimized to work in trending market conditions and minimizes the number of false signals due to multi-layer filtering.
Midnight range DeviationsScript Title: Midnight Range Deviations
Overview
This Pine Script (written in version 6) is designed to plot a “midnight range” on a chart based on price action from midnight to 00:30 (local exchange time in America/New_York by default). After determining the High, Low, and Midpoint during that half-hour window, the script extends those levels to a specified future time (by default, up to 6:00 AM). Additionally, the script can draw optional Fibonacci deviation lines above and below the range. Users can customize a variety of visual and functional parameters, including the number of historical ranges shown, colors for each line, the presence of labels, Fibonacci levels, and more.
Forex Prince by Prince 1Greetings Friends,
Disclaimer: This is not financial advice or a trading recommendation. The information provided is for educational purposes only. Always conduct your own research and consult with a qualified financial advisor before making any investment decisions. Trade at your own risk. 📊📉📈
Xsson Markets ChecklistA checklist with your trading plan, edit is a you want and become your own accountability partner.
EMA Crossover Strategy with Stop LossEMA Crossover Strategy with Stop Loss
### Explanation:
1. *Heikin-Ashi Candles*: The script uses Heikin-Ashi candles for the 1-hour timeframe.
2. *EMAs*: It calculates the 9-period EMA and the 26-period EMA.
3. *Entry Conditions*: A trade is entered when the 9 EMA crosses above the 26 EMA (long) or below the 26 EMA (short).
4. *Stop Loss*: The stop loss is calculated as the highest price of the last 8-10 candles for long trades and the lowest price for short trades.
5. *Exit Conditions*: The trade is exited if the opposite crossover occurs or if the stop loss level is hit.
6. *Labels*: Labels are added to the chart to indicate entry and exit points.
Buy entry indicator - OAA 04هذا المؤشر مصمم خصيصًا لتحديد نقاط الدخول المحتملة لصفقات الشراء في سوق التداول. يعتمد المؤشر على المتوسط المتحرك الأسي (EMA) لسعر الإغلاق، ويقوم بتحديد إشارات الشراء عندما يلامس سعر الإغلاق هذا المتوسط.
This indicator is specifically designed to identify potential entry points for buy trades in the trading market. The indicator is based on the Exponential Moving Average (EMA) of the closing price, and it generates buy signals when the closing price touches this average.
Al Alia 01Conceptualizing the Strategy
Data Collection and Preparation:
Gather historical candlestick data (open, high, low, close prices) for the asset you want to trade. The more data, the better (think years, not months).
Clean and preprocess the data:
Handle missing values.
Normalize or standardize the data to improve the AI model's performance.
Feature Engineering:
Create technical indicators as features for your AI model. Good options include:
Moving Averages (SMA, EMA)
Relative Strength Index (RSI)
MACD
Bollinger Bands
Fibonacci Retracement levels
Consider adding candlestick pattern recognition as features (e.g., engulfing patterns, doji, etc.).
AI Model Selection:
Choose a suitable machine learning model:
Classification Models:
Logistic Regression: Simple and interpretable.
Support Vector Machines (SVM): Effective in high-dimensional spaces.
Random Forest: Robust and handles non-linear relationships well.
Long Short-Term Memory (LSTM) Networks: Excellent for sequential data like time series.
Regression Models (Alternative):
You could try to predict the next candlestick's closing price directly using regression models.
Training the Model:
Split your data into training, validation, and test sets.
Train the chosen model on the training data, evaluating its performance on the validation set to fine-tune hyperparameters.