20/50 EMA Crossover Strategysimple yet, effective moving average cross over for swing trading, long positions only.
Indicatori e strategie
3M-10Y Yield Spread3M-10Y Yield Spread Indicator Description
What It Is:
This indicator calculates the difference (spread) between the 3-month and 10-year US Treasury yields, plotted as a line with a zero reference. The background turns red when the spread inverts (falls below zero), signaling when the 3-month yield exceeds the 10-year yield.
What It Helps Understand:
Economic Health: An inverted yield curve (spread < 0) often predicts recessions, as it reflects market expectations of future economic slowdown, typically preceding downturns by 6-18 months.
Fed Policy Impact: Fed rate hikes can push short-term yields (like the 3-month) higher, potentially causing inversion if long-term yields (10-year) don’t rise as much due to growth concerns. Conversely, Fed rate cuts can lower short-term yields, steepening the curve (spread > 0), signaling economic stimulus or recovery expectations.
CryptoPulse CipherCryptoPulse Cipher is an all-in-one trading indicator designed for cryptocurrency markets. It delivers precise buy/sell signals using a powerful blend of WaveTrend oscillator and MFI, enhanced by an EMA ribbon for trend clarity. Identify key reversals with divergence detection and blue triangle warnings, while support/resistance zones and VWAP guide your entries and exits. Customizable and alert-ready, this tool empowers traders to navigate volatile markets with confidence. Perfect for scalpers and swing traders alike.
Session Highs and Lows IndicatorSession Highs and Lows Indicator
This indicator automatically tracks and displays the High and Low prices for major trading sessions:
London
New York
Asia
New York Close
For each session, it plots:
A label at the highest and lowest price point reached during the session.
A dashed line showing the high and low levels extended to the right (until the current bar), helping traders visualize key support/resistance zones.
You can toggle visibility for each session individually through the settings panel.
Session times are set in GMT+8, but you can adjust them in the code if needed.
Color code:
London: Blue
New York: Red
Asia: Green
New York Close: Orange
All lines and labels are semi-transparent to avoid chart clutter.
Ideal for intraday and session-based trading strategies.
ICT Turtle Soup (Liquidity Reversal)This indicator identifies ICT-style Turtle Soup setups — smart money reversal or continuation entries that occur after price sweeps liquidity (old highs or lows) and then snaps back in the opposite direction. These setups highlight algorithmic stop hunts followed by potential high-probability trade opportunities.
Unlike the traditional Turtle Soup strategy found in Street Smarts, this script follows The Inner Circle Trader (ICT) methodology, placing greater importance on:
Liquidity runs
Body closures, not just wicks
Contextual price delivery (state of delivery changes)
PD arrays like Fair Value Gaps (FVGs) and Rejection Blocks
Why You Should Use It
Catch reversals with precision after a stop hunt.
Identify liquidity traps where retail traders get caught chasing breakouts.
Great for both counter-trend fades and continuation entries within a larger trend.
Works best when combined with FVGs, Kill Zones, and higher time frame bias.
Whether you're looking to fade fake breakouts, enter continuation trades after a brief liquidity grab, or avoid getting stop-hunted, this indicator gives you clear, visual confirmation of Turtle Soup conditions.
How to Use It
Wait for a sweep:
Price trades above a recent swing high (taking out buy stops).
Or trades below a recent swing low (taking out sell stops).
Watch for the reversal:
Candle closes back inside the prior range (below the high or above the low).
This confirms the liquidity run has failed — a classic Turtle Soup setup.
Look for the signal:
🐢🔻 = Bearish Turtle Soup → Price ran above a high and closed lower.
🐢🔺 = Bullish Turtle Soup → Price ran below a low and closed higher.
Enter with confluence:
Optional: Combine with Fair Value Gaps, Order Blocks, or time-based entries (e.g. during Kill Zones).
Place stop above/below the swing and target relevant PD arrays (e.g. FVG fills, previous highs/lows).
⚠️ Pro Tip from ICT Philosophy:
"If you’re bearish, look for Turtle Soup sells. That means look for micro shifts in market structure after the sweep."
This isn’t just a pattern — it’s a story of the algorithm, and you're reading its plot twist in real time.
CME Gaps on Price chart (Xpdev)This script was published to help traders monitor market gaps on the CME and overlay them directly on the price chart.
The script works in general for any market and on any time frame.
The script allows the user to:
- Specify the CME ticket for gap searching (default is BTC1!);
- Specify the time frame for gap searching;
- Specify how the gaps should be filled;
- Identify price gaps of a custom width (Gap Width);
- Overlay on the price chart gaps found through showing red and green areas.
Trade Flux Pro v1Multi-Timeframe Indicator System: Advanced Technical Analysis Solution
This Pine Script 6 based analysis system combines technical indicators across different timeframes to generate more reliable signals.
How It Works
The system analyzes primary and secondary indicators across three timeframes (lower, current, and higher), allowing users to better evaluate market movements with multiple confirmation levels.
Key Features
Dual Momentum Indicators: Combines two complementary oscillators for signal generation
Triple Timeframe Analysis: Examines lower, current, and higher timeframes simultaneously
Flexible Confirmation Modes: Choose between majority, all, or any timeframe confirmation
Visual Signals: Clear markers and color-coded panel showing indicator status
Notification System: Webhook integration for external alerts
Recommended Markets
Suitable for crypto, forex, stock, and futures markets with optimized settings for each.
Practical Applications
More accurate trend identification
Optimized entry and exit points
Reduced false signals
Adaptable to different market conditions
This system is fully compatible with Pine Script 6 and optimized for the TradingView platform.
Ticker Pulse Meter + Fear EKG StrategyVERSION #2
Ticker Pulse + Fear EKG Strategy
Discover a smarter way to invest with the Ticker Pulse + Fear EKG Strategy, crafted for long-term investors seeking to buy dips and lock in profits over time. Fear EKG, a unique VIX-powered oscillator, pinpoints market fear to catch reversals at their sweetest spots, while Ticker Pulse’s dual-range metrics ensure you enter with momentum and exit with precision. Optimized for the daily timeframe—yet thriving on weekly and monthly charts—this strategy empowers you to dollar-cost average or ride trends with confidence, using partial exits to secure gains without guesswork.
Works out of the box, really no need for adjustment of settings.
However, here are a couple tidbits of information on how to adjust some of the settings.
Mute Fear EKG related buy entries:
In the settings tab, if you set the Upper Signal Threshold, Mid Signal Threshold, and the Lower Signal Threshold all to 100 this will serve to mute 100% of all Fear EKG spike related buy signals.
Mute Ticker Pulse Meter related buy entries
If you set the Above Long/Above Short Level and the Below Long/Below Short Level to zero this will serve to mute all buy signals related to the ticker pulse meter.
You may also want to play with the FEAR EKG SETTINGS. For instance, if you take it down to 5 and 2 respectively and muted the Ticker Pulse Meter by zeroing them out. What you are left with are much better bottom detection. Fewer trades to stretch the money in the event of a extended bear market.
Likewise, you can mute the Fear EKG by increasing all to 100, opting to only look at the dip buys related to the Ticker Pulse Meter. This too will serve to decrease the number of entries.
Related to the added context of the long term Linear Regression Channel, if you are looking for a powerful set up, consider only entering trades when a green dot prints below the red POC, point of control.
If you study the price action, between the 200 period moving average (white line), the 100 period SMA + Bollinger Bands (green and yellow lines), linear regression POC and channel tend to provide excellent support and resistance.
Paired with the companion Ticker Pulse Meter + Fear EKG indicator, you’ll visualize sentiment and price dynamics through vibrant area plots and a dynamic heatmap, making every decision crystal-clear. Whether you’re building wealth patiently or capitalizing on market dips, this strategy delivers robust, data-driven signals without the noise. Try it today and elevate your long-term portfolio! Note: Optional visuals (e.g., tables, SMA) use standard Pine Script logic, credited to community practices. Hypothetical results vary; no profits guaranteed.
Visual Enhancers: Entry/exit dots, position table, and optional SMA/Bollinger Bands (if enabled), moving average and linear regression channel use standard Pine Script logic or inspired by public scripts like "Bollinger Bands by TradingView", among others. The visual enhancers are there to provide added context and situational awareness only and are not core to the inter workings of the trading strategy.
None of the above is meant to serve as financial advice and is for educational purposes only.
Please like, comment and follow.
Lii Day Trader ProThe Lii Day Trader Pro is a complete utility for day traders operating during the RTH (Regular Trading Hours) session.
✅ Features include:
Daily session separator (customizable, with red line on Mondays)
Previous day's High, Low, Close, Open, and Midpoint levels with adjustable colors, styles, and visibility
Smart gap detector with visual highlights
Bar counter for intra-day structure (highlighting every 3rd and 12th bar)
Customizable alert system (H/L/C/Mid crossing triggers with audio option)
⚠️ This script is intended to be used on intraday timeframes during RTH only (e.g. 5-minute chart).
HLCO+Mid lines are designed to extend across a fixed number of candles, not by clock time.
Clean, minimal, efficient – made for active intraday traders 🚀
VWAP+bgcolorThe "VWAP+bgcolor" indicator is an enhanced version of the Volume Weighted Average Price (VWAP) that visually highlights price action relative to the VWAP line. By coloring the chart background, it helps traders quickly identify whether the price is above or below the VWAP, making it easier to spot bullish or bearish market conditions.
Enhanced Execution ToolA comprehensive position sizing calculator for disciplined risk management
Description :
This tool provides traders with precise position sizing calculations based on their account parameters and market conditions. The indicator calculates optimal position sizes for different entry scenarios while maintaining strict risk control.
Key Features:
Multiple entry options (High, Close, Manual)
Flexible stop loss configuration (LoD or Previous Day Low)
Account-based risk management (1% risk by default)
ATR-based distance metrics for volatility assessment
Clear visual table displaying all critical trade parameters
How to Use:
Configure your account size and risk percentage
Select your preferred entry methods (High/Close/Manual)
Choose stop loss reference (Low of Day or Previous Day Low)
View calculated position sizes and risk parameters
For manual entries, input your desired entry and stop prices
Input Parameters:
Account Configuration: Set your capital and risk tolerance
Entry Options: Choose which entry methods to display
Stop Loss: Select stop loss reference level
Technical Settings: Adjust ATR length and distance limits
Display Options: Customize table appearance
Output Includes:
Risk amount in dollars
Risk as percentage of entry price
Entry to stop loss as percentage of ATR
Stop loss price
Entry price
Position size as % of account
Share quantity
Ideal For:
Traders who want to maintain consistent risk management
Those who need quick position sizing calculations
Investors who trade with multiple entry strategies
Note: Always verify calculations before executing trades. This tool is designed to assist with trade planning, not as trade advice.
ZigzagLiteLibrary "ZigzagLite"
method getPrices(pivots)
Gets the array of prices from array of Pivots
Namespace types: array
Parameters:
pivots (array) : array array of Pivot objects
Returns: array array of pivot prices
method getBars(pivots)
Gets the array of bars from array of Pivots
Namespace types: array
Parameters:
pivots (array) : array array of Pivot objects
Returns: array array of pivot bar indices
method getPoints(pivots)
Gets the array of chart.point from array of Pivots
Namespace types: array
Parameters:
pivots (array) : array array of Pivot objects
Returns: array array of pivot points
method getPoints(this)
Gets the array of chart.point from Zigzag Object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: array array of pivot points
method calculate(this, ohlc, ltfHighTime, ltfLowTime)
Calculate zigzag based on input values and indicator values
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
ohlc (array) : Array containing OHLC values. Can also have custom values for which zigzag to be calculated
ltfHighTime (int) : Used for multi timeframe zigzags when called within request.security. Default value is current timeframe open time.
ltfLowTime (int) : Used for multi timeframe zigzags when called within request.security. Default value is current timeframe open time.
Returns: current Zigzag object
method calculate(this)
Calculate zigzag based on properties embedded within Zigzag object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: current Zigzag object
method nextlevel(this)
Calculate Next Level Zigzag based on the current calculated zigzag object
Namespace types: Zigzag
Parameters:
this (Zigzag) : Zigzag object
Returns: Next Level Zigzag object
method clear(this)
Clears zigzag drawings array
Namespace types: array
Parameters:
this (array) : array
Returns: void
method clear(this)
Clears zigzag drawings array
Namespace types: array
Parameters:
this (array) : array
Returns: void
method drawplain(this)
draws fresh zigzag based on properties embedded in ZigzagDrawing object without trying to calculate
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
Returns: ZigzagDrawing object
method drawplain(this)
draws fresh zigzag based on properties embedded in ZigzagDrawingPL object without trying to calculate
Namespace types: ZigzagDrawingPL
Parameters:
this (ZigzagDrawingPL) : ZigzagDrawingPL object
Returns: ZigzagDrawingPL object
method drawfresh(this, ohlc)
draws fresh zigzag based on properties embedded in ZigzagDrawing object
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
ohlc (array) : values on which the zigzag needs to be calculated and drawn. If not set will use regular OHLC
Returns: ZigzagDrawing object
method drawcontinuous(this, ohlc)
draws zigzag based on the zigzagmatrix input
Namespace types: ZigzagDrawing
Parameters:
this (ZigzagDrawing) : ZigzagDrawing object
ohlc (array) : values on which the zigzag needs to be calculated and drawn. If not set will use regular OHLC
Returns:
PivotCandle
PivotCandle represents data of the candle which forms either pivot High or pivot low or both
Fields:
_high (series float) : High price of candle forming the pivot
_low (series float) : Low price of candle forming the pivot
length (series int) : Pivot length
pHighBar (series int) : represents number of bar back the pivot High occurred.
pLowBar (series int) : represents number of bar back the pivot Low occurred.
pHigh (series float) : Pivot High Price
pLow (series float) : Pivot Low Price
Pivot
Pivot refers to zigzag pivot. Each pivot can contain various data
Fields:
point (chart.point) : pivot point coordinates
dir (series int) : direction of the pivot. Valid values are 1, -1, 2, -2
level (series int) : is used for multi level zigzags. For single level, it will always be 0
ratio (series float) : Price Ratio based on previous two pivots
sizeRatio (series float) : ratio of current zigzag wave size in comparison to last zigzag wave in the same direction
barRatio (series float) : Bar Ratio based on previous two pivots
ZigzagFlags
Flags required for drawing zigzag. Only used internally in zigzag calculation. Should not set the values explicitly
Fields:
newPivot (series bool) : true if the calculation resulted in new pivot
doublePivot (series bool) : true if the calculation resulted in two pivots on same bar
updateLastPivot (series bool) : true if new pivot calculated replaces the old one.
Zigzag
Zigzag object which contains whole zigzag calculation parameters and pivots
Fields:
length (series int) : Zigzag length. Default value is 5
numberOfPivots (series int) : max number of pivots to hold in the calculation. Default value is 20
offset (series int) : Bar offset to be considered for calculation of zigzag. Default is 0 - which means calculation is done based on the latest bar.
level (series int) : Zigzag calculation level - used in multi level recursive zigzags
zigzagPivots (array) : array which holds the last n pivots calculated.
flags (ZigzagFlags) : ZigzagFlags object which is required for continuous drawing of zigzag lines.
ZigzagObject
Zigzag Drawing Object
Fields:
zigzagLine (series line) : Line joining two pivots
zigzagLabel (series label) : Label which can be used for drawing the values, ratios, directions etc.
ZigzagProperties
Object which holds properties of zigzag drawing. To be used along with ZigzagDrawing
Fields:
lineColor (series color) : Zigzag line color. Default is color.blue
lineWidth (series int) : Zigzag line width. Default is 1
lineStyle (series string) : Zigzag line style. Default is line.style_solid.
showLabel (series bool) : If set, the drawing will show labels on each pivot. Default is false
textColor (series color) : Text color of the labels. Only applicable if showLabel is set to true.
maxObjects (series int) : Max number of zigzag lines to display. Default is 300
xloc (series string) : Time/Bar reference to be used for zigzag drawing. Default is Time - xloc.bar_time.
curved (series bool) : Boolean field to print curved zigzag - used only with polyline implementation
ZigzagDrawing
Object which holds complete zigzag drawing objects and properties.
Fields:
zigzag (Zigzag) : Zigzag object which holds the calculations.
properties (ZigzagProperties) : ZigzagProperties object which is used for setting the display styles of zigzag
drawings (array) : array which contains lines and labels of zigzag drawing.
ZigzagDrawingPL
Object which holds complete zigzag drawing objects and properties - polyline version
Fields:
zigzag (Zigzag) : Zigzag object which holds the calculations.
properties (ZigzagProperties) : ZigzagProperties object which is used for setting the display styles of zigzag
zigzagLabels (array)
zigzagLine (series polyline) : polyline object of zigzag lines
LineWrapperLibrary "LineWrapper"
Wrapper Type for Line.
method draw(this)
draws line as per the wrapper object contents
Namespace types: Line
Parameters:
this (Line) : (series Line) Line object.
Returns: current Line object
method draw(this)
draws lines as per the wrapper object array
Namespace types: array
Parameters:
this (array) : (series array) Array of Line object.
Returns: current Array of Line objects
method update(this)
updates or redraws line as per the wrapper object contents
Namespace types: Line
Parameters:
this (Line) : (series Line) Line object.
Returns: current Line object
method update(this)
updates or redraws lines as per the wrapper object array
Namespace types: array
Parameters:
this (array) : (series array) Array of Line object.
Returns: current Array of Line objects
method delete(this)
Deletes the underlying line drawing object
Namespace types: Line
Parameters:
this (Line) : (series Line) Line object.
Returns: Current Line object
method get_price(this, bar)
get line price based on bar
Namespace types: Line
Parameters:
this (Line) : (series Line) Line object.
bar (int) : (series/int) bar at which line price need to be calculated
Returns: line price at given bar.
Line
Line Wrapper object
Fields:
p1 (chart.point)
p2 (chart.point)
xloc (series string) : (series string) See description of x1 argument. Possible values: xloc.bar_index and xloc.bar_time. Default is xloc.bar_index.
extend (series string) : (series string) If extend=extend.none, draws segment starting at point (x1, y1) and ending at point (x2, y2). If extend is equal to extend.right or extend.left, draws a ray starting at point (x1, y1) or (x2, y2), respectively. If extend=extend.both, draws a straight line that goes through these points. Default value is extend.none.
color (series color) : (series color) Line color.
style (series string) : (series string) Line style. Possible values: line.style_solid, line.style_dotted, line.style_dashed, line.style_arrow_left, line.style_arrow_right, line.style_arrow_both.
width (series int) : (series int) Line width in pixels.
obj (series line) : line object
utilsLibrary "utils"
Few essentials captured together (subset of arrayutils)
timer(timeStart, timeEnd)
finds difference between two timestamps
Parameters:
timeStart (int) : start timestamp
timeEnd (int)
Returns:
check_overflow(pivots, barArray, dir)
finds difference between two timestamps
Parameters:
pivots (array) : pivots array
barArray (array) : pivot bar array
dir (int) : direction for which overflow need to be checked
Returns: bool overflow
get_trend_series(pivots, length, highLow, trend)
finds series of pivots in particular trend
Parameters:
pivots (array) : pivots array
length (int) : length for which trend series need to be checked
highLow (int) : filter pivot high or low
trend (int) : Uptrend or Downtrend
Returns: int trendIndexes
get_trend_series(pivots, firstIndex, lastIndex)
finds series of pivots in particular trend
Parameters:
pivots (array) : pivots array
firstIndex (int) : First index of the series
lastIndex (int) : Last index of the series
Returns: int trendIndexes
getConsolidatedLabel(include, labels, separator)
Consolidates labels into single string by concatenating it with given separator
Parameters:
include (array) : array of conditions to include label or not
labels (array) : string array of labels
separator (simple string) : Separator for concatenating labels
Returns: string labelText
getColors(theme)
gets array of colors based on theme
Parameters:
theme (simple string) : dark or light theme
Returns: color themeColors
ohlcLibrary "ohlc"
Library having OHLC and Indicator type and method implementations.
getOhlcArray(o, h, l, c, highBeforeLow, highAfterLow, lowBeforeHigh, lowAfterHigh, barindex, bartime, indicators)
get array of OHLC values when called on every bar
Parameters:
o (float) : Open price
h (float) : High Price
l (float) : Low Price
c (float) : Close Price
highBeforeLow (float) : to be calculated based on lower timeframe. high price attained within the candle before reaching the lowest point.
highAfterLow (float) : to be calculated based on lower timeframe. high price attained within the candle after reaching the lowest point.
lowBeforeHigh (float) : to be calculated based on lower timeframe. low price attained within the candle before reaching the highest point.
lowAfterHigh (float) : to be calculated based on lower timeframe. low price attained within the candle after reaching the highest point.
barindex (int) : bar_index of OHLC data
bartime (int) : time of OHLC cata
indicators (array) : array containing indicator
Returns: Array of OHLC objects
push(this, item, maxItems)
Push items to OHLC array with maxItems limit
Parameters:
this (array)
item (OHLC) : OHLC Item to be pushed to the array
maxItems (int) : max Items the array can hold at a time
Returns: current object
push(this, item, maxItems)
Push items to Indicator array with maxItems limit
Parameters:
this (array)
item (Indicator) : Indicator Item to be pushed to the array
maxItems (int) : max Items the array can hold at a time
Returns: current object
unshift(this, item, maxItems)
Unshift items to OHLC array with maxItems limit
Parameters:
this (array)
item (OHLC) : OHLC Item to be unshifted to the array
maxItems (int) : max Items the array can hold at a time
Returns: current object
unshift(this, item, maxItems)
Unshift items to Indicator array with maxItems limit
Parameters:
this (array)
item (Indicator) : Indicator Item to be unshifted to the array
maxItems (int) : max Items the array can hold at a time
Returns: current object
method getPoints(indicators)
get array of points based on array of indicator values
Namespace types: array
Parameters:
indicators (array) : Array containing indicator objects
Returns: array of indicator points
method plot(indicator, xloc, line_color, line_style, line_width)
plots an array of Indicator using polyline
Namespace types: array
Parameters:
indicator (array) : Array containing indicator objects
xloc (string) : can have values xloc.bar_index or xloc.bar_time. Used for drawing the line based on either bars or time.
line_color (color) : color in which the plots need to be printed on chart.
line_style (string) : line style line.style_solid, line.style_dotted, line.style_dashed, line.style_arrow_right, line.style_arrow_left, line.style_arrow_both
line_width (int) : width of the plot line
Returns: array of plot polyline
Indicator
Object containing Indicator name and value
Fields:
name (series string) : Indicator Name
value (chart.point) : Indicator Value as a chart point
OHLC
Object containing OHLC and indicator values
Fields:
o (series float) : Open price
h (series float) : High Price
l (series float) : Low Price
c (series float) : Close Price
highBeforeLow (series float) : to be calculated based on lower timeframe. high price attained within the candle before reaching the lowest point.
highAfterLow (series float) : to be calculated based on lower timeframe. high price attained within the candle after reaching the lowest point.
lowBeforeHigh (series float) : to be calculated based on lower timeframe. low price attained within the candle before reaching the highest point.
lowAfterHigh (series float) : to be calculated based on lower timeframe. low price attained within the candle after reaching the highest point.
barindex (series int) : bar_index of OHLC data
bartime (series int) : time of OHLC cata
indicators (array) : array containing indicator
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
Altcoin Reversal or Correction DetectionINDICATOR OVERVIEW: Altcoin Reversal or Correction Detection
Altcoin Reversal or Correction Detection is a powerful crypto-specific indicator designed exclusively for altcoins by analyzing their RSI values across multiple timeframes alongside Bitcoin’s RSI. Since BTC's price movements have a strong influence on altcoins, this tool helps traders better understand whether a reversal or correction signal is truly reliable or just noise. Even if an altcoin appears oversold or overbought, it may continue trending with BTC—so this indicator gives you the full picture.
The indicator is optimized for CRYPTO MARKETS only. Not suitable for BTC itself—this is a precision tool built only for ALTCOINS only.
This indicator is not only for signals but also serves as a tool for observing all the information from different timeframes of BTC and altcoins collectively.
How the Calculation Works: Algorithm Overview
The Altcoin Reversal or Correction Detection indicator relies on an algorithm that compares the RSI values of the altcoin across multiple timeframes with Bitcoin's RSI values. This allows the indicator to identify key market moments where a reversal or correction might occur.
BTC-Altcoin RSI Correlation: The algorithm looks for the correlation between Bitcoin's price movements and the altcoin's price actions, as BTC often influences the direction of altcoins. When both Bitcoin and the altcoin show either overbought or oversold conditions in a significant number of timeframes, the indicator signals the potential for a reversal or correction.
Multi-Timeframe Confirmation: Unlike traditional indicators that may focus on a single timeframe, this tool checks multiple timeframes for both BTC and the altcoin. When the same overbought/oversold conditions are met across multiple timeframes, it confirms the likelihood of a trend reversal or correction, providing a more reliable signal. The more timeframes that align with this pattern, the stronger the signal becomes.
Overbought/Oversold Conditions & Extreme RSI Values: The algorithm also takes into account the size of the RSI values, especially focusing on extreme overbought and oversold levels. The greater the RSI values are in these extreme regions, the stronger the potential reversal or correction signal. This means that not only do multiple timeframes need to confirm the condition, but the magnitude of the overbought or oversold RSI level plays a crucial role in determining the strength of the signal.
Signal Strength Levels: The signals are classified into three levels:
Early Signal
Strong Signal
Very Strong Signal
By taking into account the multi-timeframe analysis of both BTC and the altcoin RSI values, along with the magnitude of these RSI values, the indicator offers a highly reliable method for detecting potential reversals and corrections.
Who Is This Indicator Suitable For?
This indicator can also be used to detect reversal points, but it is especially effective for scalping. It highlights potential correction points, making it perfect for quick entries during smaller market pullbacks or short-term trend shifts, which is more suitable for scalpers looking to capitalize on short-term movements
Integration with other tools
Use this tool alongside key Support and Resistance zones to further enhance your trade by filtering for even better quality entries and focusing only on high-quality reversal or correction setups. It can be also used with other indicators and suitable with other personalised strategies.
Vanguard Sniper Entry Tool [Perfected]A powerful sniper entry confirmation tool built for 2025’s high-volatility market conditions. Designed for traders who need precision, this overlay identifies sniper buy/sell zones using candle confirmation, trend alignment, and support/resistance logic.
🔫 Confirms: Engulfing, Pin Bar, Doji
🧠 Trend-based (uses 4H SMA)
🔔 Alerts built-in
💥 Perfect for swing, intraday, and “Set & Forget” traders.
FS-LCThis strategy is my interpretation of the LC (Lorentzian Classification) strategy.
Consider this a BETA version of the strategy (even though it is on revision 212) with around 43 hours put into it.
What is missing is optimization through backtesting, to find optimal settings. Reccomended that you do this within a SIM account and with 1c micros (MES).
There is a "news event block" function, but it doesn't show up on the chart...so if you are running this in SIM feedback would be appreciated if it does try to trade during the news you have enabled to be blocked (high, medium, or low). If you are NOT running in SIM then I would be careful to turn it off before major news events (that's a good practice anyways).
Please note that (for now) this strategy is invite only and provided to members of the GOAT Automation Bundle, link here:
whop.com
Or what is needed to automate your trades using GAP (Goat Auto Pilot) here:
whop.com
(detail about how to subscribe are included there)
I am not an administrator of that system, but am myself a subscriber, and am providing this and soon other strategies as a way to contribute to the group.
Disclaimers:
- Trading has risks, be sure to educate yourself as to the risks of trading.
- The default settings are just a starting point and are not meant to be the "best", since settings will naturally be necessitated over time. It is up to the individual trader to do their own backtesting and optimizing of parameters.
- No returns are guaranteed, it is up to the individual trader to use their own judgement to decide to enable this strategy and what settings they will use.
Feedback:
Feel free to reach out to the publisher of this strategy with suggestions through the group's Discord channel, subscribing member areas. There is no guarantee that any suggestions will be implemented, but they will be considered.
SmoothFlow MA [Atiloan]SmoothFlow MA
Precision Trend Zones & Retest Confirmation Engine
🧠 Overview
SmoothFlow MA by Atiloan is a professional-grade trend structure and confirmation tool that blends adaptive momentum tracking with automatic zone plotting to support high-confidence trade decisions. Built on a refined dual moving average architecture, this indicator is designed to detect subtle trend shifts, define dynamic support/resistance areas, and validate trend continuation through clean retests.
By combining the speed of a short-term EMA with the stability of a longer-term filter, SmoothFlow MA creates a fluid, color-coded environment that helps traders interpret the market’s directional bias at a glance. When momentum shifts, the system highlights critical breakout zones and monitors price interaction to confirm clean, actionable continuation signals.
🔍 Core Features
Dual SmoothFlow Moving Averages: Captures momentum while filtering noise for clean trend signals
Color-Coded Trend Zones: Automatically shifts between bullish, bearish, and neutral conditions
Breakout Zone Generation: Plots dynamic support/resistance boxes on each trend crossover
Retest Confirmation System: Detects clean tests of breakout zones and marks them with triangle confirmations
Multiple Alerts: Trigger alerts on crossover, confirmed retests, and continuation conditions
Timeframe & Asset Independent: Designed for use across all markets and timeframes
Customizable Settings: Adjust SmoothFlow lengths to match scalping, intraday, or swing styles
🎯 Trading Workflow
Trend Shift: A crossover between the fast and slow SmoothFlow MAs triggers a directional change
Zone Plotting: A breakout zone is automatically drawn — green (bullish support) or red (bearish resistance)
Retest Monitoring: Price is observed as it approaches the zone. A clean bounce confirms the level and plots a triangle
Entry Signal: A confirmed retest can be used as a structured, low-risk entry point in the direction of the trend
Bar color helps reinforce visual context:
Green candles: Price above both MAs = bullish trend
Red candles: Price below both MAs = bearish trend
Gray candles: Indecisive/neutral structure
Use Case Examples
Scalping: Use short SmoothFlow settings (e.g. 8/21) on 1–5 min charts
Swing Trading: Use longer lengths (e.g. 20/50) on 4H or Daily
Multi-timeframe: Combine with higher-timeframe SmoothFlow zones for confirmation
Breakout Trading: Combine crossover + confirmed retest for high-confidence entries
⚡ Alerts & Automation
Enable built-in alerts for:
Trend crossovers
Zone retest confirmations
Continuation setups
Ideal for discretionary traders as well as semi-automated workflows.
🛠 Developed by Atiloan
SmoothFlow MA is part of Atiloan’s advanced indicator suite, combining visual simplicity with deep technical logic to help modern traders navigate complex market conditions with clarity and confidence.
Heikin Ashi Smoothed StrategyThis TradingView Pine Script strategy is designed to enhance traditional Heikin Ashi candlestick visuals by applying smoothing techniques to the standard OHLC values. At its core, the script calculates moving averages for the open, high, low, and close prices using a selectable moving average method—options include SMA, EMA, WMA, Hull, and TEMA. A custom function is provided to compute TEMA, ensuring a smoother representation of price data. These smoothed values are then used to derive modified Heikin Ashi candle values, with the strategy offering a choice between two formulas (Valcu and Vervoort) for calculating the HA close.
In addition to generating the smoothed Heikin Ashi candles, the strategy incorporates multiple overlay indicators to capture different trend perspectives based on the HA close. The script plots a moving average, a linear regression line, and a TEMA line directly on the chart for enhanced trend analysis. These trendlines are derived by reapplying smoothing techniques to the HA close, giving traders a multi-faceted view of market behavior. The customizable inputs allow users to toggle the visibility of these elements and adjust their parameters (such as period lengths and specific MA types), thereby tailoring the visual and analytical output to their individual trading preferences.
The trading logic of the strategy hinges on the crossover dynamics between the HA close’s linear regression and its moving average. A buy signal is generated when the linear regression crosses above the moving average, suggesting that the smoothed HA price is gaining upward momentum. Conversely, a sell signal is triggered when the linear regression crosses below the moving average, indicating a potential downturn. By combining smoothed price visualization with these robust trend indicators, the strategy aims to reduce noise and provide clearer entry and exit signals, catering especially to traders who rely on technical analysis for making informed decisions.
Important Notice:
The use of technical indicators like this one does not guarantee profitable results. This indicator should not be used as a standalone analysis tool. It is essential to combine it with other forms of analysis, such as fundamental analysis, risk management strategies, and awareness of current market conditions. Always conduct thorough research.
Note: The effectiveness of any technical indicator can vary based on market conditions and individual trading styles. It's crucial to test indicators thoroughly using historical data before applying them in live trading scenarios.
Disclaimer:
Trading financial instruments involves substantial risk and may not be suitable for all investors. Past performance is not indicative of future results. This indicator is provided for informational and educational purposes only and should not be considered investment advice. Always conduct your own research before making any trading decisions.
Multi-Oscillator Adaptive KernelMulti-Oscillator Adaptive Kernel
Introduction
The Multi-Oscillator Adaptive Kernel (MOAK) is a powerful momentum-based indicator that fuses multiple popular oscillators RSI, Stochastic, MFI, and CCI into a single, adaptive tool. Through advanced kernel smoothing techniques, MOAK is engineered to filter out market noise and deliver clearer, more consistent trend signals. Whether in trending or ranging markets, MOAK equips traders with a holistic perspective on momentum across multiple timeframes.
Key Features
Oscillator Fusion: Combines normalized values from RSI, Stochastic, Money Flow Index, and Commodity Channel Index to capture broader momentum shifts.
Advanced Kernel Smoothing: Utilizes three kernel smoothing algorithms—Exponential, Linear, and Gaussian—to refine raw oscillator data and minimize false signals.
Customizable Sensitivity: Traders can tailor the indicator's responsiveness by adjusting lookback periods, kernel lengths, and smoothing sensitivity.
Clear Visual Signals: Features a color-coded signal line—cyan for bullish, magenta for bearish—with gradient fills to reflect trend intensity and direction.
Overbought/Oversold Zones: A central zero line helps identify momentum extremes, with layered gradients to indicate the strength of potential reversals or continuations.
Adaptive Signal Design: Dynamically adjusts its output to align with changing market conditions, offering reliable performance across diverse market environments.
How It Works
MOAK starts by calculating and normalizing input from four widely used momentum oscillators: Relative Strength Index (RSI), Stochastic Oscillator, Money Flow Index (MFI), and Commodity Channel Index (CCI). These values are then aggregated to form a composite momentum reading.
To reduce market noise and enhance signal clarity, the composite reading is passed through one of three user-selectable kernel smoothing filters—Exponential, Linear, or Gaussian. These algorithms shape the data curve, softening abrupt fluctuations while preserving meaningful trends.
The resulting smoothed output is rendered visually as a central signal line, colored cyan for upward momentum and magenta for downward momentum. A series of gradient fills around this line illustrates the intensity of the underlying momentum, with the zero line acting as a visual boundary between overbought and oversold regions. Users can customize key parameters such as lookback window, kernel length, and sensitivity level, ensuring the indicator can be optimized for different assets and trading styles.
Examples
MOAK is able to provide clear trend detection on large cap token such as Bitcoin in the example shown below and resistant to noise during consolidation period.
Downside positions are also handled by the indicator, this time on Solana which is more volatile than Bitcoin but even with more volatility MOAK was able to catch an early entry in the downside move.
Below an example on a lower timeframe with a low cap token Fartcoin where MOAK triggered an early entry on a positive uptrend.
Conclusion
MOAK is a sophisticated yet intuitive momentum indicator, merging the strengths of multiple oscillators into a cohesive and adaptive signal. Its kernel-based smoothing and customizable parameters make it a valuable tool for traders seeking to identify trend direction, assess momentum strength, and filter out short-term noise with precision. Ideal for both trend-following and range-trading strategies, MOAK offers a versatile edge in dynamic market conditions.
Disclaimer
This indicator is provided for informational and educational purposes only. It does not constitute financial advice, nor does it guarantee specific results. Always perform your own analysis and consult a licensed financial advisor before making any trading decisions. Use at your own risk.
Master RS Dashboard: 15M, 1D, 1WThis indicator gives you a complete picture of Relative Strength (RS) across three critical timeframes — 15-minute, Daily, and Weekly — to help confirm high-conviction entries, spot trend alignment, and build context around trade setups.
It calculates RS by comparing your current symbol to a benchmark (default: SPY), adjusted for volatility using ATR. The dashboard displays:
• RS values per timeframe
• Trend arrows (↑, ↓, →)
• Bullish / Bearish / Neutral signals
• A total alignment score (e.g. 3/3 Bullish)
• Optional background shading when all 3 are aligned
✅ Use this tool to:
• Filter your watchlist for multi-timeframe RS alignment
• Confirm breakout or momentum trades with strong backing
• Avoid trades when RS is mixed or conflicting
Works great for stocks, ETFs, and even futures. Ideal for swing traders, intraday traders, and trend followers who want a full-perspective view.
Vanguard Sniper Entry Tool v2 - ADVANCED🟢 Vanguard Sniper Entry Tool (2025 Edition)
Built for high-conviction swing and intraday traders, this advanced sniper script is engineered to detect precise entry points based on trend, zone structure, and candle confirmation. Developed using Pine Script v6, it's optimized for today's high-volatility macro landscape — including 2025's aggressive market behavior.
🔍 What It Does
Trend-Based Entry Filtering: Confirms market direction on higher timeframes (4H by default).
Candle Confirmation Logic: Customizable to Engulfing, Pin Bar, or Doji candles for sniper-level accuracy.
Sniper Zones: Automatically maps potential support/resistance zones based on recent price structure.
Signal Alerts: Visual & alert-based sniper signals when all conditions align for a high-RR entry.
Overlay-Ready: Designed to sit cleanly on price action for fast execution.
⚙️ Key Inputs
Confirmation Candle Type (Engulfing / Pin Bar / Doji)
Trend Timeframe (Default 4H)
Show Zones: Toggle sniper zones on/off
Enable Alerts: Real-time alerts when sniper setups confirm
📈 Best Used For:
Swing trading sniper entries
Trend continuation setups
Conservative confirmations before entry
Trade planning at support/resistance
⚠️ Risk Notice:
This tool is not financial advice. Always use proper risk management and confirm signals with your full system.