TenUp Bots S R - Fixed (ta.highest)//@version=5
indicator("TenUp Bots S R - Fixed (ta.highest)", overlay = true)
// Inputs
a = input.int(10, "Sensitivity (bars)", minval = 1, maxval = 9999)
d_pct = input.int(85, "Transparency (%)", minval = 0, maxval = 100)
// Convert 0-100% to 0-255 transparency (color.new uses 0..255)
transp = math.round(d_pct * 255 / 100)
// Colors with transparency applied
resColor = color.new(color.red, transp)
supColor = color.new(color.blue, transp)
// Helper (calculations only)
getRes(len) => ta.highest(high, len)
getSup(len) => ta.lowest(low, len)
// === PLOTS (all in global scope) ===
plot(getRes(a*1), title="Resistance 1", color=resColor, linewidth=2)
plot(getSup(a*1), title="Support 1", color=supColor, linewidth=2)
plot(getRes(a*2), title="Resistance 2", color=resColor, linewidth=2)
plot(getSup(a*2), title="Support 2", color=supColor, linewidth=2)
plot(getRes(a*3), title="Resistance 3", color=resColor, linewidth=2)
plot(getSup(a*3), title="Support 3", color=supColor, linewidth=2)
plot(getRes(a*4), title="Resistance 4", color=resColor, linewidth=2)
plot(getSup(a*4), title="Support 4", color=supColor, linewidth=2)
plot(getRes(a*5), title="Resistance 5", color=resColor, linewidth=2)
plot(getSup(a*5), title="Support 5", color=supColor, linewidth=2)
plot(getRes(a*6), title="Resistance 6", color=resColor, linewidth=2)
plot(getSup(a*6), title="Support 6", color=supColor, linewidth=2)
plot(getRes(a*7), title="Resistance 7", color=resColor, linewidth=2)
plot(getSup(a*7), title="Support 7", color=supColor, linewidth=2)
plot(getRes(a*8), title="Resistance 8", color=resColor, linewidth=2)
plot(getSup(a*8), title="Support 8", color=supColor, linewidth=2)
plot(getRes(a*9), title="Resistance 9", color=resColor, linewidth=2)
plot(getSup(a*9), title="Support 9", color=supColor, linewidth=2)
plot(getRes(a*10), title="Resistance 10", color=resColor, linewidth=2)
plot(getSup(a*10), title="Support 10", color=supColor, linewidth=2)
plot(getRes(a*15), title="Resistance 15", color=resColor, linewidth=2)
plot(getSup(a*15), title="Support 15", color=supColor, linewidth=2)
plot(getRes(a*20), title="Resistance 20", color=resColor, linewidth=2)
plot(getSup(a*20), title="Support 20", color=supColor, linewidth=2)
plot(getRes(a*25), title="Resistance 25", color=resColor, linewidth=2)
plot(getSup(a*25), title="Support 25", color=supColor, linewidth=2)
plot(getRes(a*30), title="Resistance 30", color=resColor, linewidth=2)
plot(getSup(a*30), title="Support 30", color=supColor, linewidth=2)
plot(getRes(a*35), title="Resistance 35", color=resColor, linewidth=2)
plot(getSup(a*35), title="Support 35", color=supColor, linewidth=2)
plot(getRes(a*40), title="Resistance 40", color=resColor, linewidth=2)
plot(getSup(a*40), title="Support 40", color=supColor, linewidth=2)
plot(getRes(a*45), title="Resistance 45", color=resColor, linewidth=2)
plot(getSup(a*45), title="Support 45", color=supColor, linewidth=2)
plot(getRes(a*50), title="Resistance 50", color=resColor, linewidth=2)
plot(getSup(a*50), title="Support 50", color=supColor, linewidth=2)
plot(getRes(a*75), title="Resistance 75", color=resColor, linewidth=2)
plot(getSup(a*75), title="Support 75", color=supColor, linewidth=2)
plot(getRes(a*100), title="Resistance 100", color=resColor, linewidth=2)
plot(getSup(a*100), title="Support 100", color=supColor, linewidth=2)
plot(getRes(a*150), title="Resistance 150", color=resColor, linewidth=2)
plot(getSup(a*150), title="Support 150", color=supColor, linewidth=2)
plot(getRes(a*200), title="Resistance 200", color=resColor, linewidth=2)
plot(getSup(a*200), title="Support 200", color=supColor, linewidth=2)
plot(getRes(a*250), title="Resistance 250", color=resColor, linewidth=2)
plot(getSup(a*250), title="Support 250", color=supColor, linewidth=2)
plot(getRes(a*300), title="Resistance 300", color=resColor, linewidth=2)
plot(getSup(a*300), title="Support 300", color=supColor, linewidth=2)
plot(getRes(a*350), title="Resistance 350", color=resColor, linewidth=2)
plot(getSup(a*350), title="Support 350", color=supColor, linewidth=2)
plot(getRes(a*400), title="Resistance 400", color=resColor, linewidth=2)
plot(getSup(a*400), title="Support 400", color=supColor, linewidth=2)
plot(getRes(a*450), title="Resistance 450", color=resColor, linewidth=2)
plot(getSup(a*450), title="Support 450", color=supColor, linewidth=2)
plot(getRes(a*500), title="Resistance 500", color=resColor, linewidth=2)
plot(getSup(a*500), title="Support 500", color=supColor, linewidth=2)
plot(getRes(a*750), title="Resistance 750", color=resColor, linewidth=2)
plot(getSup(a*750), title="Support 750", color=supColor, linewidth=2)
plot(getRes(a*1000), title="Resistance 1000", color=resColor, linewidth=2)
plot(getSup(a*1000), title="Support 1000", color=supColor, linewidth=2)
plot(getRes(a*1250), title="Resistance 1250", color=resColor, linewidth=2)
plot(getSup(a*1250), title="Support 1250", color=supColor, linewidth=2)
plot(getRes(a*1500), title="Resistance 1500", color=resColor, linewidth=2)
plot(getSup(a*1500), title="Support 1500", color=supColor, linewidth=2)
Wskaźniki i strategie
Chỉ báo Engulfing (Lọc EMA & K%)chỉ báo engulfing nhằm tìm kiếm tín hiệu đảo chiều với hệ số phủ thân nến là K%
Turtle System 1 (20/10) + N-Stop + MTF Table V7.2🐢 Description: Turtle System 1 (20/10) IndicatorThis indicator implements the original trading signals of the Turtle Trading System 1 based on the classic Donchian Channels. It incorporates a historically correct, volatility-based Trailing Stop (N-Stop) and a Multi-Timeframe (MTF) status dashboard. The script is written in Pine Script v6, optimized for performance and reliability.📊 Core Logic and ParametersThe system is a pure trend-following model, utilizing the more widely known, conservative parameters of the Turtle System 1:FunctionParameterValueDescriptionEntry$\text{Donchian Breakout}$$\mathbf{20}$Buy/Sell upon breaking the 20-day High/Low.Exit (Turtle)$\text{Donchian Breakout}$$\mathbf{10}$Close the position upon breaking the 10-day Low/High.Volatility$\mathbf{N}$ (ATR Period)$\mathbf{20}$Calculation of market volatility using the Average True Range (ATR).Stop-LossMultiplier$\mathbf{2.0} BER:SETS the initial and Trailing Stop at $\mathbf{2N}$.🛠️ Key Technical Features1. Original Turtle Trailing Stop (Section 4)The stop-loss mechanism is implemented with the historically accurate Turtle Trailing Logic. The stop is not aggressively tied to the current candle's low/high, which often causes premature exits. Instead, the stop only trails in the direction of the trend, maximizing the previous stop price against the new calculated $\text{Close} \pm 2N$:$$\text{New Trailing Stop} = \text{max}(\text{Previous Stop}, \text{Close} \pm (2 \times N))$$2. Reliable Multi-Timeframe (MTF) Status (Section 6)The indicator features a robust MTF status table.Purpose: It calculates and persistently stores the Turtle System 1 status (LONG=1, SHORT=-1, FLAT=0) for various timeframes (1H, 4H, 8H, 1D, and 1W).Method: It uses global var int variables combined with request.security(), ensuring the status is accurately maintained and updated across different bars and timeframes, providing a reliable higher-timeframe context.3. VisualizationsChannels: The 20-period (Entry) and 10-period (Exit) Donchian Channels are plotted.Stop Line: The dynamic $\mathbf{2N}$ Trailing Stop is visible as a distinct line.Signals: plotshape markers indicate Entry and Exit.MTF Table: A clean, color-coded status summary is displayed in the upper right corner.
Steff- OBX- DTA OBX – US Open 15-Minute Zone Indicator
This indicator highlights the first 15 minutes of the U.S. stock market opening, also known as the OBX (Opening Balance Extension).
It is designed specifically for Nasdaq and S&P 500, which open at 09:30 New York time — corresponding to 15:30 Danish time.
What this indicator does:
• Marks the price range from 09:30–09:45 (U.S. time) as a zone on your chart
• Automatically adjusts to your local timezone, so the zone always aligns with Danish time
• Extends the zone to the right so you can track how price interacts with OBX throughout the day
• Draws all historical OBX zones so you can analyze previous reactions
• Rebuilds zones automatically when switching timeframes
• Detects breakouts from the zone
• Tracks balancing time only after a real breakout occurs
• Can automatically remove a zone if price spends a continuous amount of time inside it after the breakout (you set the minutes yourself)
• Allows full customization of OBX start time, duration, and behavior
• Individual zones can be manually deleted without being redrawn by the indicator
Why the OBX matters:
The OBX represents one of the most influential time windows in intraday trading because it reflects:
• The first injection of liquidity after the U.S. market opens
• Institutional positioning and algorithmic adjustments
• Early volatility and directional bias
• Common zones for reversals, breakouts, or mean reversion
• Key high-probability reaction levels used by professional traders
This indicator gives you a clear visual representation of when the market reacts to the U.S. open and how price interacts with the opening range throughout the session.
Day Separators Description:
This script visually separates the trading chart by days of the week. Each day is highlighted with a distinct background color or vertical line, making it easier to analyze daily price patterns and trading activity. Useful for spotting trends, comparing daily performance, or planning strategies based on weekday behavior.
Features:
Divides the chart by weekdays (Monday to Sunday).
Optional background shading or vertical lines for each day.
Customizable colors and line styles for better visibility.
Works on any timeframe.
Use Cases:
Identify patterns or anomalies on specific weekdays.
Track performance trends across the week.
Simplify intraday and daily analysis for more informed trading decisions.
Day Trading Signals - Ultimate Pro (Dark Neon + Strong BB Cloud)//@version=5
indicator("Day Trading Signals - Ultimate Pro (Dark Neon + Strong BB Cloud)", overlay=true, max_lines_count=500, max_labels_count=500)
// ===== INPUTS =====
ema_fast_len = input.int(9, "Fast EMA Length")
ema_slow_len = input.int(21, "Slow EMA Length")
rsi_len = input.int(12, "RSI Length")
rsi_overbought = input.int(70, "RSI Overbought Level")
rsi_oversold = input.int(30, "RSI Oversold Level")
bb_len = input.int(20, "Bollinger Bands Length")
bb_mult = input.float(2.0, "Bollinger Bands Multiplier")
sr_len = input.int(15, "Pivot Lookback for Support/Resistance")
min_ema_gap = input.float(0.0, "Minimum EMA Gap to Define Trend", step=0.1)
sr_lifespan = input.int(200, "Bars to Keep S/R Lines")
// Display options
show_bb = input.bool(true, "Show Bollinger Bands?")
show_ema = input.bool(true, "Show EMA Lines?")
show_sr = input.bool(true, "Show Support/Resistance Lines?")
show_bg = input.bool(true, "Show Background Trend Color?")
// ===== COLORS (Dark Neon Theme) =====
neon_teal = color.rgb(0, 255, 200)
neon_purple = color.rgb(180, 95, 255)
neon_orange = color.rgb(255, 160, 60)
neon_yellow = color.rgb(255, 235, 90)
neon_red = color.rgb(255, 70, 110)
neon_gray = color.rgb(140, 140, 160)
sr_support_col = color.rgb(0, 190, 140)
sr_resist_col = color.rgb(255, 90, 120)
// ===== INDICATORS =====
ema_fast = ta.ema(close, ema_fast_len)
ema_slow = ta.ema(close, ema_slow_len)
ema_gap = math.abs(ema_fast - ema_slow)
trend_up = (ema_fast > ema_slow) and (ema_gap > min_ema_gap)
trend_down = (ema_fast < ema_slow) and (ema_gap > min_ema_gap)
trend_flat = ema_gap <= min_ema_gap
rsi = ta.rsi(close, rsi_len)
bb_mid = ta.sma(close, bb_len)
bb_upper = bb_mid + bb_mult * ta.stdev(close, bb_len)
bb_lower = bb_mid - bb_mult * ta.stdev(close, bb_len)
// ===== SUPPORT / RESISTANCE =====
pivot_high = ta.pivothigh(high, sr_len, sr_len)
pivot_low = ta.pivotlow(low, sr_len, sr_len)
var line sup_lines = array.new_line()
var line res_lines = array.new_line()
if show_sr and not na(pivot_low)
l = line.new(bar_index - sr_len, pivot_low, bar_index, pivot_low, color=sr_support_col, width=2, extend=extend.right)
array.push(sup_lines, l)
if show_sr and not na(pivot_high)
l = line.new(bar_index - sr_len, pivot_high, bar_index, pivot_high, color=sr_resist_col, width=2, extend=extend.right)
array.push(res_lines, l)
// Delete old S/R lines
if array.size(sup_lines) > 0
for i = 0 to array.size(sup_lines) - 1
l = array.get(sup_lines, i)
if bar_index - line.get_x2(l) > sr_lifespan
line.delete(l)
array.remove(sup_lines, i)
break
if array.size(res_lines) > 0
for i = 0 to array.size(res_lines) - 1
l = array.get(res_lines, i)
if bar_index - line.get_x2(l) > sr_lifespan
line.delete(l)
array.remove(res_lines, i)
break
// ===== BUY / SELL CONDITIONS =====
buy_cond = trend_up and not trend_flat and ta.crossover(ema_fast, ema_slow) and rsi < rsi_oversold and close < bb_lower
sell_cond = trend_down and not trend_flat and ta.crossunder(ema_fast, ema_slow) and rsi > rsi_overbought and close > bb_upper
// ===== SIGNAL PLOTS =====
plotshape(buy_cond, title="Buy Signal", location=location.belowbar, color=neon_teal, style=shape.labelup, text="BUY", size=size.small)
plotshape(sell_cond, title="Sell Signal", location=location.abovebar, color=neon_red, style=shape.labeldown, text="SELL", size=size.small)
// ===== EMA LINES =====
plot(show_ema ? ema_fast : na, color=neon_orange, title="EMA Fast", linewidth=2)
plot(show_ema ? ema_slow : na, color=neon_purple, title="EMA Slow", linewidth=2)
// ===== STRONG BOLLINGER BAND CLOUD =====
plot_bb_upper = plot(show_bb ? bb_upper : na, color=color.new(neon_yellow, 20), title="BB Upper")
plot_bb_lower = plot(show_bb ? bb_lower : na, color=color.new(neon_gray, 20), title="BB Lower")
plot(bb_mid, color=color.new(neon_gray, 50), title="BB Mid")
// More visible BB cloud (stronger contrast)
bb_cloud_color = trend_up ? color.new(neon_teal, 40) : trend_down ? color.new(neon_red, 40) : color.new(neon_gray, 70)
fill(plot_bb_upper, plot_bb_lower, color=show_bb ? bb_cloud_color : na, title="BB Cloud")
// ===== BACKGROUND COLOR (TREND ZONES) =====
bgcolor(show_bg ? (trend_up ? color.new(neon_teal, 92) : trend_down ? color.new(neon_red, 92) : color.new(neon_gray, 94)) : na)
// ===== ALERTS =====
alertcondition(buy_cond, title="Buy Signal", message="Buy signal triggered. Check chart.")
alertcondition(sell_cond, title="Sell Signal", message="Sell signal triggered. Check chart.")
Five Moving Averages (5, 10, 21, 50, 200)This helps to use multiple Moving averages . Using this indicator you can able to user 5 time frames at time .
Multi-Timeframe TTM Squeeze Pro with alerts and screenersBased of John Carters TTM Squeeze. Must open the settings and select wether you want to match the timeframe in your chart. This must be done in the pinescreener as well otherwise results will not be correct.
---
# **Squeeze Momentum Pro – Enhanced Screener + EMA Cross Alerts**
This custom version of the Squeeze Momentum indicator expands the standard TTM-style squeeze with screening and automated alert logic so you can quickly find high-quality setups across many tickers.
---
## **What This Script Does**
This indicator plots a three-level squeeze visual similar to TTM Squeeze:
Dot meanings in this indicator
Orange dot:
Strongest squeeze – Bollinger Bands are inside the tightest Keltner level (highest volatility compression).
Red dot:
Medium squeeze – still compressed, but not as tight as orange.
Black dot:
Weak squeeze / lowest level of volatility compression.
Price is coiling, but not as tight as the higher levels.
Green dot (“Fired”):
Squeeze has released — Bollinger Bands have expanded out of the channels and momentum is moving.
A momentum histogram is plotted to show directional pressure during the squeeze.
---
## **Major Improvements Added**
### **① Screenable Conditions for Stock Scanners**
This version includes multiple `alertcondition()` flags so the script can be used as a **Pine Screener inside TradingView**.
Currently it can screen for:
✔ Price closing above the 50-SMA
✔ Presence of an **orange (strong) squeeze dot**
✔ 6/20 EMA crossover signals inside a squeeze
These can be used inside the TradingView Screener or in watchlists to automatically highlight qualifying tickers.
---
### **② 6/20 EMA Trend Signals (Filtered by Squeeze)**
A crossover system was added:
* **Bullish Signal:** 6 EMA crosses above 20 EMA
* **Bearish Signal:** 6 EMA crosses below 20 EMA
But **these signals only trigger if the market is in a red or orange squeeze**, which helps remove noise and focus on valid setups.
---
### **③ Visual Markers Under the Histogram**
Whenever an EMA crossover occurs during a squeeze:
* A **green up-triangle** is plotted for a bullish cross
* A **red down-triangle** for a bearish cross
These markers are drawn **below the histogram**, keeping the display clean while still providing quick visual cues.
---
### **④ Fully Non-Repainting Logic**
All signals and squeeze calculations are based on standard fully-resolved `ta.*` functions, making the results stable both in backtesting and real-time.
---
## **Who This Script Helps**
This version is ideal for:
* Traders who use TradingView’s screener and want automated breakout/continuation filtering
* Traders who scan large watchlists for squeeze setups
* Users who want trend confirmation during volatility compression
---
## **How to Use It**
1. Add the script to your chart
2. Open TradingView Alerts or Screener
3. Select the conditions you want, for example:
* *“Orange Squeeze Detected”*
* *“Squeeze Fire after 3 squeeze dots*
* *“4 REd Dots in a row.”*
* *“Buy Alert”*
* *“EMA 6/20 Bullish Crossover (Squeeze Only)”*
* *“Close Above 50 SMA”*
Once active, TradingView will automatically flag symbols that meet the criteria.
---
## **Summary**
This enhanced Squeeze Momentum indicator turns the standard TTM-style visual into a **true screening and alert system** by adding:
* Multi-level squeezes
* EMA trend signals
* Screener-compatible alert conditions
* Clean visual signals
* Non-repainting logic
It helps traders quickly locate high-probability setups across any watchlist or market.
Cumulative Volume Delta (HA Option)# **📘 Ultimate Guide to Trading With CVD Heikin Ashi (CVD+)**
## **🔍 What This Indicator Shows**
This tool plots **Cumulative Volume Delta (CVD)** as candlesticks—optionally transformed into **Heikin Ashi CVD candles**.
Instead of price, each candle represents the *battle between buyers and sellers* within your chosen timeframe.
**Volume Delta = Buying Volume – Selling Volume**
CVD takes all deltas and stacks them cumulatively, showing who is controlling the auction *over time*.
With Heikin Ashi smoothing layered on top, trend detection becomes cleaner, letting you see the “true pressure” behind price moves.
---
# **💡 Why CVD Is a Game Changer**
Most traders only see price.
Serious traders watch **pressure**.
CVD exposes what price hides:
* Absorption
* Hidden accumulation
* Seller exhaustion
* Fake breakouts
* True reversals
* Momentum strength / weakness
* Smart money footprint
When combined with Heikin-Ashi smoothing, you get delta trends with way less noise and fewer fake flips.
---
# **📈 How to Actually Use It (The Edge)**
## **1. Spot True Trend vs. Fake Trend**
If **price goes up** but **CVD goes down**, that’s:
* Passive sellers absorbing
* A weak rally
* High probability of reversal
If **price pulls back** but **CVD keeps rising**, that’s:
* Secret accumulation
* A continuation setup
* Great dip-buy opportunity
**Rule of thumb:**
🔹 *Follow the CVD trend, not the price noise.*
---
## **2. Catch Reversals Early**
Watch for:
### **🔻 Bearish Reversal Signals**
* CVD makes a **lower high**
* Heikin Ashi CVD prints **red bodies with rising upper shadows**
* Price makes one final push up on low delta
This is classic distribution → the drop usually follows fast.
### **🔹 Bullish Reversal Signals**
* CVD forms a **higher low**
* HA CVD flips from red to green with full bodies
* Price still looks weak = bottom forming
This is exactly how pros catch bottoms early.
---
## **3. Identify Absorption Levels**
If price hits a level multiple times but CVD keeps climbing (or falling), that level is being defended.
Example:
* Price stalls at support
* CVD keeps rising
= **Buyers absorbing sells → high-probability bounce**
Opposite works for resistance.
---
## **4. Validate Breakouts**
A breakout with *weak or negative CVD* is usually a trap.
A breakout with **strong, rising HA CVD** is real.
If CVD diverges from the breakout direction → fade it.
If CVD confirms → ride it.
---
## **5. Use Heikin Ashi to Stay in Trends**
HA smoothing removes the nasty chop of raw delta data.
Look for:
* Consecutive **full-body teal candles = strong buying wave**
* Consecutive **full-body red candles = strong selling wave**
* Small-bodied candles after a trend = momentum dying
This keeps you in winners longer and cuts losers faster.
---
# **🎯 Practical Trading Playbook**
### **A) Long Setup**
1. Price pullback into support
2. CVD stays bullish or makes a higher low
3. HA CVD flips green or prints a strong body
4. Enter long
5. Stop under CVD structural low
### **B) Short Setup**
1. Price pushes into resistance
2. CVD forms bearish divergence
3. HA CVD prints red bodies
4. Enter short
5. Stop above CVD swing high
### **C) Chop Filter**
No clear HA CVD trend = avoid trading → stop donating money to the market.
---
# **🧠 Tips for Mastery**
* Use lower timeframe delta (1m–5m) for scalping entries
* Use a higher anchor timeframe (1D) to define direction
* When price trends but CVD is flat → expect a fakeout
* When CVD trends but price is flat → expect a breakout
* Trade WITH delta, fade AGAINST delta
---
# **⚠️ Important Notes**
* Crypto = full tick-by-tick volume → CVD is extremely accurate
* Stocks = depends on your broker/data vendor
* Futures = best signal-to-noise ratio
* If your symbol has no volume → indicator will warn you
---
# **📥 Recommended Settings**
* **Anchor timeframe**: 1D or 4H
* **Lower timeframe**: 1m, 3m, or 5m
* **Heikin Ashi**: ON for trend filtering, OFF for raw delta
---
# **🔥 Final Word**
Price can lie.
Delta usually doesn’t.
CVD + Heikin Ashi gives you the closest thing to reading the market’s heartbeat in real time.
Use it to confirm breakouts, detect reversals early, identify real trend strength, and avoid getting caught in manipulation.
If you learn to read CVD well…
you stop trading price, and start trading the **intent** behind the price.
Day Trading Signals - Ultimate Pro (Dark Neon + Strong BB Cloud)//@version=5
indicator("Day Trading Signals - Ultimate Pro (Dark Neon + Strong BB Cloud)", overlay=true, max_lines_count=500, max_labels_count=500)
// ===== INPUTS =====
ema_fast_len = input.int(9, "Fast EMA Length")
ema_slow_len = input.int(21, "Slow EMA Length")
rsi_len = input.int(12, "RSI Length")
rsi_overbought = input.int(70, "RSI Overbought Level")
rsi_oversold = input.int(30, "RSI Oversold Level")
bb_len = input.int(20, "Bollinger Bands Length")
bb_mult = input.float(2.0, "Bollinger Bands Multiplier")
sr_len = input.int(15, "Pivot Lookback for Support/Resistance")
min_ema_gap = input.float(0.0, "Minimum EMA Gap to Define Trend", step=0.1)
sr_lifespan = input.int(200, "Bars to Keep S/R Lines")
// Display options
show_bb = input.bool(true, "Show Bollinger Bands?")
show_ema = input.bool(true, "Show EMA Lines?")
show_sr = input.bool(true, "Show Support/Resistance Lines?")
show_bg = input.bool(true, "Show Background Trend Color?")
// ===== COLORS (Dark Neon Theme) =====
neon_teal = color.rgb(0, 255, 200)
neon_purple = color.rgb(180, 95, 255)
neon_orange = color.rgb(255, 160, 60)
neon_yellow = color.rgb(255, 235, 90)
neon_red = color.rgb(255, 70, 110)
neon_gray = color.rgb(140, 140, 160)
sr_support_col = color.rgb(0, 190, 140)
sr_resist_col = color.rgb(255, 90, 120)
// ===== INDICATORS =====
ema_fast = ta.ema(close, ema_fast_len)
ema_slow = ta.ema(close, ema_slow_len)
ema_gap = math.abs(ema_fast - ema_slow)
trend_up = (ema_fast > ema_slow) and (ema_gap > min_ema_gap)
trend_down = (ema_fast < ema_slow) and (ema_gap > min_ema_gap)
trend_flat = ema_gap <= min_ema_gap
rsi = ta.rsi(close, rsi_len)
bb_mid = ta.sma(close, bb_len)
bb_upper = bb_mid + bb_mult * ta.stdev(close, bb_len)
bb_lower = bb_mid - bb_mult * ta.stdev(close, bb_len)
// ===== SUPPORT / RESISTANCE =====
pivot_high = ta.pivothigh(high, sr_len, sr_len)
pivot_low = ta.pivotlow(low, sr_len, sr_len)
var line sup_lines = array.new_line()
var line res_lines = array.new_line()
if show_sr and not na(pivot_low)
l = line.new(bar_index - sr_len, pivot_low, bar_index, pivot_low, color=sr_support_col, width=2, extend=extend.right)
array.push(sup_lines, l)
if show_sr and not na(pivot_high)
l = line.new(bar_index - sr_len, pivot_high, bar_index, pivot_high, color=sr_resist_col, width=2, extend=extend.right)
array.push(res_lines, l)
// Delete old S/R lines
if array.size(sup_lines) > 0
for i = 0 to array.size(sup_lines) - 1
l = array.get(sup_lines, i)
if bar_index - line.get_x2(l) > sr_lifespan
line.delete(l)
array.remove(sup_lines, i)
break
if array.size(res_lines) > 0
for i = 0 to array.size(res_lines) - 1
l = array.get(res_lines, i)
if bar_index - line.get_x2(l) > sr_lifespan
line.delete(l)
array.remove(res_lines, i)
break
// ===== BUY / SELL CONDITIONS =====
buy_cond = trend_up and not trend_flat and ta.crossover(ema_fast, ema_slow) and rsi < rsi_oversold and close < bb_lower
sell_cond = trend_down and not trend_flat and ta.crossunder(ema_fast, ema_slow) and rsi > rsi_overbought and close > bb_upper
// ===== SIGNAL PLOTS =====
plotshape(buy_cond, title="Buy Signal", location=location.belowbar, color=neon_teal, style=shape.labelup, text="BUY", size=size.small)
plotshape(sell_cond, title="Sell Signal", location=location.abovebar, color=neon_red, style=shape.labeldown, text="SELL", size=size.small)
// ===== EMA LINES =====
plot(show_ema ? ema_fast : na, color=neon_orange, title="EMA Fast", linewidth=2)
plot(show_ema ? ema_slow : na, color=neon_purple, title="EMA Slow", linewidth=2)
// ===== STRONG BOLLINGER BAND CLOUD =====
plot_bb_upper = plot(show_bb ? bb_upper : na, color=color.new(neon_yellow, 20), title="BB Upper")
plot_bb_lower = plot(show_bb ? bb_lower : na, color=color.new(neon_gray, 20), title="BB Lower")
plot(bb_mid, color=color.new(neon_gray, 50), title="BB Mid")
// More visible BB cloud (stronger contrast)
bb_cloud_color = trend_up ? color.new(neon_teal, 40) : trend_down ? color.new(neon_red, 40) : color.new(neon_gray, 70)
fill(plot_bb_upper, plot_bb_lower, color=show_bb ? bb_cloud_color : na, title="BB Cloud")
// ===== BACKGROUND COLOR (TREND ZONES) =====
bgcolor(show_bg ? (trend_up ? color.new(neon_teal, 92) : trend_down ? color.new(neon_red, 92) : color.new(neon_gray, 94)) : na)
// ===== ALERTS =====
alertcondition(buy_cond, title="Buy Signal", message="Buy signal triggered. Check chart.")
alertcondition(sell_cond, title="Sell Signal", message="Sell signal triggered. Check chart.")
Kill Zone GridCaca Poo-Poo Kill Zone (12pm–4pm) — Avoid the Death Hours
This indicator highlights the worst trading window of the day — the midday chop zone where liquidity dies, algo volume disappears, spreads widen, and your account slowly bleeds out from boredom and paper cuts.
From 12pm to 4pm (New York Time) the script:
• Shades the background with a bold kill-zone color
• Adds red gridline stripes to visually scream “STOP TRADING, YOU DONKEY”
• Makes the entire chart look hostile so you avoid revenge trading, boredom trading, and all forms of midday stupidity
Perfect for scalpers and trend traders who only want the clean morning moves and want a visual reminder to step away, go outside, touch grass, eat lunch, or hit the gym instead of forcing trades in garbage hours.
If you trade futures, options, or zero-day anything — this script will save you money, sanity, and years off your life.
Chop Meter + Trade Filter 1H/30M/15M (Ace PROFILE v3)💪 How to Actually Use This (The MMXM Way)
1️⃣ Check the Status Before ANY trade
If it says NO TRADE → Do not fight it.
Your psychology stays clean.
2️⃣ If TRADE (1M NO TRADE – 15M CHOP)
Avoid:
1M SIBI/OB
1M BOS/CHOCH
1M SMT
1M Silver Bullet windows
Use only higher-timeframe breaks.
3️⃣ If ALL THREE are NORMAL → Full Go Mode
Every tool is unlocked:
1M microstructure
1M FVG snipes
Killzones
Silver Bullet
SMT timing
MMXM purge setups
This is where your best trades come from.
4️⃣ If 30M is CHOP
Sit tight.
It’s a trap day or compression box.
This one filter alone will save you:
FOMO losses
False expansion traps
Microstructure whipsaws
News fakeouts
Reversal cliffs
Algo snapbacks
🧠 Why This Indicator Works
No indicators.
No RSI.
No Bollinger.
No volume bullshit.
Just structure, time, and compression — exactly how the algorithm trades volatility.
When this tool says NO TRADE, it is telling you:
“This is NOT the moment the algorithm will expand.”
And that’s the whole game.
🔥 Summary
Condition Meaning Action
30M = CHOP 30M box active No trading at all
2+ TF CHOP HTF compression No trading
15M CHOP Micro compression No 1M entries
All NORMAL Expansion conditions Full Go Mode
SMA Cross + KC Breakout + ATR StopThis is the same script previously published with the exception of utilizing SMA vs EMA for those who prefer that moving average type.
VOSC+RSI Pro-Trend V22 (Bollinger Integration) [PersianDev]this is an extention of andicator volume osc and rsi
Donchian Channels + Fibs//@version=6
indicator(title="Donchian Channels + Fibs", shorttitle="DC Fibs", overlay=true, timeframe="", timeframe_gaps=true)
// --- 1. 输入设置 ---
length = input.int(20, minval = 1, title="Length")
offset = input.int(0, "Offset")
show_fibs = input.bool(true, "Show Fib Levels")
// --- 2. 核心计算 ---
lower = ta.lowest(length) // 0.0 (下轨)
upper = ta.highest(length) // 1.0 (上轨)
basis = math.avg(upper, lower) // 0.5 (中轨)
range_val = upper - lower // 高度
// --- 3. 斐波那契计算 ---
f_786 = lower + range_val * 0.786
f_618 = lower + range_val * 0.618
f_382 = lower + range_val * 0.382
f_236 = lower + range_val * 0.236
// --- 4. 绘图 (已修复样式错误) ---
// 上下轨 (最粗实线)
u = plot(upper, "Upper 1.0", color = #2962FF, linewidth=2, offset = offset)
l = plot(lower, "Lower 0.0", color = #2962FF, linewidth=2, offset = offset)
// 中轴 (中等实线)
plot(basis, "Basis 0.5", color = #FF6D00, linewidth=1, offset = offset)
// 斐波那契内部线
// 修复点:删除了不支持的 style_dashed/dotted,改为默认实线,但保留了透明度
// 0.786 (偏红)
plot(show_fibs ? f_786 : na, "Fib 0.786", color = color.new(#f23645, 30), linewidth=1, offset = offset)
// 0.618 (橙色)
p_618 = plot(show_fibs ? f_618 : na, "Fib 0.618", color = color.new(color.orange, 30), linewidth=1, offset = offset)
// 0.382 (橙色)
p_382 = plot(show_fibs ? f_382 : na, "Fib 0.382", color = color.new(color.orange, 30), linewidth=1, offset = offset)
// 0.236 (偏绿)
plot(show_fibs ? f_236 : na, "Fib 0.236", color = color.new(#089981, 30), linewidth=1, offset = offset)
// --- 5. 背景填充 ---
fill(p_618, p_382, color = color.new(color.orange, 85), title="Golden Zone Fill")
fill(u, l, color = color.rgb(33, 150, 243, 95), title = "Background")
13 / 26 / 52 SMA Overlay13 / 26 / 52 SMA Overlay showing how short term is performing relative to long term.
Every Hour 1st FVG vTDLEvery Hour 1st FVG vTDL
For more information on how to trade FVG's, refer to Michael J. Huddleston aka The Inner Circle Trader as he is the guy who invented the concept after all.
x.com
www.youtube.com
I'm just vibing plz dont take down my indicator pinescript people plz and thank you
What It Shows:
This indicator displays the first Fair Value Gap (FVG) that appears during each hourly session, based on lower timeframe price action.
Core Concept:
Fair Value Gap (FVG) Detection:
Uses a 3-candle pattern to detect price gaps
Key Features:
1. Hourly Time-Based Filtering:
Divides the trading day into hourly blocks
Shows ONLY the first FVG(s) that appear in each hour
Resets tracking at the start of each new hour
Uses America/New_York timezone
2. Two Display Modes:
"First Only": Shows whichever FVG appears first per hour (bullish OR bearish)
Once one box appears, no more boxes for that hour
"Show Both": Shows first bullish AND first bearish FVG per hour
Displays the first bull FVG + the first bear FVG independently
3. Multi-Timeframe Support:
Lower Timeframe Selection: Choose 15-second, 1-minute, or 5-minute FVG detection
Works on ANY chart timeframe:
On 1-min chart: Uses direct candle data
On higher timeframes (5-min, 15-min, hourly, etc.): Fetches lower timeframe data to detect gaps
NOTE: YOU CAN NOT GO LOWER THAN THE TIME FRAME SELECTED FOR FVG IT WILL NOT WORK BECAUSE WE ARE REQUESTING DATA FROM A LOWER TIME FRAME, IF YOU ARE LOWER THAN THAT TIME FRAME YOU WILL GET:
Error on bar 0: The chart's timeframe must be greater or equal to the timeframe used with `request.security_lower_tf()`.
4. Visual Display:
Colored boxes mark the FVG zones:
Blue (default) = Bullish FVG
Red (default) = Bearish FVG
Box positioning:
Left edge: When the FVG formed
Right edge: End of that hour (HH:59:59)
Height: The actual gap size
5. Size Filtering:
Minimum gap size setting (default: 4 ticks)
Filters out tiny, insignificant gaps
Trading Logic Behind It:
The indicator helps identify the first imbalance of each hour by:
Highlighting where price moved too fast, leaving imbalances
Traders watch these zones for setups and entry models
stochastic supper trendstocastic supper trend channel based on sk trading system with dynamic od os lines changing color
Daily Separator_Yoot HobbizSimply helps you separate each trading day — a clean, visual indicator that marks daily sessions so you can read price action faster and stay focused on what really matters.
A simple indicator that clearly separates each trading day, making your charts easier to read and your decisions easier to take.
PVW Oscillator Session — VWAP Percent Distance Indicator PVW Oscillator Session is a professional-grade VWAP % distance indicator engineered for traders who want precise mean-reversion signals, momentum confirmation, and statistically grounded session analysis. It measures the percentage distance between price and VWAP, applies optional smoothing for noise reduction, and overlays dynamic standard-deviation bands that adapt continuously to real market behavior.
This indicator pairs exceptionally well with Heikin Ashi candles.
Heikin Ashi’s smoothing makes trends clearer, reduces chart noise, and enhances the readability of the oscillator’s momentum transitions. When combined, price flow becomes more structured while the PVW Oscillator shows the underlying statistical drift away from VWAP giving you a sharper, more reliable view of trend quality, exhaustion, and reversals.
At its core, the script uses ohlc4 VWAP to create a normalized oscillator that works on every asset and timeframe. The optional smoothing length refines the signal further, transforming raw VWAP distance into a stable, trend-revealing momentum curve. This is particularly effective during volatile intraday sessions where noise can distort real directional intent.
A real-time Welford’s algorithm engine computes the evolving mean and standard deviation (σ) of VWAP deviation across the entire chart. From this, the indicator plots dynamic ±1σ, ±2σ, ±3σ bands, each with filled zones for instant visual interpretation:
• ±1σ = VWAP equilibrium zone
Ideal for identifying balanced markets, compression, or accumulation/distribution phases.
• 1σ → 2σ = Momentum expansion zone
Perfect for spotting breakout confirmation, trend acceleration, or early reversal failure.
• 2σ → 3σ = Extreme deviation zone
Statistically stretched conditions where trend exhaustion or mean-reversion probability rises sharply.
Momentum-based coloring is applied to both the oscillator and (optionally) to price bars, showing rising/falling behavior above or below VWAP at a glance especially powerful when paired with Heikin Ashi candles.
Support the Developer
I’m a solo independent developer and build all my tools entirely on my own time.
If this indicator helped you, consider supporting future development:
⚡ Bitcoin Lightning (Strike — preferred):
stuartbill@strike.me
₿ Bitcoin (on-chain):
BC1Q3GVF3NSGVFN24SW2DCXX2RPEY47XA2ECGEW55Y
Ξ Ethereum:
0x7226361178d820418d648ffEec61E8e1dedCe39F
◎ Solana:
C9eYYQLgzsjPSW7Mo2BXPsXz5LZhuJZTb7XuZM3hQhH1
Thank you for supporting independent creators.
Sequential MACD 0.5+ & MA Cloud StrategyThis indicator provides sequential buy and sell signals based on a robust set of trend-following and momentum conditions:
Buy Signal Logic:
Momentum: Both the MACD line and the Signal line are above the 0.5 threshold, indicating strong bullish momentum.
Crossover: A bullish MACD crossover (MACD above Signal line) has occurred near the zero line, suggesting the start of a new, healthy momentum wave.
Trend Filter (4H TF): The current price must be above the 21 and 50 EMAs on the 4-hour timeframe.
Price Action: The current candle must be green (closing higher than open).
Sequential Logic: A buy signal is only generated if a position is not already active.
Sell Signal Logic:
Momentum Reversal: MACD line is below the Signal line (negative histogram).
Price Action: The current candle must be red.
MA Cloud: The price is below the 9 and 21 EMA Cloud.
Sequential Logic: A sell signal is only generated if a buy signal was previously active.
This comprehensive filter system aims to capture strong, confirmed moves while avoiding noisy signals against higher-timeframe trends.





















