Индикаторы и стратегии
Triple Supertrend Hybrid This takes 3 supertrends and calculates them into 1 simple trendline signal
EMA Trend + ADX Filter Sonia'sThis script lets you use EMA of your choice which only become a cloud when the ADX is at 25 or over, which confirms a trend. Enjoy!
SlopeUtilsLibrary "SlopeUtils"
calcSlope(src, atr_series, length)
Calculates a normalized slope based on price change relative to ATR.
Parameters:
src (float) : (series float) The source input (e.g., close).
atr_series (float) : (series float) The ATR value for normalization.
length (simple int) : (simple int) The lookback period for the slope calculation.
Returns: (float) The normalized slope value.
Trend Table by DNDFXTrend Table is the latest version released in 2026. Initially, this feature was integrated into the CTR indicator. However, due to technical issues that caused errors in the main indicator, Trend Table was separated and developed as a standalone indicator to ensure stability and allow it to operate without interfering with the main system.
The Trend Table indicator is designed to provide a clear overview of market trend direction across multiple timeframes in a single, concise display. The timeframes included are M1, M3, M5, M10, M15, M30, H1, H4, and Daily. With this separation, users can monitor trend conditions from lower to higher timeframes more efficiently, consistently, and reliably.
AI Liquidity Confirmation Framework [Signals + RR]//@version=6
indicator("AI Liquidity Confirmation Framework ", overlay=true)
// ----------------------
// Inputs
// ----------------------
atrLen = input.int(14, "ATR Length")
rr = input.float(2.0, "Risk Reward", step=0.25)
confirmBars = input.int(1, "Confirmation Bars")
// ----------------------
// Core Calculations
// ----------------------
atr = ta.atr(atrLen)
// Liquidity levels (simple swing logic)
sellLiquidity = ta.highest(high, 10)
buyLiquidity = ta.lowest(low, 10)
// Sweep detection
sellSweep = high > sellLiquidity and close < sellLiquidity
buySweep = low < buyLiquidity and close > buyLiquidity
// Confirmation candles
bullConfirm = close > open and close > close
bearConfirm = close < open and close < close
// ----------------------
// Trade Logic
// ----------------------
buySignal = buySweep and bullConfirm
sellSignal = sellSweep and bearConfirm
// Risk management
buyStop = low - atr
sellStop = high + atr
buyTarget = close + (close - buyStop) * rr
sellTarget = close - (sellStop - close) * rr
// ----------------------
// Plot Signals
// ----------------------
plotshape(buySignal, title="BUY", style=shape.labelup, text="BUY", color=color.new(color.green, 0))
plotshape(sellSignal, title="SELL", style=shape.labeldown, text="SELL", color=color.new(color.red, 0))
// Stops & Targets
plot(buySignal ? buyStop : na, color=color.red, style=plot.style_linebr)
plot(buySignal ? buyTarget : na, color=color.green, style=plot.style_linebr)
plot(sellSignal ? sellStop : na, color=color.red, style=plot.style_linebr)
plot(sellSignal ? sellTarget : na, color=color.green, style=plot.style_linebr)
// ----------------------
// WAIT State
// ----------------------
waitState = not buySignal and not sellSignal
plotchar(waitState, title="WAIT", char=".", location=location.top, color=color.gray)
RSI con EMA JP MENTOR TRADINGspot DCA BINANCE.. indicador RSI 36 y EMA 200 BASE para trading spot automatizado en binance
AI Liquidity Confirmation Framework [Signals + RR]// LOGIC FLOW:
// 1. Detect liquidity sweep (context, NOT an entry)
// 2. Enter WAIT state (no trading allowed)
// 3. Require price action confirmation (displacement)
// 4. Require AI / SnapTrader directional bias agreement
// 5. Execute trade with automatic Entry, Stop, and Take-Profit
//
// CORE FEATURES:
// - Liquidity-based context (buyside & sellside)
// - Mandatory confirmation before signals
// - Manual AI / SnapTrader bias filter (TradingView legal)
// - Automatic Risk-to-Reward projection
// - Setup expiration to prevent late entries
// - Non-repainting logic
//
// IMPORTANT NOTES:
// - Liquidity alone is NOT a trade signal
// - AI bias must be updated manually by the trader
// - Designed as a decision-support tool, not prediction software
// - Always apply proper risk management
SLT Daily Range StatsThis indicator shows a table with stats regarding the Median Daily Range, and the Median Initial Balance Daily range.
The table shows:
CDR - Current daily range (and current % of median daily range)
MDR - Median Daily Range
IB - Todays Initial Balance
MIB - The Median Initial Balance
AI Liquidity Confirmation Framework [Signals + RR]Updated Indicator using AI Reasoning to give buy/sell indicators. Updated v2 model
Breakout LevelsBreakout Levels - User Guide
Overview
The Breakout Levels indicator automatically detects and displays significant breakout candles across multiple timeframes. A breakout occurs when price makes a strong, decisive move - identified by candles with unusually large bodies relative to average volatility.
These breakout levels often act as future support/resistance zones, making them valuable reference points for trading decisions.
What is a Breakout?
A breakout is detected when a candle's body size (the distance between open and close) is significantly larger than normal. By default, the script looks for candles that are 2x the ATR (Average True Range) or larger.
Example:
If the 14-period ATR is $5, a candle with a $10+ body would qualify as a breakout
These represent strong, committed moves by the market
The script marks the high of bullish breakouts and the low of bearish breakouts
Settings Guide
Timeframes
Toggle which timeframes to monitor for breakouts:
Show Daily Breakouts - Green/Red levels from daily chart breakouts
Show 4H Breakouts - 4-hour timeframe breakouts
Show 1H Breakouts - 1-hour timeframe breakouts
Show 15M Breakouts - 15-minute timeframe breakouts
Tip: When running on a 15-minute chart, you can see breakouts from all higher timeframes simultaneously.
Lookback (How Far Back to Display)
Controls how many bars back to show levels for each timeframe:
TimeframeDefaultWhat it Means15M50 bars~12.5 hours of breakout history1H200 bars~8 days of breakout history4H250 bars~42 days of breakout historyDaily300 bars~300 days (nearly 1 year)
Why adjust this?
Increase to see more historical levels (may clutter chart)
Decrease to focus only on recent breakouts
Older levels are still stored, just not displayed
Detection Settings
Breakout Candle Size (x ATR)
Default: 2.0
Range: 1.0 to 5.0
What it does: Multiplier for what qualifies as a "big" candle
SettingSensitivityUse Case1.0-1.5Very sensitiveCatches more breakouts, but may include false moves2.0Balanced (default)Good mix of quality and quantity3.0-5.0Very selectiveOnly the most explosive moves
Recommendation: Start with 2.0 and adjust based on your market and trading style.
Visual Settings
Bullish Breakout Color
Default: Green with 60% transparency
Marks levels where price broke upward strongly
Bearish Breakout Color
Default: Red with 60% transparency
Marks levels where price broke downward strongly
Show Labels
Toggle labels on/off
Labels display: BO
Example: "4H BO 150.25"
Turn OFF for cleaner charts when you just want the lines
How to Use This Indicator
1. Identify Key Breakout Zones
Breakout levels often become magnets where price returns later:
Former resistance (where price broke up) becomes future support
Former support (where price broke down) becomes future resistance
2. Look for Confluence
When multiple timeframe breakouts cluster near the same price:
15M + 1H + 4H breakouts all near $150 = strong level
More confluence = more significant level
3. Watch for Retests
After a breakout, price often returns to test that level:
Bullish breakout retest from above = potential long entry
Bearish breakout retest from below = potential short entry
4. Combine with Other Analysis
Use breakout levels alongside:
Your own support/resistance analysis
Volume profiles
Fibonacci levels
Candlestick patterns at these levels
Practical Examples
Example 1: Clean Breakout and Retest
Daily candle closes up with a huge body (2.5x ATR)
Green line drawn at the high of that candle
Price pulls back 3 days later and bounces exactly off that green line
Trade opportunity: Long entry at the retest with stop below
Example 2: Failed Breakout
4H bearish breakout draws a red line at the low
Price immediately reverses back above the level
Signal: The breakout was false - consider this a stop hunt zone
Example 3: Multi-Timeframe Confluence
Daily breakout at $100
4H breakout at $100.50
1H breakout at $99.80
Strong cluster zone: $99.80-$100.50 becomes a major decision point
Best Practices
DO:
✅ Start with default settings (2.0x ATR, default lookbacks)
✅ Use on a 15-minute chart to see all timeframes
✅ Look for price reactions at these levels before trading
✅ Combine with volume - breakouts with high volume are more reliable
✅ Turn off labels when chart gets too busy
DON'T:
❌ Treat every line as guaranteed support/resistance
❌ Set breakout multiplier too low (<1.5) - creates noise
❌ Ignore the context - check what's happening in the broader market
❌ Trade blindly at these levels without confirmation
Troubleshooting
"Too many lines on my chart"
Reduce the lookback settings
Turn off some timeframes (maybe just show Daily + 4H)
Increase the breakout multiplier to 2.5 or 3.0
"Not showing any levels"
Lower the breakout multiplier to 1.5
Increase lookback settings
Check that at least one timeframe toggle is ON
Verify the market had actual volatility during the period
"Labels are cluttering the chart"
Turn off "Show Labels" in settings
Lines will remain, labels disappear
Technical Notes
ATR Period: 14 (industry standard, not adjustable in this version)
Max Lines: 500 (Pine Script limitation)
Duplicate Filter: Levels within 0.3% of ATR are considered duplicates and filtered
Chart Type: Works on any chart timeframe, optimized for 15-minute
Asset Type: Works on stocks, forex, crypto, futures
Summary
The Breakout Levels indicator gives you a systematic way to identify where strong, committed market moves occurred. These levels often act as future decision points. Use them as reference zones to watch for price reactions, not as automatic trade signals.
Quick Start:
Add indicator to a 15-minute chart
Leave default settings (2.0x ATR)
Watch how price interacts with the levels over the next few days
Adjust sensitivity based on your observations
Happy trading! 📈
DTS Momentum Dot Plot (MACD / STOCH / RSI)This comes from Treyding Stocks Famous Dot Plot, but for think or swim. When the green and red dots align, then it is a good opportunity for a buy or sell. It is the MACD, MACD Histogram, Fast Stochastic, the slow stochastic and the RSI, t
You can also add alerts when all lines turn green or red!
Enjoy!
CBT w/15m Dashboard InfoThe same 10ema indicator, but now putting an indication in the dashboard showing where price is on the 15m compared to the 10 ema and the cloud.
Previous HLC Single ChoiceThis indicator allows traders to visualize the High, Low, and Close (HLC) levels of a previous timeframe directly on their current chart. By plotting these key levels from a higher timeframe, traders can identify significant support and resistance zones, potential breakout levels, and the overall market context without needing to switch back and forth between different chart intervals.
How it Works
The script utilizes the request.security() function to fetch the High, Low, and Close data from the previous completed bar of a user-selected timeframe.
Unlike static multi-timeframe indicators that might clutter the chart with too many lines, this script is designed for simplicity and flexibility. It uses the input.timeframe functionality, allowing you to select any standard or custom timeframe available on TradingView (e.g., 4-hour, Daily, Weekly, 3-Month, 12-Month) via a simple dropdown menu.
Once a timeframe is selected, the indicator plots three distinct lines:
Green Line: The High of the previous timeframe.
Red Line: The Low of the previous timeframe.
Orange Line: The Close of the previous timeframe.
Usage Examples
These levels often act as dynamic support and resistance.
Breakouts: A move above the previous timeframe's High can signal bullish strength.
Breakdowns: A drop below the previous timeframe's Low can signal bearish weakness.
Ranges: The space between the High and Low often defines the trading range for the current session.
Screenshots
Ethereum (1D Chart / 6M Levels):
Here we see the 6-Month High, Low, and Close plotted on a Daily chart. Note how the previous 6-month levels frame the long-term trend.
Silver (2h Chart / 1W Levels):
This example shows Silver on a 2-hour chart with Weekly levels. This is useful for intraday traders looking for weekly pivots.
EURUSD (30m Chart / 480m Levels):
A granular look at the Euro on a 30-minute chart using an 8-hour (480m) timeframe overlay. This helps identify mid-session reversals.
Apple (1D Chart / 3M Levels):
Apple stock on a Daily chart with Quarterly (3-Month) levels, highlighting major structural levels for swing trading.
Settings
Choose Timeframe: Select the specific timeframe you wish to overlay (Default is 3 Months).
Disclaimer
This script is for educational and informational purposes only. It DOES NOT constitute financial advice. Past performance is not indicative of future results. Always do your own research and risk management before trading.
arraysLibrary "arrays"
Supplementary array methods.
method delete(arr, index)
remove int object from array of integers at specific index
Namespace types: array
Parameters:
arr (array) : int array
index (int) : index at which int object need to be removed
Returns: void
method delete(arr, index)
remove float object from array of float at specific index
Namespace types: array
Parameters:
arr (array) : float array
index (int) : index at which float object need to be removed
Returns: float
method delete(arr, index)
remove bool object from array of bool at specific index
Namespace types: array
Parameters:
arr (array) : bool array
index (int) : index at which bool object need to be removed
Returns: bool
method delete(arr, index)
remove string object from array of string at specific index
Namespace types: array
Parameters:
arr (array) : string array
index (int) : index at which string object need to be removed
Returns: string
method delete(arr, index)
remove color object from array of color at specific index
Namespace types: array
Parameters:
arr (array) : color array
index (int) : index at which color object need to be removed
Returns: color
method delete(arr, index)
remove chart.point object from array of chart.point at specific index
Namespace types: array
Parameters:
arr (array) : chart.point array
index (int) : index at which chart.point object need to be removed
Returns: void
method delete(arr, index)
remove line object from array of lines at specific index and deletes the line
Namespace types: array
Parameters:
arr (array) : line array
index (int) : index at which line object need to be removed and deleted
Returns: void
method delete(arr, index)
remove label object from array of labels at specific index and deletes the label
Namespace types: array
Parameters:
arr (array) : label array
index (int) : index at which label object need to be removed and deleted
Returns: void
method delete(arr, index)
remove box object from array of boxes at specific index and deletes the box
Namespace types: array
Parameters:
arr (array) : box array
index (int) : index at which box object need to be removed and deleted
Returns: void
method delete(arr, index)
remove table object from array of tables at specific index and deletes the table
Namespace types: array
Parameters:
arr (array) : table array
index (int) : index at which table object need to be removed and deleted
Returns: void
method delete(arr, index)
remove linefill object from array of linefills at specific index and deletes the linefill
Namespace types: array
Parameters:
arr (array) : linefill array
index (int) : index at which linefill object need to be removed and deleted
Returns: void
method delete(arr, index)
remove polyline object from array of polylines at specific index and deletes the polyline
Namespace types: array
Parameters:
arr (array) : polyline array
index (int) : index at which polyline object need to be removed and deleted
Returns: void
method popr(arr)
remove last int object from array
Namespace types: array
Parameters:
arr (array) : int array
Returns: int
method popr(arr)
remove last float object from array
Namespace types: array
Parameters:
arr (array) : float array
Returns: float
method popr(arr)
remove last bool object from array
Namespace types: array
Parameters:
arr (array) : bool array
Returns: bool
method popr(arr)
remove last string object from array
Namespace types: array
Parameters:
arr (array) : string array
Returns: string
method popr(arr)
remove last color object from array
Namespace types: array
Parameters:
arr (array) : color array
Returns: color
method popr(arr)
remove last chart.point object from array
Namespace types: array
Parameters:
arr (array) : chart.point array
Returns: void
method popr(arr)
remove and delete last line object from array
Namespace types: array
Parameters:
arr (array) : line array
Returns: void
method popr(arr)
remove and delete last label object from array
Namespace types: array
Parameters:
arr (array) : label array
Returns: void
method popr(arr)
remove and delete last box object from array
Namespace types: array
Parameters:
arr (array) : box array
Returns: void
method popr(arr)
remove and delete last table object from array
Namespace types: array
Parameters:
arr (array) : table array
Returns: void
method popr(arr)
remove and delete last linefill object from array
Namespace types: array
Parameters:
arr (array) : linefill array
Returns: void
method popr(arr)
remove and delete last polyline object from array
Namespace types: array
Parameters:
arr (array) : polyline array
Returns: void
method shiftr(arr)
remove first int object from array
Namespace types: array
Parameters:
arr (array) : int array
Returns: int
method shiftr(arr)
remove first float object from array
Namespace types: array
Parameters:
arr (array) : float array
Returns: float
method shiftr(arr)
remove first bool object from array
Namespace types: array
Parameters:
arr (array) : bool array
Returns: bool
method shiftr(arr)
remove first string object from array
Namespace types: array
Parameters:
arr (array) : string array
Returns: string
method shiftr(arr)
remove first color object from array
Namespace types: array
Parameters:
arr (array) : color array
Returns: color
method shiftr(arr)
remove first chart.point object from array
Namespace types: array
Parameters:
arr (array) : chart.point array
Returns: void
method shiftr(arr)
remove and delete first line object from array
Namespace types: array
Parameters:
arr (array) : line array
Returns: void
method shiftr(arr)
remove and delete first label object from array
Namespace types: array
Parameters:
arr (array) : label array
Returns: void
method shiftr(arr)
remove and delete first box object from array
Namespace types: array
Parameters:
arr (array) : box array
Returns: void
method shiftr(arr)
remove and delete first table object from array
Namespace types: array
Parameters:
arr (array) : table array
Returns: void
method shiftr(arr)
remove and delete first linefill object from array
Namespace types: array
Parameters:
arr (array) : linefill array
Returns: void
method shiftr(arr)
remove and delete first polyline object from array
Namespace types: array
Parameters:
arr (array) : polyline array
Returns: void
method push(arr, val, maxItems)
add int to the end of an array with max items cap. Objects are removed from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : int array
val (int) : int object to be pushed
maxItems (int) : max number of items array can hold
Returns: int
method push(arr, val, maxItems)
add float to the end of an array with max items cap. Objects are removed from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : float array
val (float) : float object to be pushed
maxItems (int) : max number of items array can hold
Returns: float
method push(arr, val, maxItems)
add bool to the end of an array with max items cap. Objects are removed from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : bool array
val (bool) : bool object to be pushed
maxItems (int) : max number of items array can hold
Returns: bool
method push(arr, val, maxItems)
add string to the end of an array with max items cap. Objects are removed from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : string array
val (string) : string object to be pushed
maxItems (int) : max number of items array can hold
Returns: string
method push(arr, val, maxItems)
add color to the end of an array with max items cap. Objects are removed from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : color array
val (color) : color object to be pushed
maxItems (int) : max number of items array can hold
Returns: color
method push(arr, val, maxItems)
add chart.point to the end of an array with max items cap. Objects are removed and deleted from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : chart.point array
val (chart.point) : chart.point object to be pushed
maxItems (int) : max number of items array can hold
Returns: chart.point
method push(arr, val, maxItems)
add line to the end of an array with max items cap. Objects are removed and deleted from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : line array
val (line) : line object to be pushed
maxItems (int) : max number of items array can hold
Returns: line
method push(arr, val, maxItems)
add label to the end of an array with max items cap. Objects are removed and deleted from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : label array
val (label) : label object to be pushed
maxItems (int) : max number of items array can hold
Returns: label
method push(arr, val, maxItems)
add box to the end of an array with max items cap. Objects are removed and deleted from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : box array
val (box) : box object to be pushed
maxItems (int) : max number of items array can hold
Returns: box
method push(arr, val, maxItems)
add table to the end of an array with max items cap. Objects are removed and deleted from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : table array
val (table) : table object to be pushed
maxItems (int) : max number of items array can hold
Returns: table
method push(arr, val, maxItems)
add linefill to the end of an array with max items cap. Objects are removed and deleted from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : linefill array
val (linefill) : linefill object to be pushed
maxItems (int) : max number of items array can hold
Returns: linefill
method push(arr, val, maxItems)
add polyline to the end of an array with max items cap. Objects are removed and deleted from start to maintain max items cap
Namespace types: array
Parameters:
arr (array) : polyline array
val (polyline) : polyline object to be pushed
maxItems (int) : max number of items array can hold
Returns: polyline
method unshift(arr, val, maxItems)
add int to the beginning of an array with max items cap. Objects are removed from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : int array
val (int) : int object to be unshift
maxItems (int) : max number of items array can hold
Returns: int
method unshift(arr, val, maxItems)
add float to the beginning of an array with max items cap. Objects are removed from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : float array
val (float) : float object to be unshift
maxItems (int) : max number of items array can hold
Returns: float
method unshift(arr, val, maxItems)
add bool to the beginning of an array with max items cap. Objects are removed from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : bool array
val (bool) : bool object to be unshift
maxItems (int) : max number of items array can hold
Returns: bool
method unshift(arr, val, maxItems)
add string to the beginning of an array with max items cap. Objects are removed from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : string array
val (string) : string object to be unshift
maxItems (int) : max number of items array can hold
Returns: string
method unshift(arr, val, maxItems)
add color to the beginning of an array with max items cap. Objects are removed from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : color array
val (color) : color object to be unshift
maxItems (int) : max number of items array can hold
Returns: color
method unshift(arr, val, maxItems)
add chart.point to the beginning of an array with max items cap. Objects are removed and deleted from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : chart.point array
val (chart.point) : chart.point object to be unshift
maxItems (int) : max number of items array can hold
Returns: chart.point
method unshift(arr, val, maxItems)
add line to the beginning of an array with max items cap. Objects are removed and deleted from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : line array
val (line) : line object to be unshift
maxItems (int) : max number of items array can hold
Returns: line
method unshift(arr, val, maxItems)
add label to the beginning of an array with max items cap. Objects are removed and deleted from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : label array
val (label) : label object to be unshift
maxItems (int) : max number of items array can hold
Returns: label
method unshift(arr, val, maxItems)
add box to the beginning of an array with max items cap. Objects are removed and deleted from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : box array
val (box) : box object to be unshift
maxItems (int) : max number of items array can hold
Returns: box
method unshift(arr, val, maxItems)
add table to the beginning of an array with max items cap. Objects are removed and deleted from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : table array
val (table) : table object to be unshift
maxItems (int) : max number of items array can hold
Returns: table
method unshift(arr, val, maxItems)
add linefill to the beginning of an array with max items cap. Objects are removed and deleted from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : linefill array
val (linefill) : linefill object to be unshift
maxItems (int) : max number of items array can hold
Returns: linefill
method unshift(arr, val, maxItems)
add polyline to the beginning of an array with max items cap. Objects are removed and deleted from end to maintain max items cap
Namespace types: array
Parameters:
arr (array) : polyline array
val (polyline) : polyline object to be unshift
maxItems (int) : max number of items array can hold
Returns: polyline
method isEmpty(arr)
checks if an int array is either null or empty
Namespace types: array
Parameters:
arr (array) : int array
Returns: bool
method isEmpty(arr)
checks if a float array is either null or empty
Namespace types: array
Parameters:
arr (array) : float array
Returns: bool
method isEmpty(arr)
checks if a string array is either null or empty
Namespace types: array
Parameters:
arr (array) : string array
Returns: bool
method isEmpty(arr)
checks if a bool array is either null or empty
Namespace types: array
Parameters:
arr (array) : bool array
Returns: bool
method isEmpty(arr)
checks if a color array is either null or empty
Namespace types: array
Parameters:
arr (array) : color array
Returns: bool
method isEmpty(arr)
checks if a chart.point array is either null or empty
Namespace types: array
Parameters:
arr (array) : chart.point array
Returns: bool
method isEmpty(arr)
checks if a line array is either null or empty
Namespace types: array
Parameters:
arr (array) : line array
Returns: bool
method isEmpty(arr)
checks if a label array is either null or empty
Namespace types: array
Parameters:
arr (array) : label array
Returns: bool
method isEmpty(arr)
checks if a box array is either null or empty
Namespace types: array
Parameters:
arr (array) : box array
Returns: bool
method isEmpty(arr)
checks if a linefill array is either null or empty
Namespace types: array
Parameters:
arr (array) : linefill array
Returns: bool
method isEmpty(arr)
checks if a polyline array is either null or empty
Namespace types: array
Parameters:
arr (array) : polyline array
Returns: bool
method isEmpty(arr)
checks if a table array is either null or empty
Namespace types: array
Parameters:
arr (array) : table array
Returns: bool
method isNotEmpty(arr)
checks if an int array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : int array
Returns: bool
method isNotEmpty(arr)
checks if a float array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : float array
Returns: bool
method isNotEmpty(arr)
checks if a string array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : string array
Returns: bool
method isNotEmpty(arr)
checks if a bool array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : bool array
Returns: bool
method isNotEmpty(arr)
checks if a color array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : color array
Returns: bool
method isNotEmpty(arr)
checks if a chart.point array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : chart.point array
Returns: bool
method isNotEmpty(arr)
checks if a line array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : line array
Returns: bool
method isNotEmpty(arr)
checks if a label array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : label array
Returns: bool
method isNotEmpty(arr)
checks if a box array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : box array
Returns: bool
method isNotEmpty(arr)
checks if a linefill array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : linefill array
Returns: bool
method isNotEmpty(arr)
checks if a polyline array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : polyline array
Returns: bool
method isNotEmpty(arr)
checks if a table array is not null and has at least one item
Namespace types: array
Parameters:
arr (array) : table array
Returns: bool
method flush(arr)
remove all int objects in an array
Namespace types: array
Parameters:
arr (array) : int array
Returns: int
method flush(arr)
remove all float objects in an array
Namespace types: array
Parameters:
arr (array) : float array
Returns: float
method flush(arr)
remove all bool objects in an array
Namespace types: array
Parameters:
arr (array) : bool array
Returns: bool
method flush(arr)
remove all string objects in an array
Namespace types: array
Parameters:
arr (array) : string array
Returns: string
method flush(arr)
remove all color objects in an array
Namespace types: array
Parameters:
arr (array) : color array
Returns: color
method flush(arr)
remove all chart.point objects in an array
Namespace types: array
Parameters:
arr (array) : chart.point array
Returns: chart.point
method flush(arr)
remove and delete all line objects in an array
Namespace types: array
Parameters:
arr (array) : line array
Returns: line
method flush(arr)
remove and delete all label objects in an array
Namespace types: array
Parameters:
arr (array) : label array
Returns: label
method flush(arr)
remove and delete all box objects in an array
Namespace types: array
Parameters:
arr (array) : box array
Returns: box
method flush(arr)
remove and delete all table objects in an array
Namespace types: array
Parameters:
arr (array) : table array
Returns: table
method flush(arr)
remove and delete all linefill objects in an array
Namespace types: array
Parameters:
arr (array) : linefill array
Returns: linefill
method flush(arr)
remove and delete all polyline objects in an array
Namespace types: array
Parameters:
arr (array) : polyline array
Returns: polyline
bing_CountLibrary "Count"
method comparisonCheck(value1, op, value2)
Namespace types: series int, simple int, input int, const int
Parameters:
value1 (int)
op (string)
value2 (int)
libSchedulerTLDR: This is a lightweight, easy-to-use way to throttle sections of Pinescript v6 scripts, the same as you'd use barstate.isconfirmed or barstate.islast. You can use this for enormous efficiency gains, provided you design your script to handle updates on differing intervals rather than computing everything on each cycle. Usage is easy:
```
import showmethegrail/libScheduler/1 as libScheduler
i_tf_fetch = input.enum(libScheduler.Timeframes.C, "Fetch Interval",
tooltip="Do things just once every interval, default=once per chart timeframe.")
var scheduler = libScheduler.Scheduler.new().init()
if scheduler.every(i_tf_fetch)
// Do stuff
```
That's it. If you need to know more, the code is well-commented.
Combine this with sensible caching, and you can right-size the compute-heavy sections of your script, for better stability and managed use of Pinescript compute quotas. You'll need to know the proper use of var and varip to make the most of this, but I found this effectively replaced a lot of boilerplate in throttling my own scripts.
Sound software engineering, made Pinescript-level easy. That's all.
Ultimate 20x MA Hub [MTF/SMA/EMA]Ultimate 20x MA Hub
This is an all-in-one Moving Average aggregator designed to overcome the indicator limit and keep your chart clean. It allows you to plot up to 20 different Moving Averages within a single indicator instance, with full Multi-Timeframe (MTF) support.
Key Features:
20 Lines in 1 Script: Manage all your MAs in one place.
Multi-Timeframe (MTF): Each line can have its own independent timeframe. For example, you can view a Daily 200 SMA while trading on a 15-minute chart.
SMA & EMA Support: Freely switch between Simple and Exponential Moving Averages for each line.
No Repainting: The MTF logic uses barmerge.gaps_on to ensure historical data does not repaint, providing a realistic backtest view.
Custom Styling: Supports different line widths and styles (e.g., dotted lines (circles) for specific MAs).
Default Configuration (Trend Setup):
MA 1: Daily (1D) 30 SMA — Blue Line (Short-term daily trend)
MA 2: Weekly (1W) 50 SMA — White Dotted Line (Medium-term weekly support/resistance)
MA 3: Weekly (1W) 200 SMA — Red Thick Line (Major long-term bull/bear divider)
MA 4 to MA 20 are disabled by default but can be enabled in the settings.
How to use: Go to the indicator settings to enable more lines, change periods, or select different timeframes (e.g., "D" for Daily, "W" for Weekly).






















