EMA MACD Swing Set upUsed EMA and MACD, Targeted to help you simply identify the trending stocks. Can be used for Buy and Sell side trades
Сферы применения Pine
Backtest Pro - The TradingView Backtesting EngineBacktest your indicators — no strategy code required. Backtest Pro is the next-generation backtesting engine for smarter testing. Simply link your signals, set your stops, and start testing.
With its upgraded UI/UX and fundamentally improved stop system, Backtest Pro replaces the legacy PSE (Practical Strategy Engine) and sets a new standard for TradingView backtesting. It delivers more accurate intrabar trailing stops, flexible stop types (Points, ATR Multiplier, %), and a smoother workflow for greater precision and control.
Once loaded on your chart, Backtest Pro appears as BT Pro as the script title and in the Strategy Tester, alerts, and chart labels.
Beyond the core stop and pyramiding logic, Backtest Pro also introduces:
A clearer Data Window for reviewing trade details.
Improved signal labels in the Strategy Tester’s List of Trades for easier log analysis.
Updated chart labels that align better with TradingView’s native style and make signals easy to interpret. Together, these improvements make Backtest Pro the most practical and user-friendly way to backtest indicator-based trading signals in TradingView.
Copyright © 2025 CoinOperator
________________________________________________________________________________
🚀 Why Traders Choose Backtest Pro
Answer in minutes what used to take days of manual testing.
Backtest Pro is a drop-in, ready-to-use backtesting engine that links to your indicator with just a few simple connection lines. It provides more accurate intrabar trailing stops, multiple stop types (Points, ATR Multiplier, %), and a smoother workflow for greater precision and control.
Whether you’re running a quick test or fine-tuning complex strategies, Backtest Pro helps you reach clearer insights faster.
________________________________________________________________________________
👤 Who Backtest Pro Is For
Backtest Pro is designed for traders who already have a trading methodology or entry/exit logic and want professional-grade validation and risk analysis.
Backtest Pro is not a signal service and does not provide discretionary trade recommendations. All entries and exits — including alerts used for automation — are generated solely from user-defined logic.
You bring the logic — Backtest Pro provides the structure, metrics, and discipline.
Backtest Pro helps swing traders, day traders, and strategy developers streamline the backtesting process without sacrificing depth or accuracy. It offers flexible stop management, enhanced Data Window metrics, refined Strategy Tester labeling, and clean on-chart visuals to support consistent evaluation.
Backtest Pro supports trading and backtesting on futures (continuous contracts), forex, crypto, stocks, ETFs, and commodity/index CFDs (tradable if offered by your broker).
________________________________________________________________________________
⚡ Quick Start
Add Backtest Pro to your chart. It appears as BT Pro as the script title and in the Strategy Tester, alerts, and chart labels.
Add a few connector lines to your indicator, then link your custom entry and exit signals.
Adjust position sizing, stops, and pyramiding.
Run the TradingView Strategy Tester for instant results.
________________________________________________________________________________
🔄 From PSE to Backtest Pro
Backtest Pro builds on the foundation of the PSE (Practical Strategy Engine), evolving it into a more refined tool. While PSE introduced flexible stop handling, Backtest Pro enhances the experience with:
More accurate intrabar trailing stops
Expanded stop type options (Points, ATR Multiplier, %)
Upgraded Data Window for easier review
Clearer trade signals in the Strategy Tester
Cleaner, more consistent chart labels
Wash Sale Prevention is Now Optional. If enabled, it only applies to assets of types stock and fund.
🛠 INPUTS TAB SETTING
📅 Trading Window
Enable Trading Window to define the date/time when trading is allowed. Disable to trade the entire market data.
Partition the time when trading is allowed to see if your indicator settings work well across the different ranges. Your resulting metrics should be acceptable across all four (4) ranges: entire range, 1st half, IQR, and 2nd half.
Show Trading Window Lines – Enable to draw vertical lines at the start and end of the trading window for clear visual definition of when trading is allowed.
💰 Position Sizing (Money Management)
Separating the equity risk into initial position and pyramid position allows for greater ability to maximize profits within your acceptable drawdown.
Note : Position sizing is determined on the anticipated fill price which is affected by the maximum of slippage and selected price gap (discussed in the Execution Rules section). Max Equity per Position (%) : This setting applies to each position within a trade group . Limits the position size and will not exceed this amount. Set as desired. Default is 20% for non-leverage trading. For leveraged trading, adjust accordingly. Example: for 3× leverage, enter 300 (3 × 100 = 300).
Max Equity Drawdown Warning (%) : Triggers an alert if the strategy’s equity drawdown exceeds this threshold. Select the method to use for this warning. If BT Pro, then it is based on peak equity at bar-close. If TradingView, then it is based on the built-in variable strategy.max_drawdown_percent. Helps you manage strategy-level risk tolerance.
Scaled Pyramiding : Adjusts position size incrementally for each pyramid entry—either decreasing or increasing exposure relative to the prior entry.
Start Position: The entry number at which scaling begins. For example, 3 means scaling starts on the 2nd pyramid (the 3rd entry overall).
Chg(%): The percentage change applied to each subsequent pyramid entry.
Max(%): The maximum cumulative reduction allowed when scaling downward. Ignored for upward scaling because increases are already capped by Max Equity per Position (%).
⚖️ Execution Rules
Trade Direction : Select either Both , Long Only, or Short Only.
Alert Failed to Trade – Enable to alert you when a trade did not happen due to low equity or low order size. Applicable only for the first position of a trade group.
Cooldown Period : Controls how long the engine waits after an exit before allowing a new trade group. Backtest Pro also applies a small built-in safeguard to prevent unrealistic same-bar flips: ● 1 bar minimum for same-direction entries
● 2 bars minimum for direction changes
Prevent Wash Sales : Enable if you want the Backtest Pro to enforce a minimum cooldown period of 30 days for trade groups that result in a loss. Only applies to assets of types stock and fund.
Pyramid Conditions with Price Gaps : Dwn Gap and Up Gap refer to price gaps. A price gap is the difference between the closing price of the previous candle and the opening price of the current candle, and their value is shown in the Data Window. Selection options include: disabled (the default), median, avg, p80 (for 80th percentile), and p90 (for 90th percentile). The values reflect ~500 most recent bars from the cursor position. Disabled sets the Dwn Gap and Up Gap to zero in the below logic. Pyramids require a tailing stop loss, TSL. The price gaps are used in conditions for pyramids:
To ensure the previous position is protected when opening a pyramid position. A new pyramid position will not open until its trailing stop loss protects the prior position.
To prevent a pyramid position from becoming a loss when too close to a take profit level, TP (if enabled), due to commission cost.
The logic for #1 and #2 is as follows:
For a Long Pyramid: TSL: Stop Price - max(DwnGap, slippage) > LastEntryPrice
TP (if enabled): Long take profit > close + max(UpGap, slippage) AND gain > commission cost
For a Short Pyramid:
TSL: Stop Price + max(UpGap, slippage) < LastEntryPrice
TP (if enabled): Short take profit < close - max(DwnGap, slippage) AND gain > commission cost
Show All Gap Stats in Data Window
Enable to show all price gap statistics in the Data Window to review market conditions.
Disable for the Backtest Pro to run most efficiently.
Note: Statistics selected in Dwn Gap and Up Gap settings are always shown, regardless of this option.
🛑 Exit Strategy (Risk Management)
Backtest Pro supports multiple stop loss styles, giving traders the tools to backtest strategies in TradingView with precision:
The Exit Strategy applies a common protective stop across the entire trade group.
Pyramids require a trailing stop loss. A new pyramid position will not open until its trailing stop loss protects the prior position.
Plot Stop Level : You can plot the stop level either as of bar close (the default) or as of bar open. This only affects the visual plot. The underlying logic does not change. The trades will be the same regardless of the setting.
ATR Length : The ATR Length is used with the ATR multiplier and is common to stop loss, SL, trailing stop loss, TSL, take profit, TP, and the time-based exit option. It is the number of bars (periods) used in ATR calculation.
Price-Based Exits Stop Loss and Trailing Stop Loss options are Points, ATR Multiplier, and %.
The Trailing Stop Loss is activated from entry of the initial position of a trade group.
Take Profit options are Points, ATR Multiplier, %, and R-Multiple. How Trailing Stops Work in the Backtest Pro All trailing stop inputs (Points, ATR Multiplier, or %) are converted at the first entry into a fixed currency offset.
That offset is reactive intrabar and applied as the trailing distance from the most favorable price (highest for longs, lowest for shorts) since the first entry in the trade group.
Even if “%” is selected as the input method, the engine uses the fixed currency offset.
The trailing stop offset (points) is displayed in the Data Window for reference, allowing you to enter that offset directly at your broker if needed.
⚠️ Caution: Always enter a points-based trailing stop at your broker—never a percentage-based trailing stop. Volatility-Based Exit While in a trade, ATR values are accumulated each bar. The position exits once the total exceeds ATR Multiplier × ATR at entry if the Reward/Risk is below the set threshold.
Dividends are not included in reward (i.e., profit).
👉 These flexible stop types solve one of the biggest limitations of the legacy PSE and make Backtest Pro a true TradingView backtesting engine.
📑 Trade Signal Labels in Strategy Tester
Backtest Pro uses standardized trade labels in the Strategy Tester → List of Trades. These labels make it easy to understand the reason behind each entry or exit at a glance. Entry : Standard entry signal when conditions are met.
Stop : Stop-loss exit triggered at your defined stop level.
Pyr-Entry : Pyramid entry, adds to an existing position.
Trail-Stop : Trailing stop exit based on offset logic. Note : If the stop level has been adjusted to equal the trailing stop level, the Strategy Tester may display Stop instead of Trail-Stop. The exit displayed is the one Pine Script evaluates first, but the actual exit behavior remains correct.
Exit : Standard exit signal.
Delay-Exit : One-bar delayed exit, prevents immediate exit when position entry and exit signal occur on the same bar.
TP : Take Profit exit, closes position at your profit target.
RR-Exit : Reward/Risk exit — position closes when ATR accumulation exceeds the set threshold and R/R is below target.
📊 Performance Metrics & Reporting
Include Dividends in Profit
Adjusts ROI, CAGR, Reward/Risk, Avg Invest/Trade-Grp, and Equity.
Assumes dividends are taken as cash (not reinvested). They are applied to Equity on the ex-date instead of the payment date.
Only applies if the security issues dividends and the chart is 1D or lower timeframe; otherwise ignored.
Include Dividends in Profit Factor
Applies only when Include Dividends in Profit is enabled.
Adds dividend income to both gross profits and gross losses when calculating Profit Factor, so PF reflects total return (trading + dividends).
Affects Avg Trade-Grp Loss, Equity Loss from ECL, and Equity Loss from ECL (%).
Show Dividends
Displays the payout in currency/share, as well as the total amount based on the number of shares of the position(s) currently held by the trade group. For long positions you earned the dividends. For short positions you owe the dividends.
Show Metrics Table
The on-chart Metrics Table displays a compact set of key statistics for quick reference and mobile use. Full and expanded metrics are available in the Data Window on desktop or browser. Section groupings may differ between the table and Data Window to optimize readability and presentation in each context.
📊 Data Window
Note : Accessible via a button on the right-hand toolbar of the chart interface. Unlike the Metrics Table, Data Window values update dynamically as you move your cursor across bars. All metrics are based on trade groups.
Trade Information
Enter Price
Stop Price
Favorable Extreme : only shows if trailing stop loss is enabled on Inputs tab. The most favorable price (highest for longs, lowest for shorts) since the first entry in the trade group.
TSL Offset Points : only shows if trailing stop loss is enabled on Inputs tab.
Take Profit : only shows if take profit is enabled on Inputs tab.
Leverage information applies to trade groups.
Fail Pos / Margin (%) : Shows zero if the failed position size was <1, or the margin % that failed to meet the requirement in the Properties tab. A flag appears above the bar where a failed trade occurred. Only applies to the first position of a trade group. Hover over the flag to view the value in the Data Window.
Notional Value : total trade group position size x latest entry price x point value. The equity must be > notional value x margin requirement for a trade to occur.
Current Margin (%) : must be greater than margin requirement set on the Properties tab in order for a trade to occur.
Margin Call Price : when enabled on the Style tab is displayed on both the chart and the Data Window as shown below.
Performance Net Profit (%) : Will include dividends if 'Include Dividends in Profit' is enabled. Only shows in Data Window if 'Include Dividends in Profit' is enabled.
ROI (%) and CAGR (%) : Based on Avg Invest/Trade-Grp. Adjusted for dividends if enabled.
Reward/Risk (profit/risked, expectancy per amount risked): Adjusted for dividends if enabled. Color is green if above breakeven, red if below, and yellow if within ±0.1 tolerance.
Profit Factor (PF) : By default, dividends are not counted in win/loss classification.
Win % : Uses same coloring scheme as Reward/Risk except uses a ±2% tolerance for yellow. Breakeven point is the balance between Reward/Risk and Win %, showing whether the system can be profitable. For example, for a low Win % a high Reward/Risk is needed for the system to be potentially profitable. Equity & Growth
Equity : Your current equity.
Dividend Sum : The amount of total dividends accumulated since entering the market. Only shows in Data Window if 'Include Dividends in Profit' is enabled. Risk & Drawdown
Maximum Drawdown (MDD)
Measures the largest peak-to-trough decline in account equity over the entire backtest.
A new peak is recorded whenever equity reaches a new high; the system then tracks the lowest equity seen until a new peak forms.
This method uses bar-close equity including both realized and unrealized P&L. Therfore, it may not match TradingView’s displayed drawdown values which use a different method.
Maximum Drawdown %
Expresses MDD as a percentage of the equity peak from which the decline occurred.
This normalizes drawdown across different account sizes and assets, making strategy-to-strategy risk comparisons more meaningful.
Maximum Consecutive Losses applies to trade groups.
Equivalent Consecutive Losses (ECL) : Based on Win % and Nbr of Trade-Grp’s.
Simulates a realistic losing streak with intermittent small wins.
Lowered by increasing Win %.
Equity Loss from ECL : Equity drawdown estimated from ECL.
Equity Loss from ECL (%) : Same, expressed as a percentage.
Avg Trade-Grp Loss Trade Structure
Backtesting Years : The trading window in years.
Nbr of Trade-Grp’s : Count of trade groups.
Nbr of Positions : The count of positions shown on the chart.
The TV list of trades in the Strategy Tester may indicate more than what is actually shown on the chart.
Avg Invest/Trade-Grp : Avg money invested per trade group. Adjusted for dividends if enabled.
Avg Trade-Grp Days : The average number of days for trade groups.
Time in Market (%) : The percentage of time in a trade based on the trading window.
Cnt 1st EE Same-Bar is the count of first positions in a trade group that enter and exit on the same bar. Labels appear above for easy reference. Helps assess optimal stop-loss settings.
Cnt Pyr EE Same-Bar is the count of pyramid positions in a trade group that enter and exit on the same bar. Labels appear above for easy reference. Helps assess optimal stop-loss settings. Up Gaps / Dwn Gap (Ticks) ( Show All Gap Stats in Data Window enabled )
Median gap
Avg gap
80 percentile
90 percentile
Price Gap (Ticks) ( Show All Gap Stats in Data Window disabled )
Dwn Gap : Shows selected option if not disabled.
Up Gap : Shows selected option if not disabled.
Data Quality
Tick Resolution measures how many minimum price increments (ticks) fit into the current asset’s price. It is calculated as: Tick Resolution = Price / Minimum Tick Size. This value indicates the precision available for order placement and stop calculations.
Green – High resolution (>= 1000). The strategy’s stop and profit calculations will operate with normal accuracy.
Yellow – Moderate resolution (100-999). Stop levels are still functional but may exhibit minor rounding effects.
Red – Low resolution (< 100). This can distort trailing stops, stop losses, or take profits due to coarse rounding by TradingView’s broker emulator.
⚠️ Caution : When Tick Resolution is in the red zone, results from backtests may differ significantly from live trading because price precision is too low for reliable simulation.
💡 Tip : If low tick resolution is present at the beginning of the chart’s market data (often with very old price history), use the Trading Window to restrict backtesting to later periods where the asset price has risen and tick resolution is higher.
👁 Visualization
Highlight Traded Background
Trade groups are shown in background color of green for long positions and red for short positions. Set as desired.
Show Losing Trade Groups
Losing trade groups are indicated at the exit with label text in the color blue. Used to easily find consecutive losses affecting your strategy’s performance. The dividend payment, if any, is not considered in the calculation of a win or loss.
Show Position Values
Enable to show the currency value of each position in gold color.
Show Max Drawdown (Peak & Trough) Enable to show the peak and trough labels on the price chart. Based on equity at bar close. Use to easily identify the bar associated with the peak and trough of equity.
Select label size for your preference.
Alert on Expiring GTC Orders
Backtest Pro includes an optional alert that warns you when a Good-Til-Canceled (GTC) order is approaching expiration. This feature is designed as a safety net, helping you avoid unprotected trades caused by broker-imposed GTC expirations. This alert is sent a few days before a 60-day time period you’re if still in an open position.
By default, the alert is enabled, offering protection for traders who may not actively monitor order expiry rules.
Professional users who already track expirations can disable the feature in the settings to streamline alerts.
🔌 Signal Connection
Click the dropdown and select the entry and exit signal to establish a connection to your indicator.
Separate Entry and Exit Signal Connections.
Backtest Pro requires separate entry and exit signals. Indicators that already produce distinct events integrate cleanly and make strategies easier to read, debug, and maintain.
If your indicator currently uses a combined signal (e.g., buy = 1, sell = –1, flat = 0), that structure can create overlap or conflicts during backtesting.
Don’t worry — later in this manual, you’ll learn exactly how to adapt your indicator so it outputs clear entry and exit signals compatible with Backtest Pro.
🔌 Configure Your Indicator for Entry and Exit Signals
This section explains how to structure your indicator’s entry and exit signals so they can connect seamlessly with the Backtest Pro engine.
Define your own conditions for when to enter or exit positions using any technical logic you prefer. You can configure exits independently of entries or make them dependent on them—for example, exiting only when the opposite entry condition occurs.
Below are a few examples of how you might define Long and Short Entry Signals before connecting them to Backtest Pro.
________________________________________________________________________________
Examples of Long Entry Signals
ind_sig_long = oscillator > UpperLimit
ind_sig_long = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
ind_sig_long = MACD_hist > 0 Examples of Short Entry Signals
ind_sig_short = oscillator < LowerLimit
ind_sig_short = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
ind_sig_short = MACD_hist < 0 ________________________________________________________________________________
Combining and Refining Your Signals
If your indicator uses multiple internal conditions, you can combine them using logical operators or threshold rules before connecting to the Backtest Pro engine.
1. Combine multiple conditions
Use logical and / or to merge your conditions into one signal:
Entry_Long = ind_sig_long1 and ind_sig_long2 // both must be true
Entry_Short = ind_sig_short1 or ind_sig_short2 // either may be true ________________________________________________________________________________
2. Require a minimum number of confirming conditions
You can also define a threshold for how many entry conditions must be true before triggering a signal. This can help ensure stronger confirmation.
minNbr_Entries = input.int(defval=1, title='Min Number of Entry Conditions')
// Convert boolean signals to numeric form
longCount = (ind_sig_long1 ? 1 : 0) + (ind_sig_long2 ? 1 : 0)
shortCount = (ind_sig_short1 ? 1 : 0) + (ind_sig_short2 ? 1 : 0)
// Require at least minNbr_Entries to confirm signal
Entry_Long = longCount >= minNbr_Entries
Entry_Short = shortCount >= minNbr_Entries
Do likewise for your Exit conditions to ensure consistency in trade confirmation.
________________________________________________________________________________
Defining Exits
Independent of Entries
Exit_Long = ta.crossunder(ta.rsi(close, 14), 70)
Exit_Short = ta.crossover(ta.rsi(close, 14), 30) Dependent on Entries
Exit_Long = Entry_Short // exit longs when short entry triggers
Exit_Short = Entry_Long // exit shorts when long entry triggers ________________________________________________________________________________
Final Signals to Connect to Backtest Pro
entry_signal = Entry_Long ? 1 : Entry_Short ? -1 : 0
exit_signal = Exit_Long ? 1 : Exit_Short ? -1 : 0
plot(entry_signal, title="entry_signal", color = color.blue, display=display.data_window)
plot(exit_signal, title="exit_signal", color = color.red, display=display.data_window) ________________________________________________________________________________
Notes
You can easily expand this structure to handle three or more conditions by adding them to the count expression.
If your indicator already provides a single entry_signal, you can connect it directly to Backtest Pro without modification.
Always ensure your final Entry_Long, Entry_Short, Exit_Long, and Exit_Short variables are boolean (true / false).
🔒 Connecting Closed-Source Indicators
If your indicator is closed-source (meaning you cannot view or modify its internal code), you’ll need to work with the plotted values it provides.
Create a connection indicator that reads those plotted values and converts them into clear entry and exit signals using the logic described above.
This connection indicator acts as a bridge between the closed-source indicator and Backtest Pro, allowing you to translate its behavior into standardized signal logic that the engine can process.
⚙️ PROPERTIES TAB SETTING
Initial Capital : Set as desired.
Base Currency : Leave as Default. The Backtest Pro is designed to use the instrument’s native currency, so changing this is not necessary.
Order Size : Essentially disabled. Position sizing is handled in the Inputs tab and is based on a percentage of equity.
Pyramiding : Set as desired.
Commission : Enter as a percentage of position value. The Backtest Pro is designed to work only with commission expressed this way.
Verify Price for Limit Orders : Set as desired.
Slippage : Set as desired. See the Dwn/Up Gap values in Data Window to get an idea of possible values to use.
Margin (Leverage Trading):
The Backtest Pro supports both leveraged and non-leveraged trading (default is no leverage).
Note : The following two settings apply at the trade group level . For example, to trade with 5× leverage, enter 20 (1 ÷ 5 × 100 = 20).
Margin for Long Positions : Set as desired. Default is 100%.
Margin for Short Positions : Set as desired. Default is 100%.
Recalculate After Order Is Filled (default is enabled)
Enabling this allows the Backtest Pro to function correctly and to recalculate immediately after an order is filled , which makes it possible to:
Enter and exit on the same bar (because the strategy sees the fill instantly).
Trigger alerts immediately after the fill , instead of waiting for the next bar close.
You may see the following Caution! message in the TradingView Strategy Tester:
This warning occurs because the strategy parameter calc_on_order_fills = true . You can safely close the caution message and know the Backtest Pro will produce realistic backtest results.
Recalculate On every tick : Disable.
Fill Orders
Using Bar Magnifier : Recommended if your TradingView plan supports it. Improves intrabar accuracy, but the strategy can still run without it.
On Bar Close : Must remain disabled. Enabling this prevents the Backtest Pro from working as intended.
⚠️ Caution : Enabling On Bar Close forces all orders to be evaluated only at bar close. This disables intrabar logic, prevents same-bar entries and exits, and breaks trailing stop / pyramid behavior. For the Backtest Pro to work as intended, On Bar Close must remain disabled .
Using Standard OHLC : Recommended if running the strategy on Heikin Ashi charts. Otherwise, set as desired. The default is enabled.
📢 Using The Alert Dialog Box Message Field
When setting alerts, include alert() function calls with order fills to allow notifications for drawdown exceeded, Failed to Trade (if enabled), and to be warned of expiring GTC orders (if enabled).
Example Message for Order Fill Alerts
(This is just an example. Consult TV manual for possible placeholders to use.)
Position: Current = {{strategy.market_position}}, Previous = {{strategy.prev_market_position}}
{{strategy.order.action}} {{strategy.order.contracts}} shares at price = {{strategy.order.price}} on {{exchange}}:{{ticker}} (TF: {{interval}})
Equity_Multiplier = {{strategy.order.contracts}} x {{strategy.order.price}} ÷ {{plot("Equity")}}
{{strategy.order.alert_message}}
Note :
Use a known account equity multiplied by Equity_Multiplier to determine the total currency amount required for position sizing—especially when managing multiple accounts with different equity levels.
What {{strategy.order.alert_message}} Includes
This placeholder automatically inserts the additional information generated for each order fill alert (blank for exits):
Stop Price (on first entries is based on bar close prior to order fill bar)
TSL Offset (Pts) distance from Favorable Extreme (for pyramid entries)
TP (on first entries is based on bar close prior to order fill bar)
Price Gap (Pts) based on your gap selection and slippage entered
Example Message for Bot Trading Alerts
(You must consult your specific bot for configuring the alert message. This is just an example.)
"action": "{{strategy.order.action}}",
“price”: {{strategy.order.price}}
"amount": {{strategy.order.contracts}},
"botId": "1234"
Time-Based Level & Watermark [PTN.Trades]Hello NTA Bros. Let's test my script! Hello Hello TDV said my description is too brief. I have to write something more!
## 3 Ways to Cook Crispy, Fluffy, and Delicious Omelettes Without the Grease
Calling all **Egg Lovers**! Today, we’re diving into the "Omelette"—a dish that seems simple but is packed with secret techniques. Everyone has their own signature style, and today, Maggi is sharing 3 different ways to fry an omelette. Whether you’re craving that **extra crispy and fluffy** version you find at restaurants, a **healthy, low-oil** version that isn't greasy, or a **thick and soft** omelette for a full, satisfying bite—we’ve got you covered!
---
### 1. How to Fry a Crispy Omelette
**Ingredients:**
1. 1 tsp Maggi Cooking Sauce
2. Cooking oil (about half a pan deep)
**Instructions:**
1. Pour oil into the pan and heat until hot. Crack the eggs, season, and beat well.
2. Once the oil is boiling, pour the egg mixture through a **strainer** into the pan to create a fluffy texture. When the egg turns golden brown, flip it over. Fry until cooked through and serve.
**Pro-Tips for Crispiness:**
* Don't over-beat the eggs until they are too bubbly, or they will flow through the strainer too slowly.
* Wait for the oil to get hot, then reduce to medium heat for about 10 seconds before testing a small amount of egg through the strainer. If it fluffs up beautifully, pour the rest through the strainer across the pan.
* If using an **electric stove**, use the highest heat. Once the oil is hot, test with a little egg. If it fluffs up, pour the rest in without reducing the heat.
* Pouring through a strainer creates small "strands" of egg that fluff up instantly when hitting the hot oil.
---
### 2. The Healthy Version: Low-Oil Omelette
**Ingredients:**
1. 2 Eggs
2. 1 tsp Maggi Cooking Sauce
3. A small amount of oil
**Instructions:**
1. Crack the eggs, season, and beat well. Heat the pan first, then add a little vegetable oil.
2. Pour the egg into the pan. Once golden brown, flip to the other side and serve.
**Pro-Tips for Low-Oil:**
* **Heating the pan before adding oil** prevents the egg from sticking, which is crucial since we are using very little oil.
* When you pour the egg in, use the edge of your spatula to stir the center quickly. This helps the egg cook faster, makes it easier to flip, and results in a thicker, softer texture.
---
### 3. How to Make a Thick and Soft Omelette
**Ingredients:**
1. 4 Eggs
2. 2 tsp Maggi Cooking Sauce
3. Cooking oil
**Instructions:**
1. Crack the eggs, season, and beat well. Pour about 3 tbsp of oil into a **pot**. You don't need to wait for the oil to be extremely hot.
2. Pour the egg in and use a fork to stir the center quickly (similar to making scrambled eggs). This helps the egg set fast without spreading too much. Use medium-low heat (or medium heat for electric stoves).
3. Once the egg starts to set, tilt the pot slightly and use a spatula to flip the egg. Add a tiny bit more oil, increase the heat, and wait for a beautiful color. Flip again and use high heat briefly to "push out" any excess oil. Remove, drain the oil, and serve.
**Pro-Tips for a Thick & Soft Texture:**
* **Frying in a pot** forces the egg to stay thick and shapely. Choose a small pot to make the omelette look taller and fluffier.
* Stirring quickly with a fork helps the egg cook and bind together faster, making it much easier to flip.
* Using medium-low heat ensures the egg doesn't burn before the thick center is fully cooked.
---
So, what do you think? With these 3 different methods, you can choose the style that fits your mood—whether it’s crispy, thick, or healthy. You can easily make these at home and ensure every bite is perfectly seasoned and delicious with **Maggi Cooking Sauce**.
---
**Would you like me to adjust the tone to be more formal, or perhaps help you write a catchy title for social media?**
Accurate Swing Trading + Support Resistance MTF (STRATEGY PRO)Swing trading system
with 3 TP levels and trailing feature
Kohen Dive V3.7 Strategy (Backtest)⚠️ DISCLAIMER & RISK WARNING
This Strategy Script is for EDUCATIONAL and BACKTESTING purposes only. Past performance does not guarantee future results. This script is designed to test the mathematical probability of the "Kohen Dive" logic.
📊 KOHEN DIVE V3.7 STRATEGY (Backtest Edition)
Concept: Automated Mean Reversion System
This is the Strategy (Backtest) version of the "Kohen Dive V4.6" indicator. While the indicator visualizes the market tension, this script executes automated trades based on specific rules to test the profitability of the "Spring Tension" logic.
The Core Philosophy: It uses a Contrarian approach. It looks for "Overextended" market conditions (Neon Candles) to enter trades against the crowd, targeting a snap-back move.
⚙️ TRADE RULES (Entry Logic)
The strategy waits for a confluence of 3 Conditions:
1. 📉 SHORT ENTRY (Sell High)
⚙︎ Zone: Price must be in the Premium (Red) zone (Above 100-period average).
⚙︎ Tension: Momentum must hit NEON GREEN (Max Upside Tension) and sustain it for at least 5 bars.
⚙︎ Trigger: Enters Short when momentum starts to cool down.
2. 📈 LONG ENTRY (Buy Low)
⚙︎ Zone: Price must be in the Discount (Green) zone (Below 100-period average).
⚙︎ Tension: Momentum must hit NEON RED (Max Downside Tension) and sustain it for at least 5 bars.
⚙︎ Trigger: Enters Long when momentum starts to recover.
🛡️ RISK MANAGEMENT (Set & Forget)
This strategy is strictly rule-based with fixed Stop Loss and Take Profit levels to remove emotional trading.
⚙︎ Take Profit (TP): 6.0%
⚙︎ Stop Loss (SL): 2.5%
⚙︎ Risk/Reward Ratio: 1:2.4
⚙︎ Optimization: Default settings are optimized for ETH/USDT 15-Minute timeframe.
🔧 KEY SETTINGS
⚙︎ Gamma Value (0.8): Filters out weak signals. Higher values = Fewer but higher quality trades.
⚙︎ PD Lookback (100): Defines the "Cheap/Expensive" range based on the last ~24 hours (on 15m chart).
⚙︎ Min Peak Bars (5): Prevents entering on sudden wicks/fake-outs. Requires sustained tension.
4H Previous Candle + FibonacciIndicator Description: 4H Previous Candle + Fibonacci
This Pine Script (v5) indicator is a technical analysis tool designed for traders using the
TradingView platform. It allows for the visualization of key levels from the previous 4-
hour candle directly on any lower time frame.
1. Primary Objective
The indicator aims to provide a Higher Time Frame (HTF) perspective automatically.
By plotting the high, low, and Fibonacci retracement levels of the last closed 4H
candle, it helps identify institutional support and resistance zones without the need to
constantly switch time frames.
2. Key Features
Feature Description
Automatic 4H Levels
Automatically plots horizontal lines for the High and Low of the
previous 4H candle.
Dynamic Adaptation
Line colors and styles adapt based on whether the candle was
bullish (green) or bearish (red).
Fibonacci
Retracements
Calculates and displays customizable Fibonacci levels (e.g., 23.6%,
38.2%, 50%, 61.8%, 78.6%).
Dashboard (HUD)
A summary table in the top-right corner displays exact values and
the candle type.
3. Technical Functionality
Data Retrieval (Multi-Timeframe)
The script uses the request.security function to extract data from the 4-hour time
frame (“240”). Using the index ensures the indicator is based on a closed candle,
eliminating any risk of “repainting” (levels changing during formation).
Fibonacci Calculation Logic
The calculation of Fibonacci levels is intelligent and directional:
Bullish Candle: The retracement is calculated from bottom to top (0% is at the
bottom).
Bearish Candle: The retracement is calculated from top to bottom (0% is at the
top).
4. Configuration Parameters
Users can customize the indicator via the settings menu:
Visual Settings: Toggle lines, adjust thickness, price labels, and decimal
precision.
Fibonacci Settings: Enable levels, choose colors, line thickness, and enter
custom retracement percentages.
5. Trading Use Cases
Bounce Zones: The 50% and 61.8% levels of the previous 4H candle are often
considered “Premium” or “Discount” zones where price tends to react.
Confluence: Use these levels alongside other indicators (RSI, moving averages)
to confirm entry points.
Risk Management: Place Stop Losses just beyond the previous 4H High or Low.
Document generated for the analysis of the “4H Previous Candle + Fibonacci” Pine
Script.
Mucip BUY Pyramid TP OnlyI use this strategy on major coins (ETH, ADA, BTC, XRP) on lower timeframes such as 5 minutes.
Risking 1% of my account per trade feels ideal to me.
I trade with 20x leverage.
My take profit is usually 0.4% or 0.5%.
I reduce my average entry price using pyramiding.
Note: Risk management is everything.
SMC-Clean v5 [BOS + OB + FVG]SMC-Clean v5 is a clean and lightweight Smart Money Concepts indicator designed to visualize market structure, Order Blocks, and Fair Value Gaps in a clear and non-repainting way.
The indicator automatically identifies Break of Structure (BOS) and Change of Character (CHoCH) using pivot-based structure logic, helping traders understand trend continuation and potential reversals. Bullish and bearish structures are clearly marked on the chart for quick visual interpretation.
It also detects Bullish and Bearish Order Blocks based on strong displacement candles filtered by ATR. Order Blocks are drawn as zones and are automatically removed once mitigated, keeping the chart clean and relevant.
Additionally, the script highlights Fair Value Gaps (FVG) using a three-candle imbalance model, filtered by minimum ATR size. These gaps can be used for pullback entries, mean reversion, and confluence with structure and Order Blocks.
SMC-Clean v5 is designed to be minimal, fast, and practical. It works on all markets and timeframes and is best used as a market structure and context tool, not as a standalone signal system. The script can be further customized and expanded into advanced SMC models.
V-Max: Tactical Clock & Price (Master Fit)Overview
The V-Max Tactical Clock & Price is a high-visibility utility dashboard engineered for precision execution in global financial markets. It serves as a "Physical Timezone Navigator," providing real-time price tracking and synchronized local time display directly on the chart. This ensures traders can align their execution with specific market openings and closing volatility regardless of the exchange's default timezone.
Core Technical Logic & Features
This script focuses on the physics of time-alignment and visual stability:
Physical Time Calibration Engine: Unlike standard UI clocks, this script employs a millisecond-level compensation engine using the formula: $timenow + (tz\_offset \times 60 \times 60 \times 1000)$. This allows for precise synchronization with any global market (e.g., London, New York, or Asia sessions).
Momentum-Driven Price Rendering: The price display utilizes conditional coloring logic ($close \ge open ? up\_col : dn\_col$) to provide immediate visual feedback on the current bar's momentum.
High-Identifiability UI (Master Fit): Leverages the table.new titan rendering engine with size.huge font specifications for the price. This ensures critical data remains readable even on small mobile screens or high-density multi-chart layouts.
Anti-Flicker Monospaced Formatting: Employs font.family_monospace to ensure strict numerical alignment, preventing visual flickering or "jumping" during periods of extreme market volatility.
How to Use
Timezone Setup: Enter your local GMT offset (e.g., +8 for Taiwan/Singapore, -5 for New York) in the settings.
Visual Customization: Adjust the dashboard position (default: Bottom Left) and background aesthetics to fit your professional trading workspace.
產品概述
V-Max 戰術時鐘與價格顯示器是一款為全球市場設計的高辨識度工具。它作為一個實時的「全球時區導航儀」,在圖表上直接提供實時價格追蹤與同步化的本地時間顯示,確保交易者能精確對齊各國市場開盤瞬間的波動。
核心技術邏輯與功能物理時間校準引擎:採用毫秒級時間補償運算,公式為:$timenow + (tz\_offset \times 60 \times 60 \times 1000)$。這讓交易者能精確校準全球任一交易所的本地時間。
動能價格渲染:價格顯示具備即時漲跌變色邏輯,提供直觀的即時盤感反饋。
特大字體 UI (Master Fit):採用 size.huge 字體規格顯示價格,確保在移動端或複雜多圖表布局下依然清晰易讀。
防閃爍等寬格式:使用等寬字體確保數字在劇烈波動時不會產生視覺跳動,維持高度的讀數穩定性。
Access & Support
This script is published as a Free Public Utility in the TradingView Library. Disclaimer: For educational purposes only. Past performance does not guarantee future results.
Disclaimer: This script is for technical analysis and educational purposes only. It does not provide financial advice.
Multi-Mode Adaptive Strategy [MMAS]This Pine Script strategy dynamically adapts to different market conditions. Users can switch between trend‑following, mean‑reversion, and breakout modes, making it versatile across assets and timeframes.
Key Metrics:
- BTCUSDT / 1D → Return: +42.5%, Sharpe: 1.8, Max Drawdown: -12.3%, Win Rate: 61%
- XAGUSD / 1H → Return: +18.7%, Sharpe: 1.4, Max Drawdown: -8.5%, Win Rate: 58%
- EURUSD / 4H → Return: +25.2%, Sharpe: 1.6, Max Drawdown: -10.1%, Win Rate: 60%
Key Features:
- Modular design: switch between trend, mean‑reversion, breakout
- Works across crypto, forex, commodities
- Clear visualization with signals and metrics
• Global Note
"Universal strategy design for cross‑asset adaptability."
• Tags
trend, mean‑reversion, breakout, multi‑asset, adaptive strategy, pine script
UT Bot Strategy - EMA200 + RSI Filter (v6)UT Bot Indicator – EMA200 + RSI Filter + ATR Trailing Stop (v6)
A precision trend–momentum trading framework for FX, Gold & Indices
Overview
The UT Bot Indicator (v6) combines the proven ATR-based trailing stop engine of the UT methodology with multi-layer trend confirmation and momentum filtering.
This version introduces:
Higher-timeframe trend alignment using EMA 200
Momentum qualification using RSI
Optional Heikin Ashi smoothing
Automatic virtual SL/TP projection for each trade signal
The goal is to reduce false signals during ranging phases while preserving trend capture efficiency in volatile markets such as XAUUSD, GBPUSD, NASDAQ, DXY, BTC.
Core Logic
The indicator tracks dynamic price structure using ATR-based stop recalculation, switching bias only when the candle decisively crosses the trailing boundary.
Signals are validated only when:
Price direction matches the trailing stop reversal
Price is aligned with long-term trend (EMA200)
RSI confirms market momentum direction
This layered confirmation improves trade quality while maintaining responsiveness.
Signal Conditions
Condition Long (Buy) Short (Sell)
Price & ATR Structure Price crosses above trailing stop Price crosses below trailing stop
Trend Direction Close > EMA200 Close < EMA200
Momentum Filter RSI > Buy Threshold RSI < Sell Threshold
Once triggered, the indicator displays virtual SL & TP levels based on the configured percentage targets, allowing traders to visually manage trade lifecycle without repainting.
Best Use Cases
Trend continuation entries after pullbacks
Swing & intraday trading on liquid instruments
High-volatility assets (e.g. Gold / US100 / Crypto)
Filtering low-probability signals in ranging markets
Recommended Settings
Market Key Value ATR Period Notes
Forex 1.0 – 1.5 10–14 Balanced responsiveness
Gold & Indices 1.0 – 2.0 10–20 Reduces noise in volatility spikes
Crypto 1.5 – 3.0 14–21 Smooths erratic candle structure
Alerts Included
UT Long / UT Short
Long / Short Take-Profit Hit
Long / Short Stop-Loss Hit
Enables FTMO-style rule automation, trade management bots, and custom alert workflows.
Disclaimer
This indicator does not repaint, but like any analytical tool it should be used within a structured risk-management framework.
Backtest thoroughly before deploying in live markets.
TalhaFinans ValuationFor Learn more about this and more stuff look at : Talhafinans - Youtube Channel
ICT FVG MNQ (Fixed Stop + Multi-TP Toggles)use- 18 min timeframe.
ICT FVG - use on MNQ 18 min time frame.
it has muti TP levels.-
Prop firm compatible.
Enjoy trading
Long Position Region with Target & StopLong position region manually specified on QMCO. This is a test of a potential new indicator I am building
ICT FVG MNQ (Fixed Stop + Multi-TP Toggles)ICT FVG
use-18 Min timeframe
0) Stabilizer
Evaluation Mode: PriceCh... (PriceChange mode selected)
Bypass Session Filter: OFF (unchecked)
Bypass Open Delay: OFF
Bypass Cooldown: OFF
1) Entry Logic
Swing Strength (past-only): 4
FVG Min Size (ticks): 8
FVG Expire Bars: 12
2) Risk Management
Contracts (integer): 10
Hard Stop (ticks): 65
Use Trailing Stop: OFF
Trail Activation (ticks): 30
Trail Offset (ticks): 15
Use BreakEven (only with Trailing): OFF
BE Trigger (ticks): 20
BE Plus (ticks): 2
Cooldown Bars: 3
Market Open Delay (minutes): 2
2B) Multi Take Profit (No Trailing)
Use TP1/TP2/TP3 when Trailing OFF: ON (checked)
Enable TP1: ON
Enable TP2: ON
Enable TP3: OFF
TP1 Ticks: 29
TP2 Ticks: 54
TP3 Ticks: 54
TP1 %: 30
TP2 %: 60
TP3 %: 30
Move SL to Entry when TP2 fills: OFF (unchecked)
2C) Safety Exits
Force Exit at Session End: ON (checked)
(A “Max Bars In Trade” box is partially visible but not fully shown.)
3) Sessions
Timezone (IANA): America/New... (looks like America/New_York)
Enable Session 1: ON
S1 Start: 0 : 00
S1 End: 16 : 55
Enable Session 2: OFF
(Values shown: S2 Start 18:02, S2 End 23:55, but session 2 is disabled)
4) Visual
Show FVG Zones: ON
Show Dashboard: ON
Dashboard Position: TopRight
Ultimate MACD [captainua]Ultimate MACD - Comprehensive MACD Trading System
Overview
This indicator combines traditional MACD calculations with advanced features including divergence detection, volume analysis, histogram analysis tools, regression forecasting, strong top/bottom detection, and multi-timeframe confirmation to provide a comprehensive MACD-based trading system. The script calculates MACD using configurable moving average types (EMA, SMA, RMA, WMA) and applies various smoothing methods to reduce noise while maintaining responsiveness. The combination of these features creates a multi-layered confirmation system that reduces false signals by requiring alignment across multiple indicators and timeframes.
Core Calculations
MACD Calculation:
The script calculates MACD using the standard formula: MACD Line = Fast MA - Slow MA, Signal Line = Moving Average of MACD Line, Histogram = MACD Line - Signal Line. The default parameters are Fast=12, Slow=26, Signal=9, matching the traditional MACD settings. The script supports four moving average types:
- EMA (Exponential Moving Average): Standard and most responsive, default choice
- SMA (Simple Moving Average): Equal weight to all periods
- RMA (Wilder's Moving Average): Smoother, less responsive
- WMA (Weighted Moving Average): Recent prices weighted more heavily
The price source can be configured as Close (standard), Open, High, Low, HL2, HLC3, or OHLC4. Alternative sources provide different sensitivity characteristics for various trading strategies.
Configuration Presets:
The script includes trading style presets that automatically configure MACD parameters:
- Scalping: Fast/Responsive settings (8,18,6 with minimal smoothing)
- Day Trading: Balanced settings (10,22,7 with minimal smoothing)
- Swing Trading: Standard settings (12,26,9 with moderate smoothing)
- Position Trading: Smooth/Conservative settings (15,35,12 with higher smoothing)
- Custom: Full manual control over all parameters
Histogram Smoothing:
The histogram can be smoothed using EMA to reduce noise and filter minor fluctuations. Smoothing length of 1 = raw histogram (no smoothing), higher values (3-5) = smoother histogram. Increased smoothing reduces noise but may delay signals slightly.
Percentage Mode:
MACD values can be converted to percentage of price (MACD/Close*100) for cross-instrument comparison. This is useful when comparing MACD signals across instruments with different price levels (e.g., BTC vs ETH). The percentage mode normalizes MACD values, making them comparable regardless of instrument price.
MACD Scale Factor:
A scale factor multiplier (default 1.0) allows adjusting MACD display size for better visibility. Use 0.3-0.5 if MACD appears too compressed, or 2.0-3.0 if too small.
Dynamic Overbought/Oversold Levels:
Overbought and oversold levels are calculated dynamically based on MACD's mean and standard deviation over a lookback period. The formula: OB = MACD Mean + (StdDev × OB Multiplier), OS = MACD Mean - (StdDev × OS Multiplier). This adapts to current market conditions, widening in volatile markets and narrowing in calm markets. The lookback period (default 20) controls how quickly the levels adapt: longer periods (30-50) = more stable levels, shorter (10-15) = more responsive.
OB/OS Background Coloring:
Optional background coloring can highlight the entire panel when MACD enters overbought or oversold territory, providing prominent visual indication of extreme conditions. The background colors are drawn on top of the main background to ensure visibility.
Divergence Detection
Regular Divergence:
The script uses the MACD line (not histogram) for divergence detection, which provides more reliable signals. Bullish divergence: Price makes a lower low while MACD line makes a higher low. Bearish divergence: Price makes a higher high while MACD line makes a lower high. Divergences often precede reversals and are powerful reversal signals.
Pivot-Based Divergence:
The divergence detection uses actual pivot points (pivotlow/pivothigh) instead of simple lowest/highest comparisons. This provides more accurate divergence detection by identifying significant pivot lows/highs in both price and MACD line. The pivot-based method compares two recent pivot points: for bullish divergence, price makes a lower low while MACD makes a higher low at the pivot points. This method reduces false divergences by requiring actual pivot points rather than just any low/high within a period.
The pivot lookback parameters (left and right) control how many bars on each side of a pivot are required for confirmation. Higher values = more conservative pivot detection.
Hidden Divergence:
Continuation patterns that signal trend continuation rather than reversal. Bullish hidden divergence: Price makes a higher low but MACD makes a lower low. Bearish hidden divergence: Price makes a lower high but MACD makes a higher high. These patterns indicate the trend is likely to continue in the current direction.
Zero-Line Filter:
The "Don't Touch Zero Line" option ensures divergences occur in proper context: for bullish divergence, MACD must stay below zero; for bearish divergence, MACD must stay above zero. This filters out divergences that occur in neutral zones.
Range Filtering:
Minimum and maximum lookback ranges control the time window between pivots to consider for divergence. This helps filter out divergences that are too close together (noise) or too far apart (less relevant).
Volume Confirmation System
Volume threshold filtering requires current volume to exceed the volume SMA multiplied by the threshold factor. The formula: Volume Confirmed = Volume > (Volume SMA × Threshold). If the threshold is set to 1.0 or lower, volume confirmation is effectively disabled (always returns true). This allows you to use the indicator without volume filtering if desired. Volume confirmation significantly increases divergence and signal reliability.
Volume Climax and Dry-Up Detection:
The script can mark bars with extremely high volume (volume climax) or extremely low volume (volume dry-up). Volume climax indicates potential reversal points or strong momentum continuation. Volume dry-up indicates low participation and may produce unreliable signals. These markers use standard deviation multipliers to identify extreme volume conditions.
Zero-Line Cross Detection
MACD zero-line crosses indicate momentum shifts: above zero = bullish momentum, below zero = bearish momentum. The script includes alert conditions for zero-line crosses with cooldown protection to prevent alert spam. Zero-line crosses can provide early warning signals before MACD crosses the signal line.
Histogram Analysis Tools
Histogram Moving Average:
A moving average applied to the histogram itself helps identify histogram trend direction and acts as a signal line for histogram movements. Supports EMA, SMA, RMA, and WMA types. Useful for identifying when histogram momentum is strengthening or weakening.
Histogram Bollinger Bands:
Bollinger Bands are applied to the MACD histogram instead of price. The calculation: Basis = SMA(Histogram, Period), StdDev = stdev(Histogram, Period), Upper = Basis + (StdDev × Deviation Multiplier), Lower = Basis - (StdDev × Deviation Multiplier). This creates dynamic zones around the histogram that adapt to histogram volatility. When the histogram touches or exceeds the bands, it indicates extreme conditions relative to recent histogram behavior.
Stochastic MACD (StochMACD):
Stochastic MACD applies the Stochastic oscillator formula to the MACD histogram instead of price. This normalizes the histogram to a 0-100 scale, making it easier to identify overbought/oversold conditions on the histogram itself. The calculation: %K = ((Histogram - Lowest Histogram) / (Highest Histogram - Lowest Histogram)) × 100. %K is smoothed, and %D is calculated as the moving average of smoothed %K. Standard thresholds are 80 (overbought) and 20 (oversold).
Regression Forecasting
The script includes advanced regression forecasting that predicts future MACD values using mathematical models. This helps anticipate potential MACD movements and provides forward-looking context for trading decisions.
Regression Types:
- Linear: Simple trend line (y = mx + b) - fastest, works well for steady trends
- Polynomial: Quadratic curve (y = ax² + bx + c) - captures curvature in MACD movement
- Exponential Smoothing: Weighted average with more weight on recent values - responsive to recent changes
- Moving Average: Uses difference between short and long MA to estimate trend - stable and smooth
Forecast Horizon:
Number of bars to forecast ahead (default 5, max 50 for linear/MA, max 20 for polynomial due to performance). Longer horizons predict further ahead but may be less accurate.
Confidence Bands:
Optional upper/lower bands around forecast show prediction uncertainty based on forecast error (standard deviation of prediction vs actual). Wider bands = higher uncertainty. The confidence level multiplier (default 1.5) controls band width.
Forecast Display:
Forecast appears as dotted lines extending forward from current bar, with optional confidence bands. All forecast values respect percentage mode and scale factor settings.
Strong Top/Bottom Signals
The script detects strong recovery from extreme MACD levels, generating "sBottom" and "sTop" signals. These identify significant reversal potential when MACD recovers substantially from overbought/oversold extremes.
Strong Bottom (sBottom):
Triggered when:
1. MACD was at or near its lowest point in the bottom period (default 10 bars)
2. MACD was in or near the oversold zone
3. MACD has recovered by at least the threshold amount (default 0.5) from the lowest point
4. Recovery persists for confirmation bars (default 2 consecutive bars)
5. MACD has moved out of the oversold zone
6. Volume is above average
7. All enabled filters pass
8. Minimum bars have passed since last signal (reset period, default 5 bars)
Strong Top (sTop):
Triggered when:
1. MACD was at or near its highest point in the top period (default 7 bars)
2. MACD was in or near the overbought zone
3. MACD has declined by at least the threshold amount (default 0.5) from the highest point
4. Decline persists for confirmation bars (default 2 consecutive bars)
5. MACD has moved out of the overbought zone
6. Volume is above average
7. All enabled filters pass
8. Minimum bars have passed since last signal (reset period, default 5 bars)
Label Placement:
sTop/sBottom labels appear on the historical bar where the actual extreme occurred (not on current bar), showing the exact MACD value at that extreme. Labels respect the unified distance checking system to prevent overlaps with Buy/Sell Strength labels.
Signal Strength Calculation
The script calculates a composite signal strength score (0-100) based on multiple factors:
- MACD distance from signal line (0-50 points): Larger separation indicates stronger signal
- Volume confirmation (0-15 points): Volume above average adds points
- Secondary timeframe alignment (0-15 points): Higher timeframe agreement adds points
- Distance from zero line (0-20 points): Closer to zero can indicate stronger reversal potential
Higher scores (70+) indicate stronger, more reliable signals. The signal strength is displayed in the statistics table and can be used as a filter to only accept signals above a threshold.
Smart Label Placement System
The script includes an advanced label placement system that tracks MACD extremes and places Buy/Sell Strength labels at optimal locations:
Label Placement Algorithm:
- Labels appear on the current bar at confirmation (not on historical extreme bars), ensuring they're visible when the signal is confirmed
- The system tracks pending signals when MACD enters OB/OS zones or crosses the signal line
- During tracking, the system continuously searches for the true extreme (lowest MACD for buys, highest MACD for sells) within a configurable historical lookback period
- Labels are only finalized when: (1) MACD exits the OB/OS zone, (2) sufficient bars have passed (2x minimum distance), (3) MACD has recovered/declined by a configurable percentage from the extreme (default 15%), and (4) tracking has stopped (no better extreme found)
Label Spacing and Overlap Prevention:
- Minimum Bars Between Labels: Base distance requirement (default 5 bars)
- Label Spacing Multiplier: Scales the base distance (default 1.5x) for better distribution. Higher values = more spacing between labels
- Effective distance = Base Distance × Spacing Multiplier (e.g., 5 × 1.5 = 7.5 bars minimum)
- Unified distance checking prevents overlaps between all label types (Buy Strength, Sell Strength, sTop, sBottom)
Strength-Based Filtering:
- Label Strength Minimum (%): Only labels with strength at or above this threshold are displayed (default 75%)
- When multiple potential labels are close together, the system automatically compares strengths and keeps only the strongest one
- This ensures only the most significant signals are displayed, reducing chart clutter
Zero Line Polarity Enforcement:
- Enforce Zero Line Polarity (default enabled): Ensures labels follow traditional MACD interpretation
- Buy Strength labels only appear when the tracked extreme MACD value was below zero (negative territory)
- Sell Strength labels only appear when the tracked extreme MACD value was above zero (positive territory)
- This prevents counter-intuitive labels (e.g., Buy labels above zero line) and aligns with standard MACD trading principles
Recovery/Decline Confirmation:
- Recovery/Decline Confirm (%): Percent move away from the extreme required before finalizing (default 15%)
- For Buy labels: MACD must recover by at least this percentage from the tracked bottom
- For Sell labels: MACD must decline by at least this percentage from the tracked top
- Higher values = more confirmation required, fewer but more reliable labels
Historical Lookback:
- Historical Lookback for Label Placement: Number of bars to search for true extremes (default 20)
- The system searches within this period to find the actual lowest/highest MACD value
- Higher values analyze more history but may be slower; lower values are faster but may miss some extremes
Cross Quality Score
The script calculates a MACD cross quality score (0-100) that rates crossover quality based on:
- Cross angle (0-50 points): Steeper crosses = stronger signals
- Volume confirmation (0-25 points): Volume above average adds points
- Distance from zero line (0-25 points): Crosses near zero line are stronger
This score helps identify high-quality crossovers and can be used as a filter to only accept signals meeting minimum quality threshold.
Filtering System
Histogram Filter:
Requires histogram to be above zero for buy signals, below zero for sell signals. Ensures momentum alignment before generating signals.
Signal Strength Filter:
Requires minimum signal strength score for signals. Higher threshold = only strongest signals pass. This combines multiple confirmation factors into a single filter.
Cross Quality Filter:
Requires minimum cross quality score for signals. Rates crossover quality based on angle, volume, momentum, and distance from zero. Only signals meeting minimum quality threshold will be generated.
All filters use the pattern: filterResult = not filterEnabled OR conditionMet. This means if a filter is disabled, it always passes (returns true). Filters can be combined, and all must pass for a signal to fire.
Multi-Timeframe Analysis
The script can display MACD from a secondary (higher) timeframe and use it for confirmation. When secondary timeframe confirmation is enabled, signals require the higher timeframe MACD to align (bullish/bearish) with the signal direction. This ensures signals align with the larger trend context, reducing counter-trend trades.
Secondary Timeframe MACD:
The secondary timeframe MACD uses the same calculation parameters (fast, slow, signal, MA type) as the main MACD but from a higher timeframe. This provides context for the current timeframe's MACD position relative to the larger trend. The secondary MACD lines are displayed on the chart when enabled.
Noise Filtering
Noise filtering hides small histogram movements below a threshold. This helps focus on significant moves and reduces chart clutter. When enabled, only histogram movements above the threshold are displayed. Typical threshold values are 0.1-0.5 for most instruments, depending on the instrument's price range and volatility.
Signal Debounce
Signal debounce prevents duplicate MACD cross signals within a short time period. Useful when MACD crosses back and forth quickly, creating multiple signals. Debounce ensures only one signal per period, reducing signal spam during choppy markets. This is separate from alert cooldown, which applies to all alert types.
Background Color Modes
The script offers three background color modes:
- Dynamic: Full MACD heatmap based on OB/OS conditions, confidence, and momentum. Provides rich visual feedback.
- Monotone: Soft neutral background but still allows overlays (OB/OS zones). Keeps the chart clean without overpowering candles.
- Off: No MACD background (only overlays and plots). Maximum chart cleanliness.
When OB/OS background colors are enabled, they are drawn on top of the main background to ensure visibility.
Statistics Table
A real-time statistics table displays current MACD values, signal strength, distance from zero line, secondary timeframe alignment, volume confirmation status, and all active filter statuses. The table dynamically adjusts to show only enabled features, keeping it clean and relevant. The table position can be configured (Top Left, Top Right, Bottom Left, Bottom Right).
Performance Statistics Table
An optional performance statistics table shows comprehensive filter diagnostics:
- Total buy/sell signals (raw crossover count before filters)
- Filtered buy/sell signals (signals that passed all filters)
- Overall pass rates (percentage of signals that passed filters)
- Rejected signals count
- Filter-by-filter rejection diagnostics showing which filters rejected how many signals
This table helps optimize filter settings by showing which filters are most restrictive and how they impact signal frequency. The diagnostics format shows rejections as "X B / Y S" (X buy signals rejected, Y sell signals rejected) or "Disabled" if the filter is not active.
Alert System
The script includes separate alert conditions for each signal type:
- MACD Cross: MACD line crosses above/below Signal line (with or without secondary confirmation)
- Zero-Line Cross: MACD crosses above/below zero
- Divergence: Regular and hidden divergence detections
- Secondary Timeframe: Higher timeframe MACD crosses
- Histogram MA Cross: Histogram crosses above/below its moving average
- Histogram Zero Cross: Histogram crosses above/below zero
- StochMACD: StochMACD overbought/oversold entries and %K/%D crosses
- Histogram BB: Histogram touches/breaks Bollinger Bands
- Volume Events: Volume climax and dry-up detections
- OB/OS: MACD entry/exit from overbought/oversold zones
- Strong Top/Bottom: sTop and sBottom signal detections
Each alert type has its own cooldown system to prevent alert spam. The cooldown requires a minimum number of bars between alerts of the same type, reducing duplicate alerts during volatile periods. Alert types can be filtered to only evaluate specific alert types (All, MACD Cross, Zero Line, Divergence, Secondary Timeframe, Histogram MA, Histogram Zero, StochMACD, Histogram BB, Volume Events, OB/OS, Strong Top/Bottom).
How Components Work Together
MACD crossovers provide the primary signal when the MACD line crosses the Signal line. Zero-line crosses indicate momentum shifts and can provide early warning signals. Divergences identify potential reversals before they occur.
Volume confirmation ensures signals occur with sufficient market participation, filtering out low-volume false breakouts. Histogram analysis tools (MA, Bollinger Bands, StochMACD) provide additional context for signal reliability and identify significant histogram zones.
Signal strength combines multiple confirmation factors into a single score, making it easy to filter for only the strongest signals. Cross quality score rates crossover quality to identify high-quality setups. Multi-timeframe confirmation ensures signals align with higher timeframe trends, reducing counter-trend trades.
Usage Instructions
Getting Started:
The default configuration shows MACD(12,26,9) with standard EMA calculations. Start with default settings and observe behavior, then customize settings to match your trading style. You can use configuration presets for quick setup based on your trading style.
Customizing MACD Parameters:
Adjust Fast Length (default 12), Slow Length (default 26), and Signal Length (default 9) based on your trading timeframe. Shorter periods (8,17,7) for faster signals, longer (15,30,12) for smoother signals. You can change the moving average type: EMA for responsiveness, RMA for smoothness, WMA for recent price emphasis.
Price Source Selection:
Choose Close (standard), or alternative sources (HL2, HLC3, OHLC4) for different sensitivity. HL2 uses the midpoint of the high-low range, HLC3 and OHLC4 incorporate more price information.
Histogram Smoothing:
Set smoothing to 1 for raw histogram (no smoothing), or increase (3-5) for smoother histogram that reduces noise. Higher smoothing reduces false signals but may delay signals slightly.
Percentage Mode:
Enable percentage mode when comparing MACD across instruments with different price levels. This normalizes MACD values, making them directly comparable.
Dynamic OB/OS Levels:
The dynamic thresholds automatically adapt to volatility. Adjust the multipliers (default 1.5) to fine-tune sensitivity: higher values (2.0-3.0) = more extreme thresholds (fewer signals), lower (1.0-1.5) = more frequent signals. Adjust the lookback period to control how quickly levels adapt. Enable OB/OS background colors for visual indication of extreme conditions.
Volume Confirmation:
Set volume threshold to 1.0 (default, effectively disabled) or higher (1.2-1.5) for standard confirmation. Higher values require more volume for confirmation. Set to 0.1 to completely disable volume filtering.
Filters:
Enable filters gradually to find your preferred balance. Start with histogram filter for basic momentum alignment, then add signal strength filter (threshold 50+) for moderate signals, then cross quality filter (threshold 50+) for high-quality crossovers. Combine filters for highest-quality signals but expect fewer signals.
Divergence:
Enable divergence detection and adjust pivot lookback parameters. Pivot-based divergence provides more accurate detection using actual pivot points. Hidden divergence is useful for trend-following strategies. Adjust range parameters to filter divergences by time window.
Zero-Line Crosses:
Zero-line cross alerts are automatically available when alerts are enabled. These provide early warning signals for momentum shifts.
Histogram Analysis Tools:
Enable Histogram Moving Average to see histogram trend direction. Enable Histogram Bollinger Bands to identify extreme histogram zones. Enable Stochastic MACD to normalize histogram to 0-100 scale for overbought/oversold identification.
Multi-Timeframe:
Enable secondary timeframe MACD to see higher timeframe context. Enable secondary confirmation to require higher timeframe alignment for signals.
Signal Strength:
Signal strength is automatically calculated and displayed in the statistics table. Use signal strength filter to only accept signals above a threshold (e.g., 50 for moderate, 70+ for strong signals only).
Smart Label Placement:
Configure label placement settings to control label appearance and quality:
- Label Strength Minimum (%): Set threshold (default 75%) to show only strong signals. Higher = fewer, stronger labels
- Label Spacing Multiplier: Adjust spacing (default 1.5x) for better distribution. Higher = more spacing between labels
- Recovery/Decline Confirm (%): Set confirmation requirement (default 15%). Higher = more confirmation, fewer labels
- Enforce Zero Line Polarity: Enable (default) to ensure Buy labels only appear when tracked extreme was below zero, Sell labels only when above zero
- Historical Lookback: Adjust search period (default 20 bars) for finding true extremes. Higher = more history analyzed
Cross Quality:
Cross quality score is automatically calculated for crossovers. Use cross quality filter to only accept high-quality crossovers (threshold 50+ for moderate, 70+ for high quality).
Alerts:
Set up alerts for your preferred signal types. Enable alert cooldown (default enabled, 5 bars) to prevent alert spam. Use alert type filter to only evaluate specific alert types (All, MACD Cross, Zero Line, Divergence, Secondary Timeframe, Histogram MA, Histogram Zero, StochMACD, Histogram BB, Volume Events, OB/OS, Strong Top/Bottom). Each signal type has its own alert condition, so you can be selective about which signals trigger alerts.
Visual Elements and Signal Markers
The script uses various visual markers to indicate signals and conditions:
- MACD Line: Green when above signal (bullish), red when below (bearish) if dynamic colors enabled. Optional black outline for enhanced visibility
- Signal Line: Orange line with optional black outline for enhanced visibility
- Histogram: Color-coded based on direction and momentum (green for bullish rising, lime for bullish falling, red for bearish falling, orange for bearish rising)
- Zero Line: Horizontal reference line at MACD = 0
- Fill to Zero: Green/red semi-transparent fill between MACD line and zero line showing bullish/bearish territory
- Fill Between OB/OS: Blue semi-transparent fill between overbought/oversold thresholds highlighting neutral zone
- OB/OS Background Colors: Background coloring when MACD enters overbought/oversold zones
- Background Colors: Dynamic or monotone backgrounds indicating MACD state, or custom chart background
- Divergence Labels: "🐂" for bullish, "🐻" for bearish, "H Bull" for hidden bullish, "H Bear" for hidden bearish
- Divergence Lines: Colored lines connecting pivot points when divergences are detected
- Volume Climax Markers: ⚡ symbol for extremely high volume
- Volume Dry-Up Markers: 💧 symbol for extremely low volume
- Buy/Sell Strength Labels: Show signal strength percentage (e.g., "Buy Strength: 75%")
- Strong Top/Bottom Labels: "sTop" and "sBottom" for extreme level recoveries
- Secondary MACD Lines: Purple lines showing higher timeframe MACD
- Histogram MA: Orange line showing histogram moving average
- Histogram BB: Blue bands around histogram showing extreme zones
- StochMACD Lines: %K and %D lines with overbought/oversold thresholds
- Regression Forecast: Dotted blue lines extending forward with optional confidence bands
Signal Priority and Interpretation
Signals are generated independently and can occur simultaneously. Higher-priority signals generally indicate stronger setups:
1. MACD Cross with Multiple Filters - Highest priority: Requires MACD crossover plus all enabled filters (histogram, signal strength, cross quality) and secondary timeframe confirmation if enabled. These are the most reliable signals.
2. Zero-Line Cross - High priority: Indicates momentum shift. Can provide early warning signals before MACD crosses the signal line.
3. Divergence Signals - Medium-High priority: Pivot-based divergence is more reliable than simple divergence. Hidden divergence indicates continuation rather than reversal.
4. MACD Cross with Basic Filters - Medium priority: MACD crosses signal line with basic histogram filter. Less reliable alone but useful when combined with other confirmations.
Best practice: Wait for multiple confirmations. For example, a MACD crossover combined with divergence, volume confirmation, and secondary timeframe alignment provides the strongest setup.
Chart Requirements
For proper script functionality and compliance with TradingView requirements, ensure your chart displays:
- Symbol name: The trading pair or instrument name should be visible
- Timeframe: The chart timeframe should be clearly displayed
- Script name: "Ultimate MACD " should be visible in the indicator title
These elements help traders understand what they're viewing and ensure proper script identification. The script automatically includes this information in the indicator title and chart labels.
Performance Considerations
The script is optimized for performance:
- Calculations use efficient Pine Script functions (ta.ema, ta.sma, etc.) which are optimized by TradingView
- Conditional execution: Features only calculate when enabled
- Label management: Old labels are automatically deleted to prevent accumulation
- Array management: Divergence label arrays are limited to prevent memory accumulation
The script should perform well on all timeframes. On very long historical data with many enabled features, performance may be slightly slower, but it remains usable.
Known Limitations and Considerations
- Dynamic OB/OS levels can vary significantly based on recent MACD volatility. In very volatile markets, levels may be wider; in calm markets, they may be narrower.
- Volume confirmation requires sufficient historical volume data. On new instruments or very short timeframes, volume calculations may be less reliable.
- Higher timeframe MACD uses request.security() which may have slight delays on some data feeds.
- Stochastic MACD requires the histogram to have sufficient history. Very short periods on new charts may produce less reliable StochMACD values initially.
- Divergence detection requires sufficient historical data to identify pivot points. Very short lookback periods may produce false positives.
Practical Use Cases
The indicator can be configured for different trading styles and timeframes:
Swing Trading:
Use MACD(12,26,9) with secondary timeframe confirmation. Enable divergence detection. Use signal strength filter (threshold 50+) and cross quality filter (threshold 50+) for higher-quality signals. Enable histogram analysis tools for additional context.
Day Trading:
Use MACD(8,17,7) or use "Day Trading" preset with minimal histogram smoothing for faster signals. Enable zero-line cross alerts for early signals. Use volume confirmation with threshold 1.2-1.5. Enable histogram MA for momentum tracking.
Trend Following:
Use MACD(12,26,9) or longer periods (15,30,12) for smoother signals. Enable secondary timeframe confirmation for trend alignment. Hidden divergence signals are useful for trend continuation entries. Use cross quality filter to identify high-quality crossovers.
Reversal Trading:
Focus on divergence detection (pivot-based for accuracy) combined with zero-line crosses. Enable volume confirmation. Use histogram Bollinger Bands to identify extreme histogram zones. Enable StochMACD for overbought/oversold identification.
Multi-Timeframe Analysis:
Enable secondary timeframe MACD to see context from larger timeframes. For example, use daily MACD on hourly charts to understand the larger trend context. Enable secondary confirmation to require higher timeframe alignment for signals.
Practical Tips and Best Practices
Getting Started:
Start with default settings and observe MACD behavior. The default configuration (MACD 12,26,9 with EMA) is balanced and works well across different markets. After observing behavior, customize settings to match your trading style. Consider using configuration presets for quick setup.
Reducing Repainting:
All signals are based on confirmed bars, minimizing repainting. The script uses confirmed bar data for all calculations to ensure backtesting accuracy.
Signal Quality:
MACD crosses with multiple filters provide the highest-quality signals because they require alignment across multiple indicators. These signals have lower frequency but higher reliability. Use signal strength scores to identify the strongest signals (70+). Use cross quality scores to identify high-quality crossovers (70+).
Filter Combinations:
Start with histogram filter for basic momentum alignment, then add signal strength filter for moderate signals, then cross quality filter for high-quality crossovers. Combining all filters significantly reduces false signals but also reduces signal frequency. Find your balance based on your risk tolerance.
Volume Filtering:
Set volume threshold to 1.0 (default, effectively disabled) or lower to effectively disable volume filtering if you trade instruments with unreliable volume data or want to test without volume confirmation. Standard confirmation uses 1.2-1.5 threshold.
MACD Period Selection:
Standard MACD(12,26,9) provides balanced signals suitable for most trading. Shorter periods (8,17,7) for faster signals, longer (15,30,12) for smoother signals. Adjust based on your timeframe and trading style. Consider using configuration presets for optimized settings.
Moving Average Type:
EMA provides balanced responsiveness with smoothness. RMA is smoother and less responsive. WMA gives more weight to recent prices. SMA gives equal weight to all periods. Choose based on your preference for responsiveness vs. smoothness.
Divergence:
Pivot-based divergence is more reliable than simple divergence because it uses actual pivot points. Hidden divergence indicates continuation rather than reversal, useful for trend-following strategies. Adjust pivot lookback parameters to control sensitivity.
Dynamic Thresholds:
Dynamic OB/OS thresholds automatically adapt to volatility. In volatile markets, thresholds widen; in calm markets, they narrow. Adjust the multipliers to fine-tune sensitivity. Enable OB/OS background colors for visual indication.
Zero-Line Crosses:
Zero-line crosses indicate momentum shifts and can provide early warning signals before MACD crosses the signal line. Enable alerts for zero-line crosses to catch these early signals.
Alert Management:
Enable alert cooldown (default enabled, 5 bars) to prevent alert spam. Use alert type filter to only evaluate specific alert types. Signal debounce (default enabled, 3 bars) prevents duplicate MACD cross signals during choppy markets.
Technical Specifications
- Pine Script Version: v6
- Indicator Type: Non-overlay (displays in separate panel below price chart)
- Repainting Behavior: Minimal - all signals are based on confirmed bars, ensuring accurate backtesting results
- Performance: Optimized with conditional execution. Features only calculate when enabled.
- Compatibility: Works on all timeframes (1 minute to 1 month) and all instruments (stocks, forex, crypto, futures, etc.)
- Edge Case Handling: All calculations include safety checks for division by zero, NA values, and boundary conditions. Alert cooldowns and signal debounce handle edge cases where conditions never occurred or values are NA.
Technical Notes
- All MACD values respect percentage mode conversion when enabled
- Volume confirmation uses cached volume SMA for performance
- Label arrays (divergence) are automatically limited to prevent memory accumulation
- Background coloring: OB/OS backgrounds are drawn on top of main background to ensure visibility
- All calculations are optimized with conditional execution - features only calculate when enabled (performance optimization)
- Signal strength calculation combines multiple factors into a single score for easy filtering
- Cross quality calculation rates crossover quality based on angle, volume, and distance from zero
- Secondary timeframe MACD uses request.security() for higher timeframe data access
- Histogram analysis features (Bollinger Bands, MA, StochMACD) provide additional context beyond basic MACD signals
- Statistics table dynamically adjusts to show only enabled features, keeping it clean and relevant
- Divergence detection uses MACD line (not histogram) for more reliable signals
- Configuration presets automatically optimize MACD parameters for different trading styles
- Smart label placement: Labels appear on current bar at confirmation, using strength from tracked extreme point
- Label spacing uses effective distance (base distance × spacing multiplier) for better distribution
- Zero line polarity enforcement ensures Buy labels only appear when tracked extreme MACD < 0, Sell labels only when tracked extreme MACD > 0
- Label finalization requires MACD exit from OB/OS zone, sufficient bars passed, and recovery/decline percentage confirmation
- Strength-based filtering automatically compares and keeps only the strongest label when multiple signals are close together
- Enhanced visualization: Line outlines drawn behind main lines for superior visibility (black default, configurable)
- Enhanced visualization: Fill between MACD and zero line provides instant visual feedback (green above, red below)
- Enhanced visualization: Fill between OB/OS thresholds highlights neutral zone when dynamic levels are active
- Custom chart background overrides background mode when enabled, allowing theme-consistent indicator panels
Custom Psych Levels V1.0 Theo SignalDesigned for Index Traders (US30, NAS100, SPX, etc.)
This script is especially effective on indices such as US30, where price reacts strongly to round numbers and psychological zones. By default, levels adapt to index volatility and scale, making them ideal for:
intraday bias
pullback reactions
breakout continuation
mean reversion back to balance
Key Features
Rolling 5-Level Structure: Always centered on current price, no chart clutter.
Market- Aware Magnitude: Automatically adjusts spacing for indices, forex, and crypto.
Higher- Timeframe Anchoring: Optionally anchor levels to 1H, 4H, or Daily closes while trading lower timeframes like 5m.
Session & Daily Resets: Re-anchor levels at New York session open or new trading day.
Center Line Emphasis: Highlight the equilibrium level with custom color, thickness, and style for balance or decision-making.
Clean Professional Display: Only relevant levels near price are shown.
Trading Use Cases
This indicator is best used as a framework, not a signal generator. It excels when combined with:
momentum confirmation
liquidity sweeps
volume expansion
break-and-retest structures
session highs/lows
Traders can use the center line as balance, outer levels as reaction or target zones, and band shifts as confirmation of expanding price acceptance.
Su Shen Comprehensive Trading System V2.0Su Shen Comprehensive Trading System V2.0
Su Shen Comprehensive Trading System is an intelligent trading assistant indicator that integrates multiple technical analysis tools. This system provides a comprehensive market perspective by combining multi-timeframe trend analysis, key level identification, and intelligent trading signals.
Core Features
Multi-dimensional Trend Analysis: Analyzes market trends across multiple timeframes simultaneously
Intelligent Trading Signals: Automatically identifies potential entry, take-profit, and exit opportunities
Key Level Identification: Marks important support and resistance zones
Risk Alerts: Indicates current risk level based on market conditions
Applicable Scenarios
Day trading
Swing trading
Trend following
How to Use
After adding the indicator to your chart, the system will automatically display analysis results and trading signals. Users can refer to these signals in conjunction with their own trading strategies.
XAU Seasonality + Setup Quality + Month Strength | WarRoomXYZXAU Seasonality Engine is a technical analysis indicator developed for the study of recurring, calendar-based behavior on XAUUSD (Gold).
The tool blends month-of-year seasonality statistics with higher-timeframe context and a setup-quality gate to help users observe when market conditions historically lean strong, weak, or neutral — and how strict trade selection should be during each regime.
Indicator Concept
An indicator for XAUUSD that combines:
1. Seasonality Regime (Month-of-Year Bias)
► Classifies the current month as Strong / Weak / Neutral based on either:
• Preset months (user-defined)
or
• Auto mode (computed from historical monthly performance)
► Strong months suggest a bullish tailwind (not a signal).
► Weak months suggest headwind / caution and require stricter setup quality.
2. Monthly Performance Engine (Under the Hood)
► Uses the symbol’s monthly timeframe data to compute, per calendar month:
• Average monthly return (%)
• Win rate (%) — how often that month closes positive
• Month Strength Score (0–100) — a blended score derived from performance data
► The score is designed to provide a relative strength snapshot of seasonality by month.
3. Month Strength Histogram
► Plots a histogram (0–100) of the current month’s strength score.
• Higher bars = historically stronger month tendency
• Lower bars = historically weaker month tendency
► Optional horizontal reference lines mark “strong” and “weak” zones to make regimes obvious at a glance.
4. Setup Quality Meter (Confluence Filter)
► The indicator calculates a Setup Quality Score (0–100) using market structure and momentum components, such as:
• EMA trend alignment
• Momentum confirmation (EMA fast vs slow)
• Structure break confirmation (BOS)
• Liquidity sweep behavior
• Candle confirmation logic
► This score is intended as a trade-selectivity filter , not a trade executor.
5. Adaptive Rules for Weak Months (Strict Mode)
► When the indicator detects a weak seasonal regime, conditions automatically tighten:
• The A+ threshold increases (adaptive thresholding)
• Optional rule: Weak months require BOS + Sweep + FVG simultaneously before any A+ condition is considered valid
This forces the user into “higher-quality-only” behavior during historically weaker seasonal periods.
🔹1 Visual Components Included
• Seasonality regime label (Strong / Weak / Neutral)
• Optional background shading based on regime
• Month Strength Score histogram (0–100)
• Current month stats: Avg return + win rate
• Setup Quality Meter value (0–100)
• Adaptive A+ threshold display
• Weak-month confluence gate status (BOS / Sweep / FVG pass/fail)
• Optional alerts when strict criteria are met
➣What Means in the XAU Indicator
🔹 Definition (in THIS indicator)
Win Rate = the percentage of historical months that closed positive for the same calendar month.
It is NOT:
trade win rate ❌
signal accuracy ❌
It is a s tatistical seasonality metric .
How It’s Calculated
For each calendar month (January, February, etc.), the indicator:
1.Looks at historical monthly candles (Monthly timeframe).
2. Counts how many times that month:
•Closed higher than it opened (or higher than previous month close).
3. Divides:
Number of positive months
÷
Total number of observed months
× 100
Example: September
If over the last 20 years:
September closed green 14 times
September closed red 6 times
Then:
Win Rate = (14 / 20) × 100 = 70%
That’s what you see as in the dashboard.
What the Win Rate Is Used For
1️⃣ Part of the Month Strength Score
The indicator blends:
•Average Monthly Return (%) → measures magnitude
•Win Rate (%) → measures consistency
Combined into:
Month Strength Score (0–100)
This avoids a common trap:
•A month with 1 huge rally but many losses ≠ reliable
•A month with steady positive closes = higher quality environment
What Win Rate Tells You
High Win Rate (e.g. 65–75%)
•Gold more often closes higher in this month
•Continuation is statistically more likely
•Pullbacks are more likely to resolve in trend direction
Low Win Rate (e.g. 35–45%)
•Gold more often fails to close higher
•More chop, deeper retracements, false breakouts
•Continuation trades statistically struggle
What It Does NOT Tell You
🚫 It does NOT mean:
•“You will win 70% of your trades”
•“Every setup in this month works”
•“Direction is guaranteed”
Seasonality is context, not prediction.
Why This Is Powerful When Combined With Your System
On its own, win rate is just data.
But in your indicator, it’s used to:
•🔒 Raise the A+ threshold in weak months
•🧠 Force BOS + Sweep + FVG confluence
•❌ Block marginal setups automatically
So instead of guessing:
-“Why is gold so choppy this month?”
You know:
-“This month historically underperforms SO I must be stricter.”
➣What Means in the XAU Seasonality Indicator
🔹 Definition (in THIS indicator)
Avg Monthly Return = the average percentage gain or loss of XAUUSD for a specific calendar month, calculated across many years.
It measures magnitude , not frequency.
It is NOT:
•trade profit ❌
•expected return for the next month ❌
•guaranteed performance ❌
It is a historical seasonality tendency.
How It’s Calculated
For each calendar month (January, February, etc.), the indicator:
1.Takes every historical occurrence of that month.
2.Calculates the percentage change of the monthly candle:
(Monthly Close − Previous Monthly Close)
÷ Previous Monthly Close × 100
3. Adds all those percentage changes together.
4. Divides by the total number of observations.
Example: September
Assume over 20 years:
+2.4%, +1.1%, −0.6%, +3.0%, +1.8%, ...
If the sum of all September returns = +28% across 20 years:
Avg Monthly Return = +1.40%
That’s the number displayed in the indicator.
What Avg Monthly Return Is Used For
1️⃣ Measuring Strength of Movement
•Win Rate → “How often does it close green?”
•Avg Monthly Return → “How big are the moves when it works?”
Both are needed.
A month can:
•Win often but move very little
•Move a lot but only occasionally
The indicator combines both to avoid misleading conclusions.
How to Interpret Avg Monthly Return
Positive Avg Return (e.g. +0.8% to +2.0%)
•Gold tends to expand during this month
•Continuation phases are more likely
•Pullbacks are often absorbed
Near-Zero Avg Return (e.g. −0.2% to +0.2%)
•Market is statistically balanced
•Expect chop, rotations, false breaks
•Continuation is less reliable
Negative Avg Return (e.g. −0.5% or worse)
•Downward pressure or heavy mean reversion
•Rallies often fade
•Risk of aggressive stop hunts
What Avg Monthly Return Does NOT Mean
🚫 It does NOT mean:
•“Price will move +1.4% this month”
•“You should buy because the number is positive”
•“This is a guaranteed edge”
It describes historical behavior, not future certainty.
Why Avg Monthly Return Matters More Than People Think
Two months can have the same win rate but behave very differently:
Example:
Month Win Rate Avg Return Reality
Month A 65% +0.2% Small, choppy wins
Month B 55% +1.6% Fewer wins, but strong expansions
Your indicator would rank Month B as stronger, which is correct for continuation-based strategies.
How It Feeds the Month Strength Score
The indicator blends:
•60% Avg Monthly Return (normalized)
•40% Win Rate
This means:
•Big moves matter more than small consistency
•But consistency still matters enough to prevent distortion
Result:
Month Strength Score (0–100)
Which is then used to:
•tighten or relax A+ thresholds
•activate weak-month strict rules
•control trade frequency
🔹2. Intended Use
The indicator is designed as a discretionary analysis tool to support study of:
• seasonal bias and calendar tendencies
• relative strength/weakness across months
• how strict trade selection should be across different regimes
• confluence behavior when seasonal conditions are unfavorable
The tool does not generate forecasts, does not guarantee outcomes, and should not be relied upon as a stand-alone decision mechanism.
🔹3.How to Use XAU Seasonality Engine
Recommended charts: XAUUSD, intraday (5m–15m) with a HTF context (1H–4H).
1. Identify the Seasonal Regime
• Strong month → you can allow more continuation bias (still require structure).
• Neutral month → trade normally, standard criteria.
• Weak month → tighten selection, demand clean A+ conditions only.
2. Read the Month Strength Histogram
• If the score is high (e.g., 70+), the month has historically shown stronger tendency.
• If the score is low (e.g., 40 and below), expect slower conditions, deeper pullbacks, or more chop — and reduce marginal trades.
3. Use the Setup Quality Meter as the Gate
► In normal/strong months:
• A+ threshold is moderate (e.g., 70)
► In weak months:
• A+ threshold is higher (e.g., 80+)
• Optional strict mode: must also pass BOS + Sweep + FVG alignment
4. Example Trade Logic (Framework, Not Signals)
► Bullish framework in a Strong Month:
• Seasonal regime = Strong (tailwind)
• Structure supports bullish continuation (trend alignment)
• Sweep occurs into demand / liquidity grab
• Setup Quality reaches A+ threshold
• Entry: confirmation candle or retrace to key level
• SL: beyond sweep low / invalidation
• TP: nearest liquidity / prior highs / HTF level
► Weak Month rule-set (Strict Mode):
• Seasonal regime = Weak (headwind)
• Only consider trades if:
✅ BOS confirms direction
✅ Sweep occurs and rejects cleanly
✅ FVG exists recently (or is mitigated if you choose that model)
✅ Setup Quality exceeds the elevated adaptive threshold
If any one is missing → no trade
This is not meant to “predict” gold — it’s meant to enforce discipline when seasonality historically underperforms.
🔹4.Limitations and User Responsibility
► The indicator does not represent financial advice or imply performance expectations.
► Seasonality is statistical tendency, not certainty — macro conditions can override it.
► Results vary by broker feed, timeframe, and settings.
► Users should test thoroughly in simulation before applying to live markets.
► All trading decisions, risk management, and execution remain solely the responsibility of the user.
🔹5. Alerts
Optional alerts can notify when:
• a new month begins and the seasonal regime changes
• A+ criteria are met
• weak-month strict conditions pass (BOS + Sweep + FVG)
Alerts are informational only and do not constitute actionable recommendations.
Disclaimer
This script is provided for informational and educational purposes only . It does not provide financial, investment, or trading advice, and it does not guarantee profits or future performance. All decisions made based on this script are solely the responsibility of the user.
This script does not execute trades, manage risk, or replace the need for trader discretion. Market behavior can change quickly, and past behavior detected by the script does not ensure similar future outcomes.
Users should test the script on demo or simulation environments before applying it to live markets and must maintain full responsibility for their own risk management, position sizing, and trade execution.
Trading involves risk, and losses can exceed deposits. By using this script, you acknowledge that you understand and accept all associated risks.
ELDorado_Algo_Commodity_Indicator_V3.3Please read carefully before using this indicator:
This indicator is invite-only and intended strictly for authorized users.
Do NOT share, resell, or redistribute access to this indicator in any form.
Indicator logic and parameters are proprietary and intentionally hidden.
Any screenshots, recordings, or public sharing of this indicator without permission is strictly prohibited.
Usage Guidelines
Use this indicator only on the recommended timeframe and instrument.
This tool is designed to assist decision-making, not to replace discipline or risk management.
Always trade with proper position sizing and defined risk.
The author is not responsible for any financial losses incurred while using this indicator.
Access & Support
Access is provided manually by the author and may be revoked at any time without prior notice.
For access issues or support, please contact the author directly.
By using this indicator, you agree to all the above terms.
— ELDorado
GuidedByGod-Vertical Timestamp-GOD MODEmaximum 15 custom vertical lines for time based study-timing might be off by Hour or so , will fix in future iteration , for now does the job






















