BullTrading 15 Min Daily Retracement Channel V2.0Hi Traders, I have been received tons of private messages asking me access to my previous scripts. Please let me apologize for not being able to answer all messages. Once you publish a script in Tradingview you can manage individual access to the script but there is no option to open the script after being published.
For that reason I decided to open this script for you, this indicator implements many of the best features contained in previous "invite only scripts". It is designed to display alerts for day trading and short term swings using the 15m Timeframe.
How to use "BullTrading 15 Min Daily Retracement Channel V2.0" indicator?
This indicator is experimental but works if the trader applies good judgment and risk management. Neither myself or BullTrading Asset Management is or will be responsible for any live trading loss using this script, so please use it on Demo.
ALWAYS USE PENDING ORDERS!! It is always much better to wait price using your Fibonacci Retracement tool or the indicator reference lines.
Set Buy signals AT THE CLOSE of yellow candlesticks.
Set Sell signals AT THE CLOSE of fuchsia candlesticks.
Most of the time Buy/Sell signals will react with too much anticipation so you can wait for the price to form enough fractals in order to analyze your entry levels, risk management, SL's and TP's.
AVOID AT ALL COSTS to enter the market immediately after a signal. WAIT for fractal formations to confirm reversals. I will say it AGAIN: Use only pending orders and AVOID market execution orders!
If your order is already filled and the moving average changes color or the price consolidates in your entry level it is better to trail tight your SL, exit the trade with small loss or Break Even instead of waiting for a full Stop Loss exit (this conditions usually indicate trend continuations against the indicator signals).
If the market goes against the signal, THINK and use the indicator lines and channels to match a level using your Fib retracement tool. Applying this criteria will lead for better entry levels in the opposite direction.
Feel free to comment suggestions.
Best Regards
GustavoRubi
Pesquisar nos scripts por "the script"
AG Pro Dynamic Channels PremiumAG Pro Dynamic Channels Premium
The Gold Standard in Automated Market Structure.
AG Pro Dynamic Channels Premium is the culmination of advanced algorithmic development, designed specifically for professional traders who refuse to compromise on chart clarity.
While standard indicators flood your screen with noise, this Premium edition employs a proprietary "Smart Filtering Engine" to identify, validate, and project only the most statistically significant support and resistance channels. It transforms chaos into a clear, actionable roadmap.
🏆 Why Go Premium?
This is not just an update; it is a complete overhaul of the trend detection logic.
1. 🧠 Smart Quality Control (Exclusive) The core difference in the Premium version is its ability to "think" before it draws.
Volatility Filtering: The script analyzes the slope of every potential trend. It automatically rejects unsustainable "pump/dump" moves and flat ranges, keeping only tradeable structures.
Wick Exclusion Logic: An advanced algorithm that ignores extreme volatility spikes (wicks), drawing channels based on candle body consolidation for higher precision.
2. 🏷️ Intelligent Labeling System Instant situational awareness. Every channel is auto-labeled (e.g., Mj Ext Up), so you know exactly which market phase (Major or Minor, Internal or External) you are trading in without guessing.
3. ⚡ Zero-Lag Optimization The code has been refactored for maximum efficiency, ensuring faster load times and smoother performance even on lower timeframes.
💎 Key Features
Dual-Layer Architecture: Simultaneously tracks Major Trends (for bias) and Minor Trends (for entries).
Dynamic Support & Resistance: The dotted midline acts as a high-probability reversal zone.
Institutional Grade Alerts: Fully customizable alerts for Breakouts and Reactions, complete with metadata for automated trading systems.
Auto-Tuning: Default settings are optimized for a balance of sensitivity and reliability, but fully customizable for specific assets (Crypto, Forex, Indices).
⚙️ Methodology (How It Works)
To comply with TradingView House Rules, here is the technical logic behind the script:
Pivot Detection: The script scans price action using a highly sensitive lookback period to find raw Pivot Highs and Lows.
Structure Mapping: It processes these points to define the Market Structure (HH, LL, LH, HL).
Validation Layer: Before rendering, the Smart Filter calculates the channel's duration and slope coefficient. If the channel is too short or too steep (violating the user-defined Max Slope threshold), it is discarded as "Market Noise."
Projection: Validated channels are drawn with dynamic extensions and fill zones.
🔒 How to Get Access
This is an Invite-Only script. Access is restricted to authorized users.
To Request Access: Please send me a private message on TradingView or check the links in my profile signature for more information.
Existing Members: If you have active access, the script will load automatically.
Disclaimer: Technical analysis tools are for educational purposes. Past performance does not guarantee future results.
Developed by Ali Gurtuna (AG Pro Series).
Troop ToolkitGENERAL OVERVIEW:
The Troop Toolkit indicator by Flux Charts is an all-in-one toolkit to identify Multi-Timeframe First Fair Value Gaps, Multi-Timeframe Inversion First Fair Value Gap, Fair Value Gaps, Buyside & Sellside Liquidity Levels, SMT Divergences, EQ Ranges, Efficient Candle Ranges, and Volume Imbalances. This indicator was developed by Flux Charts, utilizing concepts taught and traded by Andrew Macre.
ATTRIBUTION NOTICE:
This indicator incorporates concepts and source code from the indicator “Efficient Candle Range (ECR)” authored by @Joeyheick on TradingView. We have received full written permission from the original author to use and commercialize this code within this invite-only script.
Original script: Efficient Candle Range (ECR):
TROOP TOOLKIT FEATURES:
The Troop Toolkit indicator includes 8 main features:
Multi-Timeframe First Fair Value Gaps (FFVG)
Multi-Timeframe Inverse First Fair Value Gaps (IFFVGs)
Fair Value Gaps (FVG)
Buyside & Sellside Liquidity Levels
SMT Divergences
EQ Ranges (EQR)
Efficient Candle Ranges (ECR)
Volume Imbalances (VI)
Multi-Timeframe First Fair Value Gaps (FFVG):
The first feature of this indicator is Multi-Timeframe First Fair Value Gaps (FFVG). These are the first Fair Value Gaps (FVG) that form after a swing high or low is created.
🔹What is a Fair Value Gap?:
To properly understand First Fair Value Gaps (FFVGs), you must understand what a Fair Value Gap (FVG) is. A FVG is an area where the market’s perception of fair value suddenly changes. On your chart, it appears as a three-candle pattern: a large candle in the middle, with smaller candles on each side that don’t fully overlap it. A bullish FVG forms when a bullish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all. A bearish FVG forms when a bearish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all.
Examples of Bullish & Bearish FVGs:
🔹Why are Fair Value Gaps important?:
Fair Value Gaps show where price moved so quickly that one side of the market never got a chance to trade. They represent sudden shifts in what traders believe something is worth, where “fair value” changed. When a large candle drives straight through an area without overlap from the candles before and after it, it means buyers or sellers were so aggressive that the market skipped that price zone entirely.
These gaps matter because they mark the moment when confidence in price changes. If price rallies and never pulls back, it signals that traders accept the new higher prices as fair and are willing to keep buying there. The same logic applies in reverse for bearish gaps. They tell you where the market re-priced aggressively and where value was last accepted.
🔹What is a First Fair Value Gap?:
A First Fair Value Gap is the very first fair value gap that forms immediately after a new swing high or swing low. It marks the first sign of imbalance following a key turning point in price.
When a major swing low forms, the first bullish FVG that appears afterward shows where buyers first stepped in with enough strength to shift momentum upward. When a swing high forms, the first bearish FVG that appears afterward shows where sellers first regained control.
Because it’s tied directly to a confirmed swing point, an FFVG carries more weight than a regular FVG that forms randomly in the middle of a large move. It identifies where a new phase of price delivery begins, which is the first sign that the market is repricing after completing a prior leg.
🔹How are First Fair Value Gaps Detected?:
The indicator identifies First Fair Value Gaps (FFVGs) by starting with a swing high or swing low, which is detected using the 5-minute timeframe.
A swing high is formed when a candle’s high is higher than the two candles before and after it.
A swing low is formed when a candle’s low is lower than the two candles before and after it.
Each time a new swing high or low is confirmed, the indicator marks that area as a “pivot.” From that moment, the script begins looking for the first valid Fair Value Gap that forms after that swing.
To identify a First Fair Value Gap (FFVG), you should first identify a swing high and swing low. These are the most recent highest and lowest areas price reached. A bullish FFVG is the first bullish FVG that forms after a swing low. A bearish FFVG is the first bearish FVG that forms after a swing high.
This indicator automatically detects bullish and bearish FFVGs across the 1-minute, 2-minute, 3-minute, 4-minute, and 5-minute timeframes simultaneously. You will only be able to view FFVGs from timeframes that are equal to or less than your chart’s timeframe. For example, if you are using a 3-minute chart, you’ll only be able to view 1-minute, 2-minute, and 3-minute FFVGs, but not 4-minute or 5-minute FFVGs.
In the indicator settings, under the “FFVGs” section, you can toggle on/off which timeframes are used for FFVG detections. The following settings correspond to the following timeframes:
1 → 1-minute timeframe
2 → 2-minute timeframe
3 → 3-minute timeframe
4 → 4-minute timeframe
5 → 5-minute timeframe
In this screenshot, the chart timeframe is set to the 5-minute, and all the FFVG timeframes are enabled in the settings. Thus, 1-minute, 2-minute, 3-minute, 4-minute, and 5-minute FFVGs will be displayed on the chart.
The ‘Sweep Proximity’ setting determines how soon after a swing high/low the indicator will show the First Fair Value Gap. After a high/low forms, the indicator looks for the very first gap that forms and shows it, but only if it appears within the number of bars you choose. This distance is measured using your current chart timeframe. For example, on a 1-minute chart, a value of 6 means the FFVG must form within 6 bars (6 minutes) after the high/low is detected. Smaller values show only the most immediate FFVGs after a high/low forms. Larger values allow FFVGs to be detected farther away from the high/low, which may display more zones but can increase chart clutter. The default value is 6.
Users can also customize how FFVG zones appear. The settings let you change the color and transparency of bullish and bearish FFVGs, turn the midline on or off, and enable or disable FFVG labels. When labels are enabled, they show the timeframe the FFVG came from, making it easy to identify whether it was detected on the 1m, 2m, 3m, 4m, or 5m chart.
Multi-Timeframe Inversion First Fair Value Gaps (IFFVG):
The second feature of this indicator is Multi-Timeframe Inversion First Fair Value Gaps (IFFVG). These form when a FFVG is invalidated by a candle close on the 5-minute timeframe.
Bullish IFFVG: A bullish IFFVG forms when a 5-minute candle closes above a bearish FFVG, invalidating it.
Bearish IFFVG: A bearish IFFVG forms when a 5-minute candle closes below a bearish FFVG, invalidating it.
The IFFVGs will be displayed from all the timeframes that are enabled for FFVGs. For example, if only the 1-minute, 2-minute, and 3-minute FFVGs are enabled, then only IFFVGs from the 1-minute, 2-minute, and 3-minute timeframes will be displayed.
Users can also customize how IFFVG zones appear. The settings allow you to change the color and transparency of bullish and bearish IFFVGs, adjust the color of IFFVG borders, the thickness of the borders, turn the midline on or off, and enable or disable IFFVG labels. When labels are enabled, they show the timeframe the IFFVG came from, making it easy to identify whether it was detected on the 1m, 2m, 3m, 4m, or 5m chart.
Fair Value Gaps (FVG):
The indicator automatically detects regular bullish and bearish Fair Value Gaps (FVG). However, the indicator only plots FVGs that are NOT First Fair Value Gaps. This prevents FVGs and FFVGs from overlapping each other. There is no style customization for Fair Value Gaps. Users can only toggle them on or off through the indicator settings.
Liquidity Levels:
The indicator automatically plots Buyside & Sellside liquidity levels using user-specific session highs/lows and swing highs/lows.
Sessions used and their time periods (in EST):
Asia Session (20:00 - 00:00)
London Session (02:00 - 05:00)
NY AM Session (09:30 - 11:00)
NY PM Session (14:00 - 16:00)
All highs/lows that have not been ‘swept’, meaning price never crosses above (for highs) or below (for lows), will remain plotted on the chart. After a level is swept, it will become gray.
Swing Highs/Lows are plotted using the color selected from the ‘Colors’ setting under the ‘Liquidity Levels’ section. These levels are plotted with the following labels “ SSL” for lows and “ BSL” for highs. For example, “5M SSL” would be a 5-minute low.
The Asia Session Highs/Lows are plotted yellow with the following labels “Asia Low” & “Asia High”
The London Session Highs/Lows are plotted green with the following labels “London Low” & “London High”
The NY AM Session Highs/Lows are plotted orange with the following labels “NY AM Low” & “NY AM High”
The NY PM Session Highs/Lows are plotted blue with the following labels “NY PM Low” & “NY PM High”
Users can toggle these levels on/off, toggle session highs/lows on/off, toggle text labels on/off, and customize the colors used for swing highs/lows.
SMT Divergence:
This indicator automatically highlights SMT Divergences that occur between the current selected chart ticker and a second user-selected ticker.
A SMT Divergence forms when the prices of the currently selected chart ticker and the user-selected ticker don’t follow each other. For example, if the current chart’s ticker symbol is SEED_ALEXDRAYM_SHORTINTEREST2:NQ and the user-selected ticker is $ES. If SEED_ALEXDRAYM_SHORTINTEREST2:NQ does not sweep the low of the NY AM Session, but NYSE:ES sweeps that same exact session’s low during the same candle, then a SMT Divergence is detected.
In the images below, SEED_ALEXDRAYM_SHORTINTEREST2:NQ and NYSE:ES form a low at 10:45 AM on August 27th. At 11:30 AM, the 10:45 AM low is taken out on $NQ. However, on NYSE:ES , price failed to take out this exact low at 11:30 AM. Thus, an SMT Divergence is detected, and a bubble is plotted on the SEED_ALEXDRAYM_SHORTINTEREST2:NQ chart.
NYSE:ES Chart:
SEED_ALEXDRAYM_SHORTINTEREST2:NQ Chart:
When hovering over the SMT Divergence bubble, a textbox will appear which includes more information about the current SMT Divergence. These text boxes can include one of the following messages:
$TICKER failed high/low
$TICKER took high/low
$TICKER failed high/low
$TICKER took high/low
“$TICKER failed high/low” and “$TICKER failed high/low”: This textbox message occurs when the chart’s symbol creates a new high/low after a high/low formed, but the user-selected ticker fails to create a new higher high or lower low (similar to the SEED_ALEXDRAYM_SHORTINTEREST2:NQ and NYSE:ES example images above).
“$TICKER took high/low” and “$TICKER took high/low”: This textbox image occurs when the user-selected ticker creates a new higher high / lower low after a high/low formed, but the chart’s ticker fails to create a new higher high or lower low.
The indicator uses the levels described above in the ‘Liquidity Levels’ section to detect SMT Divergences. This includes all the session highs/lows and swing highs/lows.
Users can toggle on/off SMT Divergences through the settings. They can also change the ticker used for detections. Since SMT Divergences occur by comparing two tickers, the inputted ticker within the settings will always be compared to the current selected ticker on your chart.
Users can also adjust the colors used for SMT Divergence bubbles at highs and lows. By default, green bubbles appear when an SMT Divergence occurs from a low, and red bubbles appear when an SMT Divergence occurs from a high.
EQ Range:
The EQ Range shows you where price is finding fair value during the New York session. It does this by comparing two VWAP levels: one influenced by global trading and one driven by New York session volume. When both are available, it plots a live zone between them.
This zone updates every bar and extends to the right, so you can see where price may consolidate, stall, or snap back toward during the New York session. The EQ Range only appears during the New York session.
Within the indicator settings, users can toggle the EQ Range zone on/off.
Efficient Candle Range:
Efficient Candle Ranges (ECR) mark areas where the market is moving smoothly without one side (buyers or sellers) moving price aggressively. An “efficient candle” is simply a candle where the body is small compared to the whole candle and the wicks are fairly similar in size. That means buyers and sellers both participated, and price wasn’t pushed too far in either direction.
When one of these candles forms, the indicator creates a zone using its high and low. If more efficient candles appear in a row, the zone can widen to include any new highs or lows they create. The box continues to extend forward as long as price stays inside it.
If price closes outside the top or bottom of the box, the zone is no longer active and visually fades out. While active, it shows where the market is moving in a controlled way, which typically leads to pauses, retests, or a strong move once price breaks out of the range.
Within the indicator settings, users can customize the active ECR zone color, inactive ECR zone colors, and the text color for ECR labels. ECRs can be toggled on/off as well.
Volume Imbalance:
A Volume Imbalance forms when one candle does not properly overlap the trading range of the previous candle. For example, if a bullish candle opens above the previous candle’s close and price did not trade back down into that gap, there was no two-way trade in that price region. That means sellers never had a chance to transact there. The same applies in reverse for bearish moves. When that happens, there is a “missing volume” zone between the two candles because one side of the auction was skipped.
When the indicator detects that kind of gap, where the open and close relationship between two candles leaves untraded space, it marks that area with a box labeled “VI.” A bullish volume imbalance means buyers pushed through a level without sellers trading back into it. A bearish volume imbalance means sellers drove price lower without buyers filling in behind them.
Once price has fully filled the gap, meaning it traded back between the area that was skipped, the gap is deemed as inactive and removed from the chart.
In the settings, users can toggle on/off Volume Imbalances and also adjust the colors for Bullish VIs and Bearish VIs.
Important Notes:
TradingView has limitations when running features on multiple timeframes, such as FFVGs and IFFVGs, which can result in the following restriction:
Computation Error:
The computation of using MTF features is very intensive on TradingView. This can sometimes cause calculation timeouts. When this occurs, simply force the recalculation by modifying one indicator’s settings or by removing the indicator and adding it to your chart again.
UNIQUENESS:
The Troop Toolkit indicator solves a major workflow problem that has never been automated before on TradingView. The most important piece: automatic detection of First Fair Value Gaps (FFVGs) and their proper conversion into Inversion First Fair Value Gaps (IFFVGs). These two concepts require strict rules, swing validation, multi-timeframe comparison, and invalidation logic that traders can currently only do manually. There is no other indicator on TradingView that handles FFVG + IFFVG logic correctly across multiple intraday timeframes at once. Before this tool was created, traders had to manually scan five different timeframes every day and track every first fair value gap that formed after a significant high/low was formed. This took hours each week and was prone to inconsistencies. Troop Toolkit automates the entire process with clear validation rules, making this the first indicator to fully operationalize FFVG + IFFVG workflow.
Tristan's Devil Mark (Short / Long, with W%R)The Devil’s Mark indicator is a visual tool designed to help traders identify potential short and long opportunities based on candle structure and market momentum. It combines price action analysis with the Williams %R (W%R) oscillator to highlight candles with high potential for reversal or continuation.
Can be used on any timeline, from scalping day trades to swing trades on daily and higher timelines. Know that the higher the timeline the less likely the indicator will show. (Asia and London sessions tend to show many indicators. I find this more useful for NY session.)
How the script works
Candle Structure Conditions
Short (Sell) Wedge: Plotted above green candles that have no bottom wick, indicating that inside that candle there was strong upward momentum without downside hesitation .
Long (Buy) Wedge: Plotted below red candles that have no top wick, indicating that inside that candle there was strong downward momentum without upside hesitation .
These candles are visually emphasized as wedges to mark potential turning points.
Williams %R Filter
The indicator uses Williams %R to measure overbought and oversold conditions:
Proximity to 0 (nearZeroThresh): Determines how close W%R must be to 0 (overbought) to trigger a Sell Wedge. This acts as a “Sell sensitivity” filter.
Proximity to -100 (nearHundredThresh): Determines how close W%R must be to -100 (oversold) to trigger a Buy Wedge. This acts as a “Buy sensitivity” filter.
When the candle meets both the candle structure and the W%R condition, the wedge is plotted in purple (“Within W%R Range”).
When the "ignore W%R filter" toggle is on, all eligible candles are plotted regardless of W%R. Wedges that normally would not meet W%R criteria are plotted in light purple (“Outside W%R Range”) to distinguish them. #YOLO (🚫 I recommend leaving "Ignore W%R Filter" OFF)
Settings Explained
Williams %R Length: The number of bars used to calculate the W%R oscillator. Shorter lengths make it more sensitive; longer lengths smooth the readings.
Proximity to 0 / 100: Controls how “strict” the indicator is in requiring overbought or oversold W%R conditions to trigger. Lower values mean closer to extreme zones, higher values are more permissive.
Ignore W%R Toggle: Option to show Devil’s Marks on every eligible candle regardless of W%R. Useful for visualizing purely price-action-based signals.
What the trader sees
Purple wedges: Candles meeting both candle structure and W%R conditions.
Light purple wedges: Candles meeting candle structure but ignored W%R (when toggle is on). #YOLO (🚫 I recommend leaving "Ignore W%R Filter" OFF)
Short opportunities are wedges above bars (green candles with no bottom wick).
Long opportunities are wedges below bars (red candles with no top wick).
Trading Insight
The Devil’s Mark is a momentum and reversal alert tool:
Look for purple downward-pointing wedges when W%R is near overbought. This is a potential shorting opportunity. Buying at the close of that candle may improve your short trades.
Look for purple upward-pointing wedges when W%R is near oversold. This is a potential
long opportunity. Buying at the close of that candle may improve your long trades.
Light purple wedges show the same price-action cues without W%R confirmation—useful for aggressive traders who want every potential setup. #YOLO #YMMV #noFullPort
Settings / Security
The “Output values” checkbox appears for each plotted series (like a plot or plotshape) and controls whether the series will also be exposed numerically in the Data Window or used by other indicators/scripts.
Here’s what it means in practice:
1. Checked (true)
The series values (like candle high, low, or any computed value) are exported to the Data Window and can be read by other scripts using request.security() or ta functions.
Example: You can see the exact numerical value of each plotted point in the Data Window when you hover over the chart.
Useful if you want to backtest or reference these plotted values programmatically.
2. Unchecked (false)
The series is plotted visually only.
The numeric values are hidden from the Data Window and cannot be accessed by other scripts.
Makes the chart cleaner if you don’t need the numeric outputs.
Bollinger Band Screener [Pineify]Multi-Symbol Bollinger Band Screener Pineify – Advanced Multi-Timeframe Market Analysis
Unlock the power of rapid, multi-asset scanning with this original TradingView Pine Script. Expose trends, volatility, and reversals across your favorite tickers—all in a single, customizable dashboard.
Key Features
Screens up to 8 symbols simultaneously with individual controls.
Covers 4 distinct timeframes per symbol for robust, multi-timeframe analysis.
Integrates advanced Bollinger Band logic, adaptable with 11+ moving average types (SMA, EMA, RMA, HMA, WMA, VWMA, TMA, VAR, WWMA, ZLEMA, and TSF).
Visualizes precise state changes: Open/Parallel Uptrends & Downtrends, Consolidation, Breakouts, and more.
Highly interactive table view for instant signal interpretation and actionable alerts.
Flexible to any market: crypto, stocks, forex, indices, and commodities.
How It Works
For each chosen symbol and timeframe, the script calculates Bollinger Bands using your specified source, length, standard deviation, and moving average method.
Real-time state recognition assigns one of several states (Open Rising, Open Falling, Parallel Rising, Parallel Falling), painting the table with unique color codes.
State detection is rigorously defined: e.g., “Open Rising” is set when both bands and the basis rise, indicating strong up momentum.
All bands, signals, and strategies dynamically update as new bars print or user inputs change.
Trading Ideas and Insights
Identify volatility expansions and compressions instantly, spotting breakouts and breakdowns before they play out.
Spot multi-timeframe confluences—when trends align across several TFs, conviction increases for potential trades.
Trade reversals or continuations based on unique Bollinger Band patterns, such as squeeze-break or persistent parallel moves.
Harness this tool for scalping, swing trading, or systematic portfolio screens—your logic, your edge!
How Multiple Indicators Work Together
This screener’s core strength is its integration of multiple moving average types into Bollinger Band construction, not just standard SMA. Each average adapts the bands’ responsiveness to trend and noise, so traders can select the underlying logic that matches their market environment (e.g., HMA for fast moves or ZLEMA for smoothed lag). Overlaying 4 timeframes per symbol ensures trends, reversals, and volatility shifts never slip past your radar. When all MAs and bands synchronize across symbols and TFs, it becomes easy to separate real opportunity from market noise.
Unique Aspects
Perhaps the most flexible Bollinger Band screener for TradingView—choose from over 10 moving average methods.
Powerful multi-timeframe and multi-asset design, rare among Pine scripts.
Immediate visual clarity with color-coded table cells indicating band state—no need for guesswork or chart clutter.
Custom configuration for each asset and time slice to suit any trading style.
How to Use
Add the script to your TradingView chart.
Use the user-friendly input settings to specify up to 8 symbols and 4 timeframes each.
Customize the Bollinger Band parameters: source (price type), band length, standard deviation, and type of moving average.
Interpret the dashboard: Color codes and “state” abbreviations show you instantly which symbols and timeframes are trending, consolidating, or breaking out.
Take trades according to your strategy, using the screener as a confirmation or primary scan tool.
Customization
Fully customize: symbols, timeframes, source, band length, standard deviation multiplier, and moving average type.
Supports intricate watchlists—anything TradingView allows, this script tracks.
Adapt for cryptos, equities, forex, or derivatives by changing symbol inputs.
Conclusion
The Multi-Symbol Bollinger Band Screener “Pineify” is a comprehensive, SEO-optimized Pine Script tool to supercharge your market scanning, trend spotting, and decision-making on TradingView. Whether you trade crypto, stocks, or forex—its fast, intuitive, multi-timeframe dashboard gives you the informational edge to stay ahead of the market.
Try it now to streamline your trading workflow and see all the bands, all the trends, all the time!
Moving Average Trend ToolsI. How M.A.T.T. Adds Value to the TradingView Community:
The "Moving Average Trend Tools" (M.A.T.T.) is a versatile Pine Script v6 indicator that empowers traders with clear trend analysis, reliable trade signals, and real-time insights. Its intuitive design and robust features make it a valuable addition to the TradingView Community Scripts by catering to traders of all levels. Here’s why it stands out:
Clear Trend Visualization: M.A.T.T. plots a moving average (MA) with dynamic coloring—green for rising, red for falling, and gray for flat—based on a user-defined lookback period. This simplifies trend interpretation, helping traders quickly assess market momentum.
Reliable Trade Signals : The script identifies price crossovers above or below the MA, plotting green circles for bullish crosses and red for bearish, confirmed on closed bars to prevent repainting. These signals guide entry and exit points for trend-following or reversal strategies.
Real-Time Extension Detection : M.A.T.T. calculates percentage price deviations from the MA, displaying real-time labels when thresholds (e.g., 6%) are exceeded. This highlights overextended moves, ideal for spotting reversals or pullbacks, with alerts to keep traders informed.
Extensive Customization : Traders can tailor the MA type (SMA, EMA, WMA, HMA), length, colors, line width, and label sizes. This flexibility supports diverse strategies across markets like stocks, forex, and crypto, from scalping to swing trading.
Automated Alerts : Alert conditions for crossovers and extensions integrate seamlessly with TradingView’s system, enabling traders to stay updated without constant chart monitoring.
M.A.T.T. combines trend analysis, signal generation, and overextension detection into a single, user-friendly tool. Its accessibility, reliability, and educational value for Pine Script learners make it a compelling contribution to the community.
II. What M.A.T.T. Does, How It Works, and Its Originality:
What It Does :
M.A.T.T. enhances trend analysis and trade decision-making through three core features:
Dynamic MA Visualization: Plots a customizable MA (SMA, EMA, WMA, or HMA) with trend-based coloring to reflect rising, falling, or flat market conditions.
Price Crossover Signals : Marks bullish (green circles) and bearish (red circles) crossovers, confirmed on closed bars, with alerts for trade opportunities.
Price Extension Labels : Displays real-time percentage deviations of price from the MA, with alerts when user-defined thresholds are breached, signaling potential reversals.
How It Works :
M.A.T.T. leverages Pine Script v6 for precise calculations and user-friendly outputs:
Inputs: Users select MA type, length, lookback period, colors, and thresholds for extensions, plus label styles and sizes for customization.
MA Calculation : A switch function computes the chosen MA (e.g., ta.ema(close, 21) for EMA). Trend direction is determined using ta.rising or ta.falling over the lookback period, coloring the MA accordingly.
Crossover Logic : Bullish crossovers (close > ma and close < ma ) and bearish crossovers (close < ma and close > ma ) are plotted as circles on confirmed bars (barstate.isconfirmed) to ensure reliability. Alerts trigger only on the first bar of a crossover.
Extension Logic : Percentage deviations are calculated as ((price - ma) / ma) * 100, using the high for above-MA extensions and low for below. Labels appear in real-time when thresholds are exceeded, with alerts on transitions to avoid noise.
Why It’s Original
M.A.T.T. distinguishes itself through a unique blend of features and thoughtful design:
All-in-One Design : It integrates dynamic MA coloring, non-repainting crossover signals, and real-time extension detection, addressing trend identification, trade signals, and overextension warnings in one tool—unlike most MA indicators that focus on a single aspect.
Real-Time Extension Labels : Displaying percentage deviations with customizable thresholds is a rare feature, ideal for volatile markets and not commonly found in standard scripts.
Non-Repainting Signals : Confirmed crossover signals enhance reliability for live trading, setting M.A.T.T. apart from less rigorous indicators.
Optimized Alert Condtions : Alerts trigger only on transitions (e.g., first bar of a crossover or extension), reducing noise and improving usability.
Visual and Functional Flexibility : Support for four MA types, extensive customization, and a clean interface (dynamic colors, tiny circles, clear labels) make it adaptable and user-friendly.
While MA plotting or crossovers exist elsewhere, M.A.T.T.’s seamless integration, real-time extension detection, alert conditions, and focus on reliability and customization create a distinctive, practical tool. Its balance of simplicity and sophistication makes it a unique asset for the TradingView community.
Fibonacci Retracement MTF/LOGIn Pine Script, there’s always a shorter way to achieve a result. As far as I can see, there isn’t an indicator among the community scripts that can produce Fibonacci Retracement levels (linear and logarithmic) as multiple time frame results based on a reference 🍺 This script, which I developed a long time ago, might serve as a starting point to fill this gap.
OVERVIEW
This indicator is a short and simple script designed to display Fibonacci Retracement levels on the chart according to user preferences, aiming to build the structure of support and resistance.
ORIGINALITY
This script:
Can calculate 'retracement' results from higher time frames.
Can recall previous time frame results using its reference parameter.
Performs calculations based on both linear and logarithmic scales.
Offers optional multipliers and appearance settings to simplify users’ tasks
CONCEPTS
Fibonacci Retracement is a technical analysis tool used to predict potential reversal points in an asset's price after a significant movement. This indicator identifies possible support and resistance levels by measuring price movements between specific points in a trend, using certain ratios derived from the Fibonacci sequence. It is based on impulsive price actions.
MECHANICS
This indicator first identifies the highest and lowest prices in the time frame specified by the user. Next, it determines the priority order of the bars where these prices occurred. Finally, it defines the trend direction. Once the trend direction is determined, the "Retracement" levels are constructed.
FUNCTIONS
The script contains two functions:
f_ret(): Generates levels based on the multiplier parameter.
f_print(): Handles the visualization by drawing the levels on the chart and positioning the labels in alignment with the levels. It utilizes parameters such as ordinate, confirmation, multiplier, and color for customization
NOTES
The starting bar for the time frame entered by the user must exist on the chart. Otherwise, the trend direction cannot be determined correctly, and the levels may be drawn inaccurately. This is also mentioned in the tooltip of the TimeFrame parameter.
I hope it helps everyone. Do not forget to manage your risk. And trade as safely as possible. Best of luck!
Helacator Ai ThetaHelacator Ai Theta is a state-of-the-art advanced script. It helps the trader find the possibility of a trend reversal in the market. By finding that point at which the three black crows pattern combines with the three white soldiers pattern, it is the most cherished pattern in technical analysis for its signal of strong bullish or bearish momentum. Therefore, it is a very strong predictive tool in the ability of shifting markets.
Key Highlights: Three White Soldiers and Three Black Crows Patterns
The script identifies these candlestick formations that consist of three consecutive candles, either bullish (Three White Soldiers) or bearish (Three Black Crows). These patterns help the trader identify possible trend reversal points as they provide an early signal of a change in the market direction. It is with great care that the script is written to evaluate the position and relationship between the candlesticks for maintaining the accuracy of pattern recognition. Moving Averages for Trend Filtering:
Two important ones used are moving averages for filtering any signals not in accordance with the general trend. The length of these MAs is variable, allowing the traders to be in a position to adapt the script for use under different market conditions. The moving averages ensure that signals are only taken in the direction that supports the general market flow, so it leads to more reliability within the signals. The MAs are not plotted on the chart for the sake of clarity, but they still perform a crucial function in signal filtering and can be displayed optionally for a more detailed investigation. Cooldown filter to reduce over-trading
This is part of what is implemented in the script to prevent generation of consecutive signals too quickly. All this helps to reduce market noise and not overtrade—only when market conditions are at their best. The cooldown period can be set to be adjusted according to the trader's preference, making the script more versatile in its use. Practical Considerations: Educational Purpose: This script is for educational purposes only and should be part of a comprehensive trading approach. Proper risk management techniques should be observed while at the same time taking into consideration prevailing market conditions before making any trading decision.
No Guaranteed Results: The script is aimed at bringing signal accuracy into improvement to align with the broader market trend and reducing noise, but past performance cannot guarantee future success. Traders should use this script within their broad trading approach. Clean and Simple Chart Display: The primary goal of this script is to have a clear and simple display on the chart. The signals are prominently marked with "BUY" and "SELL," and the color of the bars has changed according to the last signal, thus traders can easily read the output. Community and Open Source Open Source Contribution: This script is open for contribution by the TradingView community. Any suggestions regarding improvements are highly welcomed. Candlestick patterns, moving averages, and the combination of the cooldown filter are presented in such a way as to give traders something special, and any modifications or extra touch by the community is appreciated. Attribution and Transparency: The script is based on standard technical analysis principles and for all parts inspired by or derivated from other available open-source scripts, credit is given where it is due. In this way, transparency ensures that the script adheres to TradingView's standards and promotes a collaborative community environment.
Correlation Analysis Tool📈 What Does It Do?
Correlation Calculation: Measures the correlation between a selected asset (Asset 1) and up to four additional assets (Asset 2, Asset 3, Asset 4, Asset 5).
User Inputs: Allows you to define the primary asset and up to four comparison assets, as well as the period for correlation calculations.
Correlation Matrix: Displays a matrix of correlation coefficients as a text label on the chart.
🔍 How It Works
Inputs: Enter the symbols for Asset 1 (main asset) and up to four other assets for comparison.
Correlation Period: Specify the period over which the correlations are calculated.
Calculations: Computes log returns for each asset and calculates the correlation coefficients.
Display: Shows a textual correlation matrix at the top of the chart with percentage values.
⚙️ Features
Customizable Assets: Input symbols for one primary asset and up to four other assets.
Flexible Period: Choose the period for correlation calculation.
Correlation Coefficients: Outputs correlation values for all asset pairs.
Textual Correlation Matrix: Provides a correlation matrix with percentage values for quick reference.
🧩 How to Use
Add the Script: Apply the script to any asset’s chart.
Set Asset Symbols: Enter the symbols for Asset 1 and up to four other assets.
Adjust Correlation Period: Define the period for which correlations are calculated.
Review Results: Check the correlation matrix displayed on the chart for insights.
🚨 Limitations
Historical Data Dependency: Correlations are based on historical data and might not reflect future market conditions.
No Visual Plots Yet: This script does not include visual plots; it only provides a textual correlation matrix.
💡 Best Ways To Use
Sector Comparison: Compare assets within the same sector or industry for trend analysis.
Diversification Analysis: Use the correlations to understand how different assets might diversify or overlap in your portfolio.
Strategic Decision Making: Utilize correlation data for making informed investment decisions and portfolio adjustments.
📜 Disclaimer
This script is for educational and informational purposes only. Please conduct your own research and consult with a financial advisor before making investment decisions. The author is not responsible for any losses or damages resulting from the use of this script.
M Farm Scalper v4"M Farm Scalper v2" Trading Indicator on TradingView
Overview
This script uses a combination of indicators to help attempt the best view of when to exit and enter markets. The author has seen that usage of multiple indicators combined provided value and create profit.
1. Improved Signal Reliability
Combining swing highs and lows with Swing Failure Patterns (SFP) increases the reliability of the signals. Each indicator contributes different insights into market behavior:
Swing Highs and Lows: These help identify key support and resistance levels.
Swing Failure Patterns: These provide early warning signs of potential trend reversals when price fails to maintain new highs or lows.
2. Comprehensive Market Analysis
Using multiple indicators allows for a more comprehensive analysis of market conditions:
Trend Analysis: Swing highs and lows can indicate the overall trend direction.
Reversal Signals: SFPs highlight potential reversal points where the current trend might be weakening.
3. Enhanced Signal Strength
The script not only detects basic SFPs but also evaluates their strength by considering the number of failures within a specified range:
Strength of SFPs: By quantifying the strength of SFPs, the script can distinguish between weak and strong reversal signals. This helps traders prioritize stronger signals, reducing false positives.
4. Visual and Alert-based Trading
The combined use of these indicators improves both visual analysis and automated alert systems:
Visual Representation: Plotting different characters for swing points and SFPs makes it easier for traders to quickly interpret the chart.
Alerts: Automated alerts for specific conditions (like swing high/low failures) enable traders to respond promptly to significant market movements without constantly monitoring the charts.
5. Flexibility and Customization
The script includes parameters that allow traders to customize the behavior of the indicators based on their trading preferences:
Customization of Lookback Period (swingHistory): Traders can adjust this to fine-tune the sensitivity of swing point detection.
Selective Plotting (plotSwings, plotFirstSFPOnly, plotStrongerSFPs): These options provide flexibility in how much information is displayed on the chart, preventing clutter and focusing on relevant signals.
6. Minimized Noise and False Signals
By using a combination of indicators, the strategy aims to filter out market noise and reduce the likelihood of false signals:
Confluence of Signals: When multiple indicators align to provide a signal, it generally indicates a higher probability setup, thus reducing the chances of acting on false or less significant market moves.
7. Contextual Market Understanding
Combining indicators offers a more contextual understanding of market dynamics:
Market Context: Identifying both support/resistance levels (via swing points) and potential trend reversals (via SFPs) provides a fuller picture of market conditions, allowing traders to make more informed decisions.
Conclusion
Combining multiple indicators in the "M Farm Scalper v2" script is a strategic choice designed to enhance the robustness, reliability, and actionable quality of the trading signals. This approach leverages the strengths of each indicator to provide a well-rounded, comprehensive trading tool that aids traders in identifying high-probability trade setups and minimizing the risk of false signals.
ChatGPT can make mistakes. Check important info.
Introducing "M Farm Scalper v2" – an advanced proprietary trading indicator designed exclusively for the TradingView platform. This tool excels in identifying key swing points and Swing Failure Patterns (SFPs), offering traders unique visual and auditory cues to enhance decision-making. It's particularly tailored for the 5-minute timeframe but adaptable to suit a variety of trading styles.
Unique Features
Advanced Swing Point Detection: Leverages a sophisticated algorithm to detect swing highs and lows, integrating predictive analytics to forecast potential market reversals.
Dynamic Swing Failure Pattern Analysis: Employs a real-time analysis combining price action and volume data to pinpoint bullish and bearish reversal opportunities with high precision.
Innovative Visual and Auditory Cues: Features unique, easy-to-understand icons such as animals and fruits to represent market signals, simplifying complex market data into actionable insights.
Functionality
"M Farm Scalper v2" is crafted to deliver:
Configurable Parameters: Users can adjust settings including Swing History, visibility of swing points, and sensitivity for detecting stronger SFPs, making it highly customizable to fit individual trading strategies.
Clear, Actionable Outputs: Designed to offer straightforward visual signals directly on the trading chart, facilitating quick and effective decision-making.
Compliance and Originality
Original Integration of Features: This script combines several analytical techniques into a cohesive unit that surpasses the capabilities of existing open-source scripts in both originality and functionality.
Justification for Closed-Source: The proprietary nature of the algorithms and the unique method of data presentation are maintained as closed-source to protect the integrity and effectiveness of the tool, providing users with a reliable competitive advantage.
Application Instructions
To apply "M Farm Scalper v2," add it from the TradingView "Indicators" menu by searching for our script. Adjust the customizable settings as per your trading requirements and observe how the indicator’s outputs make market dynamics easy to interpret and act upon.
Chart Presentation
The accompanying chart is presented cleanly, focusing solely on the outputs of "M Farm Scalper v2." Each visual cue is annotated to demonstrate its relevance, ensuring that traders can easily understand and utilize the information provided without distraction.
Conclusion
"M Farm Scalper v2" is not just an indicator but an essential trading tool for those seeking precision and efficiency in their trading operations. Its advanced features and user-friendly design make it a valuable addition to any trader’s arsenal, especially for those involved in scalping and short-term trading.
Protected script
This script is published closed-source but you may use it freely. You can favorite it to use it on a chart. You cannot view or modify its source code.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
BitBell - EMA PullBack RSI EXO
🔵 Introduction
Version 1.1
This is a Pine 5 trend following strategy. It has a four strategy with several alerts and signals. The design intent is to produce a commercial grade signal generator that can be adapted to any symbol in cryptocurrency and only 1H Chart. Ideally, the script is reliable enough to be the basis of an automated trading system web-hooked to a server with API access to crypto brokerages. The strategy can be run in three different modes: long, short and bidirectional.
As a trend following strategy, the behavior of the script is to buy on strength and sell on weakness. As such the trade orders maintain its directional bias according to price pressure. What you will see on the chart is long positions on the left side of the mountain and short on the right. Long and short positions are not intermingled as long as there exists a detectable trend. This is extremely beneficial feature in long running bull or bear markets. The script uses multiple setups to avoid the situation where you got in on the trend, took a small profit but couldn’t get back in because the logic is waiting for a pullback or some other intricate condition.
Deep draw-downs are a characteristic of trend following systems and this system is no different. However, this script makes use of the TradingView pyramid feature with three NPUs to find better place and even you can change drop percentage in settings for another trigger, accessible from the properties tab.
When trend market break it will stop the trade and usually it takes 2-4 percent loss but don't worry it has prefect money management and you can use it for Futures market and even Spot market.
🔵 Design
This script uses twelve indicators on two time frames. The chart (primary) interval and one higher time frame which is based on the primary. The higher time frame identifies the trend for which the primary will trade. I’ve tried to keep the higher time frame around five times greater than the primary. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The alligator itself is used to identify the trend main body.
The entire script is around 740 lines of Pine code which is the maximum incidental size given the TradingView limits: local scopes, run-time duration and compile time. I’ve been working on this script for over a year and have tested it on various instruments stock crypto. It performs well on higher liquidity markets that have at least a year of historical data. Though it can be configured to work on any interval between 15 minutes and 4 hour, trend trading is generally a longer term paradigm. For day trading the 10 to 15 minute interval will allow you to catch momentum breakouts. For intraweek trades 30 minutes to 1 hour should give you a trade every other a day.
Inputs to the script use cone centric measurements in effort to avoid exposing adjustments to the various internal indicators. The goal was to keep the inputs relevant to the actual trade entry and exit locations as opposed to a series of MA input values and the like. As a result the strategy exposes over 12 inputs grouped into long or short sections. Inputs are available for the usual minimum profit and stop-loss as well as trade, modes, presets, reports and lots of calibrations. The inputs are numerous, I’m aware. Unfortunately, at this time, TradingView does not offer any other method to get data in the script. The usual initialization files such as cnf, cfg, ini, json and xml files are currently unsupported.
Example configurations for various instruments along with a detailed PDF user manual is available.
it has no repaint i guaranty this, and you can have 10 days free with comment and check it by yourself
One issue that comes up when comparing the strategy with the study is that the strategy trades show on the chart one bar later than the study. This problem is due to the fact that “strategy.entry()” and “strategy_close()” do not execute on the same bar called. The study, on the other hand, has no such limitation since there are no position routines. However, alerts that are subsequently fired off when triggered in the study are dispatched from the TradingView servers one bar later from the study plot. Therefore the alert you actually receive on your cell phone matches the strategy plot but is one bar later than the study plot.
Please be aware that the data source matters. Cryptocurrency has no central tick repository so each exchange supplies TradingView its feed. Even though it is the same symbol the quality of the data and subsequently the bars that are supplied to the chart varies with the exchange. This script will absolutely produce different results on different data feeds of the same symbol. Be sure to backtest this script on the same data you intend to receive alerts for. Any example settings I share with you will always have the exchange name used to generate the test results.
🟡 Usage
It sends long and short signals with pyramid orders of up to 3, meaning that the strategy can trigger up to 3 orders in the same direction. Good risk and money management.
It's important to note that the strategy combines 2 systems working together (Long and LongX). Let’s describe the specific features of this strategy.
🔵 If Findes Supports And Ressitances And Trend Lines As Best As It Can, And You Can See:
🟢 Frist Simple Long Condition = It Look At The Trend Wait For RSI Cross 30 Number Then Ckeck Risk To Reward, check something else such as divergence:
🟢 Another Long Example:
🔴 Frist Simple Short Condition = It Look At The Trend Wait For RSI Cross 70 Number Then Ckeck Risk To Reward, check something else such as divergence:
🔴 Another Short Example:
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configs that I use for my own trading that I can share with you along with a PDF which describes each input in detail. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
The input dialog box contains over 12 inputs, There are four options must to be configured: Choose Target, side, Choose Settings, Money Management,and settings that apply to both. The following steps address these four main options only.
Money Management System For Leverage 10:
Bot Finds Last Lower Low And Calculate Distance From Entry Price, Then Cross It To Initial Capitan And Cross Leverage =>
Position_Size = (((1.64) * (initial Capital)) * (leverage))
And Check Dominances Too For Getting Best Money Management Result
🔵 Settings
* Side, You Can Set Long Or Short Or Both.
* Choose Target, You Can Set One Target Or All Targets.
* Money Management, You Can ON Or OFF It, With OFF You Can USE It For SPOT Trades.
* Choose Settings, In This Field You Can Set Mathematical Optimization, Ddepends On Which Pair You USE.
* Clear With Daily PullBack?, With This Check Box You Can Clear Signals With Daily PullBack.
* Long X, You Can Set Long Leverage.
* Short X, You Can Set Short Leverage.
* Second Order X, You Can Set Pyramiding Leverage.
* Target Long, You Can Set Percent For Long Target.
* Target Short, You Can Set Percent For Short Target.
* Short Martin Percent, You Can Set Short Martingale Percent.
* Long Martin Percent, You Can Set Long Martingale Percent.
🟡 Pyraming 3
🟡 Commission Is 0.065 %
🟡 Slippage Is 10 ticks
🔴Only Use For 1 Hour Chart
🔴 CONCLUSION
We believe that success lies in the association of the user with the indicator, opposed to many traders who have the perspective that the indicator itself can make them become profitable. The reality is much more complicated than that.
The aim is to provide an indicator comprehensive, customizable, and intuitive enough that any trader can be led to understand this truth and develop an actionable perspective of technical indicators as support tools for decision making.
🔴 RISK DISCLAIMER
Trading is risky & most day traders lose money. All content, tools, scripts, articles, & education provided by BitBell are purely for informational & educational purposes only. Past performance does not guarantee future results.
Machine Learning : Cosine Similarity & Euclidean DistanceIntroduction:
This script implements a comprehensive trading strategy that adheres to the established rules and guidelines of housing trading. It leverages advanced machine learning techniques and incorporates customised moving averages, including the Conceptive Price Moving Average (CPMA), to provide accurate signals for informed trading decisions in the housing market. Additionally, signal processing techniques such as Lorentzian, Euclidean distance, Cosine similarity, Know sure thing, Rational Quadratic, and sigmoid transformation are utilised to enhance the signal quality and improve trading accuracy.
Features:
Market Analysis: The script utilizes advanced machine learning methods such as Lorentzian, Euclidean distance, and Cosine similarity to analyse market conditions. These techniques measure the similarity and distance between data points, enabling more precise signal identification and enhancing trading decisions.
Cosine similarity:
Cosine similarity is a measure used to determine the similarity between two vectors, typically in a high-dimensional space. It calculates the cosine of the angle between the vectors, indicating the degree of similarity or dissimilarity.
In the context of trading or signal processing, cosine similarity can be employed to compare the similarity between different data points or signals. The vectors in this case represent the numerical representations of the data points or signals.
Cosine similarity ranges from -1 to 1, with 1 indicating perfect similarity, 0 indicating no similarity, and -1 indicating perfect dissimilarity. A higher cosine similarity value suggests a closer match between the vectors, implying that the signals or data points share similar characteristics.
Lorentzian Classification:
Lorentzian classification is a machine learning algorithm used for classification tasks. It is based on the Lorentzian distance metric, which measures the similarity or dissimilarity between two data points. The Lorentzian distance takes into account the shape of the data distribution and can handle outliers better than other distance metrics.
Euclidean Distance:
Euclidean distance is a distance metric widely used in mathematics and machine learning. It calculates the straight-line distance between two points in Euclidean space. In two-dimensional space, the Euclidean distance between two points (x1, y1) and (x2, y2) is calculated using the formula sqrt((x2 - x1)^2 + (y2 - y1)^2).
Dynamic Time Windows: The script incorporates a dynamic time window function that allows users to define specific time ranges for trading. It checks if the current time falls within the specified window to execute the relevant trading signals.
Custom Moving Averages: The script includes the CPMA, a powerful moving average calculation. Unlike traditional moving averages, the CPMA provides improved support and resistance levels by considering multiple price types and employing a combination of Exponential Moving Averages (EMAs) and Simple Moving Averages (SMAs). Its adaptive nature ensures responsiveness to changes in price trends.
Signal Processing Techniques: The script applies signal processing techniques such as Know sure thing, Rational Quadratic, and sigmoid transformation to enhance the quality of the generated signals. These techniques improve the accuracy and reliability of the trading signals, aiding in making well-informed trading decisions.
Trade Statistics and Metrics: The script provides comprehensive trade statistics and metrics, including total wins, losses, win rate, win-loss ratio, and early signal flips. These metrics offer valuable insights into the performance and effectiveness of the trading strategy.
Usage:
Configuring Time Windows: Users can customize the time windows by specifying the start and finish time ranges according to their trading preferences and local market conditions.
Signal Interpretation: The script generates long and short signals based on the analysis, custom moving averages, and signal processing techniques. Users should pay attention to these signals and take appropriate action, such as entering or exiting trades, depending on their trading strategies.
Trade Statistics: The script continuously tracks and updates trade statistics, providing users with a clear overview of their trading performance. These statistics help users assess the effectiveness of the strategy and make informed decisions.
Conclusion:
With its adherence to housing trading rules, advanced machine learning methods, customized moving averages like the CPMA, and signal processing techniques such as Lorentzian, Euclidean distance, Cosine similarity, Know sure thing, Rational Quadratic, and sigmoid transformation, this script offers users a powerful tool for housing market analysis and trading. By leveraging the provided signals, time windows, and trade statistics, users can enhance their trading strategies and improve their overall trading performance.
Disclaimer:
Please note that while this script incorporates established tradingview housing rules, advanced machine learning techniques, customized moving averages, and signal processing techniques, it should be used for informational purposes only. Users are advised to conduct their own analysis and exercise caution when making trading decisions. The script's performance may vary based on market conditions, user settings, and the accuracy of the machine learning methods and signal processing techniques. The trading platform and developers are not responsible for any financial losses incurred while using this script.
By publishing this script on the platform, traders can benefit from its professional presentation, clear instructions, and the utilisation of advanced machine learning techniques, customised moving averages, and signal processing techniques for enhanced trading signals and accuracy.
I extend my gratitude to TradingView, LUX ALGO, and JDEHORTY for their invaluable contributions to the trading community. Their innovative scripts, meticulous coding patterns, and insightful ideas have profoundly enriched traders' strategies, including my own.
Trend Reversal System with SR levelsHello All,
This is the Trend Reversal System with Support/Resistance levels script. long time ago I published it as closed source but now I upgraded it and and published as open-source with a different name. I hope it would be useful for you all while trading/analyzing.
The script has some parts in it: Setup, Count, SR levels, Risk levels & Targets . Now lets check them:
Setup Part: it has two part, Buy or Sell Setup. one of them can be active only. Buy setup: if current close checks if current is lower/equal than the close of the 5. bar. if yes then the script increases number of buy setup. and if it reaches 9 then the script checks if current low is lower/equal than the lows of last 3. and 4. bars, or if the low of the last bar is lower/equal than the lows of last 3. and 4. bars. if yes then the script increases the buy setup by 1. if these conditions met then it puts the label 'S' , same for Sell setup. S labels on both setup are potential reversals.
Count Part: If buy or sell setup reaches the 9 then Count part starts from 1. lets see buy count: If current close is lower/equal than the low of the 3. bar and buy count is lower than 12 or low of the bar 13 is less than or equal to the close of bar 8 then buy count increase or it's completed. if it's completed then the script puts C label, and it's potential reversal. of course there are some conditions that can cancel the count buy/sell or recycle/restart.
By using Setup and Count levels the script can show Support/Resistance Levels, Risk levels & Targets. SR levels are potential reversal levels.
Lets see some example screenshots:
Support/Resistance levels:
Potential Reversal levels and how setup/counts are shown:
Count part can recycle and the script shows it as 'R' , ( you can see the conditions for Recycle in the script ):
Count can be cancelled and and it's shown as 'x'
If the scripts find 9 on Setup or 13 on Count then it checks if it's a good level to buy/sell and if it decides it's good level then it shows TRSSetup Buy/Sell or TRSCount Buy/Sell and also shows the target. in following example the script checks and decide it's a good level to take long position. it can be aggressive or conservative, Conservative is recommended.
Enjoy!
Volume FootprintThe Volume Footprint chart is analyzing volume data from inside the candle and split them into Up and Down Volume in the same way as Volume Profile analyzes the volume data from a fragment of the chart.
The visualization is little different:
Down Volume (sells) are shown on the left side of a candle.
Up Volume (Buys) are shown on the right side of a candle.
User can pick data precision used by Volume Footprint. We recomend to use the highest possible precision.
Unfortunatelly Trading View has many limitations.
If after adding script nothing is visible with error: "'The study references too many candles in history'" you need to use lower precision - It can be changed in script settings.
This script is a part of a toolkit called "Volume Footprint", containing few tools:
Volume Footprint - Scripts drawing Volume Footprint chart.
Volume Footprint Statistics - Script showing table with basic statistics about Up and Down volume inside the candles.
Volume Delta In Candle - Chart showing history of delta (difference between Up and Down volume) changes inside the current candle.
Volume Cumulative Delta - Chart showing history of cumulative delta (sum of difference between Up and Down volume in trading period equal to chart interval).
This script can be used by any user. You do not need to have PRO or PREMIUM account to use it.
Script with limited access, contact author to get authorization
User Interface:
Script is grouping Up and Down Volume into slots based on price. Slots height is controled by "Slot height" param in settings.
On left side of a candle Down Volume is shown and on right side Up Volume is shown.
Before Down Volume may appear imbalance symbols:
⠀↓ - 3 times
⠀↡ - 5 times
⠀⇊ - 10 times
After Up Volume may appear imbalance symbols:
⠀↑ - 3 time
⠀↟ - 5 times
⠀⇈ - 10 times
Above the candle we can show some basic statistics of that candle:
"V:" - Row with volume statistics:
⠀∑ - Total volume,
⠀Δ - Difference between Up and Down Volume.
⠀min Δ - Smallest difference between Up and Down Volume in that candle
⠀max Δ - Biggest difference between Up and Down Volume in that candle
Script settings:
Slot height = 10^ - Price slot height on the chart:
⠀ 0 - 1$
⠀ 1 - 10$
⠀ 2 - 100$
⠀ 3 - 1000$
⠀-1 - 0.1$
⠀-2 - 0.01$
⠀-3 - 0.001$
Data precision - One of 6 levels of data precision: ▉▇▆▅▃▁, where ▉ means the highest precision and ▁ the lowest available precision. On 15 minute chart highest precision should be available, but on 1D it will probably hit TradingView limitations and script will not be even launched by the platform with error: "'The study references too many candles in history'". The general recommendation is to use the highest available precision for a given instrument and interval.
Precise warnings - Option to show precise warnings about missing volume in candle footprint (warning connected with one of TradingView limitations).
Draw candles - Option of drawing candles fiting to volume labels and 2 fields for picking colors of up and down candles. The general recommendation is to hide chart candles and turn on this option.
Show stats - Showing stats over the candle: ∑, Δ, min Δ, max Δ. You can use 'Volume Footprint Statistics' script instead
Font size - Used to draw all the data over the chart: T(iny), S(mall), N(ormal), L(arge)
Centered - If checked volume labels are stick to candle (centered).
Color values - Option to draw labels with use of Up or Down color, depending which value (Volume Up or Volume Down) is bigger in the price slot.
Filter - Filtering option than allow hinding labels with small values:
⠀0 - filter turned off.
⠀1-5 - filtering with transparency
⠀6-10 - Filtering with hiding values.
Show zeros - It can show zeros or leave empty places
Highlight biggest slot - Option to highlight price slot with biggest volume in the candle.
Imbalances - Showing imbalance symbols before Down or after Up Volume
Only over average - Showing imbalances symbols only for volume not smaller than the average value.
Value area - Option to identify group of slots with biggest volume in each candle. A group is a smallest set of neighboring slots that have at least n(param) % of candle volume .
⠀ Value Area Minimal Volume (%) - Value area size as % of candle volume .
⠀ Color - Color of the Value area.
⠀ Show borders - Showing border lines of value areas over the candle.
⠀ Track - Option to track value areas. Potencial Support-Resistance zones.
⠀ Only active - Hide areas that were crossed by the price.
Show Values - Show volume value over tracked value areas.
Troubleshooting:
In case of any problems, send error details to the author of the script.
Known issues:
"The study references too many candles in history" - Change "Data precision" settings to some lower value.
MTFindicatorsQuite recently TradingView added the possibility to create and use Libraries in PineScript. With this feature PineScript became higher quality of coding language overnight. Libraries enable splitting your code into multiple files, providing easier access to code reusability.
I was working on a script which included 3000 lines of code, which was recompiling 1:30 min, and recalculating over 1 minute as well. So I split it into 2 parts: main part + library containing "main logic", which I reuse in variety of scripts, but don't change too often. Result? Now recompilation of my main script takes 10 and recalculation 8 seconds!!!. I instantly fell in love with libraries.
Having said that, and being dedicated hater of security() calls, I have decided to publish a library of MTF indicators created with my own approach: "dig into formula". I have explained reasons for such approach in desription to this script:
So this library script will be a set of indicators reaching to higher timeframes. Just include one line at the beginning of the script you are creating:
import Peter_O/MTFindicators/1 as LIB
and then somewhere is the code add this line:
rsimtf=LIB.rsi_mtf(close,5,14)
All of a sudden you have access to rsimtf from 5x higher timeframe without any hassle :)
I start with RSI MTF, next ones will be ADX, Stochastic and some more. I will update this library with them here as well. Feel free to request particular indicators in comments. Maybe PSAR? Maybe Bollinger Bands?
Exponential MA Channel, Daily Timeframe (Crypto)Moving averages are some of the most common tools for traders. Some of the most widely used ones are simple moving averages (e.g. 20SMA, 50 SMA, 100 SMA, 200SMA,...). There are endless combinations of moving averages that can be used. I prefer to use exponential moving averages because they react more quickly to price data (essentially they filter back through the data over a discrete number of timesteps, with more recent history receiving the highest weighting in the final calculation).
This script uses a combination of the 21EMA, 53 EMA, and 100EMA. The idea of this script is to provide insight into when an asset might be close to a local top/bottom by monitoring price within the middle channel (yellow, blue, and orange lines), as well as identifying longer timeframe opportunities to buy/sell by examining the upper (green) and lower (red) bands. Disclaimer: this is not a guarantee that if price enters a region, that it will be a top or bottom, it is simply an indicator to get an idea based on price history.
As far as I know, this particular combination of exponential moving averages has not yet been published. I do not have an infinite amount of time to check through the entire library of published scripts. If someone else has already done this, I was unaware. Numerical computations were performed on ETHBTC price data in order to find the coefficients used in this script. Essentially, each EMA has a multiplier of either 1, a fraction of 1, or a number larger than 1 (these are the numbers in the script being multiplied by 'out1', 'out2', 'out3'; feel free to change these and see how this changes the indicator). I have found it to be useful for myself, and hope other people can tinker with this idea. My only wish is to allow other people to use this starting point to explore for themselves. I hope that I am allowed to publish this script without it being taken down so that others can freely use it.
Recommendations: although this was fit specifically for ETHBTC, it appears useful for many crypto pairs, specifically alt-BTC pairs and crypto-USD pairs. For example, I have found it useful for BTCUSD, ETHUSD, LINKUSD, LINKBTC, ETHBTC, ADABTC, etc. Only use on the DAILY timeframe.
High time frame Pivot Anchored VWAP V1.0Purpose:
-----------
To provide VWAPs anchored on the high and low pivots. I have seen scripts which anchor VWAP on a session or time frame or indeed a time, but not yet one that anchors on pivot points.
Value:
--------
As many have stated, price action tends toward VWAPs. I named the VWAPs anchored on high pivots the Selling VWAP, representing the volume weighted average of the sellers. And the VWAPs anchored on the low pivots, Buying VWAP, representing the volume weighted average of the buyers.
One of these two governs the current price action.
What is unique about this script:
---------------------------------------
- Locates pivots also found in higher time frames (it does not use the Security Function, technically it does not locate high time frame pivots)
- It uses a simple technique to locate the pivots that avoids using "For Loops" , typically used with HTF Pivots and at times can cause time outs
- VWAPs are then anchored on the pivots
- High Pivots are anchored with a VWAP using the High price as the source
- Low Pivots are anchored with a VWAP using the Low price as the source
How to Use It
-----------------
- Choose the higher time frame pivots of interest, the script uses current time frame multiplier
- so on a 1 minute chart, 60 is 1 hour. On a 5 min chart the same multiplier would be 5 hours.
- Choose how many of the higher time frame bars define the pivot, the right side and left side
- the default is 8 and 4, for a 60 multiplier on a 1min chart it implies 4hrs right of the pivot and 8 hrs left of the pivot.
- A Vidya moving average is included
- When the ma crosses over the Selling VWAP then the system is dominated by the buyers and the Buying VWAP provides support
- When the ma crosses under the Buying VWAP then the system is dominated by the sellers and the Selling VWAP provides resistance
It helps by keeping you in a trade, also by using the support/resistance to add to a position.
I make those decisions in the script, and display only the dominating VWAP
Acknowledgements
------------------------
PineCoders for their functions on managing resolution.
LucF for his work on high time frame pivots.
Future considerations
--------------------------
- Provide option to show both VWAPs
- Use a different ma, such as VWMA, or provide a choice.
- Open the script, version 1.0 being what it is
Tape [LucF]█ OVERVIEW
This script prints an ersatz of a trading console's "tape" section to the right of your chart. It displays the time, price and volume of each update of the chart's feed. It also calculates volume delta for the bar. As it calculates from realtime information, it will not display information on historical bars.
█ FEATURES
Calculations
Each new line in the tape displays the last price/volume update from the TradingView feed that's building your chart. These updates do not necessarily correspond to ticks from the originating broker/exchange's matching engine. Multiple broker/exchange ticks are often aggregated in one chart update.
The script first determines if price has moved up or down since the last update. The polarity of the price change, in turn, determines the polarity of the volume for that specific update. If price does not move between consecutive updates, then the last known polarity is used. Using this method, we can calculate a running volume delta accumulation for the bar, which becomes the bar's final volume delta value when the bar closes (you can inspect values of elapsed realtime bars in the Data Window or the indicator's values). Note that these values will all reset if the script re-executes because of a change in inputs or a chart refresh.
While this method of calculating volume delta is not perfect, it is currently the most precise way of calculating volume delta available on TradingView at the moment. Calculating more precise results would require scripts to have access to bid/ask levels from any chart timeframe. Charts at seconds timeframes do use exchange/broker ticks when the feeds you are using allow for it, and this indicator will run on them, but tick data is not yet available from higher timeframes, for now. Also note that the method used in this script is far superior to the intrabar inspection technique used on historical bars in my other "Delta Volume" indicators. This is because volume delta here is calculated from many more realtime updates than the available intrabars in history.
Inputs
You can use the script's inputs to configure:
• The number of lines displayed in the tape.
• If new lines appear at the top or bottom.
• If you want to hide lines with low volume.
• The precision of volume values.
• The size of the text and the colors used to highlight either the tape's text or background.
• The position where you want the tape on your chart.
• Conditions triggering three different markers.
Display
Deltas are shown at the bottom of the tape. They are reset on each bar. Time delta displays the time elapsed since the beginning of the bar, on intraday timeframes only. Contrary to the price change display by TradingView at the top left of charts, which is calculated from the close of the previous bar, the price delta in the tape is calculated from the bar's open, because that's the information used in the calculation of volume delta. The time will become orange when volume delta's polarity diverges from that of the bar. The volume delta value represents the current, cumulative value for the bar. Its color reflects its polarity.
When new realtime bars appear on the chart, a ↻ symbol will appear before the volume value in tape lines.
Markers
There are three types of markers you can choose to display:
• Marker 1 on volume bumps. A bump is defined as two consecutive and increasing/decreasing plus/minus delta volume values,
when no divergence between the polarity of delta volume and the bar occurs on the second bar.
• Marker 2 on volume delta for the bar exceeding a limit of your choice when there is no divergence between the polarity of delta volume and the bar. These trigger at the bar's close.
• Marker 3 on tape lines with volume exceeding a threshold. These trigger in realtime. Be sure to set a threshold high enough so that it doesn't generate too many alerts.
These markers will only display briefly under the bar, but another marker appears next to the relevant line in the tape.
The marker conditions are used to trigger alerts configured on the script. Alert messages will mention the marker(s) that triggered the specific alert event, along with the relevant volume value that triggered the marker. If more than one marker triggers a single alert, they will overprint under the bar, which can make it difficult to distinguish them.
For more detailed on-chart analysis of realtime volume delta, see my Delta Volume Realtime Action .
█ NOTES FOR CODERS
This script showcases two new Pine features:
• Tables, which allow Pine programmers to display tabular information in fixed locations of the chart. The tape uses this feature.
See the Pine User Manual's page on Tables for more information.
• varip -type variables which we can use to save values between realtime updates.
See the " Using `varip` variables " publication by PineCoders for more information.
Risk Management: Position Size & Risk RewardHere is a Risk Management Indicator that calculates stop loss and position sizing based on the volatility of the stock. Most traders use a basic 1 or 2% Risk Rule, where they will not risk more than 1 or 2% of their capital on any one trade. I went further and applied four levels of risk: 0.25%, 0.50%, 1% and 2%. How you apply these different levels of risk is what makes this indicator extremely useful. Here are some common ways to apply this script:
• If the stock is extremely volatile and has a better than 50% chance of hitting the stop loss, then risk only 0.25% of your capital on that trade.
• If a stock has low volatility and has less than 20% change of hitting the stop loss, then risk 2% of your capital on that trade.
• Risking anywhere between 0.25% and 2% is purely based on your intuition and assessment of the market.
• If you are on a losing streak and you want to cut back on your position sizing, then lowering the Risk % can help you weather the storm.
• If you are on a winning streak and your entries are experiencing a higher level of success, then gradually increase the Risk % to reap bigger profits.
• If you want to trade outside the noise of the market or take on more noise/risk, you can adjust the ATR Factor.
• … and whatever else you can imagine using it to benefit your trading.
The position size is calculated using the Capital and Risk % fields, which is the percentage of your total trading capital (a.k.a net liquidity or Capital at Risk). If you instead want to calculate the position size based on a specific amount of money, then enter the amount in the Custom Risk Amt input box. Any amount greater than 0 in the Custom Risk Amt field will override the values in the Capital and Risk % fields.
The stop loss is calculated by using the ATR. The default setting is the 14 RMA, but you can change the length and smoothing of the true range moving average to your liking. Selecting a different length and smoothing affects the stop loss and position size, so choose these values very carefully.
The ATR Factor is a multiplier of the ATR. The ATR Factor can be used to adjust the stop loss and move it outside of the market noise. For the more volatile stock, increase the factor to lower the stop loss and reduce the chance of getting stopped out. For stocks with less volatility , you can lower the factor to raise the stop loss and increase position size. Adjusting the ATR Factor can also be useful when you want the stop loss to be at or below key levels of support.
The Market Session is the hours the market is open. The Market Session only affects the Opening Range Breakout (ORB) option, so it’s important to change these values if you’re trading the ORB and you’re outside of Eastern Standard Time or you’re trading in a foreign exchange.
The ORB is a bonus to the script. When enabled, the indicator will only appear in the first green candle of the day (09:30:00 or 09:30 AM EST or the start time specified in Market Session). When using the ORB, the stop loss is based on the spread of the first candle at the Open. The spread is the difference between the High and Low of the green candle. On 1-day or higher timeframes, the indicator will be the spread of the last (or current) candle.
The output of the indicator is a label overlaying the chart:
1. ATR (14 RMA x2) – This indicated that the stop loss is determined by the ATR. The x2 is the ATR Factor. If ORB is selected, then the first line will show SPREAD, instead of ATR.
2. Capital – This is your total capital or capital at risk.
3. Risk X% of Capital – The amount you’re risking on a % of the Capital. If a Custom Risk Amt is entered, then Risk Amount will be shown in place of Capital and Risk % of Capital.
4. Entry – The current price.
5. Stop Loss – The stop loss price.
6. -1R – The stop loss price and the amount that will be lost of the stop loss is hit.
7. – These are the target prices, or levels where you will want to take profit.
This script is primarily meant for people who are new to active trading and who are looking for a sound risk management strategy based on market volatility . This script can also be used by the more experienced trader who is using a similar system, but also wants to see it applied as an indicator on TradingView. I’m looking forward to maintaining this script and making it better in future revisions. If you want to include or change anything you believe will be a good change or feature, then please contact me in TradingView.
Daily GAP StatsI did not write the script from scratch but rather started editing code of an existing one. The original code came from a script called GAP DETECTOR by @Asch-
First up: I am a trader, not a programmer and therefore my code most likely is inefficient. If someone with more expertise would like to help and optimize it - feel free to get in touch, I am always happy to learn some new tricks. :)
This script does 2 things:
- It shows daily gaps stats based on user inputs
- It shows color coded labels on gap days with additional information in tooltips ( important: make sure to read 'known issues/limitations' at the end )
User Inputs
==========
Although the input dialog is pretty straight forward, I do a quick rundown:
- Length: max lookback time
- Gap Direction: self explanatory
- Show All Gaps | Cont Only | Reversal Only | Off:
This refers to the way labels are displayed on gap days (again: make sure to read known issues/limitations!)
- Show All Gaps: does what it says
- Cont Only: only shows gaps where price continued in the gap direction. If you filter for gap ups and chose 'Cont only' you will only see labels on gap days where price closed above the open (and vice versa if you scan for gap downs).
- Reversal Only: you will only see labels for closes below the open on gap up days (and the opposite on gap down days)
- Off: self explanatory
- Gap Measure in ATR/PCT: self explanatory, ATR is calculated over a 10d period
- Gap Size (Abs Values): no negative values allowed here. If you filter for gap downs and enter 3 it means it will show gaps where the stock fell more than 3 ATR/PCT on the open.
- RVOL Factor: along with significant gaps should come significant volume. RVOL = volume of the gap day / 20d average volume
- Viewing Options: Placing the stats label in the window is a bit tricky (see knonw issues/limitations) and I was not sure which way I liked better. See for yourself what works best for you.
Known Isusses/Limitations:
=======================
- Positioning of the stats table:
As to my knowledge, Tradingview only allows label positioning relative to price and not relative to the chart window. I tried to always display the gap stats table in the upper right corner, using 52wk high as y-coordinate. This works ok most of the time, but is not pretty. If anybody has some fancy way to tag the label in a fixed position, please get in touch.
- Max number of labels per script:
TradingView has a limitation that allows a maxium of ~50 labels per script. If there are more labels, TradingView will automatically cut the oldest ones, without any notification. I have found this behaviour to be rather inconsistent - sometimes it'll dump labels even if there are a lot fewer than 50. Hopefully TradingView will drop this limitation at one point in the future.
Important: The inconsistent display of the gap day labels has NO INFLUENCE on the calculations in the gap stats table - the count and the calculations are complete and correct!
Polynomial Regression Bands + Channel [DW]This is an experimental study designed to calculate polynomial regression for any order polynomial that TV is able to support.
This study aims to educate users on polynomial curve fitting, and the derivation process of Least Squares Moving Averages (LSMAs).
I also designed this study with the intent of showcasing some of the capabilities and potential applications of TV's fantastic new array functions.
Polynomial regression is a form of regression analysis in which the relationship between the independent variable x and the dependent variable y is modeled as a polynomial of nth degree (order).
For clarification, linear regression can also be described as a first order polynomial regression. The process of deriving linear, quadratic, cubic, and higher order polynomial relationships is all the same.
In addition, although deriving a polynomial regression equation results in a nonlinear output, the process of solving for polynomials by least squares is actually a special case of multiple linear regression.
So, just like in multiple linear regression, polynomial regression can be solved in essentially the same way through a system of linear equations.
In this study, you are first given the option to smooth the input data using the 2 pole Super Smoother Filter from John Ehlers.
I chose this specific filter because I find it provides superior smoothing with low lag and fairly clean cutoff. You can, of course, implement your own filter functions to see how they compare if you feel like experimenting.
Filtering noise prior to regression calculation can be useful for providing a more stable estimation since least squares regression can be rather sensitive to noise.
This is especially true on lower sampling lengths and higher degree polynomials since the regression output becomes more "overfit" to the sample data.
Next, data arrays are populated for the x-axis and y-axis values. These are the main datasets utilized in the rest of the calculations.
To keep the calculations more numerically stable for higher periods and orders, the x array is filled with integers 1 through the sampling period rather than using current bar numbers.
This process can be thought of as shifting the origin of the x-axis as new data emerges.
This keeps the axis values significantly lower than the 10k+ bar values, thus maintaining more numerical stability at higher orders and sample lengths.
The data arrays are then used to create a pseudo 2D matrix of x power sums, and a vector of x power*y sums.
These matrices are a representation the system of equations that need to be solved in order to find the regression coefficients.
Below, you'll see some examples of the pattern of equations used to solve for our coefficients represented in augmented matrix form.
For example, the augmented matrix for the system equations required to solve a second order (quadratic) polynomial regression by least squares is formed like this:
(∑x^0 ∑x^1 ∑x^2 | ∑(x^0)y)
(∑x^1 ∑x^2 ∑x^3 | ∑(x^1)y)
(∑x^2 ∑x^3 ∑x^4 | ∑(x^2)y)
The augmented matrix for the third order (cubic) system is formed like this:
(∑x^0 ∑x^1 ∑x^2 ∑x^3 | ∑(x^0)y)
(∑x^1 ∑x^2 ∑x^3 ∑x^4 | ∑(x^1)y)
(∑x^2 ∑x^3 ∑x^4 ∑x^5 | ∑(x^2)y)
(∑x^3 ∑x^4 ∑x^5 ∑x^6 | ∑(x^3)y)
This pattern continues for any n ordered polynomial regression, in which the coefficient matrix is a n + 1 wide square matrix with the last term being ∑x^2n, and the last term of the result vector being ∑(x^n)y.
Thanks to this pattern, it's rather convenient to solve the for our regression coefficients of any nth degree polynomial by a number of different methods.
In this script, I utilize a process known as LU Decomposition to solve for the regression coefficients.
Lower-upper (LU) Decomposition is a neat form of matrix manipulation that expresses a 2D matrix as the product of lower and upper triangular matrices.
This decomposition method is incredibly handy for solving systems of equations, calculating determinants, and inverting matrices.
For a linear system Ax=b, where A is our coefficient matrix, x is our vector of unknowns, and b is our vector of results, LU Decomposition turns our system into LUx=b.
We can then factor this into two separate matrix equations and solve the system using these two simple steps:
1. Solve Ly=b for y, where y is a new vector of unknowns that satisfies the equation, using forward substitution.
2. Solve Ux=y for x using backward substitution. This gives us the values of our original unknowns - in this case, the coefficients for our regression equation.
After solving for the regression coefficients, the values are then plugged into our regression equation:
Y = a0 + a1*x + a1*x^2 + ... + an*x^n, where a() is the ()th coefficient in ascending order and n is the polynomial degree.
From here, an array of curve values for the period based on the current equation is populated, and standard deviation is added to and subtracted from the equation to calculate the channel high and low levels.
The calculated curve values can also be shifted to the left or right using the "Regression Offset" input
Changing the offset parameter will move the curve left for negative values, and right for positive values.
This offset parameter shifts the curve points within our window while using the same equation, allowing you to use offset datapoints on the regression curve to calculate the LSMA and bands.
The curve and channel's appearance is optionally approximated using Pine's v4 line tools to draw segments.
Since there is a limitation on how many lines can be displayed per script, each curve consists of 10 segments with lengths determined by a user defined step size. In total, there are 30 lines displayed at once when active.
By default, the step size is 10, meaning each segment is 10 bars long. This is because the default sampling period is 100, so this step size will show the approximate curve for the entire period.
When adjusting your sampling period, be sure to adjust your step size accordingly when curve drawing is active if you want to see the full approximate curve for the period.
Note that when you have a larger step size, you will see more seemingly "sharp" turning points on the polynomial curve, especially on higher degree polynomials.
The polynomial functions that are calculated are continuous and differentiable across all points. The perceived sharpness is simply due to our limitation on available lines to draw them.
The approximate channel drawings also come equipped with style inputs, so you can control the type, color, and width of the regression, channel high, and channel low curves.
I also included an input to determine if the curves are updated continuously, or only upon the closing of a bar for reduced runtime demands. More about why this is important in the notes below.
For additional reference, I also included the option to display the current regression equation.
This allows you to easily track the polynomial function you're using, and to confirm that the polynomial is properly supported within Pine.
There are some cases that aren't supported properly due to Pine's limitations. More about this in the notes on the bottom.
In addition, I included a line of text beneath the equation to indicate how many bars left or right the calculated curve data is currently shifted.
The display label comes equipped with style editing inputs, so you can control the size, background color, and text color of the equation display.
The Polynomial LSMA, high band, and low band in this script are generated by tracking the current endpoints of the regression, channel high, and channel low curves respectively.
The output of these bands is similar in nature to Bollinger Bands, but with an obviously different derivation process.
By displaying the LSMA and bands in tandem with the polynomial channel, it's easy to visualize how LSMAs are derived, and how the process that goes into them is drastically different from a typical moving average.
The main difference between LSMA and other MAs is that LSMA is showing the value of the regression curve on the current bar, which is the result of a modelled relationship between x and the expected value of y.
With other MA / filter types, they are typically just averaging or frequency filtering the samples. This is an important distinction in interpretation. However, both can be applied similarly when trading.
An important distinction with the LSMA in this script is that since we can model higher degree polynomial relationships, the LSMA here is not limited to only linear as it is in TV's built in LSMA.
Bar colors are also included in this script. The color scheme is based on disparity between source and the LSMA.
This script is a great study for educating yourself on the process that goes into polynomial regression, as well as one of the many processes computers utilize to solve systems of equations.
Also, the Polynomial LSMA and bands are great components to try implementing into your own analysis setup.
I hope you all enjoy it!
--------------------------------------------------------
NOTES:
- Even though the algorithm used in this script can be implemented to find any order polynomial relationship, TV has a limit on the significant figures for its floating point outputs.
This means that as you increase your sampling period and / or polynomial order, some higher order coefficients will be output as 0 due to floating point round-off.
There is currently no viable workaround for this issue since there isn't a way to calculate more significant figures than the limit.
However, in my humble opinion, fitting a polynomial higher than cubic to most time series data is "overkill" due to bias-variance tradeoff.
Although, this tradeoff is also dependent on the sampling period. Keep that in mind. A good rule of thumb is to aim for a nice "middle ground" between bias and variance.
If TV ever chooses to expand its significant figure limits, then it will be possible to accurately calculate even higher order polynomials and periods if you feel the desire to do so.
To test if your polynomial is properly supported within Pine's constraints, check the equation label.
If you see a coefficient value of 0 in front of any of the x values, reduce your period and / or polynomial order.
- Although this algorithm has less computational complexity than most other linear system solving methods, this script itself can still be rather demanding on runtime resources - especially when drawing the curves.
In the event you find your current configuration is throwing back an error saying that the calculation takes too long, there are a few things you can try:
-> Refresh your chart or hide and unhide the indicator.
The runtime environment on TV is very dynamic and the allocation of available memory varies with collective server usage.
By refreshing, you can often get it to process since you're basically just waiting for your allotment to increase. This method works well in a lot of cases.
-> Change the curve update frequency to "Close Only".
If you've tried refreshing multiple times and still have the error, your configuration may simply be too demanding of resources.
v4 drawing objects, most notably lines, can be highly taxing on the servers. That's why Pine has a limit on how many can be displayed in the first place.
By limiting the curve updates to only bar closes, this will significantly reduce the runtime needs of the lines since they will only be calculated once per bar.
Note that doing this will only limit the visual output of the curve segments. It has no impact on regression calculation, equation display, or LSMA and band displays.
-> Uncheck the display boxes for the drawing objects.
If you still have troubles after trying the above options, then simply stop displaying the curve - unless it's important to you.
As I mentioned, v4 drawing objects can be rather resource intensive. So a simple fix that often works when other things fail is to just stop them from being displayed.
-> Reduce sampling period, polynomial order, or curve drawing step size.
If you're having runtime errors and don't want to sacrifice the curve drawings, then you'll need to reduce the calculation complexity.
If you're using a large sampling period, or high order polynomial, the operational complexity becomes significantly higher than lower periods and orders.
When you have larger step sizes, more historical referencing is used for x-axis locations, which does have an impact as well.
By reducing these parameters, the runtime issue will often be solved.
Another important detail to note with this is that you may have configurations that work just fine in real time, but struggle to load properly in replay mode.
This is because the replay framework also requires its own allotment of runtime, so that must be taken into consideration as well.
- Please note that the line and label objects are reprinted as new data emerges. That's simply the nature of drawing objects vs standard plots.
I do not recommend or endorse basing your trading decisions based on the drawn curve. That component is merely to serve as a visual reference of the current polynomial relationship.
No repainting occurs with the Polynomial LSMA and bands though. Once the bar is closed, that bar's calculated values are set.
So when using the LSMA and bands for trading purposes, you can rest easy knowing that history won't change on you when you come back to view them.
- For those who intend on utilizing or modifying the functions and calculations in this script for their own scripts, I included debug dialogues in the script for all of the arrays to make the process easier.
To use the debugs, see the "Debugs" section at the bottom. All dialogues are commented out by default.
The debugs are displayed using label objects. By default, I have them all located to the right of current price.
If you wish to display multiple debugs at once, it will be up to you to decide on display locations at your leisure.
When using the debugs, I recommend commenting out the other drawing objects (or even all plots) in the script to prevent runtime issues and overlapping displays.
Funamental and financialsEarnings and Quarterly reporting and fundamental data at a glance.
A study of the financial data available by the "financial" functions in pinescript/tradingview
As far as I know, this script is unique. I found very few public examples of scripts using the fundamental data. and none that attempt to make the data available in a useful form
as an indicator / chart data. The only fitting category when publishing would be "trend analysis" We are going to look at the trend of the quarterly reports.
The intent is to create an indicator that instantly show the financial health of a company, and the trends in debt, cash and earnings
Normal settings displays all information on a per share basis, and should be viewed on a Daily chart
Percentage of market valuation can be used to compare fundamentals to current share price.
And actual to show the full numbers for verification with quarterly reporting and debuggging (actual is divided by 1.000.000 to keep numbers readable)
Credits to research study by Alex Orekhov (everget) for the Symbol Info Helper script
without it this would still be an unpublished mess, the use of textboxes allow me to remove many squiggly plot lines of fundamental data
Known problems and annoyances
1. Takes a long time to load. probably the amount of financial calls is the culprit. AFAIK not something i can to anything about in the script.
2. Textboxes crowd each other. dirty fix with hardcoded offsets. perhaps a few label offset options in the settings would do?
3. Only a faint idea of how to put text boxes on every quarter. Need time... (pun intended)
Have fun, and if you make significant improvements on this, please publish, or atleast leave a comment or message so I can consider adding it to this script.
© sjakk 2020-june-08
Accumulation/Distribution Open Interest Money Flow Hi, this script is the version of Accumulation / Distribution Money Flow (ADMF) that uses Open Interes ts in the required markets instead of Volume.
Can be set from the menu. (Futures/Others)
NOTE: I only modified this script.
The original script belongs to cl8DH.
Original of the script:
I think it will make a difference in the future and commodity markets.
Since the system uses CFTC data, use only for 1W timeframe.
With my best regards..






















