Key LevelsKey Levels automatically plots the most important price levels directly on your chart — giving you instant clarity on where the market is reacting.
What It Shows
Daily Levels:
Daily Open
Previous Day High & Low
Previous Day Equilibrium (Midpoint)
Weekly Levels:
Previous Week High & Low
Previous Week Equilibrium
Monthly Levels:
Previous Month High & Low
Previous Month Equilibrium
Yearly Levels:
Previous Year High & Low
Previous Year Equilibrium
Features
Fully customizable colors, styles, and line types
Option to toggle each timeframe on/off
Works on any symbol or timeframe
Lightweight and non-intrusive
💡 Why Use It
Easily identify areas where price is likely to react — such as liquidity pools, range extremes, and institutional levels. Perfect for day traders, swing traders, and smart money concept users.
지표 및 전략
Entries + FVG SignalsE+FVG: A Masterclass in Institutional Trading Concepts
Chapter 1: The Modern Trader's Dilemma—Decoding the Institutional Footprint
In the vast, often chaotic ocean of the financial markets, retail traders navigate with the tools they are given: conventional indicators like moving averages, RSI, and MACD. While useful for gauging momentum and general trends, these tools often fall short because they were not designed to interpret the primary force that moves markets: institutional order flow. The modern trader faces a critical challenge: the tools and concepts taught in mainstream trading education are often decades behind the sophisticated, algorithm-driven strategies employed by banks, hedge funds, and large financial institutions.
This leads to a frustrating cycle of seemingly inexplicable price movements. A trader might see a perfect breakout from a classic pattern, only for it to reverse viciously, stopping them out. They might identify a strong trend, yet struggle to find a logical entry point, consistently feeling "late to the party." These experiences are not random; they are often the result of institutional market manipulation designed to engineer liquidity.
The fundamental problem that E+FVG (Entries + FVG Signals) addresses is this informational asymmetry. It is a sophisticated, institutional-grade framework designed to move a trader's perspective from a retail mindset to a professional one. It does not rely on lagging, derivative indicators. Instead, it focuses on the two core elements of price action that reveal the true intentions of "Smart Money": liquidity and imbalances.
This is not merely another indicator to add to a chart; it is a complete analytical engine designed to help you see the market through a new lens. It deconstructs price action to pinpoint two critical things:
Where institutions are likely to hunt for liquidity (running stop-loss orders).
The specific price inefficiencies (Fair Value Gaps) they are likely to target.
By focusing on these core principles, E+FVG provides a logical, rules-based solution to identifying high-probability trade setups. It is built for the discerning trader who is ready to evolve beyond conventional technical analysis and learn a methodology that is aligned with how the market truly operates at an institutional level. It is, in essence, an operating system for "Smart Money" trading.
Chapter 2: The Core Philosophy—Liquidity is the Fuel, Imbalances are the Destination
To fully grasp the power of this tool, one must first understand its foundational philosophy, which is rooted in the core tenets of institutional trading, often referred to as Smart Money Concepts (SMC). This philosophy can be distilled into two simple, powerful ideas:
1. Liquidity is the Fuel that Moves the Market:
The market does not move simply because there are more buyers than sellers, or vice-versa. It moves to seek liquidity. Large institutions cannot simply click "buy" or "sell" to enter or exit their multi-million or billion-dollar positions. Doing so would cause massive slippage and alert the entire market to their intentions. Instead, they must strategically accumulate and distribute their positions in areas where there is a high concentration of orders.
Where are these orders located? They are clustered in predictable places: above recent swing highs (buy-stop orders from shorts, and breakout buy orders) and below recent swing lows (sell-stop orders from longs, and breakout sell orders). This collective pool of orders is called liquidity. Institutions will often drive price towards these liquidity pools in a "stop hunt" or "liquidity grab" to trigger those orders, creating the necessary volume for them to fill their own large positions, often in the opposite direction of the liquidity grab itself. Understanding this concept is the key to avoiding being the "fuel" and instead learning to trade alongside the institutions.
2. Imbalances (Fair Value Gaps) are the Magnets for Price:
When institutions enter the market with overwhelming force, they create an imbalance in the order book. This energetic, one-sided price movement often leaves behind a gap in the market's pricing mechanism. On a candlestick chart, this appears as a Fair Value Gap (FVG)—a three-candle formation where the wicks of the first and third candles do not fully overlap the range of the middle candle.
These are not random gaps; they represent an inefficiency in the market's price delivery. The market, in its constant quest for equilibrium, has a natural tendency to revisit these inefficiently priced areas to "rebalance" the order book. Therefore, FVGs act as powerful magnets for price. They serve as high-probability targets for a price move and, critically, as logical points of interest where price may reverse after filling the imbalance. A fresh, unfilled FVG is one of the most significant clues an institution leaves behind.
E+FVG is built entirely on this philosophy. The "Entries Simplified" engine is designed to identify the liquidity grabs, and the "FVG Signals" engine is designed to identify the imbalances. Together, they provide a complete, synergistic framework for institutional-grade analysis.
Chapter 3: The Engine, Part I—"Entries Simplified": A Framework for Precision Entry
This is the primary trade-spotting engine of the E+FVG tool. It is a multi-layered system designed to identify a very specific, high-probability entry model based on institutional behavior. It filters out market noise by focusing solely on the sequence of a liquidity sweep followed by a clear and energetic displacement.
Feature 1: The Multi-Timeframe Liquidity Engine
The first and most crucial step in the engine's logic is to identify a valid liquidity grab. The script understands that the most significant reversals are often initiated after price has swept a key high or low from a higher timeframe. A sweep of yesterday's high holds far more weight than a sweep of the last 5-minute high.
Automatic Timeframe Adaptation: The engine intelligently analyzes your current chart's timeframe and automatically selects an appropriate higher timeframe (HTF) for its core analysis. For instance, if you are on a 15-minute chart, it might reference the 4-hour or Daily chart to identify key structural points. This is done seamlessly in the background, ensuring the analysis is always anchored to a significant structural context without requiring manual input.
The "Sweep" Condition: The script is not looking for a simple touch of a high or low. It is looking for a definitive sweep (also known as a "stop hunt" or "Judas swing"). This is defined as price pushing just beyond a key prior candle's high or low and then closing back within its range. This specific price action pattern is a classic signature of a liquidity grab, indicating that the move's purpose was to trigger stops, not to start a new, sustained trend. The "Entries Simplified" engine is constantly scanning the HTF price action for these sweep events, as they are the necessary precondition for any potential setup.
Feature 2: The Upshift/Downshift Signal—Confirming the Reversal
Once a valid HTF liquidity sweep has occurred, the engine moves to its next phase: identifying the confirmation. A sweep alone is not enough; institutions must show their hand and reveal their intention to reverse the market. This confirmation comes in the form of a powerful structural breakout (for bullish reversals) or breakdown (for bearish reversals). We call these events Upshifts and Downshifts.
Defining the Upshift & Downshift: This is the critical moment of confirmation, the market "tipping its hand."
An Upshift occurs after a liquidity sweep below a key low. Following the sweep, price reverses with energy and produces a decisive breakout to the upside, closing above a recent, valid swing high. This action confirms that the prior downtrend's momentum is broken, the downward move was a trap to engineer liquidity, and institutional buyers are now in aggressive control.
A Downshift occurs after a liquidity sweep above a key high. Following the sweep, price reverses aggressively and produces a sharp breakdown to the downside, closing below a recent, valid swing low. This confirms that the prior uptrend's momentum has failed, the upward move was a liquidity grab, and institutional sellers have now taken control of the market.
Algorithmic Identification: The E+FVG engine uses a proprietary algorithm to identify these moments. It analyzes the candle sequence immediately following a sweep, looking for a specific type of market structure break characterized by high energy and displacement—often leaving imbalances (Fair Value Gaps) in its wake. This is not a simple "pivot break"; the algorithm is designed to distinguish between a weak, indecisive wiggle and a true, institutionally-backed Upshift or Downshift.
The Signal: When this precise sequence—a HTF liquidity sweep followed by a valid Upshift or Downshift on the trading timeframe—is confirmed, the indicator plots a clear arrow on the chart. A green arrow below a low signifies a Bullish setup (confirmed by an Upshift), while a red arrow above a high signifies a Bearish setup (confirmed by a Downshift). This is the core entry signal of the "Entries Simplified" engine.
Feature 3: Automated Price Projections—A Built-In Trade Management Framework
A valid entry signal is only one part of a successful trade. A trader also needs a logical framework for taking profits. The E+FVG engine completes its trade-spotting process by providing automated, mathematically-derived price projections.
Fibonacci-Based Logic: After a valid Upshift or Downshift signal is generated, the script analyzes the price leg that created the setup (i.e., the range from the liquidity sweep to the confirmation breakout/breakdown). It then uses a methodology based on standard Fibonacci extension principles to project several potential take-profit (TP) levels.
Multiple TP Levels: The indicator projects four distinct TP levels (TP1, TP2, TP3, TP4). This provides a comprehensive trade management framework. A conservative trader might aim for TP1 or TP2, while a more aggressive trader might hold a partial position for the higher targets. These levels are plotted on the chart as clear, labeled lines, removing the guesswork from profit-taking.
Dynamic and Adaptive: These projections are not static. They are calculated uniquely for each individual setup, based on the specific volatility and range of the price action that generated the signal. This ensures that the take-profit targets are always relevant to the current market conditions.
The "Entries Simplified" engine, therefore, provides a complete, end-to-end framework: it waits for a high-probability condition (HTF sweep), confirms it with a specific entry model (Upshift/Downshift), and provides a logical road map for managing the trade (automated projections).
Chapter 4: The Engine, Part II—"FVG Signals": Mapping Market Inefficiencies
This second, complementary engine of the E+FVG tool operates as a market mapping system. Its sole purpose is to identify, plot, and monitor Fair Value Gaps (FVGs)—the critical price inefficiencies that act as magnets and potential reversal points.
Feature 1: Dual Timeframe FVG Detection
The significance of an FVG is directly related to the timeframe on which it forms. A 1-hour FVG is a more powerful magnet for price than a 1-minute FVG. The FVG engine gives you the ability to monitor both simultaneously, providing a richer, multi-dimensional view of the market's inefficiencies.
Chart TF FVGs: The indicator will, by default, identify and plot the FVGs that form on your current, active chart timeframe. These are useful for short-term scalping and for fine-tuning entries.
Higher Timeframe (HTF) FVGs: With a single click, you can enable the HTF FVG detection. This allows you to overlay, for example, 1-hour FVGs onto your 5-minute chart. This is an incredibly powerful feature. Seeing a 5-minute price rally approaching a fresh, unfilled 1-hour bearish FVG gives you a high-probability context for a potential reversal. The HTF FVGs act as major points of interest that can override the short-term price action.
Feature 2: The Intelligent "Tap-In" Logic—Beyond a Simple Touch
Many FVG indicators will simply alert you when price touches an FVG. The E+FVG engine employs a more sophisticated, two-stage logic to generate its signals, which helps to filter out weak reactions and focus on confirmed reversals.
Stage 1: The Entry. The first event is when price simply enters the FVG zone. This is a "heads-up" moment, and the indicator can be configured to provide an initial alert for this event.
Stage 2: The Confirmed "Tap-In." The official signal, however, is the "Tap-In." This is a more stringent condition. For a bullish FVG, a Tap-In is only confirmed after price has touched or entered the FVG zone and then closed back above the FVG's high. For a bearish FVG, the price must touch or enter the zone and then close back below the FVG's low. This confirmation logic ensures that the FVG has not just been touched, but has been respected and rejected by the market, making the resulting arrow signal significantly more reliable than a simple touch alert.
Feature 3: Interactive and Clean Visuals
The FVG engine is designed to provide maximum information with minimum chart clutter.
Clear, Color-Coded Boxes: Bullish FVGs are plotted in one color (e.g., green or blue), and bearish FVGs in another (e.g., red or orange), with a clear distinction between Chart TF and HTF zones.
Optional Box Display: Recognizing that some traders prefer a cleaner chart, you have the option to hide the FVG boxes entirely. Even with the boxes hidden, the underlying logic remains active, and the script will still generate the crucial Tap-In arrow signals.
Automatic Fading: Once an FVG has been successfully "tapped," the script can be set to automatically fade the color of the box. This provides a clear visual cue that the zone has been tested and may have less significance going forward.
Expiration: FVGs do not remain relevant forever. The script automatically removes old FVG boxes from the chart after a user-defined number of bars, ensuring your analysis is always focused on the most recent and relevant market inefficiencies.
Chapter 5: The Power of Synergy—How the Two Engines Work Together
While both the "Entries Simplified" engine and the "FVG Signals" engine are powerful standalone tools, their true potential is unlocked when used in combination. They are designed to provide confluence—a scenario where two or more independent analytical concepts align to produce a single, high-conviction trade idea.
Scenario A: The A+ Setup (Upshift into FVG). This is the highest probability setup. Imagine the "Entries Simplified" engine detects a HTF liquidity sweep below a key low, followed by a bullish Upshift signal. You look at your chart and see that this strong upward displacement is heading directly towards a fresh, unfilled bearish HTF FVG. This provides you with both a high-probability entry signal and a logical, high-probability target for the trade.
Scenario B: The FVG Confirmation. A trader might see the "Entries Simplified" engine generate a bearish Downshift signal. They feel it is a valid setup but want one extra layer of confirmation. They wait for price to rally a little further and "tap-in" to a nearby bearish FVG that formed during the Downshift's displacement. The FVG Tap-In signal then serves as their final confirmation trigger to enter the trade.
Scenario C: The Standalone FVG Trade. The FVG engine can also be used as a primary trading tool. A trader might notice that price is in a strong uptrend. They see price pulling back towards a fresh, bullish HTF FVG. They are not waiting for a full Upshift/Downshift setup; instead, they are simply waiting for the FVG Tap-In signal to confirm that the pullback is likely over and the trend is ready to resume.
By learning to read the interplay between these two engines, a trader can elevate their analysis from a one-dimensional process to a multi-dimensional, context-aware methodology.
Chapter 6: The Workflow—A Step-by-Step Guide to Practical Application
Step 1: The Pre-Market Analysis (Mapping the Battlefield). Before your session begins, enable the HTF FVG detection. Identify the key, unfilled HTF FVGs above and below the current price. These are your major points of interest for the day—your potential targets and reversal zones.
Step 2: Await the Primary Condition (Patience for Liquidity). During your trading session, your primary focus should be on the "Entries Simplified" engine. Your job is to wait patiently for the script to identify a valid HTF liquidity sweep. Do not force trades in the middle of a price range where no significant liquidity has been taken.
Step 3: The Upshift/Downshift Alert (The Call to Action). When the red or green arrow from the "Entries Simplified" engine appears, it is your cue to focus your attention. This is a potential high-probability setup.
Step 4: The Confluence Check (Building Conviction). With the Upshift or Downshift signal on your chart, ask the key confluence questions:
Did the displacement from the Upshift/Downshift create a new FVG?
Is the projected path of the trade heading towards a pre-identified HTF FVG?
Has an FVG Tap-In signal appeared shortly after the initial signal, offering further confirmation?
Step 5: Execute and Manage. If you have sufficient confluence, execute the trade. Use the automated price projections as your guide for profit-taking. A logical stop-loss is typically placed just beyond the high or low of the liquidity sweep that initiated the entire sequence.
Chapter 7: The Trader's Mind—Mastering the Institutional Mindset
This tool is more than a set of algorithms; it is a training system for professional trading psychology.
From Chasing to Trapping: You stop chasing breakouts and instead learn to identify where others are being trapped.
From FOMO to Patience: The strict, sequential logic of the entry model (Sweep -> Upshift/Downshift) forces you to wait for the highest quality setups, curing the Fear Of Missing Out.
Probabilistic Thinking: By focusing on liquidity and imbalances, you begin to think in terms of probabilities, not certainties. You understand that you are putting on trades where the odds are statistically in your favor, which is the cornerstone of any professional trading career.
Clarity and Confidence: The clear, rules-based signals remove ambiguity and second-guessing. This builds the confidence needed to execute trades decisively when the opportunity arises.
Chapter 8: Frequently Asked Questions & Scenarios
Q: The "Entries Simplified" code looks complex. Do I need to understand all of it?
A: No. The engine is designed to perform its complex analysis in the background. Your job is to understand the principles—liquidity sweep and the resulting Upshift or Downshift—and to recognize the clear arrow signals that the script generates when those conditions are met.
Q: Can I turn one of the engines off?
A: Yes, the indicator is modular. If you only want to focus on Fair Value Gaps, for example, you can disable the plot shapes for the "Entries Simplified" signals in the settings, and vice-versa.
Q: Does this work on all assets and timeframes?
A: The principles of liquidity and imbalance are universal and apply to all markets, from cryptocurrencies to forex to indices. The fractal nature of the analysis means the concepts are valid on all timeframes. However, it is always recommended that a trader backtest and forward-test the tool on their specific instrument and timeframe of choice to understand its unique behavior.
Author's Instructions
To request access to this script, please send me a direct private message here on TradingView.
Alternatively, you can find more information and contact details via the link on my profile signature.
Please DO NOT request access in the Comments section. Comments are for questions about the script's methodology and for sharing constructive feedback.
Syndicate Bias Universal (Auto)Syndicate Bias Universal (Auto): A Masterclass in Time-Based Trading
Chapter 1: The Modern Trader's Dilemma—A New Framework for a Noisy Market
In today's hyper-connected financial markets, the modern trader is faced with a profound paradox: we have access to more information than ever before, yet achieving consistent clarity has never been more challenging. We are inundated with a relentless stream of price data, countless indicators, breaking news, and expert opinions. This information overload often leads not to better decision-making, but to analysis paralysis, emotional trading, and a chronic sense of being one step behind the market's true intentions.
The fundamental problem that Syndicate Bias Universal (Auto) addresses is this struggle for clarity amidst the noise. It challenges the conventional approach of relying solely on price- and volume-based indicators, which are inherently lagging and often produce conflicting signals. Instead, it introduces a crucial, and often overlooked, third dimension to technical analysis: time.
This indicator is not merely another tool to be added to a cluttered chart; it is a comprehensive, systematic framework designed to reinterpret market dynamics through the structured lens of trading sessions. Its core function is to deconstruct any trading period—from an entire week down to the smallest intraday segments—into a clear, four-part narrative structure, which we call "Quarters."
Many traders can correctly identify a market's general direction but consistently struggle with the critical question of when to act. This timing issue leads to the most common trading errors: entering positions too early only to be stopped out by volatility, entering too late and catching the tail-end of a move, or being whipsawed by directionless chop. This script provides a logical, rules-based solution by identifying a specific, high-probability time window within each session where reversal setups are most likely to occur. It is built for the discerning trader who is ready to evolve—to move beyond reactive, emotionally-driven decisions and adopt a structured, patient, and objective methodology for market engagement. It is, in essence, an operating system for disciplined trading.
Chapter 2: The Core Philosophy—Viewing the Market as a Four-Quarter Game
At its heart, this indicator operates on a powerful principle: market sessions, regardless of their duration, exhibit a discernible rhythm and structure, much like a four-quarter game of football, a four-act theatrical play, or the four seasons of a year. Price action is not a chaotic, random walk. It is a story unfolding, driven by the collective psychology of millions of participants. This story often follows a recurring pattern of opening, exploration, climax, and resolution.
By dividing trading sessions into four distinct quarters, we can better contextualize this narrative. This temporal structure acts as a powerful filter, cutting through the incessant noise of minor price fluctuations and focusing the trader's attention on the moments that truly matter.
Quarter 1 (The Opening Act): This is the period of price discovery. The market is absorbing overnight news, and early participants are establishing their initial positions. The character of this quarter—whether it is quiet and rotational or strong and directional—provides crucial clues about the session's potential.
Quarter 2 (The Exploration): Following the initial open, the market begins to test the levels established in Q1. This is often a period of consolidation or early trend development, where weaker hands are shaken out.
Quarter 3 (The Climax): Often, this is where the session's primary, decisive move occurs. It can be a powerful trend continuation or, critically, a major reversal point where the initial momentum shows signs of exhaustion.
Quarter 4 (The Resolution): This is the closing period, characterized by profit-taking, late-day position adjustments, and a general decrease in volume as the session winds down.
This is not a "black box" system promising guaranteed results. It is a transparent methodology built on a clear, logical foundation of session analysis. Its purpose is to empower you with a deeper understanding of market behavior, transforming you from a mere participant, tossed about by the market's waves, into a patient observer who waits for specific, high-probability conditions to align before acting. Embracing this philosophy is the first and most crucial step to unlocking the tool's full potential.
Chapter 3: The Engine—Key Features & In-Depth Principles
This section dissects the sophisticated mechanics that power the indicator. Each feature is designed to work in concert, creating a robust and adaptive analytical engine.
Feature 1: Universal Market Adaptability—A Global, Intelligent Tool
A significant weakness of many trading tools is their inherent rigidity. An indicator fine-tuned for the unique volatility profile and session times of the New York open will invariably underperform or provide false signals when applied to the different rhythms of the Indian or Asian markets. Syndicate Bias Universal eradicates this problem with a sophisticated, dual-mode adaptability engine.
Intelligent Auto-Detection: This is the default and recommended setting for most traders. When the "Market Type" input is set to "Auto," the script becomes a dynamic, context-aware tool. It intelligently queries the exchange information (syminfo.prefix) of the instrument you are currently viewing. It automatically recognizes major Indian exchanges (NSE, BSE, MCX) and all other global exchanges. Based on this identification, it seamlessly applies the correct session timing logic—using "Asia/Kolkata" for Indian instruments and "America/New_York" for global instruments (Forex, Commodities, US Equities, etc.).
This allows traders with a diverse watchlist to move effortlessly from analyzing the NIFTY 50 to EUR/USD to Crude Oil, confident that the underlying temporal analysis remains precise, relevant, and correctly calibrated to the dominant trading hours of each asset. There is no need for manual adjustment or multiple chart templates; the indicator handles the complex work of timezone alignment for you.
Focused Manual Override: For the advanced trader, the manual override provides an indispensable layer of analytical control. There are specific scenarios where locking the indicator to a particular time zone, regardless of the asset being viewed, is crucial.
Cross-Market Influence Analysis: A European trader analyzing the DAX index might want to lock the indicator to "Global" (New York) time during the afternoon to see how the US open influences the German market's behavior in its final hours.
Commodity and Forex Trading: A trader in Asia specializing in WTI Crude Oil or Gold knows that these markets are heavily dominated by the New York session. By locking the indicator to "Global," they can apply the correct temporal structure to their analysis, even if their local time is different.
Consistent Strategy Application: A trader who has developed a strategy based purely on the London/New York session overlap can lock the indicator to "Global" and apply this single, consistent framework across any and all instruments they trade.
This dual-mode system ensures that the indicator is both effortlessly simple for those who need it to be and powerfully flexible for those who require granular control.
Feature 2: Fractal Quarter-Based Analysis—Structure at Every Scale
The term "fractal" in market analysis refers to the principle that the same patterns of collective human behavior—driven by greed, fear, hope, and indecision—manifest repeatedly across all timeframes. A pattern that takes months to unfold on a weekly chart can play out in a matter of minutes on a one-minute chart. The Syndicate Bias Universal indicator is built on this very principle, applying its Four-Quarter structure consistently from the highest macro view down to the lowest micro view.
This provides a unified, coherent framework for analysis, regardless of your trading style.
The Weekly Quarter (The Position Trader's View): At this macro level, the trading week is divided into four primary segments (e.g., Monday, Tuesday, Wednesday, Thursday). This perspective is invaluable for position traders and long-term investors. It helps answer critical strategic questions: Is the week's opening action on Monday establishing a trend that will likely hold, or is it creating the conditions for a mid-week reversal? The weekly quarters help contextualize the larger battle between long-term buyers and sellers.
The Daily Quarter (The Swing Trader's View): Here, the full 24-hour global trading day is partitioned into four 6-hour quarters. This is the ideal lens for swing traders and day traders who aim to capture the dominant move of the day or a multi-day swing. It helps them avoid the morning "chop" by understanding the initial price discovery phase and position themselves for the more decisive moves that often occur in the later quarters of the global session.
Intraday Quarters: 90min, Micro, and Nano (The Day Trader's & Scalper's View): For traders operating on the front lines of intraday price action, the script drills down with surgical precision. It breaks down shorter sessions into their own complete four-quarter cycles. This granular view is essential for timing precise entries, managing trades with tight stop-losses, and understanding the micro-rhythms of order flow. It helps scalpers identify high-probability windows to trade, while allowing them to step back and avoid periods of low liquidity or erratic price action.
To keep you anchored, the script automatically selects and displays the relevant analysis timeframe ("Auto TF") in a non-intrusive display on your chart. This seemingly simple feature is a crucial navigational tool, constantly reminding you of the specific temporal context the engine is currently analyzing, ensuring your decisions are always aligned with the appropriate structural scale.
Feature 3: The "S-Quarter" Timing Window—The Art of Strategic Patience
This is the intellectual core of the indicator and its most powerful feature. It is the mechanism that transforms trading from a constant, stressful hunt for opportunities into a calm, disciplined, and strategic wait. The S-Quarter (Search Quarter) engine enforces patience by activating its search for trade setups only within a specific, algorithmically determined time window.
The Q1 Volatility Profile Analysis: The process begins at the start of a new session. The indicator's logic performs a sophisticated analysis of the price action within the first quarter (Q1). It looks beyond simple direction and evaluates its character. This involves assessing the nature of the opening period's volatility. Is the range expanding or contracting? Is the price action rotational and indecisive, or is it directional and backed by momentum? A quiet, low-volatility Q1 suggests a different market psychology and implies a very different probabilistic path for the rest of the session compared to a strong, high-volume, trend-setting Q1.
Dynamic and Adaptive Window Selection: Based on this nuanced Q1 profile, the script makes a critical, forward-looking determination: which of the subsequent quarters (Q2, Q3, or Q4) is most likely to host a significant market turning point, a liquidity grab, or an exhaustion event. This designated period is the "S-Quarter." The selection is dynamic and adaptive:
If Q1 was a powerful, trending move, the engine might identify Q3 as the S-Quarter, anticipating that the initial momentum will wane, drawing in late trend-followers just in time for a sharp reversal.
If Q1 was a tight, rotational range, the engine might identify Q2 as the S-Quarter, anticipating that the first breakout attempt from this range will likely be a "head fake" designed to trap traders before the real move begins in the opposite direction.
This intelligent selection is what sets the tool apart. It doesn't use a fixed, one-size-fits-all timing window. It adapts its search to the unique, unfolding conditions of each individual trading session. The S-Quarter is the only time the script will actively look for and display trade setups. This powerful filter is the key to mastering trading psychology. It prevents impulsive entries, eliminates the fear of missing out (FOMO), dramatically reduces exposure to choppy and unpredictable market periods, and aligns your actions with the moments of highest probabilistic edge.
Feature 4: Contrarian Reversal Setups—Identifying Market Exhaustion
The setups generated by this indicator are contrarian by design. They are not trend-following signals. They are based on the principle of identifying moments where a prevailing short-term move is reaching a point of exhaustion, often culminating in a "liquidity grab."
The Mechanics of a Liquidity Grab: Within the pre-defined S-Quarter, the script vigilantly monitors short-term market structure, specifically the pivot highs and pivot lows. A break of a recent, significant pivot is a critical event. The script's logic posits that during the S-Quarter, these breakouts are often not the beginning of a sustained new trend. Instead, they are frequently a calculated move by institutional players to "run the stops"—a stop hunt designed to trigger the stop-loss orders of retail traders who are positioned on the wrong side of the market. This action injects a surge of liquidity into the market, which is precisely what larger players need to fill their large orders in the opposite direction.
Bullish Reversal Setup (Fading the Low): This setup is triggered by a break below a recent structural low during the S-Quarter. This event signals that the sellers who pushed the price to a new low may have exhausted their power in the process of running the stops. The trap has been set, and this alert serves as a potential turning point where buyers are likely to step in with force.
Bearish Reversal Setup (Fading the High): This setup is triggered by a break above a recent structural high during the S-Quarter. This suggests that the final, euphoric wave of buying pressure may be culminating in a liquidity grab. The last of the breakout buyers have been drawn in at the worst possible price, presenting an opportunity for informed sellers to take control and initiate a move downwards.
It is absolutely essential to understand that these are high-probability setups, not automated entry signals. They are sophisticated alerts that tell you, "The conditions are now ripe for a potential reversal within our strategic time window." The final decision to execute a trade, and the management of that trade, always rests with you, the trader.
Chapter 4: The Workflow—A Step-by-Step Guide to Practical Application
This section provides a clear, actionable workflow for integrating the Syndicate Bias Universal indicator into your daily trading routine.
Step 1: Initial Configuration (The Pre-Flight Check). Begin by setting the "Market Type." For maximum efficiency across a varied watchlist, leave it on "Auto." If you are a specialist who focuses on one specific market session, manually select "Global" or "Indian" to lock in your preferred analytical framework. Ensure other visual settings, like "Show Active Quarter Boxes," are enabled.
Step 2: Contextualize the Session (Reading the Field). At the start of your trading day, observe the quarter boxes as they begin to form. Pay attention to the story they tell. Is the Q1 box narrow and tight, suggesting indecision? Is it wide and directional, suggesting a strong opening sentiment? This visual context helps you build an intuitive feel for the session's rhythm long before any signal appears.
Step 3: Exercise Strategic Patience (The Professional's Edge). This is the most critical and often the most difficult step. The script will automatically perform its Q1 analysis and silently determine the S-Quarter. Your job is to wait. Resist the urge to trade during the other quarters. This disciplined inaction is not passive; it is an active strategy. It conserves your mental and financial capital for the moments that count the most.
Step 4: The Alert (The Call to Action). When a label—"Look for Bullish/Bearish reversal"—appears on your chart, it is your cue to shift from a passive, observational state to an active, analytical one. This is the moment you have been waiting for. Do not instantly click "buy" or "sell." The alert is a call to focus your attention, not a command to act blindly.
Step 5: The Confirmation Process (Your Personal Edge). The setup is the start, not the end, of your trade analysis. This is where you apply your own skills to confirm the validity of the setup. For example, upon seeing a Bullish Reversal Setup:
Candlestick Analysis: Look for confirmation candles like a powerful bullish engulfing bar, a hammer, or a dragonfly doji forming right after the new low was made.
Volume Analysis: Check if the move to the new low was on high, climactic volume that suddenly dried up, followed by an increase in volume as the price starts to reverse.
Indicator Confluence: Look for bullish divergence on an oscillator like the RSI or MACD, where price makes a new low but the indicator makes a higher low.
This confirmation process is what integrates the indicator into your unique trading style, making it exponentially more powerful.
Step 6: Execute and Manage Risk (The Business of Trading). Once you have your confirmation, execute your trade according to your plan. Risk management is paramount. A logical stop-loss for a Bullish Reversal Setup would typically be placed just below the low of the liquidity grab candle. Your take-profit targets should be based on your analysis of key resistance levels. Always ensure the potential reward of the trade justifies the initial risk. A setup is a probabilistic edge, not a certainty.
Chapter 5: The Trader's Mind—Mastering the Psychology of Time
Integrating this tool effectively is as much about mastering psychology as it is about technical analysis. Its very design encourages the development of a professional trading mindset.
From Impulsive to Patient: The S-Quarter forces you to wait for the market to come to you, curing the impulsive need to be "in a trade" at all times.
From Reactive to Proactive: You are no longer reacting to every price tick. You have a proactive plan: you know which time window you are interested in and what condition you are waiting for. This puts you in a position of mental control.
Building Unshakeable Discipline: By consistently following the framework, you are building the muscle of discipline. You learn that often the most profitable action is no action at all.
Conquering FOMO (Fear Of Missing Out): FOMO is driven by unstructured, random trading. When you know you are only interested in a specific type of setup within a specific time window, the moves that happen outside of that framework become irrelevant noise. You cannot miss a move you were never supposed to take.
Gaining Confidence Through Structure: The clarity and structure provided by the Four-Quarter framework build immense confidence. You are not guessing; you are executing a well-defined plan based on a logical, repeatable methodology.
Chapter 6: Frequently Asked Questions & Scenarios
Q: What happens if no setup appears during the S-Quarter?
A: This is one of the most valuable outcomes the indicator can provide. It means that during the high-probability window, the market did not produce a clear exhaustion or liquidity grab event. The script has effectively told you that the conditions were not optimal for a high-probability reversal, and the correct decision was to preserve your capital. A null signal is a powerful signal in itself.
Q: Can I use this indicator with my existing trend-following strategy?
A: Absolutely. In fact, it's a perfect combination. You can use your macro trend-following tools to establish the dominant weekly or daily direction. Then, you can use the Syndicate Bias Universal indicator on a lower timeframe to look for contrarian setups that signal the end of a pullback, allowing you to enter the trade in the direction of the larger trend at a much better price.
Q: Which analysis timeframe ("Auto TF") is the 'best' one to use?
A: There is no "best" timeframe; there is only the timeframe that is right for your trading style. This is precisely why the fractal design is so powerful. A long-term swing trader might focus primarily on the signals generated by the Daily quarters, while a high-frequency scalper will live within the Micro and Nano quarters. The indicator adapts to you, not the other way around. Experiment and find the resolution that best suits your personality and trading goals.
QULLAMAGGIE Trades Database 2014-2022QULLAMAGGIE HISTORICAL TRADES DATABASE (2014-2022)
Educational research tool displaying historical entry points from documented trading activity.
═══════════════════════════════════════════
WHAT THIS IS:
- Visual database of 1,700+ historical trade entries
- Data compiled from publicly available livestream archives (2014-2022)
- Shows when trades were taken, not why or how they performed
- Educational reference for pattern recognition and timing study
⚠️ WORKS ON DAILY TIMEFRAME ONLY
This indicator is designed for daily charts. It will not display correctly on intraday timeframes (1min, 5min, 1h, etc.)
DATA SOURCES:
- Excel databases compiled from public archives
- Livestream recordings and tweet history
- Community-maintained trade logs
- Covers 554+ different tickers
WHAT THIS IS NOT:
❌ Not trade signals or recommendations
❌ Not showing entry prices, exits, stops, or position sizing
❌ Not guaranteed accurate or complete
❌ Past performance ≠ future results
❌ Does not work on intraday timeframes
INTENDED USE:
- Study historical timing patterns on daily charts
- Analyze market conditions when entries occurred
- Research setup frequency across different tickers
- Educational backtesting reference
LIMITATIONS:
- Shows only entry dates, not full trade management
- May contain transcription errors from original sources
- Historical data only - no predictive value
- Covers specific time period (2014-2022)
- Daily timeframe only
═══════════════════════════════════════════
FOR EDUCATIONAL AND RESEARCH PURPOSES ONLY
This indicator displays historical data compiled from public sources.
Not affiliated with or endorsed by the original trader.
Always do your own research and risk management.
趋势多空AOverview
Trend BS is a multi-signal, non-repainting on closed bars trend/momentum toolkit that fuses:
Keltner/ATR/EMA composite triggers (alternating logic to avoid consecutive same-side prints).
Williams %R turning points + swing structure markers (Swing High/Low).
WaveTrend divergence “partial” entries ( Cicil/spec Beli / Cicil/spec Jual ).
Reversal signals from RSI extremes.
Trailing exits (Long Trail Exit / Short Trail Exit) with simulated position tracking.
Trend Cloud with inverted colors for visual contrast (Up = Red, Down = Green).
Default display (matches screenshots)
✅ Buy Text / Sell Text / Cicil/spec Beli / Cicil/spec Jual / Reversal Beli / Reversal Jual / Buy / Sell / Long Trail Exit / Short Trail Exit
❌ All other elements are hidden by default (you can enable them in settings).
Core settings (quick start)
CANDLE COLORING → Heatmap Mode: default Signal Based.
CLOUD SETTINGS: Show Trend cloud = ON, Trend Cloud Style = Smooth, colors inverted (Up=Red, Down=Green).
SIGNAL FILTERS: Trending-only / Strong-only / High-Volume / Cloud-only available.
RISK MANAGEMENT: %/ATR trailing stop, TP1/TP2/TP3 dynamic references.
PULLBACK SIGNALS: use MSTuner to adjust swing sensitivity.
Presets: Trend Scalper switches to a faster EMA-momentum view.
Important notes
The script references real-time computations and higher timeframes; signals on the current (open) bar may evolve before close (this is expected behavior across indicators).
No repainting on closed bars. Use closed bars for back-checks and alerts.
This tool is for technical analysis only and not financial advice.
Alerts
Built-in alert conditions include:
SuperTrend Buy / SuperTrend Sell
SuperTrend Direction Change
You can also create your own alerts for Buy/Sell, Partial (cicil/spec), Reversal, and Trail Exit events.
OTS Trend Suite (Open Trend System)OTS (Open Trend System)
Components
Trend Suite (overlay): Macro Trend Bars + Track, Micro Dots, Reversal “R” (+2 bar confirm), T/B (+1), (opt) Strength/Weakness arrows.
Confirmation (panel): RSI 3-line + momentum crosses, (opt) divergences; Thrust histogram (Blue/Green/Red/Orange via z-score).
Support/Resistance (overlay): pivot-temelli dinamik S/R çizgileri.
Presets & Micro-cap Notes
Equity-4H: ATR(14)×2.0 macro track, BB(20,2.0), wickFrac 0.65 — liquid US equities, intraday swing focus.
Equity-1D (small/micro): ATR(14)×2.2 macro track, BB(20,2.2), wickFrac 0.70 — dampens noise for thin micro-cap sessions.
FX-1H: Retains ATR(10)×2.2 profile for tighter FX structures; enable Custom for bespoke tuning.
RTH-only thrust: Panel default keeps 09:30–16:00 ET (session input) so after-hours volume spikes stop inflating micro-cap thrust z-scores.
Market Microstructure Notes (US Equities)
SIP / CTA-UTP plumbing: Consolidated tapes publish NBBO and LULD bands; thrust auto-cal keeps RTH default so AH/SIP hiccups do not distort robust z quantiles.
LULD reopen guard: Without a real-time halt feed we flag session-open gaps ≥ gapThresh as reopen-like and suppress entries for that bar; manual labels remain for review while Python backtests can plug in full halt datasets.
Survivorship-free calibration: Use Norgate/CRSP EOD universes when deriving quantile windows so delisted micro-caps do not bias thrust tails during auto-bucket calibration.
Non-repainting: Trade sinyali yalnız onay sonrası. Financial disclaimer: Eğitim amaçlıdır.
Operator Quickstart (US Equities – Small/Micro-cap)
Overlay: OTS Trend Suite → Preset = Equity-1D (small/micro) (günlük) veya Equity-4H (iç seans).
Panel: OTS Confirmation → Use RTH only açık (09:30–16:00). Micro-cap’te AH hacim sapmalarını ezer.
S/R: OTS Support/Resistance → max lines 8; range yoğunluklarında okunabilirlik için iyi.
Preset Mapping
Preset ATR× BB wickFrac pivotL Micro ATR×
Equity-4H 14×2.0 20×2.0 0.65 6 7×1.5
Equity-1D (small/micro) 14×2.2 20×2.2 0.70 6 7×1.5
FX-1H 10×2.2 20×2.2 0.60 6 7×1.5
Alert Reference
Alert Anlam İşlem Disiplini
Macro Trend Flip Ana trend rengi değişti Pozisyon yönünü yalnız trend yönünde tut
R / R✓ Tersine dönüş barı / onaylandı Yalnız R✓ sonrası trade
T / T✓ Lokal tepe / onaylandı T✓’de kar al/short araması
B / B✓ Lokal dip / onaylandı B✓’de long araması
RSI Bull/Bear Momentum kesişimi Sinyal teyidi
Thrust ORANGE Aşırı kurumsal baskı Breakout/kapitulasyon teyidi
Micro-cap Notları
RTH-only Thrust: AH sapmaları şişer; RTH filtre varsayılan.
Compact Mode: dot/etiket/ok spam’ini azaltır; tarama performansı için aç.
Halts/LULD: Re-open barı genelde işlem dışı bırakmak daha temiz sinyal verir (ileri sürümde toggle).
Manual QA (hızlı)
SPY 4H: Macro flip ve Strength/Weakness okları trend içinde kalıyor mu?
IWM 1D: RTH-only Thrust renkleri stabil mi?
3–5 micro-cap: Equity-1D preset + Compact Mode on/off görsel karşılaştır.
Testing
How to run: source .venv/bin/activate && make dev-setup && make lint && make test
What's covered: R-confirm window, macro flip debounce, robust thrust + RTH gating.
Environment Notes
Python 3.11 is the supported baseline. Python 3.13 is workable as long as pip resolves numpy>=2.1.0 (handled by the conditional pin).
Snapshots render charts with the non-interactive Matplotlib Agg backend (MPLBACKEND=Agg set by default).
yfinance downloads are chunked (<=25 tickers) with threads=True and paced sleeps to reduce rate-limit risk.
Snapshot (No-TradingView)
Calibrated quantiles → pGreen=0.70, pOrange=0.98 (micro-cap tails). gap_thresh=0.10 default. Use --interval (1d, 60m, 30m) to choose resolution; daily bars rely on first-of-day fallback for the guard. How to run:
source .venv/bin/activate
make dev-setup
python apps/py/snapshots/run_equities_snapshot.py --tickers-file data/inputs/microcaps.txt --start 2024-01-01
What it produces:
CSV exports under reports/snapshots// covering summary metrics, trade blotter, thrust buckets, and guard suppressions.
PNG charts in reports/snapshots//charts/ illustrating price, macro track, and entry/exit markers for active symbols.
guard_suppressed counts highlight bars skipped by the LULD reopen guard; thrust shares show time in each thrust regime; R-multiple aggregates trade efficiency relative to ATR risk.
Provider & Fallbacks
--provider yf|csv|synthetic selects the data backend (default yf).
--csv-dir should point at a folder containing .csv files with columns Date,Open,High,Low,Close,Volume (case-insensitive).
--tz controls the output timezone for timestamps (default America/New_York). Synthetic fallbacks respect US trading hours, DST shifts, and NYSE holiday/early-close calendars in the selected timezone.
Synthetic generation is controlled via --synthetic-seed, --synthetic-gap-prob, and --synthetic-gap-scale; the runner seeds a Laplace gap model around a 2%/√252 daily volatility baseline.
yfinance downloads automatically write CSV caches under --csv-dir and reuse them on subsequent 429 retries before falling back to synthetic data (provider_used=csv_cache/yf_synthetic_fallback).
India VIX Range Lines + Accurate Table//@version=5
indicator("India VIX Range Lines + Accurate Table", overlay=true, max_lines_count=500)
// === STYLE INPUTS ===
lineWidth = input.int(2, "Line Width", minval=1)
upperColor = input.color(color.green, "Upper Line Color")
lowerColor = input.color(color.red, "Lower Line Color")
midColor = input.color(color.yellow, "Today Open Line Color")
// === TABLE THEME INPUTS ===
tableBgColor = input.color(color.new(color.black, 80), "Table Background Color")
tableBorder = input.color(color.white, "Table Border Color")
headerBgColor = input.color(color.new(color.blue, 60), "Header Background Color")
headerTextColor = input.color(color.white, "Header Text Color")
cellBgColor = input.color(color.new(color.gray, 60), "Cell Background Color")
cellTextColor = input.color(color.white, "Cell Text Color")
// === PARAMETERS ===
vixDivisor = 19.1 // fixed divisor
// === DATA FETCH ===
// India VIX daily open
indiaVixOpen = request.security("INDIAVIX", "D", open)
// Today's index first bar open (intraday-friendly)
var float todayOpen = na
if ta.change(time("D"))
todayOpen := open
// === CALCULATIONS ===
var float x = na
var float y = na
var float upperLine = na
var float lowerLine = na
if not na(todayOpen)
x := indiaVixOpen / vixDivisor // exact x = IndiaVIX Open / 19.1
y := todayOpen * x / 100 // range offset
upperLine := todayOpen + y
lowerLine := todayOpen - y
// === PLOT LINES (Fixed for the Day) ===
plot(upperLine, color=upperColor, style=plot.style_line, linewidth=lineWidth, title="Upper Line")
plot(lowerLine, color=lowerColor, style=plot.style_line, linewidth=lineWidth, title="Lower Line")
plot(todayOpen, color=midColor, style=plot.style_line, linewidth=lineWidth, title="Today Open Line")
// === TABLE DISPLAY ===
var table infoTable = table.new(position=position.top_right, columns=2, rows=7, border_width=1, frame_color=tableBorder, frame_width=1, bgcolor=tableBgColor)
if barstate.islast
table.cell(infoTable, 0, 0, "India VIX Open", text_color=headerTextColor, bgcolor=headerBgColor)
table.cell(infoTable, 1, 0, str.tostring(indiaVixOpen, "#.##"), text_color=cellTextColor, bgcolor=cellBgColor)
table.cell(infoTable, 0, 1, "VIX Divisor", text_color=headerTextColor, bgcolor=headerBgColor)
table.cell(infoTable, 1, 1, str.tostring(vixDivisor, "#.##"), text_color=cellTextColor, bgcolor=cellBgColor)
table.cell(infoTable, 0, 2, "X Value (VIX / 19.1)", text_color=headerTextColor, bgcolor=headerBgColor)
table.cell(infoTable, 1, 2, str.tostring(x, "#.#####"), text_color=cellTextColor, bgcolor=cellBgColor)
table.cell(infoTable, 0, 3, "Today Open", text_color=headerTextColor, bgcolor=headerBgColor)
table.cell(infoTable, 1, 3, str.tostring(todayOpen, "#.##"), text_color=cellTextColor, bgcolor=cellBgColor)
table.cell(infoTable, 0, 4, "Y Value (Range Offset)", text_color=headerTextColor, bgcolor=headerBgColor)
table.cell(infoTable, 1, 4, str.tostring(y, "#.#####"), text_color=cellTextColor, bgcolor=cellBgColor)
table.cell(infoTable, 0, 5, "Upper Line", text_color=headerTextColor, bgcolor=headerBgColor)
table.cell(infoTable, 1, 5, str.tostring(upperLine, "#.##"), text_color=cellTextColor, bgcolor=cellBgColor)
table.cell(infoTable, 0, 6, "Lower Line", text_color=headerTextColor, bgcolor=headerBgColor)
table.cell(infoTable, 1, 6, str.tostring(lowerLine, "#.##"), text_color=cellTextColor, bgcolor=cellBgColor)
Ultimate Risk Management Toolkit [ T W K ] :Smart Levels is Smart Trades!
All Trading View users and Stock market Enthusiast, get charged with the all new ( never seen before ) " Ultimate Risk Management Toolkit ⚙📏⚙ " .
Inputs and Features:
1: Drag the Bar-Time vertical line to the desired Entry candle ( manually ) for R:R management and controlling emotional trading.
2: Target, Entry, and SL line style, Width input.
3: Manual specific level Entry and Stop-Loss, input option.
4: Three types of Auto / Manual ' R:R ' risk reward ratio, targets with proper Entry, Stop-Loss points, and Stop-Loss level.
5: Three types of Entry options to fix Emotional trading habit.
6: Trailing Stop-Loss input option ( can be utilize as profit locking/booking ).
It will give more Power to manage your trades with proper R:R ( Auto / manual ) ratio, defined Entry and controlled Stop-Loss Levels.
Compatible with All Devices (Laptop / Mobile / Tablet / PC).
✅ HOW TO GET ACCESS :
Add to favorite and enjoy the true Trading View's sprit of community growth, without any limitations.
If you like any of my Invite-Only indicators, kindly DM and let me know!
⚠ RISK DISCLAIMER :
All content provided by "@TradeWithKeshhav" is for informational & educational purposes only.
It does not constitute any financial advice or a solicitation to buy or sell any securities of any type. All investments / trading involve risks. Past performance does not guarantee future results / returns.
Regards :
Team @TradeWithKeshhav
Happy trading and investing!
KDJKDJ指标(又称随机指标)通常被归类为振荡指标 (Oscillators) 或 动量指标 (Momentum Indicators)。
Of course. Here is a description of the KDJ indicator in English.
KDJ Indicator (Stochastic Oscillator)
The KDJ indicator is a momentum oscillator used in technical analysis to identify overbought and oversold conditions in a market, as well as to spot potential trend reversals. It's an extension of the classic Stochastic Oscillator and is particularly popular among traders in Asian markets.
The indicator consists of three lines:
* %K Line (The Fast Line): This line measures the current closing price relative to the high-low range over a specified period (typically 9 periods). It shows the immediate momentum of the asset.
\%K = 100 \times \frac{C - L_n}{H_n - L_n}
Where:
* C = Current Closing Price
* L_n = Lowest low over the last 'n' periods
* H_n = Highest high over the last 'n' periods
* %D Line (The Slow Line): This is a simple moving average (SMA) of the %K line (typically a 3-period SMA). It smooths out the fluctuations of the %K line and provides more reliable trading signals.
* J Line: The J line represents the divergence between the %D line and the %K line. It is more sensitive than the other two lines and can provide earlier signals. It is calculated as:
How to Interpret the KDJ Indicator:
* Overbought & Oversold Conditions:
* Overbought: When the KDJ lines rise above 80, it suggests the asset is overbought and the price might be due for a correction downwards. A sell signal is often generated when the lines cross back below 80.
* Oversold: When the KDJ lines fall below 20, it suggests the asset is oversold and the price may be poised for a rebound. A buy signal is often generated when the lines cross back above 20.
* The J line can go above 100 (extreme overbought) or below 0 (extreme oversold), indicating a very strong momentum that might precede a sharp reversal.
* Crossovers (Crosses):
* Golden Cross (Bullish Signal): When the %K line crosses above the %D line, especially in the oversold area (below 20), it is considered a strong buy signal.
* Death Cross (Bearish Signal): When the %K line crosses below the %D line, particularly in the overbought area (above 80), it is considered a strong sell signal.
* Divergence:
* Bullish Divergence: If the asset's price makes a new lower low, but the KDJ indicator makes a higher low, it signals that the downward momentum is weakening and a potential price reversal to the upside is coming.
* Bearish Divergence: If the asset's price makes a new higher high, but the KDJ indicator makes a lower high, it suggests that the upward momentum is fading and a potential price reversal to the downside may occur.
In summary, the KDJ is a versatile momentum indicator that helps traders identify short-term entry and exit points by analyzing an asset's price momentum.
MoneyMaker AI💰MoneyMaker AI — Advanced Market Reaction & Trade Management System
MoneyMaker AI is a next-generation, all-in-one trading system built to identify high-probability entry zones, dynamically calculate stop loss and target levels, and automate trade management — all while presenting data in a clean, visual, and intuitive format.
It’s engineered for traders who want structure, precision, and automation in one compact indicator.
⚙️ Core Features
🎯 Smart Entry System
• Detects real-time trend shifts and momentum changes to plot LONG and SHORT opportunities.
• Works across all markets — crypto, stocks, indices, and forex.
• Designed to adapt across multiple timeframes without repainting signals.
📉 Dynamic Risk Management (Auto TP & SL)
• Automatically calculates Take Profit (TP) and Stop Loss (SL) levels based on ATR volatility and recent pivot highs/lows.
• Ensures realistic target placement for both trending and ranging markets.
• Automatically adjusts line and label placement for visual clarity.
💹 Partial Profit Detection
• Built-in Partial TP logic identifies when price first reaches the profit zone.
• Prints “Partial TP” labels directly on the chart and triggers real-time alerts — helping traders secure early profits even in fast markets.
📊 Real-Time Trade Stats Table
• Tracks performance for each month — showing Total Trades, Wins, Losses, and Net Profit/Loss in percent.
• Color-coded results: green for profit months, red for loss months.
• Updated live at the close of each bar.
🔔 Built-In Alerts (Preconfigured)
Easily automate notifications or bot integrations via TradingView’s alert system.
• Long Entry
• Short Entry
• Partial TP Long / Short
• Exit Long / Short
• SL Long / Short
📈 Fibonacci Pivot Points (Adaptive)
• Optional Fibonacci Pivot Point levels for daily, weekly, or monthly reference zones.
• Automatically adapts to your chart timeframe:
• ⏱️ Below 15-minute = Daily pivots
• 📆 15-minute to 4-hour = Weekly pivots
• 🕒 Above 4-hour = Monthly pivots
• Perfect for identifying potential support/resistance or reversal zones.
🧠 How It Works
1.The system detects a directional bias shift and confirms a valid LONG or SHORT signal.
2.It calculates TP/SL automatically using volatility and structure-based pivots.
3.If price reaches the first profit zone, a Partial TP is printed — signaling an early gain.
4.The position is monitored continuously until an Exit or SL condition is met.
5.All results are stored in the live performance tracker for transparent trade evaluation.
🪄 Ideal For
• Traders who prefer rule-based systems over subjective decisions.
• Swing and intraday traders looking for visual clarity with complete automation.
• Those who want integrated alerts, pivots, and trade management in one tool.
⚡ Key Highlights
• 100% non-repainting logic for reliable signals.
• Works seamlessly with all assets and timeframes.
• Clean visualization with optional lines, labels, and pivot toggles.
• Designed for professional use — simple for beginners, powerful for advanced traders.
🧩 Recommended Settings
• Use default ATR & RSI values for optimal balance between responsiveness and stability.
• For shorter timeframes (1m–15m), prefer “Open Next” as entry price for real-time signal alignment.
• Enable Fibonacci pivots for confirmation zones around entries/exits.
Show current ADR from last previous peakCalculates ADR over a 21 day average
Allows you to manually enter the price of a previous peak
Shows current ADR
聪明钱指标// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © robin_3910
//@version=5
indicator("聪明钱指标", "聪明钱指标"
, overlay = true
, max_labels_count = 500
, max_lines_count = 500
, max_boxes_count = 500
, max_bars_back = 500)
//-----------------------------------------------------------------------------{
//Constants
//-----------------------------------------------------------------------------{
color TRANSP_CSS = #ffffff00
//Tooltips
string MODE_TOOLTIP = '允许显示历史结构或仅显示最近的结构'
string STYLE_TOOLTIP = '指示器颜色主题'
string COLOR_CANDLES_TOOLTIP = '显示附加蜡烛,其颜色反映结构检测到的当前趋势'
string SHOW_INTERNAL = '显示内部市场结构'
string CONFLUENCE_FILTER = '过滤非重要的内部结构突破'
string SHOW_SWING = '显示波动市场结构'
string SHOW_SWING_POINTS = '在图表上将摆动点显示为标签'
string SHOW_SWHL_POINTS = '突出显示图表上最近的强弱高点/低点'
string INTERNAL_OB = '在图表上显示内部订单块 要在图表上显示的内部订单块数量'
string SWING_OB = '在图表上显示摆动订单块 要在图表上显示的内部摆动块数量'
string FILTER_OB = '用于过滤掉不稳定订单块的方法 当可用数据量较少时,建议使用累积均值范围方法'
string SHOW_EQHL = '在图表上显示相等的高点和相等的低点'
string EQHL_BARS = '用于确认相等高点和相等低点的柱数'
string EQHL_THRESHOLD = '用于检测相等高点和低点的范围 (0, 1) 内的灵敏度阈值 较低的值将返回较少但更相关的结果'
string SHOW_FVG = '在图表上显示公允价值差距'
string AUTO_FVG = '过滤掉不显着的公允价值差距'
string FVG_TF = '公允价值缺口时间范围'
string EXTEND_FVG = '确定在图表上扩展公允价值缺口框的数量'
string PED_ZONES = '在图表上显示溢价、折价和均衡区域'
// dailyHighAndLowLength = input.int(2, title = "近x日线高低点")
//-----------------------------------------------------------------------------{
//Settings
//-----------------------------------------------------------------------------{
//General
//----------------------------------------{
// mode = input.string('历史'
// , options =
// , group = '聪明的金钱概念'
// ,tooltip = MODE_TOOLTIP)
mode = "historical"
// style = input.string('彩色'
// , options =
// , group = '聪明的金钱概念'
// ,tooltip = STYLE_TOOLTIP)
style = "Colored"
// show_trend = input(false, '彩色K线'
// , group = '聪明的金钱概念'
// , tooltip = COLOR_CANDLES_TOOLTIP)
show_trend = false
//----------------------------------------}
//Internal Structure
//----------------------------------------{
// show_internals = input(true, '显示内部结构'
// , group = '实时内部结构'
// ,tooltip= SHOW_INTERNAL)
show_internals = false
// show_ibull = input.string('全部', '看涨结构'
// , options =
// , inline = 'ibull'
// , group = '实时内部结构')
show_ibull = "All"
// swing_ibull_css = input(#089981,''
// , inline = 'ibull'
// , group = '实时内部结构')
swing_ibull_css = color.rgb(8, 153, 80)
// bear结构体
// show_ibear = input.string('全部', '看跌结构'
// , options =
// , inline = 'ibear'
// , group = '实时内部结构')
show_ibear = "All"
// swing_ibear_css = input(#f23645,''
// , inline = 'ibear'
// , group = '实时内部结构')
swing_ibear_css = color.rgb(239, 54, 69)
// ifilter_confluence = input(false, '汇流过滤器'
// , group = '实时内部结构'
// ,tooltip= CONFLUENCE_FILTER)
ifilter_confluence = false
// internal_structure_size = input.string('Tiny', '内部标签大小'
// , options =
// , group = '实时内部结构')
internal_structure_size = "Tiny"
//----------------------------------------}
//Swing Structure
//----------------------------------------{
// show_Structure = input(true, '显示 Swing 结构'
// , group = '实时Swing结构'
// , tooltip = SHOW_SWING)
show_Structure = true
//Bull Structure
// show_bull = input.string('All', '看涨结构'
// , options =
// , inline = 'bull'
// , group = '实时Swing结构')
show_bull = "All"
// swing_bull_css = input(#089981, ''
// , inline = 'bull'
// , group = '实时Swing结构')
swing_bull_css = color.rgb(7, 153, 129)
//Bear Structure
// show_bear = input.string('All', '看跌结构'
// , options =
// , inline = 'bear'
// , group = '实时Swing结构')
show_bear = "All"
// swing_bear_css = input(#f23645, ''
// , inline = 'bear'
// , group = '实时Swing结构')
swing_bear_css = color.rgb(242, 54, 69)
// swing_structure_size = input.string('Small', 'Swing 标签大小'
// , options =
// , group = '实时Swing结构')
swing_structure_size = "Small"
//Swings
// show_swings = input(false, '展示 Swings 枢轴点'
// , inline = 'swings'
// , group = '实时Swing结构'
// , tooltip = SHOW_SWING_POINTS)
show_swings = true
// length = input.int(50, ''
// , minval = 10
// , inline = 'swings'
// , group = '实时Swing结构')
length = 50
// show_hl_swings = input(true, '展示 强弱、高低点'
// , group = '实时Swing结构'
// , tooltip = SHOW_SWHL_POINTS)
show_hl_swings = true
//----------------------------------------}
//Order Blocks
//----------------------------------------{
// show_iob = input(true, '内部结构订单块'
// , inline = 'iob'
// , group = '订单块'
// , tooltip = INTERNAL_OB)
show_iob = true
// iob_showlast = input.int(5, ''
// , minval = 1
// , inline = 'iob'
// , group = '订单块')
iob_showlast = 5
// show_ob = input(false, 'Swing订单块'
// , inline = 'ob'
// , group = '订单块'
// , tooltip = SWING_OB)
show_ob = false
// ob_showlast = input.int(5, ''
// , minval = 1
// , inline = 'ob'
// , group = '订单块')
ob_showlast = 5
// ob_filter = input.string('Atr', '订单块过滤'
// , options =
// , group = '订单块'
// , tooltip = FILTER_OB)
ob_filter = "Atr"
// ibull_ob_css = input.color(color.new(#3179f5, 80), 'Internal Bullish OB'
// , group = '订单块')
ibull_ob_css = color.rgb(49, 123, 248, 52)
// ibear_ob_css = input.color(color.new(#f77c80, 80), 'Internal Bearish OB'
// , group = '订单块')
ibear_ob_css = color.rgb(248, 125, 128,50)
// bull_ob_css = input.color(color.new(#1848cc, 80), 'Bullish OB'
// , group = '订单块')
bull_ob_css = color.rgb(27, 75, 207, 52)
// bear_ob_css = input.color(color.new(#b22833, 80), 'Bearish OB'
// , group = '订单块')
bear_ob_css = color.rgb(178, 40, 51,50)
//----------------------------------------}
//EQH/EQL
//----------------------------------------{
// show_eq = input(true, '双顶/双底'
// , group = 'EQH/EQL'
// , tooltip = SHOW_EQHL)
show_eq = true
// eq_len = input.int(3, 'Bars 确认'
// , minval = 1
// , group = 'EQH/EQL'
// , tooltip = EQHL_BARS)
eq_len = 3
// eq_threshold = input.float(0.1, '阈值'
// , minval = 0
// , maxval = 0.5
// , step = 0.1
// , group = 'EQH/EQL'
// , tooltip = EQHL_THRESHOLD)
eq_threshold = 0.1
// eq_size = input.string('Tiny', '标签大小'
// , options =
// , group = 'EQH/EQL')
eq_size = 'Tiny'
//----------------------------------------}
//Fair Value Gaps
//----------------------------------------{
// show_fvg = input(false, '公允价值区域'
// , group = 'Fair Value Gaps'
// , tooltip = SHOW_FVG)
show_fvg = true
// fvg_auto = input(true, "自动阈值区"
// , group = 'Fair Value Gaps'
// , tooltip = AUTO_FVG)
fvg_auto = true
// fvg_tf = input.timeframe('', "时间区间"
// , group = 'Fair Value Gaps'
// , tooltip = FVG_TF)
fvg_tf = ''
// bull_fvg_css = input.color(color.new(#00ff68, 70), 'Bullish FVG'
// , group = 'Fair Value Gaps')
bull_fvg_css = color.new(#00ff68, 70)
// bear_fvg_css = input.color(color.new(#ff0008, 70), 'Bearish FVG'
// , group = 'Fair Value Gaps')
bear_fvg_css = color.new(#ff0008, 70)
// fvg_extend = input.int(1, "Extend FVG"
// , minval = 0
// , group = 'Fair Value Gaps'
// , tooltip = EXTEND_FVG)
fvg_extend = 1
//----------------------------------------}
//Previous day/week high/low
//----------------------------------------{
//Daily
// show_pdhl = input(false, '日'
// , inline = 'daily'
// , group = '高低点展示')
show_pdhl = true
// pdhl_style = input.string('⎯⎯⎯', ''
// , options =
// , inline = 'daily'
// , group = '高低点展示')
pdhl_style = "----"
// pdhl_css = input(#2157f3, ''
// , inline = 'daily'
// , group = '高低点展示')
pdhl_css = color.rgb(34, 86, 244)
//Weekly
// show_pwhl = input(false, '周'
// , inline = 'weekly'
// , group = '高低点展示')
show_pwhl = true
// pwhl_style = input.string('⎯⎯⎯', ''
// , options =
// , inline = 'weekly'
// , group = '高低点展示')
pwhl_style = '····'
// pwhl_css = input(#2157f3, ''
// , inline = 'weekly'
// , group = '高低点展示')
pwhl_css = color.rgb(35, 87, 244)
//Monthly
// show_pmhl = input(false, '月'
// , inline = 'monthly'
// , group = '高低点展示')
show_pmhl = true
// pmhl_style = input.string('⎯⎯⎯', ''
// , options =
// , inline = 'monthly'
// , group = '高低点展示')
pmhl_style = '⎯⎯⎯'
pmhl_css = color.rgb(30, 84, 243)
// pmhl_css = input(#2157f3, ''
// , inline = 'monthly'
// , group = '高低点展示')
//----------------------------------------}
//Premium/Discount zones
//----------------------------------------{
// show_sd = input(false, '溢价折扣区'
// , group = '溢价折扣区'
// , tooltip = PED_ZONES)
show_sd = true
premium_css = color.rgb(241, 55, 70, 50)
// premium_css = input.color(#f23645, '溢价区'
// , group = '溢价折扣区')
eq_css = color.rgb(175, 178, 187, 50)
// eq_css = input.color(#b2b5be, '中间区域'
// , group = '溢价折扣区')
discount_css = color.rgb(8, 151, 127, 50)
// discount_css = input.color(#089981, '折扣区'
// , group = '溢价折扣区')
//-----------------------------------------------------------------------------}
//Functions
//-----------------------------------------------------------------------------{
n = bar_index
atr = ta.atr(200)
cmean_range = ta.cum(high - low) / n
//HL Output function
hl() =>
//Get ohlc values function
get_ohlc()=> [close , open , high, low, high , low ]
//Display Structure function
display_Structure(x, y, txt, css, dashed, down, lbl_size)=>
structure_line = line.new(x, y, n, y
, color = css
, style = dashed ? line.style_dashed : line.style_solid)
structure_lbl = label.new(int(math.avg(x, n)), y, txt
, color = TRANSP_CSS
, textcolor = css
, style = down ? label.style_label_down : label.style_label_up
, size = lbl_size)
if mode == 'Present'
line.delete(structure_line )
label.delete(structure_lbl )
//Swings detection/measurements
swings(len)=>
var os = 0
upper = ta.highest(len)
lower = ta.lowest(len)
os := high > upper ? 0 : low < lower ? 1 : os
top = os == 0 and os != 0 ? high : 0
btm = os == 1 and os != 1 ? low : 0
//Order block coordinates function
ob_coord(use_max, loc, target_top, target_btm, target_left, target_type)=>
min = 99999999.
max = 0.
idx = 1
ob_threshold = ob_filter == 'Atr' ? atr : cmean_range
//Search for highest/lowest high within the structure interval and get range
if use_max
for i = 1 to (n - loc)-1
if (high - low ) < ob_threshold * 2
max := math.max(high , max)
min := max == high ? low : min
idx := max == high ? i : idx
else
for i = 1 to (n - loc)-1
if (high - low ) < ob_threshold * 2
min := math.min(low , min)
max := min == low ? high : max
idx := min == low ? i : idx
array.unshift(target_top, max)
array.unshift(target_btm, min)
array.unshift(target_left, time )
array.unshift(target_type, use_max ? -1 : 1)
//Set order blocks
display_ob(boxes, target_top, target_btm, target_left, target_type, show_last, swing, size)=>
for i = 0 to math.min(show_last-1, size-1)
get_box = array.get(boxes, i)
box.set_lefttop(get_box, array.get(target_left, i), array.get(target_top, i))
box.set_rightbottom(get_box, array.get(target_left, i), array.get(target_btm, i))
box.set_extend(get_box, extend.right)
color css = na
if swing
if style == 'Monochrome'
css := array.get(target_type, i) == 1 ? color.new(#b2b5be, 80) : color.new(#5d606b, 80)
border_css = array.get(target_type, i) == 1 ? #b2b5be : #5d606b
box.set_border_color(get_box, border_css)
else
css := array.get(target_type, i) == 1 ? bull_ob_css : bear_ob_css
box.set_border_color(get_box, css)
box.set_bgcolor(get_box, css)
else
if style == 'Monochrome'
css := array.get(target_type, i) == 1 ? color.new(#b2b5be, 80) : color.new(#5d606b, 80)
else
css := array.get(target_type, i) == 1 ? ibull_ob_css : ibear_ob_css
box.set_border_color(get_box, css)
box.set_bgcolor(get_box, css)
//Line Style function
get_line_style(style) =>
out = switch style
'⎯⎯⎯' => line.style_solid
'----' => line.style_dashed
'····' => line.style_dotted
//Set line/labels function for previous high/lows
phl(h, l, tf, css)=>
var line high_line = line.new(na,na,na,na
, xloc = xloc.bar_time
, color = css
, style = get_line_style(pdhl_style))
var label high_lbl = label.new(na,na
, xloc = xloc.bar_time
, text = str.format('{0}H', tf)
, color = TRANSP_CSS
, textcolor = css
, size = size.small
, style = label.style_label_left)
var line low_line = line.new(na,na,na,na
, xloc = xloc.bar_time
, color = css
, style = get_line_style(pdhl_style))
var label low_lbl = label.new(na,na
, xloc = xloc.bar_time
, text = str.format('{0}L', tf)
, color = TRANSP_CSS
, textcolor = css
, size = size.small
, style = label.style_label_left)
hy = ta.valuewhen(h != h , h, 1)
hx = ta.valuewhen(h == high, time, 1)
ly = ta.valuewhen(l != l , l, 1)
lx = ta.valuewhen(l == low, time, 1)
if barstate.islast
ext = time + (time - time )*20
//High
line.set_xy1(high_line, hx, hy)
line.set_xy2(high_line, ext, hy)
label.set_xy(high_lbl, ext, hy)
//Low
line.set_xy1(low_line, lx, ly)
line.set_xy2(low_line, ext, ly)
label.set_xy(low_lbl, ext, ly)
//-----------------------------------------------------------------------------}
//Global variables
//-----------------------------------------------------------------------------{
var trend = 0, var itrend = 0
var top_y = 0., var top_x = 0
var btm_y = 0., var btm_x = 0
var itop_y = 0., var itop_x = 0
var ibtm_y = 0., var ibtm_x = 0
var trail_up = high, var trail_dn = low
var trail_up_x = 0, var trail_dn_x = 0
var top_cross = true, var btm_cross = true
var itop_cross = true, var ibtm_cross = true
var txt_top = '', var txt_btm = ''
//Alerts
bull_choch_alert = false
bull_bos_alert = false
bear_choch_alert = false
bear_bos_alert = false
bull_ichoch_alert = false
bull_ibos_alert = false
bear_ichoch_alert = false
bear_ibos_alert = false
bull_iob_break = false
bear_iob_break = false
bull_ob_break = false
bear_ob_break = false
eqh_alert = false
eql_alert = false
//Structure colors
var bull_css = style == 'Monochrome' ? #b2b5be
: swing_bull_css
var bear_css = style == 'Monochrome' ? #b2b5be
: swing_bear_css
var ibull_css = style == 'Monochrome' ? #b2b5be
: swing_ibull_css
var ibear_css = style == 'Monochrome' ? #b2b5be
: swing_ibear_css
//Labels size
var internal_structure_lbl_size = internal_structure_size == 'Tiny'
? size.tiny
: internal_structure_size == 'Small'
? size.small
: size.normal
var swing_structure_lbl_size = swing_structure_size == 'Tiny'
? size.tiny
: swing_structure_size == 'Small'
? size.small
: size.normal
var eqhl_lbl_size = eq_size == 'Tiny'
? size.tiny
: eq_size == 'Small'
? size.small
: size.normal
//Swings
= swings(length)
= swings(5)
//-----------------------------------------------------------------------------}
//Pivot High
//-----------------------------------------------------------------------------{
var line extend_top = na
var label extend_top_lbl = label.new(na, na
, color = TRANSP_CSS
, textcolor = bear_css
, style = label.style_label_down
, size = size.tiny)
if top
top_cross := true
txt_top := top > top_y ? 'HH' : 'LH'
if show_swings
top_lbl = label.new(n-length, top, txt_top
, color = TRANSP_CSS
, textcolor = bear_css
, style = label.style_label_down
, size = swing_structure_lbl_size)
if mode == 'Present'
label.delete(top_lbl )
//Extend recent top to last bar
line.delete(extend_top )
extend_top := line.new(n-length, top, n, top
, color = bear_css)
top_y := top
top_x := n - length
trail_up := top
trail_up_x := n - length
if itop
itop_cross := true
itop_y := itop
itop_x := n - 5
//Trailing maximum
trail_up := math.max(high, trail_up)
trail_up_x := trail_up == high ? n : trail_up_x
//Set top extension label/line
if barstate.islast and show_hl_swings
line.set_xy1(extend_top, trail_up_x, trail_up)
line.set_xy2(extend_top, n + 20, trail_up)
label.set_x(extend_top_lbl, n + 20)
label.set_y(extend_top_lbl, trail_up)
label.set_text(extend_top_lbl, trend < 0 ? 'Strong High' : 'Strong High')
//-----------------------------------------------------------------------------}
//Pivot Low
//-----------------------------------------------------------------------------{
var line extend_btm = na
var label extend_btm_lbl = label.new(na, na
, color = TRANSP_CSS
, textcolor = bull_css
, style = label.style_label_up
, size = size.tiny)
if btm
btm_cross := true
txt_btm := btm < btm_y ? 'LL' : 'HL'
if show_swings
btm_lbl = label.new(n - length, btm, txt_btm
, color = TRANSP_CSS
, textcolor = bull_css
, style = label.style_label_up
, size = swing_structure_lbl_size)
if mode == 'Present'
label.delete(btm_lbl )
//Extend recent btm to last bar
line.delete(extend_btm )
extend_btm := line.new(n - length, btm, n, btm
, color = bull_css)
btm_y := btm
btm_x := n-length
trail_dn := btm
trail_dn_x := n-length
if ibtm
ibtm_cross := true
ibtm_y := ibtm
ibtm_x := n - 5
//Trailing minimum
trail_dn := math.min(low, trail_dn)
trail_dn_x := trail_dn == low ? n : trail_dn_x
//Set btm extension label/line
if barstate.islast and show_hl_swings
line.set_xy1(extend_btm, trail_dn_x, trail_dn)
line.set_xy2(extend_btm, n + 20, trail_dn)
label.set_x(extend_btm_lbl, n + 20)
label.set_y(extend_btm_lbl, trail_dn)
label.set_text(extend_btm_lbl, trend > 0 ? 'Strong Low' : 'Strong Low')
//-----------------------------------------------------------------------------}
//Order Blocks Arrays
//-----------------------------------------------------------------------------{
var iob_top = array.new_float(0)
var iob_btm = array.new_float(0)
var iob_left = array.new_int(0)
var iob_type = array.new_int(0)
var ob_top = array.new_float(0)
var ob_btm = array.new_float(0)
var ob_left = array.new_int(0)
var ob_type = array.new_int(0)
//-----------------------------------------------------------------------------}
//Pivot High BOS/CHoCH
//-----------------------------------------------------------------------------{
//Filtering
var bull_concordant = true
if ifilter_confluence
bull_concordant := high - math.max(close, open) > math.min(close, open - low)
//Detect internal bullish Structure
if ta.crossover(close, itop_y) and itop_cross and top_y != itop_y and bull_concordant
bool choch = na
if itrend < 0
choch := true
bull_ichoch_alert := true
else
bull_ibos_alert := true
txt = choch ? 'CHoCH' : 'BOS'
if show_internals
if show_ibull == 'All' or (show_ibull == 'BOS' and not choch) or (show_ibull == 'CHoCH' and choch)
display_Structure(itop_x, itop_y, txt, ibull_css, true, true, internal_structure_lbl_size)
itop_cross := false
itrend := 1
//Internal Order Block
if show_iob
ob_coord(false, itop_x, iob_top, iob_btm, iob_left, iob_type)
//Detect bullish Structure
if ta.crossover(close, top_y) and top_cross
bool choch = na
if trend < 0
choch := true
bull_choch_alert := true
else
bull_bos_alert := true
txt = choch ? 'CHoCH' : 'BOS'
if show_Structure
if show_bull == 'All' or (show_bull == 'BOS' and not choch) or (show_bull == 'CHoCH' and choch)
display_Structure(top_x, top_y, txt, bull_css, false, true, swing_structure_lbl_size)
//Order Block
if show_ob
ob_coord(false, top_x, ob_top, ob_btm, ob_left, ob_type)
top_cross := false
trend := 1
//-----------------------------------------------------------------------------}
//Pivot Low BOS/CHoCH
//-----------------------------------------------------------------------------{
var bear_concordant = true
if ifilter_confluence
bear_concordant := high - math.max(close, open) < math.min(close, open - low)
//Detect internal bearish Structure
if ta.crossunder(close, ibtm_y) and ibtm_cross and btm_y != ibtm_y and bear_concordant
bool choch = false
if itrend > 0
choch := true
bear_ichoch_alert := true
else
bear_ibos_alert := true
txt = choch ? 'CHoCH' : 'BOS'
if show_internals
if show_ibear == 'All' or (show_ibear == 'BOS' and not choch) or (show_ibear == 'CHoCH' and choch)
display_Structure(ibtm_x, ibtm_y, txt, ibear_css, true, false, internal_structure_lbl_size)
ibtm_cross := false
itrend := -1
//Internal Order Block
if show_iob
ob_coord(true, ibtm_x, iob_top, iob_btm, iob_left, iob_type)
//Detect bearish Structure
if ta.crossunder(close, btm_y) and btm_cross
bool choch = na
if trend > 0
choch := true
bear_choch_alert := true
else
bear_bos_alert := true
txt = choch ? 'CHoCH' : 'BOS'
if show_Structure
if show_bear == 'All' or (show_bear == 'BOS' and not choch) or (show_bear == 'CHoCH' and choch)
display_Structure(btm_x, btm_y, txt, bear_css, false, false, swing_structure_lbl_size)
//Order Block
if show_ob
ob_coord(true, btm_x, ob_top, ob_btm, ob_left, ob_type)
btm_cross := false
trend := -1
//-----------------------------------------------------------------------------}
//Order Blocks
//-----------------------------------------------------------------------------{
//Set order blocks
var iob_boxes = array.new_box(0)
var ob_boxes = array.new_box(0)
//Delete internal order blocks box coordinates if top/bottom is broken
for element in iob_type
index = array.indexof(iob_type, element)
if close < array.get(iob_btm, index) and element == 1
array.remove(iob_top, index)
array.remove(iob_btm, index)
array.remove(iob_left, index)
array.remove(iob_type, index)
bull_iob_break := true
else if close > array.get(iob_top, index) and element == -1
array.remove(iob_top, index)
array.remove(iob_btm, index)
array.remove(iob_left, index)
array.remove(iob_type, index)
bear_iob_break := true
//Delete internal order blocks box coordinates if top/bottom is broken
for element in ob_type
index = array.indexof(ob_type, element)
if close < array.get(ob_btm, index) and element == 1
array.remove(ob_top, index)
array.remove(ob_btm, index)
array.remove(ob_left, index)
array.remove(ob_type, index)
bull_ob_break := true
else if close > array.get(ob_top, index) and element == -1
array.remove(ob_top, index)
array.remove(ob_btm, index)
array.remove(ob_left, index)
array.remove(ob_type, index)
bear_ob_break := true
iob_size = array.size(iob_type)
ob_size = array.size(ob_type)
if barstate.isfirst
if show_iob
for i = 0 to iob_showlast-1
array.push(iob_boxes, box.new(na,na,na,na, xloc = xloc.bar_time))
if show_ob
for i = 0 to ob_showlast-1
array.push(ob_boxes, box.new(na,na,na,na, xloc = xloc.bar_time))
if iob_size > 0
if barstate.islast
display_ob(iob_boxes, iob_top, iob_btm, iob_left, iob_type, iob_showlast, false, iob_size)
if ob_size > 0
if barstate.islast
display_ob(ob_boxes, ob_top, ob_btm, ob_left, ob_type, ob_showlast, true, ob_size)
//-----------------------------------------------------------------------------}
//EQH/EQL
//-----------------------------------------------------------------------------{
var eq_prev_top = 0.
var eq_top_x = 0
var eq_prev_btm = 0.
var eq_btm_x = 0
if show_eq
eq_top = ta.pivothigh(eq_len, eq_len)
eq_btm = ta.pivotlow(eq_len, eq_len)
if eq_top
max = math.max(eq_top, eq_prev_top)
min = math.min(eq_top, eq_prev_top)
if max < min + atr * eq_threshold
eqh_line = line.new(eq_top_x, eq_prev_top, n-eq_len, eq_top
, color = bear_css
, style = line.style_dotted)
eqh_lbl = label.new(int(math.avg(n-eq_len, eq_top_x)), eq_top, 'EQH'
, color = #00000000
, textcolor = bear_css
, style = label.style_label_down
, size = eqhl_lbl_size)
if mode == 'Present'
line.delete(eqh_line )
label.delete(eqh_lbl )
eqh_alert := true
eq_prev_top := eq_top
eq_top_x := n-eq_len
if eq_btm
max = math.max(eq_btm, eq_prev_btm)
min = math.min(eq_btm, eq_prev_btm)
if min > max - atr * eq_threshold
eql_line = line.new(eq_btm_x, eq_prev_btm, n-eq_len, eq_btm
, color = bull_css
, style = line.style_dotted)
eql_lbl = label.new(int(math.avg(n-eq_len, eq_btm_x)), eq_btm, 'EQL'
, color = #00000000
, textcolor = bull_css
, style = label.style_label_up
, size = eqhl_lbl_size)
eql_alert := true
if mode == 'Present'
line.delete(eql_line )
label.delete(eql_lbl )
eq_prev_btm := eq_btm
eq_btm_x := n-eq_len
//-----------------------------------------------------------------------------}
//Fair Value Gaps
//-----------------------------------------------------------------------------{
var bullish_fvg_max = array.new_box(0)
var bullish_fvg_min = array.new_box(0)
var bearish_fvg_max = array.new_box(0)
var bearish_fvg_min = array.new_box(0)
float bullish_fvg_avg = na
float bearish_fvg_avg = na
bullish_fvg_cnd = false
bearish_fvg_cnd = false
=
request.security(syminfo.tickerid, fvg_tf, get_ohlc())
if show_fvg
delta_per = (src_c1 - src_o1) / src_o1 * 100
change_tf = timeframe.change(fvg_tf)
threshold = fvg_auto ? ta.cum(math.abs(change_tf ? delta_per : 0)) / n * 2
: 0
//FVG conditions
bullish_fvg_cnd := src_l > src_h2
and src_c1 > src_h2
and delta_per > threshold
and change_tf
bearish_fvg_cnd := src_h < src_l2
and src_c1 < src_l2
and -delta_per > threshold
and change_tf
//FVG Areas
if bullish_fvg_cnd
array.unshift(bullish_fvg_max, box.new(n-1, src_l, n + fvg_extend, math.avg(src_l, src_h2)
, border_color = bull_fvg_css
, bgcolor = bull_fvg_css))
array.unshift(bullish_fvg_min, box.new(n-1, math.avg(src_l, src_h2), n + fvg_extend, src_h2
, border_color = bull_fvg_css
, bgcolor = bull_fvg_css))
if bearish_fvg_cnd
array.unshift(bearish_fvg_max, box.new(n-1, src_h, n + fvg_extend, math.avg(src_h, src_l2)
, border_color = bear_fvg_css
, bgcolor = bear_fvg_css))
array.unshift(bearish_fvg_min, box.new(n-1, math.avg(src_h, src_l2), n + fvg_extend, src_l2
, border_color = bear_fvg_css
, bgcolor = bear_fvg_css))
for bx in bullish_fvg_min
if low < box.get_bottom(bx)
box.delete(bx)
box.delete(array.get(bullish_fvg_max, array.indexof(bullish_fvg_min, bx)))
for bx in bearish_fvg_max
if high > box.get_top(bx)
box.delete(bx)
box.delete(array.get(bearish_fvg_min, array.indexof(bearish_fvg_max, bx)))
//-----------------------------------------------------------------------------}
//Previous day/week high/lows
//-----------------------------------------------------------------------------{
//Daily high/low
= request.security(syminfo.tickerid, 'D', hl()
, lookahead = barmerge.lookahead_on)
//Weekly high/low
= request.security(syminfo.tickerid, 'W', hl()
, lookahead = barmerge.lookahead_on)
//Monthly high/low
= request.security(syminfo.tickerid, 'M', hl()
, lookahead = barmerge.lookahead_on)
//Display Daily
if show_pdhl
phl(pdh, pdl, 'D', pdhl_css)
//Display Weekly
if show_pwhl
phl(pwh, pwl, 'W', pwhl_css)
//Display Monthly
if show_pmhl
phl(pmh, pml, 'M', pmhl_css)
//-----------------------------------------------------------------------------}
//Premium/Discount/Equilibrium zones
//-----------------------------------------------------------------------------{
var premium = box.new(na, na, na, na
, bgcolor = color.new(premium_css, 80)
, border_color = na)
var premium_lbl = label.new(na, na
, text = 'Premium'
, color = TRANSP_CSS
, textcolor = premium_css
, style = label.style_label_down
, size = size.small)
var eq = box.new(na, na, na, na
, bgcolor = color.rgb(120, 123, 134, 80)
, border_color = na)
var eq_lbl = label.new(na, na
, text = 'Equilibrium'
, color = TRANSP_CSS
, textcolor = eq_css
, style = label.style_label_left
, size = size.small)
var discount = box.new(na, na, na, na
, bgcolor = color.new(discount_css, 80)
, border_color = na)
var discount_lbl = label.new(na, na
, text = 'Discount'
, color = TRANSP_CSS
, textcolor = discount_css
, style = label.style_label_up
, size = size.small)
//Show Premium/Discount Areas
if barstate.islast and show_sd
avg = math.avg(trail_up, trail_dn)
box.set_lefttop(premium, math.max(top_x, btm_x), trail_up)
box.set_rightbottom(premium, n, .95 * trail_up + .05 * trail_dn)
label.set_xy(premium_lbl, int(math.avg(math.max(top_x, btm_x), n)), trail_up)
box.set_lefttop(eq, math.max(top_x, btm_x), .525 * trail_up + .475*trail_dn)
box.set_rightbottom(eq, n, .525 * trail_dn + .475 * trail_up)
label.set_xy(eq_lbl, n, avg)
box.set_lefttop(discount, math.max(top_x, btm_x), .95 * trail_dn + .05 * trail_up)
box.set_rightbottom(discount, n, trail_dn)
label.set_xy(discount_lbl, int(math.avg(math.max(top_x, btm_x), n)), trail_dn)
//-----------------------------------------------------------------------------}
//Trend
//-----------------------------------------------------------------------------{
var color trend_css = na
if show_trend
if style == 'Colored'
trend_css := itrend == 1 ? bull_css : bear_css
else if style == 'Monochrome'
trend_css := itrend == 1 ? #b2b5be : #5d606b
plotcandle(open, high, low, close
, color = trend_css
, wickcolor = trend_css
, bordercolor = trend_css
, editable = false)
//-----------------------------------------------------------------------------}
//Alerts
//-----------------------------------------------------------------------------{
//Internal Structure
alertcondition(bull_ibos_alert, 'Internal Bullish BOS', 'Internal Bullish BOS formed')
alertcondition(bull_ichoch_alert, 'Internal Bullish CHoCH', 'Internal Bullish CHoCH formed')
alertcondition(bear_ibos_alert, 'Internal Bearish BOS', 'Internal Bearish BOS formed')
alertcondition(bear_ichoch_alert, 'Internal Bearish CHoCH', 'Internal Bearish CHoCH formed')
//Swing Structure
alertcondition(bull_bos_alert, 'Bullish BOS', 'Internal Bullish BOS formed')
alertcondition(bull_choch_alert, 'Bullish CHoCH', 'Internal Bullish CHoCH formed')
alertcondition(bear_bos_alert, 'Bearish BOS', 'Bearish BOS formed')
alertcondition(bear_choch_alert, 'Bearish CHoCH', 'Bearish CHoCH formed')
//order Blocks
alertcondition(bull_iob_break, 'Bullish Internal OB Breakout', 'Price broke bullish internal OB')
alertcondition(bear_iob_break, 'Bearish Internal OB Breakout', 'Price broke bearish internal OB')
alertcondition(bull_ob_break, 'Bullish Swing OB Breakout', 'Price broke bullish swing OB')
alertcondition(bear_ob_break, 'Bearish Swing OB Breakout', 'Price broke bearish swing OB')
//EQH/EQL
alertcondition(eqh_alert, 'Equal Highs', 'Equal highs detected')
alertcondition(eql_alert, 'Equal Lows', 'Equal lows detected')
//FVG
alertcondition(bullish_fvg_cnd, 'Bullish FVG', 'Bullish FVG formed')
alertcondition(bearish_fvg_cnd, 'Bearish FVG', 'Bearish FVG formed')
//-----------------------------------------------------------------------------}
// period = str.tonumber(timeframe.period)
// dailyHigh = request.security(syminfo.tickerid, "1D", ta.highest(dailyHighAndLowLength))
// dailyLow = request.security(syminfo.tickerid, "1D", ta.lowest(dailyHighAndLowLength))
// var line dh_line = na
// var line dl_line = na
// line.delete(dh_line )
// line.delete(dl_line )
// dh_line := line.new(bar_index, dailyHigh, bar_index + 20, dailyHigh, color = color.purple, style = line.style_dashed, width = 2)
// dl_line := line.new(bar_index, dailyLow, bar_index + 20, dailyLow, color = color.purple, style = line.style_dashed, width = 2)
// line.set_x1(dh_line, bar_index)
// line.set_x2(dh_line, bar_index + 20)
// line.set_y1(dh_line, dailyHigh)
// line.set_y2(dh_line, dailyHigh)
// line.set_x1(dl_line, bar_index)
// line.set_x2(dl_line, bar_index + 20)
// line.set_y1(dl_line, dailyLow)
// line.set_y2(dl_line, dailyLow)
// plot(dailyHigh, color = color.purple)
// plot(dailyLow, color = color.purple)
// var line _line1 = na
// // var line2 = line.new(bar_index - 20, ta.lowest(int(1440 / period)), bar_index + 20, ta.lowest(int(1440 / period)))
// // line.delete(line1)
// // var line1 = line.new(bar_index,0,0,0)
// // var line2 = line.new()
// line.set_x1(_line1, bar_index)
// line.set_x2(_line1, bar_index + 20)
// line.set_y1(_line1, ta.highest(int(1440 / period)))
// line.set_y2(_line1, ta.highest(int(1440 / period)))
// line.set_xloc(line1, time, time + 60 * 60 * 24, xloc.bar_time)
// line.set_color(line2, color.green)
// line.set_width(line2, 5)
// var line1 = line.new(bar_index - 20, ta.highest(int(1440 / period)), bar_index + 20, ta.highest(int(1440 / period)))
// var line2 = line.new(bar_index - 20, ta.lowest(int(1440 / period)), bar_index + 20, ta.lowest(int(1440 / period)))
// line.set_x1(line1, bar_index - 20)
// dailyHigh = request.security(syminfo.tickerid, "1D", ta.highest(1))
// dailyLow = request.security(syminfo.tickerid, "1D", ta.lowest(1))
// plot(dailyHigh, color = color.purple)
// plot(dailyLow, color = color.purple)
Sri-VWAP CTF)Title: Sri-VWAP CTF
Description:
The Sri-VWAP CTF indicator is a customizable Volume Weighted Average Price (VWAP) tool designed to provide clear trend insight across multiple timeframes. It allows traders to plot VWAP from a higher or custom timeframe directly onto their chart, giving a more precise perspective of price action and market bias.
Key Features:
Custom VWAP Period: Choose the period over which VWAP is calculated to suit your trading style.
Custom Timeframe (CTF): Plot VWAP from any timeframe (e.g., 15-min, 30-min, 1-hour, daily) onto your current chart.
Flexible Plot Modes:
Show only on HTF bars – VWAP is visible only on higher timeframe bars.
Hold between HTF bars – VWAP is carried forward between higher timeframe bars for continuous reference.
Smooth Integration: VWAP is calculated using typical price and volume, giving a dynamic average price that reflects market flow.
Clear Visualization: High-contrast teal line for easy identification on any chart.
Recommended Use:
Identify intraday support and resistance based on VWAP from higher timeframes.
Gauge market bias and confirm trend direction.
Combine with other technical indicators for enhanced decision-making.
Pros:
Easy to read and interpret.
Supports multi-timeframe analysis.
Lightweight and efficient for any chart type.
Inputs for Users:
VWAP Period – Number of bars to calculate VWAP.
Custom Timeframe – Select any timeframe to reference VWAP.
Plot Mode – Choose how the VWAP is displayed between higher timeframe bars.
Note: This indicator overlays directly on your chart and adapts dynamically to price and volume changes on the selected timeframe.
TRADE ORBIT:-RSI Multi-Timeframe DashboardThis indicator displays RSI (Relative Strength Index) values across multiple timeframes in a convenient dashboard directly on your chart. It provides an at-a-glance view of market momentum from 3-month down to 5-minute charts, making it ideal for swing trading, intraday trading, and scalping strategies.
Features:
Calculates RSI for the following timeframes:
3-Month (3M)
Monthly (M)
Weekly (W)
Daily (D)
Hourly (60 min)
15-Minute
5-Minute
Highlights RSI zones with background colors for quick visual interpretation:
Strong Overbought: > 70 (Blue)
Mild Overbought: 60.1–70 (Green)
Neutral Zone: 40–60 (Yellow)
Mild Oversold: 30–39.9 (Red)
Strong Oversold: < 30 (Black)
Global Crash & Rally IndicatorGlobal Crash & Rally Indicator for TradingView:
Detect Market Crashes and Rallies with Precision
Unlock the Power of Global Market Insights:
Your Ultimate Stock Market Crash Detector and Rally Signal Tool 📈⚠️
In the volatile world of stock trading, staying ahead of market crashes and spotting rally opportunities can make all the difference between massive gains and devastating losses.
The Global Crash & Rally Indicator – a cutting-edge TradingView Pine Script tool, has been designed to monitor global financial signals in real-time. Whether you're a day trader, swing trader, or long-term investor, this indicator acts as your early warning system for potential market downturns and upswings, helping you navigate the complexities of the stock market with confidence.
Traders often search "stock market crash indicator," "global rally detector," "TradingView crash alert," and "market volatility tool,", this indicator ends your endless search and is a must-try for serious traders who want to protect their portfolio and capitalize on bullish/bearish trends.
What Makes the Global Crash & Rally Indicator Stand Out? 🚀
This advanced indicator goes beyond basic price analysis by integrating a wide array of global economic and market factors. It scans for signs of stress across major indices, volatility measures, currency movements, and commodity prices to provide a comprehensive view of market health. Here's what you can expect:
Real-Time Crash Warnings ⚠️ :
Get alerted to potential market crashes through color-coded signals – from watchful orange alerts to critical red crisis modes. It identifies emerging risks early, giving you time to adjust your positions.
Rally Detection for Bullish Opportunities 📈 :
Not just a downside protector, this tool highlights bullish regimes with green signals, spotting when markets are poised for strong upward moves. Ideal for identifying entry points during recoveries or bull runs and tells you when you can stay in the trade.
Multi-Factor Analysis 🔍 :
it monitors key global elements like volatility spikes, yield changes, risk-off assets, breadth metrics, and more – all without overwhelming you with data. The intuitive table UI displays metrics, values, risks, and notes in an easy-to-read format.
Probability Estimates 📊 :
The probability model of this Indicator offers probabilistic insights into downside and upside risks, helping you gauge the likelihood of market moves with percentage-based forecasts.
Customizable Alerts 🔔 :
Set up notifications for crash cautions, crisis starts, rally watches, and rally go signals by setting up just 01 alert. Perfect for day trading strategies or manual oversight.
Optimized for Traders ⚙️:
Whether searching for "best TradingView indicator for market crashes" or "global stock rally scanner," this tool ranks high in utility, delivering actionable insights tailored to US and international markets.
With its focus on intraday timeframes (like 5-min, 15-min, or 60-min charts), the indicator is versatile for use on major indices such as SPX, VIX, DXY, and beyond. It's built to handle up to 5000 bars back, ensuring historical accuracy without performance lags.
How to Use the Global Crash & Rally Indicator on TradingView 🛠️
Add to Your Chart: Search for "Global Crash & Rally Indicator" in TradingView's indicator library and apply it to your preferred chart (e.g., SPX or ES futures).
Customize Settings: Adjust inputs like analysis timeframe, thresholds for warnings, and optional filters (e.g., currency jumps) to fit your trading style. Enable 3-of-4 warning mode for stricter signals.
Interpret the Signals:
Background Colors: Green for safe/bullish, orange for warnings, red for crises.
Table Breakdown:
Check the on-chart table for detailed metrics on VIX changes, breadth, basis stress, and macro health.
Alerts:
Use the built-in alert conditions to get notified via email, app, or webhook when key events trigger.
Combine with Strategies:
Pair it with your favorite oscillators, moving averages, or volume indicators for enhanced decision-making in forex, stocks, crypto, or commodities.
No need for complex setups –
it's plug-and-play, yet powerful enough for professional traders monitoring global events.
Why Traders Love This Market Volatility Tool ❤️
Imagine having a "sixth sense" for when the market is about to crack or soar. Users rave about its ability to flag hidden risks that traditional indicators miss, such as subtle shifts in market depth or global macro stress. It's not just a crash detector; it's a rally detector too, helping you ride waves of optimism while sidestepping pitfalls.
In an era of geopolitical tensions, economic uncertainties, and rapid news cycles, this indicator empowers you to trade smarter. It's SEO-friendly for discovering terms like "best indicator for detecting stock market rallies" or "global financial crash predictor," ensuring you find the edge you need.
Best Features and Rating 🤖
Various AI tools rate its best features to be its holistic multi-factor approach that blends volatility, breadth, and macro signals into a seamless, probabilistic framework, plus the user-friendly table UI that makes complex data meaningful at a glance.
Join the Conversation! 💬
What are your thoughts on the Global Crash & Rally Indicator? Have you spotted any crashes or rallies using similar tools? Share your experiences, strategies, or questions in the comments below – let's discuss and help each other thrive in the markets! Get connected for a free trial via contact method mentioned in our profile page.
Phoenix Smart ZoneThe Golden Trend Cloud Indicator is a professional trend-identification tool that combines Ichimoku Cloud with a 20-period Moving Average (MA20) to clearly define the market’s dominant direction.
It visually highlights bullish and bearish momentum using dynamic support and resistance zones derived from the Kumo cloud structure.
Teckmann Ribbon ScalperA scalping indicator is a technical tool designed to provide quick, high-probability trade signals in short timeframes, typically 1–5 minutes. It identifies immediate market opportunities by detecting rapid price movements, trend direction, and potential reversals. Common features include moving average crossovers, momentum oscillators, and price action patterns, often enhanced with visual cues like arrows or alerts for instant buy or sell entries. The goal is to maximize small, frequent profits while minimizing exposure to market noise.Follow the signal at the close of 2nd or 3rd candle after the ribbon changes.
EDGAR Signal System (ESS)
EDGAR SIGNAL SYSTEM (ESS)
This indicator is designed for clear institutional-level trade signals using daily reference levels to guide entries across all timeframes.
It combines three core systems in one:
📊 Daily Base Line — detects key institutional zones where price is likely to react or revers
🎯 Precision Signals — generates BUY/SELL labels only when price aligns with institutional levels
With the ESS System, you no longer need to guess market direction — it highlights real-time signals where price respects institutional zones, allowing you to synchronize your entries with professional trading levels.
TRADING RULES:
BUY when:
There is a "BUY" label
Price is BELOW the blue base line
SELL when:
There is a "SELL" label
Price is ABOVE the blue base line
WAIT when:
No signal present, OR
Signal and base line position don't match
Dashboard Guide:
SIGNAL: Shows current BUY/SELL/WAIT status
POSITION: Shows if price is ABOVE/BELOW base line
Green = Good for entry
Red = Good for exit
Orange = Wait for better setup
KAB 1.2 Beta🚀 KAB 1.2 Indicator by Lastkingkoby 📈
Unlock the power of smart trading with KAB 1 – your ultimate all-in-one tool for spotting 🔑 support/resistance levels and generating 💰 gold-standard buy/sell signals! Crafted by Koby A. Brown (@Lastkingkoby), this Pine Script v5 indicator overlays directly on your charts for seamless analysis. Perfect for traders hunting for high-probability setups in volatile markets! 🌟
🔰 Key Features:
Dynamic Support & Resistance Lines 🛡️⚔️:
Automatically draws robust S/R lines using a blend of RSI, CMO (based on HMA), and pivot calculations. Watch lines evolve in real-time – they break on breaches 🚧, count bounces 🔄, and even flip roles (e.g., support turns resistance) when conditions change! Customizable timeframe for multi-TF precision. Labels show "Support Line" or "Flipped Res" with color-coded vibes (green for support 💚, orange for resistance 🟠).
Gold Prediction & Signals 🔮💹:
Powered by a sophisticated range filter with smoothed averages and multipliers, it detects trends with upward/downward counters. Get clear bar colors: lime for strong buys 🟢, red for sells 🔴, and more! Signals include:
Buy/Long 💸: Bullish conditions with SL suggestions based on lower bands.
Sell/Short 🐻: Bearish triggers with SL from upper bands.
Warning Alerts ⚠️: Spots potential failed bounces (e.g., "Short Warn" or "Long Warn") to avoid traps – ideal for risk management!
Visuals & Alerts 📊🚨:
Enjoy colorful plots: filter line in green/red/orange 🎨, high/low bands in aqua/fuchsia with translucent fills 🌈. Bar colors highlight momentum shifts. Set up alerts for new S/R lines, buys, sells, and warnings – never miss a move!
📝 How to Use:
Add to your chart and tweak inputs like S/R Timeframe, Gold Period (default 100), or Range Coeff (default 5.0) for your style.
Look for confluences: Buy near flipped support 💪, sell at resistance breakdowns 📉.
Combine with your strategy for crypto, forex, or stocks – it's overlay-friendly!
Pro Tip: Use on higher timeframes for major levels, lower for intraday scalps. Trade smart, stay profitable! 🤑📉
© Koby "Lastkingkoby" Brown – Elevate your game today! 🚀
Z-Signal Pro: RSI+BBThe indicator utilizes RSI and Bollinger Bands, incorporates additional logic to filter out noisy signals, and produces long and short entries.
Trader Jumblo Apex Pro Signal — Confirmed The Trader Jumblo Apex Signal Pro indicator is a precision-based market reversal tool designed to identify potential turning points in price with a strong confirmation logic.
Unlike standard momentum or crossover systems, this tool focuses on confirmed reaction zones, allowing traders to anticipate high-probability shifts in market direction.
Built with adaptive multi-filter logic and confirmation weighting, it minimizes false signals and only triggers entries under specific structural conditions.
The indicator integrates dynamic volatility levels for automatic stop-loss and take-profit projection using a fixed risk-reward calibration (2:4), maintaining consistency and discipline in trade management.
Key Features:
• Smart confirmation logic for precision entries
• Adaptive 2:4 risk-reward framework
• Automatic SL/TP projection
• Candle-confirmation filtering for stronger setups
• Fully compatible with alerts (BUY, SELL, TP, SL)
Best used on: 1-5 minute or 15-minute charts for short-term confirmation trading.
⚠️ Note: This tool is optimized for traders who prioritize precision entries over frequent signals. Each signal represents a confirmed market reaction — not a predictive guess.
A precision reversal confirmation system designed to catch high-probability turning points with strict entry logic and fixed 2:4 risk-reward control.
Momentum Flow FusionWhat it is
Momentum Flow Fusion is a non-repainting momentum-and-money-flow oscillator designed for crypto but robust across all markets and timeframes. It fuses an original dual-wave momentum engine with a composite money-flow score, adds adaptive bands, and optionally gates entries/exits with higher-timeframe confirmation, trend, VWAP proximity, and session filters.
What makes it original
Momentum without RSI or WaveTrend clones: The oscillator is built from a detrended price base (TP = H+L+C / 3 minus its EMA). That detrended series is normalized by a rolling z-score and mapped through a logistic function into 0–100. Two independent waves (fast/slow) are derived from this base, producing momentum cross and regime signals without borrowing RSI or open-source WaveTrend code.
Composite FlowScore (multi-factor money flow): Four clean-room components are independently normalized to 0–100, then combined with user-set weights:
MFI (custom): Typical price × volume flows, accumulated over a window and normalized.
CMF: Chaikin-style Close Location Value × volume, then mapped from to .
OBV-like: Signed cumulative volume (by close-to-close direction), normalized over a rolling min–max.
Signed Delta: Hybrid sign (close-to-close with body fallback), normalized by the rolling sum of absolute deltas (scale-invariant).
This produces a single FlowScore suitable for capital-in/out regimes that adapts to asset volatility.
Adaptive thresholds everywhere: Both the momentum fast wave and FlowScore are surrounded by dynamic bands using rolling mean ± z·stddev, which adjust automatically across regimes rather than relying on fixed levels.
MTF gating on entries and exits: With lookahead_off, the same conditions that qualify a trade on the current timeframe must also be true on a higher timeframe (momentum alignment, FlowScore above/below its mean, and optional EMA trend direction). This reduces false positives and prevents repaint artifacts.
Practical risk filters: Optional VWAP distance guard (skip extended entries far from session VWAP) and session/weekend filters to align with your venue’s trading hours. All signals can be confirmed on bar close only to avoid intrabar flicker.
How it works (concepts)
Momentum Waves (0–100)
Base series: z = (TP − EMA(TP, baseLen)) normalized by rolling mean/std.
FastWave = EMA(z, fastSmooth), SlowWave = EMA(z, slowSmooth).
Logistic mapping: WaveN = 100 · (1 / (1 + e^(−scale · Wave))).
Signals: Fast crossing above Slow with Fast above its mean-band suggests positive momentum regime; inverse for negative.
FlowScore (0–100, weighted)
MFI: Sum of positive/negative money flow (TP×Vol) across mfiLen, normalized to 0–100 by pos / (pos+neg).
CMF: CLV = (2C − H − L) / (H − L), volume-weighted over cmfLen; mapped to 0–100.
OBV-like: Cumulative sign(volume) by close-to-close direction; normalized over rolling min–max.
Delta: Volume times hybrid sign (close-to-close, fallback to body sign); normalized by rolling |delta| sum for robustness.
FlowScore = weighted average of the four normalized components with user-defined weights (internally normalized to sum to 1).
Adaptive Bands
Momentum banding: mean ± z·std of FastWave (0–100).
FlowScore banding: mean ± z·std of FlowScore (0–100).
Bands are used to frame momentum/flow expansions, pullbacks, and mean reversion.
Filters and gating
Trend: EMAfast > EMAslow (long) or EMAfast < EMAslow (short) on both current TF and HTF (optional).
VWAP guard: Reject entries when |Close−VWAP|/VWAP exceeds a threshold (%).
Session: Only allow signals within configured hours; optional weekend filter.
Confirm-on-close: All entries/exits can be gated to trigger only on confirmed bars.
How to use it
Long bias setup:
FastWave crosses above SlowWave and remains above it.
FlowScore > its mean (or above its upper band for aggressive continuation).
Optional: EMAfast > EMAslow (trend), VWAP distance within threshold, MTF gating true on HTF.
Entry: On the bar close when conditions align (if confirm-on-close is enabled).
Exit: Opposite momentum cross (Fast below Slow), FlowScore falling below mean, or trend flip; exits can also be MTF-gated.
Short bias setup: Mirror the long logic.
Interpreting FlowScore:
Sustained readings above its mean signal net capital inflow; below signal outflow.
Use adaptive bands to identify expansion (above upper band), consolidation (inside bands), and reversion (pullbacks to mean).
Tuning by market/timeframe:
Crypto intraday (scalping): baseLen 21–34, fastSmooth 3–5, slowSmooth 8–12, bandZ 1.2–1.5, mtfTf = 60–240.
Swing (any market): baseLen 34–55, fastSmooth 5–8, slowSmooth 14–21, bandZ 1.5–2.0, mtfTf = D or W.
Flow weights: Increase wDelta and wOBV for perp-heavy or derivatives-driven markets; increase wMFI and wCMF for spot-dominant venues.
Alerts: Enable long/short entry/exit alerts to integrate with automation. For the cleanest behavior, keep confirm-on-close enabled.
Why it’s closed-source
This script implements an original, clean-room momentum oscillator (detrended price → z-score → logistic 0–100 mapping) and an original composite money flow build (MFI/CMF/OBV-like/Delta individually normalized with robust scalers and weighted into a single FlowScore), plus adaptive banding and strict MTF gating on both entries and exits. It does not reproduce open-source WaveTrend/RSI or imported library logic, and it’s engineered to avoid repainting and reduce overfitting through robust normalization and gating. The protected source preserves these design choices and optimization work.
Best practices and tips
Always evaluate with confirm-on-close to avoid intrabar noise.
Use MTF gating in trending environments; consider disabling in very low timeframe scalps where responsiveness is critical.
If you get too few signals, reduce bandZ and/or relax the trend/VWAP filters; if too many, raise bandZ and/or tighten the VWAP threshold.
Keep weights simple (e.g., 0.4/0.3/0.2/0.1) and adjust slowly. Over-tuning weights to a single asset/timeframe can reduce generalization.
Limitations
Volume-derived components can behave differently across venues (spot vs derivatives); re-tune weights accordingly.
Extremely illiquid symbols or gaps may distort rolling normalizations; widen windows or rely more on momentum waves in those cases.