1m Leading Indicator Strategy - Deep ResearchHow it works: The code first sets up the strategy and inputs. It then calculates the stochastic %K and %D lines based on the chosen length and smoothing periods. Next, it defines the buy and sell conditions using a crossover (K > D) or crossunder (K < D) of those lines, specifically requiring the previous state to be oversold or overbought for higher confidence signals. When conditions are met, strategy.entry() is used to take a position. The logic includes safeguards to close any opposite position before entering a new one, and respects the user’s choice of allowing long/short trades. Finally, the plotshape functions draw the signal markers on the chart (if enabled), using color-coded labels for clarity.
Usage and Tips
Applying the Script: Use this script on a 1-minute chart of your chosen stock or index. Because it’s optimized for very short-term moves, using it on higher timeframes may require parameter adjustments.
Interpreting Signals: A green “BUY” label indicates a potential upward reversal — consider going long or closing shorts. A red “SELL” label indicates a potential downward reversal — consider going short or taking profit on longs. Always confirm signals with your own analysis or additional context if possible (e.g., major trend direction or support/resistance levels) since no indicator is infallible.
Backtest Results: After adding to chart, open the Strategy Tester in TradingView. You’ll see metrics like total net profit, percentage wins, profit factor, etc. Use these to gauge the strategy’s performance. You can also inspect the list of trades to see where each buy/sell happened and how much was gained or lost.
Fine-Tuning: Adjust the input parameters to improve performance. For instance, if the strategy is catching reversals too late, you might lower the oversold (maybe 15) and overbought (maybe 85) levels or shorten the length slightly. If it’s getting false signals (e.g., in a choppy range), you might raise the thresholds or increase the smoothing period. Every market behaves differently, so a bit of optimization can go a long way. Remember that generally a 14-period is standard but can be modified to change sensitivit
อินดิเคเตอร์และกลยุทธ์
8/34 EMA with Bullish Engulfing Strategy - Linked Trades8/34 EMA with Bullish Engulfing Strategy - Linked Trade Visualization
📈 Description
This script implements an 8 EMA / 34 EMA crossover strategy with Bullish and Bearish Engulfing Candlestick patterns to confirm trade entries. It enhances trade visualization by tracking entry and exit points and drawing connecting lines between them. Each trade is uniquely labeled with an entry ID and exit ID, making it easy to see which exit corresponds to which entry.
📌 Key Features:
✅ Uses 8 EMA and 34 EMA for trend direction
✅ Identifies Bullish Engulfing patterns for long entries
✅ Identifies Bearish Engulfing patterns for short entries
✅ Tracks trade entries and exits with matching labels
✅ Draws a line between each entry and exit for better trade tracking
✅ Works on all timeframes and assets
🛠️ How to Use
Apply to Any Chart
Use this script on any asset (stocks, crypto, forex, etc.).
Works best on timeframes 15m and above for clearer signals.
Entry Signals (Trade Start)
🟢 Long Entry: When the 8 EMA crosses above the 34 EMA and a bullish engulfing pattern appears.
🔴 Short Entry: When the 8 EMA crosses below the 34 EMA and a bearish engulfing pattern appears.
Each trade entry is labeled with "Long Entry #X" or "Short Entry #X" (where X is the trade number).
Exit Signals (Trade Close)
🔴 Long Exit: When the 8 EMA crosses below the 34 EMA and price closes below it.
🟢 Short Exit: When the 8 EMA crosses above the 34 EMA and price closes above it.
Exit points are labeled as "Long Exit #X" or "Short Exit #X" with a matching trade ID.
A line is drawn between the entry and exit to show trade duration.
Legend & Labels
Legend & Labels
🟢 Long Entry → "Long Entry #X" (Green, Large Label)
🔴 Short Entry → "Short Entry #X" (Red, Large Label)
🔴 Long Exit → "Long Exit #X" (Red, Small Label)
🟢 Short Exit → "Short Exit #X" (Green, Small Label)
📏 Trade Line → Yellow for Long Trades, Orange for Short Trades
Customizations
Modify EMA lengths to suit different assets.
Change label colors or sizes in the code.
Adjust trade confirmation conditions if needed.
💡 Notes
This is a visual indicator, not an automated strategy. It does not place live trades.
Some signals may repaint on lower timeframes due to EMA recalculations.
Always backtest before using in live trading.
📊 Enjoy the script! If you find it useful, leave a comment or share improvements. 🚀
Harsh Trending Buy/SellHarsh Trending Buy Sell by Harshal Bafna
Used for trending Buy Sell Signal in Indian Markets
Optimized Scalping Strategy with EMA & Supply/Demand Zonesnew 9 and 15 ema
when 9 ema rise buy and when its 9 falling
LRLR [TakingProphets]LRLR (Low Resistance Liquidity Run) Indicator
This indicator identifies potential liquidity runs in areas of low resistance, based on ICT (Inner Circle Trader) concepts. It specifically looks for a series of unmitigated swing highs in a downtrend that form without any bearish fair value gaps (FVGs) between them.
What is an LRLR?
- A Low Resistance Liquidity Run occurs when price creates a series of lower highs without any bearish fair value gaps in between
- The absence of bearish FVGs indicates there is no significant resistance in the area
- These formations often become targets for smart money to collect liquidity above the swing highs
How to Use the Indicator:
1. The indicator will draw a diagonal line connecting a series of qualifying swing highs
2. A small "LRLR" label appears to mark the pattern
3. These areas often become targets for future price moves, as they represent zones of accumulated liquidity with minimal resistance
Key Points:
- Minimum of 4 consecutive lower swing highs
- No bearish fair value gaps can exist between these swing highs
- The diagonal line helps visualize the liquidity run formation
- Can be used for trade planning and identifying potential reversal zones
Settings:
- Show Labels: Toggle the "LRLR" label visibility
- LRLR Line Color: Customize the appearance of the diagonal line
Best Practices:
1. Use in conjunction with other ICT concepts and market structure analysis
2. Pay attention to how price reacts when returning to these levels
3. Consider these areas as potential targets for smart money liquidity grabs
4. Most effective when used on higher timeframes (4H and above)
Note: This is an educational tool and should be used as part of a complete trading strategy, not in isolation.
VolumeProfileLibrary "VolumeProfile"
Analyzes volume and price and calculates a volume profile, in particular the Point Of Control and Value Area values.
new(rowSizeInTicks, valueAreaCoverage, startTime)
Constructor method that creates a new Volume Profile
Parameters:
rowSizeInTicks (float) : Internal row size (aka resolution) of the volume profile. Useful for most futures contracts would be '1 / syminfo.mintick'. Default '4'.
valueAreaCoverage (int) : Percentage of total volume that is considered the Value Area. Default '70'
startTime (int) : Start time (unix timestamp in milliseconds) of the Volume Profile. Default 'time'.
Returns: VolumeProfile object
method calculatePOC(vp)
Calculates current Point Of Control of the VP
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: void
method calculateVA(vp)
Calculates current Value Area High and Low of the VP
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: void
method update(vp, h, l, v, t)
Processes new chart data and sorts volume into rows. Then calls calculatePOC() and calculateVA() to update the VP. Parameters are usually the output of request.security_lower_tf.
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
h (array) : Array of highs
l (array) : Array of lows
v (array) : Array of volumes
t (array) : Array of candle times
Returns: void
method setSessionHigh(vp, h)
Sets the high of the session the VP is tracking
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
h (float)
Returns: void
method setSessionLow(vp, l)
Sets the low of the session the VP is tracking
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
l (float)
Returns: void
method getPOC(vp)
Gets the current Point Of Control
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: Point Of Control (float)
method getVAH(vp)
Gets the current Value Area High
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: Value Area High (float)
method getVAL(vp)
Gets the current Value Area Low
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: Value Area Low (float)
VolumeProfile
Fields:
rowSizeInTicks (series float)
valueAreaCoverage (series int)
startTime (series int)
valueAreaHigh (series float)
pointOfControl (series float)
valueAreaLow (series float)
sessionHigh (series float)
sessionLow (series float)
volumeByRow (map)
totalVolume (series float)
pocRow (series float)
pocVol (series float)
Quarter Theory Lines with Box Around Each Key LevelQuarter Level Theory with Box Around Each Key Level, Credit to MrPresident for the original idea, revamped with additional touches for maximum profits.
CCI Buy and Sell Signals with 20/30 EMACCI Buy and Sell Signals with EMA and ATR Stop Loss/Take Profit
This indicator is designed to identify buy and sell signals based on a combination of the Commodity Channel Index (CCI) and Exponential Moving Averages (EMA). It also includes an optional ATR-based stop loss and take profit system, which is useful for traders who want to manage their trades with dynamic risk levels.
Features:
CCI Buy and Sell Signals:
Buy Signal: A buy signal is triggered when the CCI crosses up through -100 (from an oversold condition), the 20-period EMA is above the 30-period EMA, and the price is above the 200-period EMA. This suggests that the market is entering an upward trend.
Sell Signal: A sell signal is triggered when the CCI crosses down through +100 (from an overbought condition), the 20-period EMA is below the 30-period EMA, and the price is below the 200-period EMA. This suggests that the market is entering a downward trend.
Exponential Moving Averages (EMA):
The script plots three EMAs:
20-period EMA (Green): Used to identify short-term trends.
30-period EMA (Red): Used to capture medium-term trends.
200-period EMA (Orange): A long-term trend filter, with the price above it generally indicating bullish conditions and below it indicating bearish conditions.
ATR-Based Stop Loss and Take Profit:
Optional Feature: The ATR (Average True Range) indicator can be used to set stop loss and take profit levels based on market volatility.
Stop Loss: Set at a multiple of the ATR below the entry price for long positions and above the entry price for short positions.
Take Profit: Set at a multiple of the ATR above the entry price for long positions and below the entry price for short positions.
Customizable: You can adjust the ATR length, Stop Loss Multiplier, and Take Profit Multiplier through the settings.
Dots: The stop loss and take profit levels are plotted as dots on the chart when the ATR feature is enabled.
Alert Conditions:
Buy Signal Alert: Triggered when a buy signal occurs based on CCI crossing up -100 and other conditions being met.
Sell Signal Alert: Triggered when a sell signal occurs based on CCI crossing down +100 and other conditions being met.
Any Signal Alert: This is a combined alert that triggers for either a buy or sell signal. It helps you stay updated on both types of signals simultaneously.
How to Use:
The indicator will plot buy and sell arrows on the chart, giving clear entry points for trades based on CCI and EMA conditions.
The ATR stop loss and take profit dots (when enabled) provide automatic risk management levels, adjusting dynamically with market volatility.
Traders can customize the ATR settings to fine-tune their stop loss and take profit levels, making this strategy adaptable to different trading styles and market conditions.
Daily MACD Crossover Buy Sell IndicatorGives Buy/Sell indicator looking at MACD crossover on the 1D chart only. Good for swing trading.
BUY and SELL 20/200 MA + MACD Strategy + ATRThis indicator is a BUY and SELL strategy based on a combination of Moving Averages (MA), MACD, and Candlestick patterns. The key features include:
Moving Averages: The strategy allows users to choose between Simple Moving Averages (SMA) or Exponential Moving Averages (EMA) with customizable periods (20, 50, 100, and 200). These MAs help identify the overall market trend.
Buy Signal: A buy signal is triggered when:
Two consecutive green candles close above the 200-period MA, and
The 20-period MA is below the 200-period MA, or
The MACD shows a bullish crossover below the zero line.
Sell Signal: A sell signal is triggered when:
Two consecutive red candles close below the 200-period MA, and
The 20-period MA is above the 200-period MA, or
The MACD shows a bearish crossover above the zero line.
Customizable Alerts:
Alerts for Buy and Sell signals.
A general "Any" alert for both Buy or Sell signals.
ATR-based Stop Loss and Take Profit:
The stop loss and take profit levels can be set using the Average True Range (ATR) with adjustable multipliers.
Users can choose to enable or disable this feature.
RT + TL v12This is a script to populate gamma/vanna/charm levels from option greeks heatmaps in Vexly. Heavy levels indicate levels with highest confluence. TLU and TLL are upper and lower levels. The levels are posted everyday on their discord server.
Range Trader another tool in Vexly, the levels from which can be plotted as well. Just copy the headline from range trader into "RT Range" and the modes into "RT mode"
Example:
RT Mode will take this string as input and plot the levels:
upper_mode
6049.037
mp_mode
6035.407
lower_mode
6021.776
RT Range will take this string as input and plot the levels:
6044.893 - 6017.652
Hope this helps
Crypto MA + ATR Super AdaptativeThe Crypto MA + ATR Super Adaptative Indicator is designed to help traders identify trend levels and potential support/resistance zones using a dynamic measure of volatility. It calculates a central "Mid Line" (a moving average of the closing prices) and then plots multiple bands (or levels) above and below this line. These bands are spaced using a dynamic Average True Range (ATR) that is adjusted based on recent volatility via a Relative Volatility Factor (RVF).
Key Features
Dynamic ATR Calculation:
Uses a Relative Volatility Factor (RVF) to adjust the short-term ATR based on the dispersion of recent ATR values relative to a longer-term ATR reference. This ensures that the bands widen during periods of high volatility and narrow during periods of low volatility.
Mid Line (Central Moving Average):
A customizable moving average (with options such as SMA, EMA, WMA, RMA, HMA, ALMA) calculated from closing prices, which serves as the central reference for the bands.
Multiple Trend Levels:
Seven levels (both above and below the Mid Line) are plotted. Each level is computed as a multiple (1x through 7x) of the dynamic ATR added to or subtracted from the Mid Line.
Customizable Inputs:
Users can easily adjust the lookback periods for both the Mid Line and ATR calculations, choose the type of moving average, set the base multiplier for the bands, and toggle the display of each individual level.
Time Offset Option:
An offset parameter allows shifting the plotted lines forward or backward in time to better align with the user's charting preferences.
How It Works
Mid Line Calculation:
The indicator computes a moving average (the Mid Line) based on the closing prices using a user-selected method (e.g., EMA).
ATR Calculations:
Short-Term ATR (atrShort): Reflects current volatility over a short period (default is 14 bars).
Long-Term ATR (atrLong): Acts as a volatility reference calculated over a longer period (default is 100 bars).
Relative Volatility Factor (RVF):
First, the standard deviation of the short-term ATR over a specified lookback period (default is 14 bars) is calculated.
The RVF is then computed using the formula:
RVF
=
1
+
(
stdev(atrShort, rvfLength)
atrLong
)
RVF=1+(
atrLong
stdev(atrShort, rvfLength)
)
The Dynamic ATR is derived by multiplying the short-term ATR by the RVF:
Dynamic ATR
=
atrShort
×
RVF
Dynamic ATR=atrShort×RVF
Plotting the Trend Levels:
Each level is determined by adding (for upper levels) or subtracting (for lower levels) a multiple of the Dynamic ATR from the Mid Line. For example, Level 1 is:
Level 1
=
Mid Line
±
(
1.0
×
Dynamic ATR
)
Level 1=Mid Line±(1.0×Dynamic ATR)
This calculation is repeated for up to 7 levels.
User Inputs
Mid Line Settings:
Period: Number of bars for the moving average (e.g., 100).
Type: Moving average type (Options: SMA, EMA, WMA, RMA, HMA, ALMA).
ATR Settings:
ATR Short Period (atrShortLength): Default is 14.
(Reflects current market volatility.)
ATR Long Period (atrLongLength): Default is 100.
(Serves as the volatility reference.)
RVF Lookback Period (rvfLength): Default is 14.
(Used to compute the standard deviation of the short-term ATR.)
ATR Method: Moving average type for ATR calculation (Options: SMA, EMA, WMA, RMA, HMA, ALMA).
Band Multiplier:
Base Multiplier (multBase): Sets the scaling factor for the trend levels (default is 1.0).
Display Options:
Toggle Levels 1 to 7: Option to show or hide each trend level.
Bar Offset: Shifts the plotted lines forward or backward by a specified number of bars.
How to Use
Add to Chart:
Copy and paste the Pine Script code into TradingView’s Pine Editor and add the script to your chart.
Configure Settings:
Adjust the input parameters (such as moving average periods, ATR settings, and band multiplier) to suit your trading style and the instrument being analyzed.
Interpret the Levels:
The Mid Line acts as the central trend indicator.
The plotted bands represent dynamic support and resistance levels that adjust based on recent volatility.
Wider bands indicate higher volatility; narrower bands suggest lower volatility.
Apply in Trading:
Use these dynamic trend levels to help identify potential entry and exit points, confirm trends, or set stop-loss levels. Always combine the indicator with other technical analysis tools and sound risk management practices.
Disclaimer
This indicator is provided for educational purposes only. It is not financial advice, and its performance is not guaranteed. Trading involves substantial risk, and you should use this indicator in conjunction with other forms of analysis and risk management techniques.
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 )
Dynamic Trendline (NEW)This indicator marks the last high and lows, easier for verification of trend.
PSP / PSC NQWPlots Precision Candles / Precision Swing Points on your Chart, you can change color and transparency.
At the Moment it does not support DXY
ICT Indices Time Zones HighlightOverview:
The "ICT Indices Time Zones Highlight" indicator is designed to help traders identify and visualize key time zones on their charts, specifically tailored for trading indices. Inspired by the Inner Circle Trader (ICT) methodology, this tool highlights critical periods of market activity, such as the New York Open, Midday, and Afternoon Session, using distinct colors for easy recognition.
E LI - Lot Size CalculatorLot size calculator, Save time and efficiency with this lot calculator integrated into trading view, describe your risk in % your capital and the size of your SL and it will calculate everything for you
EMA & Bollinger BandsThis indicator combines three main functionalities into a single script:
1. Exponential Moving Average (EMA):
- Purpose: Calculates and plots the EMA of a chosen price source.
- Inputs:
- EMA Length: The period for the EMA calculation.
- EMA Source: The price series (such as close) used for the EMA.
- EMA Offset: Allows shifting the EMA line left or right on the chart.
- Output: A blue-colored EMA line plotted on the chart.
2. Smoothing MA on EMA:
- Purpose: Applies a secondary moving average (MA) on the previously calculated EMA. There is also an option to overlay Bollinger Bands on this smoothed MA.
- Inputs:
- Smoothing MA Type: Options include "None", "SMA", "SMA + Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", and "VWMA".
- Selecting "None" disables this feature.
- Choosing "SMA + Bollinger Bands" will additionally plot Bollinger Bands around the smoothed MA.
- Smoothing MA Length: The period used to calculate the smoothing MA.
- BB StdDev for Smoothing MA: The standard deviation multiplier for the Bollinger Bands (applies only when "SMA + Bollinger Bands" is selected).
- Calculation Details:
- The chosen MA type is applied to the EMA value.
- If Bollinger Bands are enabled, the script computes the standard deviation of the EMA over the smoothing period, multiplies it by the specified multiplier, and then plots an upper and lower band around the smoothing MA.
- Output:
- A yellow-colored smoothing MA line.
- Optionally, green-colored upper and lower Bollinger Bands with a filled background if the "SMA + Bollinger Bands" option is selected.
3. Bollinger Bands on Price:
- Purpose: Independently calculates and plots traditional Bollinger Bands based on a moving average of a selected price source.
- Inputs:
- BB Length: The period for calculating the moving average that serves as the basis of the Bollinger Bands.
- BB Basis MA Type: The type of moving average to use (options include SMA, EMA, SMMA (RMA), WMA, and VWMA).
- BB Source: The price series (such as close) used for the Bollinger Bands calculation.
- BB StdDev: The multiplier for the standard deviation used to calculate the upper and lower bands.
- BB Offset: Allows shifting the Bollinger Bands left or right on the chart.
- Calculation Details:
- The script computes a basis line using the selected MA type on the chosen price source.
- The standard deviation of the price over the specified period is then multiplied by the provided multiplier to determine the distance for the upper and lower bands.
- Output:
- A basis line (typically drawn in a blue tone), an upper band (red), and a lower band (teal).
- The area between the upper and lower bands is filled with a semi-transparent blue background for easier visualization.
---
How It Works Together
- Integration:
The script is divided into clearly labeled sections for each functionality. All parts are drawn on the same chart (overlay mode enabled), providing a comprehensive view of market trends.
- Customization:
Users can adjust parameters for the EMA, the smoothing MA (and its optional Bollinger Bands), as well as the traditional Bollinger Bands independently. This allows for flexible customization depending on the trader's strategy or visual preference.
- Utility:
Combining these three analyses into one indicator enables traders to view:
- The immediate trend via the EMA.
- A secondary smoothed trend that might help reduce noise.
- A volatility measure through Bollinger Bands on both the price and the smoothed EMA.
---
This combined indicator is useful for technical analysis by providing both trend-following (EMA and smoothing MA) and volatility indicators (Bollinger Bands) in one streamlined tool.
ATR ve RSI GöstergesiATR (Average True Range) ve RSI (Relative Strength Index) değerlerini gösteren basit bir indikatör.
Multi-Asset Ratio (20 vs 5) - LuchapCet indicateur calcule et affiche le ratio entre la somme des prix de plusieurs actifs de base et la somme des prix de plusieurs actifs quote. Vous pouvez sélectionner jusqu'à 20 actifs de base et 5 actifs quote, et activer ou désactiver individuellement chaque actif pour affiner votre analyse. Ce ratio permet d'évaluer rapidement la performance relative de différents groupes d'actifs.
Previous Day High, Low + Today's Opening Price [DB]This indicator plots horizontal reference lines showing three price levels:
Previous Day's High (PDH) – Dark red line by default
Previous Day's Low (PDL) – Dark green line by default
Today's Opening Price (O.P.) – Black line by default
Settings & Customization
Adjust line colors, width (default: 2px), and transparency (30% by default).
Choose line styles: Solid, Dashed, or Dotted.
Labels:
Toggle labels (PDH/PDL/O.P.) on/off.
Optional price values below labels.
The goal of this indicator is to simplify tracking potentionally important daily levels without manual drawing.
Works on all timeframes (from 1-minute to weekly charts). The levels auto-update daily at market open and they are non-repainting (historical levels stay fixed).