Candlestick toolkit (Candle Over Candle)Candlestick pattern toolkit focused on reading price action via candle anatomy, body dynamics, and a specific 2-bar continuation/reversal pattern.
This indicator highlights:
Long upper and lower wicks (“topping” and “bottoming” tails) that can signal exhaustion or potential reversal.
Large bullish bodies relative to Average True Range (ATR), showing strong momentum.
Sequences of large green candles.
Runs of green candles with strictly increasing or strictly decreasing body size, to visualize acceleration vs. momentum fade.
A two-candle pattern:
“Candle over Candle” (CoC) for long bias: two bullish bars where the first has a small upper wick and the second has a modest lower wick (a brief dip then push higher).
Optional mirrored “Candle under Candle” (CuC) for short bias.
The script labels:
Topping/Bottoming tails (TT/BT).
Large-green sequences and increasing/decreasing bodies (N×LG, ↑B, ↓B).
CoC/CuC pattern bars as “PRE” and the actual breakout bars as “GO”.
While a pattern is “live,” a reference line marks the trigger level (pattern high for longs, pattern low for shorts).
Inputs let you:
Tune wick and body percentage thresholds for tail detection.
Adjust ATR length and the multiplier that defines a “large” body.
Change how many candles are required for large-green sequences and body size trends.
Configure the two-candle pattern (maximum wick sizes, whether a small dip is required, confirmation within N bars).
Choose confirmation mode: close-through the trigger or intrabar wick break.
Enable or disable the short (CuC) side.
Control visual features (tail markers, sequence markers, pattern labels, and background shading on pattern bars).
Typical use:
Apply on intraday or swing timeframes.
Use tails and body behavior to read strength/weakness and potential exhaustion.
Treat CoC/CuC PRE labels as pattern formation, and GO labels as potential trade triggers above/below the pattern.
Combine with your own filters (trend, volume, higher-timeframe levels) rather than using it as a standalone signal generator.
Поиск скриптов по запросу "ha溢价率"
SP500 Session Gap Fade StrategySummary in one paragraph
SPX Session Gap Fade is an intraday gap fade strategy for index futures, designed around regular cash sessions on five minute charts. It helps you participate only when there is a full overnight or pre session gap and a valid intraday session window, instead of trading every open. The original part is the gap distance engine which anchors both stop and optional target to the previous session reference close at a configurable flat time, so every trade’s risk scales with the actual gap size rather than a fixed tick stop.
Scope and intent
• Markets. Primarily index futures such as ES, NQ, YM, and liquid index CFDs that exhibit overnight gaps and regular cash hours.
• Timeframes. Intraday timeframes from one minute to fifteen minutes. Default usage is five minute bars.
• Default demo used in the publication. Symbol CME:ES1! on a five minute chart.
• Purpose. Provide a simple, transparent way to trade opening gaps with a session anchored risk model and forced flat exit so you are not holding into the last part of the session.
• Limits. This is a strategy. Orders are simulated on standard candles only.
Originality and usefulness
• Unique concept or fusion. The core novelty is the combination of a strict “full gap” entry condition with a session anchored reference close and a gap distance based TP and SL engine. The stop and optional target are symmetric multiples of the actual gap distance from the previous session’s flat close, rather than fixed ticks.
• Failure mode it addresses. Fixed sized stops do not scale when gaps are unusually small or unusually large, which can either under risk or over risk the account. The session flat logic also reduces the chance of holding residual positions into late session liquidity and news.
• Testability. All key pieces are explicit in the Inputs: session window, minutes before session end, whether to use gap exits, whether TP or SL are active, and whether to allow candle based closes and forced flat. You can toggle each component and see how it changes entries and exits.
• Portable yardstick. The main unit is the absolute price gap between the entry bar open and the previous session reference close. tp_mult and sl_mult are multiples of that gap, which makes the risk model portable across contracts and volatility regimes.
Method overview in plain language
The strategy first defines a trading session using exchange time, for example 08:30 to 15:30 for ES day hours. It also defines a “flat” time a fixed number of minutes before session end. At the flat bar, any open position is closed and the bar’s close price is stored as the reference close for the next session. Inside the session, the strategy looks for a full gap bar relative to the prior bar: a gap down where today’s high is below yesterday’s low, or a gap up where today’s low is above yesterday’s high. A full gap down generates a long entry; a full gap up generates a short entry. If the gap risk engine is enabled and a valid reference close exists, the strategy measures the distance between the entry bar open and that reference close. It then sets a stop and optional target as configurable multiples of that gap distance and manages them with strategy.exit. Additional exits can be triggered by a candle color flip or by the forced flat time.
Base measures
• Range basis. The main unit is the absolute difference between the current entry bar open and the stored reference close from the previous session flat bar. That value is used as a “gap unit” and scaled by tp_mult and sl_mult to build the target and stop.
Components
• Component one: Gap Direction. Detects full gap up or full gap down by comparing the current high and low to the previous bar’s high and low. Gap down signals a long fade, gap up signals a short fade. There is no smoothing; it is a strict structural condition.
• Component two: Session Window. Only allows entries when the current time is within the configured session window. It also defines a flat time before the session end where positions are forced flat and the reference close is updated.
• Component three: Gap Distance Risk Engine. Computes the absolute distance between the entry open and the stored reference close. The stop and optional target are placed as entry ± gap_distance × multiplier so that risk scales with gap size.
• Optional component: Candle Exit. If enabled, a bullish bar closes short positions and a bearish bar closes long positions, which can shorten holding time when price reverses quickly inside the session.
• Session windows. Session logic uses the exchange time of the chart symbol. When changing symbols or venues, verify that the session time string still matches the new instrument’s cash hours.
Fusion rule
All gates are hard conditions rather than weighted scores. A trade can only open if the session window is active and the full gap condition is true. The gap distance engine only activates if a valid reference close exists and use_gap_risk is on. TP and SL are controlled by separate booleans so you can use SL only, TP only, or both. Long and short are symmetric by construction: long trades fade full gap downs, short trades fade full gap ups with mirrored TP and SL logic.
Signal rule
• Long entry. Inside the active session, when the current bar shows a full gap down relative to the previous bar (current high below prior low), the strategy opens a long position. If the gap risk engine is active, it places a gap based stop below the entry and an optional target above it.
• Short entry. Inside the active session, when the current bar shows a full gap up relative to the previous bar (current low above prior high), the strategy opens a short position. If the gap risk engine is active, it places a gap based stop above the entry and an optional target below it.
• Forced flat. At the configured flat time before session end, any open position is closed and the close price of that bar becomes the new reference close for the following session.
• Candle based exit. If enabled, a bearish bar closes longs, and a bullish bar closes shorts, regardless of where TP or SL sit, as long as a position is open.
What you will see on the chart
• Markers on entry bars. Standard strategy entry markers labeled “long” and “short” on the gap bars where trades open.
• Exit markers. Standard exit markers on bars where either the gap stop or target are hit, or where a candle exit or forced flat close occurs. Exit IDs “long_gap” and “short_gap” label gap based exits.
• Reference levels. Horizontal lines for the current long TP, long SL, short TP, and short SL while a position is open and the gap engine is enabled. They update when a new trade opens and disappear when flat.
• Session background. This version does not add background shading for the session; session logic runs internally based on time.
• No on chart table. All decisions are visible through orders and exit levels. Use the Strategy Tester for performance metrics.
Inputs with guidance
Session Settings
• Trading session (sess). Session window in exchange time. Typical value uses the regular cash session for each contract, for example “0830-1530” for ES. Adjust if your broker or symbol uses different hours.
• Minutes before session end to force exit (flat_before_min). Minutes before the session end where positions are forced flat and the reference close is stored. Typical range is 15 to 120. Raising it closes trades earlier in the day; lowering it allows trades later in the session.
Gap Risk
• Enable gap based TP/SL (use_gap_risk). Master switch for the gap distance exit engine. Turning it off keeps entries and forced flat logic but removes automatic TP and SL placement.
• Use TP limit from gap (use_gap_tp). Enables gap based profit targets. Typical values are true for structured exits or false if you want to manage exits manually and only keep a stop.
• Use SL stop from gap (use_gap_sl). Enables gap based stop losses. This should normally remain true so that each trade has a defined initial risk in ticks.
• TP multiplier of gap distance (tp_mult). Multiplier applied to the gap distance for the target. Typical range is 0.5 to 2.0. Raising it places the target further away and reduces hit frequency.
• SL multiplier of gap distance (sl_mult). Multiplier applied to the gap distance for the stop. Typical range is 0.5 to 2.0. Raising it widens the stop and increases risk per trade; lowering it tightens the stop and may increase the number of small losses.
Exit Controls
• Exit with candle logic (use_candle_exit). If true, closes shorts on bullish candles and longs on bearish candles. Useful when you want to react to intraday reversal bars even if TP or SL have not been reached.
• Force flat before session end (use_forced_flat). If true, guarantees you are flat by the configured flat time and updates the reference close. Turn this off only if you understand the impact on overnight risk.
Filters
There is no separate trend or volatility filter in this version. All trades depend on the presence of a full gap bar inside the session. If you need extra filtering such as ATR, volume, or higher timeframe bias, they should be added explicitly and documented in your own fork.
Usage recipes
Intraday conservative gap fade
• Timeframe. Five minute chart on ES regular session.
• Gap risk. use_gap_risk = true, use_gap_tp = true, use_gap_sl = true.
• Multipliers. tp_mult around 0.7 to 1.0 and sl_mult around 1.0.
• Exits. use_candle_exit = false, use_forced_flat = true. Focus on the structured TP and SL around the gap.
Intraday aggressive gap fade
• Timeframe. Five minute chart.
• Gap risk. use_gap_risk = true, use_gap_tp = false, use_gap_sl = true.
• Multipliers. sl_mult around 0.7 to 1.0.
• Exits. use_candle_exit = true, use_forced_flat = true. Entries fade full gaps, stops are tight, and candle color flips flatten trades early.
Higher timeframe gap tests
• Timeframe. Fifteen minute or sixty minute charts on instruments with regular gaps.
• Gap risk. Keep use_gap_risk = true. Consider slightly higher sl_mult if gaps are structurally wider on the higher timeframe.
• Note. Expect fewer trades and be careful with sample size; multi year data is recommended.
Properties visible in this publication
• On average our risk for each position over the last 200 trades is 0.4% with a max intraday loss of 1.5% of the total equity in this case of 100k $ with 1 contract ES. For other assets, recalculations and customizations has to be applied.
• Initial capital. 100 000.
• Base currency. USD.
• Default order size method. Fixed with size 1 contract.
• Pyramiding. 0.
• Commission. Flat 2 USD per order in the Strategy Tester Properties. (2$ buying + 2$selling)
• Slippage. One tick in the Strategy Tester Properties.
• Process orders on close. ON.
Realism and responsible publication
• No performance claims are made. Past results do not guarantee future outcomes.
• Costs use a realistic flat commission and one tick of slippage per trade for ES class futures.
• Default sizing with one contract on a 100 000 reference account targets modest per trade risk. In practice, extreme slippage or gap through events can exceed this, so treat the one and a half percent risk target as a design goal, not a guarantee.
• All orders are simulated on standard candles. Shapes can move while a bar is forming and settle on bar close.
Honest limitations and failure modes
• Economic releases, thin liquidity, and limit conditions can break the assumptions behind the simple gap model and lead to slippage or skipped fills.
• Symbols with very frequent or very large gaps may require adjusted multipliers or alternative risk handling, especially in high volatility regimes.
• Very quiet periods without clean gaps will produce few or no trades. This is expected behavior, not a bug.
• Session windows follow the exchange time of the chart. Always confirm that the configured session matches the symbol.
• When both the stop and target lie inside the same bar’s range, the TradingView engine decides which is hit first based on its internal intrabar assumptions. Without bar magnifier, tie handling is approximate.
Legal
Education and research only. This strategy is not investment advice. You remain responsible for all trading decisions. Always test on historical data and in simulation with realistic costs before considering any live use.
Structure Pilot - Z&Z [Wang Indicators]Structure Pilot Zone & Zil is a complete suite of structure driven features that's build around pattern that can be visible around any timeframe.
Built in collaboration with Dave Teaches,
All these tools were shaped and combined together as the only toolkit Structure & DTFX traders want to have !
▫️ Structures & Zones ▫️
Zones are drawn when a break of structure (new high or low being created) or a market reversal happens.
It will highlight the last valid down move before a new high for bullish zones and the last valid up move before a new low for bearish zones.
These zones are used to analyze the market trend and to make entries into the market trend once the price retraces into these zones.
For example, with the latest bullish zones drawn in green for LTF zones and in blue for HTF zones, when the price retraces into this zone, there is a strong probability that the price will turn around to provide a buying opportunity all the way to the top of the zone or even higher.
These buying opportunities generally occur at specific retracement levels in the 30%, 50% and 70% zones, automatically represented by broken lines in the zones when they are created.
Example with bullish zones :
The aim with these zones is to find places on the chart where it's best to buy or sell, in order to take the biggest possible move while minimizing your risk.
Indeed, if the price is rising and a bullish zone has been created, I don't want to buy on the highs, preferring to wait for a retracement in my bullish zone to buy lower and reduce my risk, as the invalidation of the current trend will be found below the last protected low under the bullish zone drawn in blue for the HTF and in green for the LTF. Conversely, if the price is falling and a bearish zone has been created, I don't want to sell at the bottom. I'd rather wait for a retracement in the bearish zone to sell higher and reduce my risk, as the invalidation of the current trend will this time be above the last protected high above the bearish zone drawn in orange for the HTF and red for the LTF.
Example with bearish zones :
When it comes to market structure, it's good to know that zones recur within the same trend at a frequency of between 3 and 6 before there's a trend reversal.
So, after a certain number of successive zones, you can expect a reversal or the last protected high or low to be breached. The indicator automatically counts the number of successive zones, so you can keep track of the market and avoid surprises.
The zones are generated through the structure length. It can be increased to display larger (and more important) zones.
As we recommend keeping the default value (20) for new traders, experienced traders will find some success with other settings depending on their strategies.
Structure Pilot also provides auto HTF Zones, which is particularly useful to have a macro vision of the market.
Settings:
Swing types: Bullish only, Bearish only, both, or none
Structure length
Swing count: useful when it comes to tracking Trend strenght in any given time frame
Show Zones: Display boxes with 30%, 50%, and 70% fibs
Show HTF Zones: Display HTF zones with the same retracement configuration as the regular zones
Show 30%, 50% and 70%: Enable/disable these options to show or hide the corresponding fibs.
Box visibility, Line width & Line style: Style configuration for the zone
All settings can be activated or deactivated in the indicator parameters to suit individual needs and preferences.
30% Level : This is often considered a shallow retracement. If prices pull back to this level after an uptrend and flip in a lower timeframe, traders might view it as a strong sign of continued bullish momentum. Conversely, after a downtrend, this level could act as a temporary resistance where sellers might re-enter after a flip in a lower timeframe.
50% Level : This level is seen as a balance point or midpoint in the price move. A retracement to 50% can indicate a strong trend change or continuation.
70% Level : A retracement this deep can signal that the market might be losing steam or that the previous trend could be weakening. If the price bounces off this level, it might suggest that the trend is still in control but needed a more significant correction before moving further in its original direction.
We as structure traders prefer to take entry out of The 50% or when price retrace past it
there will be something at the level i'm looking for price to reverse from either some specific candles or imbalances.
Advanced traders might combine these levels with other tools or chart patterns that we bundle in this indicator.
▫️ ZIL ▫️
The ZIL Indicator is designed to automate the process of identifying key structural levels in the market and applying Fibonacci retracements when a significant price break occurs.
The indicator detects when a market structure (high or low) is broken and a candle closes below the previous low or above the previous high, indicating a potential trend shift or continuation.
• Tracks the break of structural lows or highs and waits for a confirmation candle that closes above or bellow the candle that set the new low.
Automated Fibonacci Retracement:
• Once the structure break is confirmed, the indicator automatically plots a Fibonacci retracement between:
• The high of the last bullish move (before the new low is set) or the low of the last bearish move (before the new high is set)
• The newly formed low after the structure break or the newly formed high after the structure break
Fibonacci levels plotted with colors :
• -0.27 : Dark red - Stop loss
• 0 : white - The new high/low - Potential entry
• 0.3, Orange 0.5, Light green 0.7: Green : Levels - Partial and take profit zones
• 1.15 pale blue - for your runner
We may long the retracement when the price is comming from a bearish zone using the ZIL to manage
Example :
Multi-Timeframe Support:
• Using the option "HTF ZIL" will display ZIL on higher timeframe (corresponding to the HTF Zones) on your charts to help traders find structural breaks and Fibonacci setups in both short-term and long-term markets.
HTF ZIL is really usefull to manage trades if the regular ZIL target get ran through
Wang use case :
HTF zill level are used when the small zill get ran through
▫️ Opening Range Tracker ▫️
The Opening Range Tracker is designed to help traders identify and track the opening range of a specified time period, specifically starting with the 144-minute candle between 8:24 AM and 10:48 AM. (default value) The indicator highlights this range and automatically plots key levels (30%, 50%, 70%) to provide potential strong reaction areas for trading. The time period for the opening range is fully customizable, allowing users to adjust it according to their strategy.
Opening range should be seen and used as a classic zone. If we trade above or below it price tend to come back into it and bounce of of the One or multiple level...
classic 30/50/70.
• Customizable Opening Range: Adapt the indicator to any market or session by changing the opening range time window.
• Precise Levels for Trading: The 30%, 50%, and 70% levels provide key zones where price may react, helping traders define entries, exits, or stop loss placements.
• Visual Clarity: The range box and levels make it easy to see the important price areas during the opening range and the rest of the trading session. If we range a lot in the opening range, we may range for the rest of the day. We should keep that in mind to avoid taking wrong decisions.
its basically a large zone that's we have seen often time price rejects from the level in it
Daily Reset: Each trading day resets the opening range, giving traders fresh data and new opportunities to capitalize on market movements.
Structure Pilot is built for beginner and experienced. It provides the tools to the traders that want to learn, understand, and trade efficiently within the principles of structure trading.
▫️ Alerts▫️
Alerts can be configured to these events :
New Swing / HTF Swing
Trend Change
Zil attached to a zone/HTF zone
Price cross 30/50/70 zones levels
Trend change and align the HTF/LTF trend
On cross partial (50%) and take profit (70%) ZIL and HTF ZIL
On cross Zil can now be configured for Bull or Bear zone
On HTF ZIL when 30% is crossed
Fractional Candlestick Long Only Experimental V10Fractional Candlestick Long-Only Strategy – Technical Description
This document provides a professional English description of the "Fractional Candlestick Long Only Experimental V6" strategy using pure CF/AB fractional kernels and wavelet-based filtering.
1. Fractional Candlesticks (CF / AB)
The strategy computes two fractional representations of price using Caputo–Fabrizio (CF) and Atangana–Baleanu (AB) kernels. These provide long-memory filtering without EMA approximations. Both CF and AB versions are applied to O/H/L/C, producing fractional candlesticks and fractional Heikin-Ashi variants.
2. Trend Stack Logic
Trend confirmation is based on a 4-component stack:
- CF close > AB close
- HA_CF close > HA_AB close
- HA_CF bullish
- HA_AB bullish
The user selects how many components must align (4, 3, or any 2).
3. Wavelet Filtering
A wavelet transform (Haar, Daubechies-4, Mexican Hat) is applied to a chosen source (e.g., HA_CF close). The wavelet response is used as:
- entry filter (4 modes)
- exit filter (4 modes)
Wavelet modes: off, confirm, wavelet-only, block adverse signals.
4. Trailing System
Trailing stop uses fractional AB low × buffer, providing long-memory dynamic trailing behavior. A fractional trend channel (CF/AB lows vs HA highs) is also plotted.
5. Exit Framework
Exit options include: stack flip, CF
ORB + INMERELO ADR + ATRThis indicator provides **two completely different but complementary lines of information** for intraday traders:
# **1. The ORB Line (ADR-Based Context Line)**
The ORB portion of the script focuses on **range expansion** relative to typical daily behavior.
### **What it measures**
* **20-day ADR (Average Daily Range)**
* **Today’s range as a % of ADR**
* **How much of the average range has been “used”** by the time you’re considering an Opening Range Breakout
### **Why it matters for ORB trading**
Successful ORBs thrive when:
* **ADR used% is low** (green) → plenty of fuel left for expansion
* **ADR used% is moderate** (orange) → breakout still possible but less explosive
* **ADR used% is high** (red) → breakout attempts often fail or reverse
### **What the indicator gives you**
A clean, color-coded readout of:
* ADR
* Today’s range
* Used%
* A simple green/orange/red evaluation of ORB quality
This allows a trader to quickly judge whether **conditions favor ORB continuation or mean-reversion reversal**—without manually calculating ranges or switching charts.
---
# **2. The INMERELO Line (ATR Stretch + MA Interaction)**
The INMERELO portion of the script is built around **mean-reversion mechanics**:
the market tends to revert back toward the **first daily MA it crosses under**.
### **How it determines the active MA**
At the start of each session, the script waits for price to cross under:
* **EMA10**
* **EMA21**
* **SMA50**
Whichever MA is crossed first becomes the **active MA** for the day.
If no cross has occurred yet, the indicator shows the **nearest MA**, so traders know exactly what the likely “INMERELO magnet” will be.
### **What it measures**
* **Stretch from the active MA (in ATR units)**
* **20-day ATR regime direction (expanding or contracting)**
* **Daily MA context: E10, E21, or S50**
### **Why it matters for INMERELOs**
This provides:
* The **target MA**
* The **distance to that MA in ATRs**
* A color-coded stretch score:
* **0.6–1.2 ATR** → prime INMERELO zone (Green)
* Moderately stretched → Orange
* Overstretched or dead zone → Red
An up/down arrow shows whether **volatility is expanding or compressing**, which affects expected retrace behavior.
### **What the indicator gives you**
All INMERELO data is displayed in a second compact line:
* Stretch to MA
* Active MA label (E10/E21/S50)
* ATR regime arrow
This allows fast identification of high-probability **mean-reversion trades back to the MA**.
---
# **Summary**
This indicator shows:
### **Line 1 → ORB Context (ADR)**
* Is the stock setup for a powerful breakout?
* How much ADR is left?
* Are you early (good) or late (risky)?
### **Line 2 → INMERELO Context (ATR + MA Stretch)**
* Which MA is in control today (EMA10, EMA21, or SMA50)?
* How many ATRs away from that MA are we?
* Is volatility expanding or contracting?
* Is this a clean INMERELO setup or not?
Together, these two lines give traders the **two most important intraday lenses**:
**range expansion (ORB)** and **mean reversion (INMERELO)**—updated every bar, without clutter.
Trend Following Volatility TrailThe Trend Following Volatility Trail is a dynamic trend-following tool that adapts its stop, bias, and zones to real-time volatility and trend strength. Instead of using static ATR multiples like a normal Supertrend or Chandelier Stop, it continuously adjusts itself based on how stretched the market is and how persistent the trend has been.
This makes the system far more reactive during momentum phases and more conservative during consolidation, helping avoid fake flips and late entries.
How It Works
The indicator builds an adaptive trail around a smoothed price basis:
It starts with a short EMA as the “core trend line.”
It measures volatility expansion versus normal volatility.
It measures trend persistence by reading whether price has been rising or falling consistently.
These two components combine to adjust the ATR multiplier dynamically.
As volatility expands or the trend becomes more persistent, the bands widen. When volatility compresses or the trend weakens, the bands tighten.
These adaptive bands form the foundation of the trailing system.
Bull & Bear State Logic
The tool constantly tracks whether price is above or below the adaptive trail:
Price above the upper trail → Bullish regime
Price below the lower trail → Bearish regime
But instead of flipping immediately, it waits for confirmation bars to avoid noise. This greatly reduces whipsaws and keeps the focus on sustained moves.
Once a new regime is confirmed:
A coloured cloud appears (bull or bear)
A label marks the flip point
Alerts can be triggered automatically
Best Uses
Identifying regime shifts early
Riding sustained trends with confidence
Avoiding choppy markets by requiring confirmation
Using the adaptive cloud as a directional bias layer
Gann Square of 144 (Master Price & Time)🔹 What this tool does
Draws a 144-unit square in price & time (0 → 144)
Plots all key horizontal & vertical levels:
0, 18, 36, 48, 54, 72, 90, 96, 108, 126, 144
Highlights the main 1/2 level (72) as thick midline
Marks 1/3 and 2/3 (48 & 96) as special harmonic levels
Draws internal diagonals (0–144, 144–0 and sub-squares)
Plots an 8-ray Gann fan from the 0-point (0 → 36 / 72 / 108 / 144 etc.)
Keeps price–time ratio consistent inside the box:
the 1×1 angle has a fixed slope = price_per_bar
The idea: once the square is calibrated to a major swing, you can study how price respects these angles and harmonic zones over time.
🔧 Inputs & how to set it up correctly
Choose your timeframe
Works best on Daily and Weekly charts.
Use one timeframe consistently when calibrating the square.
Start offset (bars back)
Start offset (bars back) shifts the whole square left/right.
Increase the value to move the square further into the past, decrease it to move it closer to the current bars.
Box width (bars)
Box width (bars) = how many bars the square spans horizontally.
Bigger value = projects the structure further into the future.
Example: 288 bars ≈ 2×144 units in time, 720 bars for longer-term projection, etc.
Bottom price
Bottom price is your 0-level in price.
Usually set this to a major swing low (cycle low, bear market low, important pivot).
The bottom-left corner of the square conceptually sits at:
(start_offset_bar, bottom_price)
Price per bar (slope 1×1) (if your version has this input)
This defines the slope of the 1×1 angle (main Gann angle).
Recommended way to set it:
Pick a major impulsive move from Swing Low → Swing High.
Measure:
Price range = High − Low
Number of bars between them.
Compute:
price_per_bar = price_range / number_of_bars
Use that as your 1×1 value in the input.
Now the main diagonal from 0 to 144 represents the true Gann 1×1 for that swing.
Important: The 1×1 angle is mathematically correct (price-per-bar), even if it does not always look like a perfect 45° line visually in TradingView due to chart scaling.
📖 How to read the Square of 144
Horizontal levels
0 = anchor price (bottom)
18, 36, 48, 54, 72, 90, 96, 108, 126, 144 = key price harmonics
72 (1/2) often acts as major support/resistance
48 & 96 (1/3 and 2/3) are strong “vibration” levels
Vertical levels
Same units but in time (bars).
When important pivots in price occur near these verticals, you get time–price confluence.
Midlines (1/2)
The thick horizontal and vertical lines at 72 mark the center of the square.
Crossings around these often signal important cycle turns.
1/3 & 2/3 zones (48–54 and 90–96)
These narrow bands are powerful reversal / decision zones.
Price often reacts strongly there or accelerates if they break.
Gann fan from 0-point
These rays represent major trends:
1×1 equivalent (main diagonal)
Faster & slower angles (e.g. 2×1, 1×2, etc depending on configuration)
If price breaks one fan angle cleanly, it often “falls” or “climbs” toward the next one.
🎯 Practical use cases
Project future support/resistance zones based on a major low.
See where price is in the square: early in the cycle (0–36), mid (around 72), or late (108–144).
Watch how price respects:
midlines (72),
1/3 and 2/3 bands (48–54, 90–96),
and the fan angles from 0.
Combine with your own price action / Fibonacci / trend tools – this is not a signal generator, but a time–price map.
⚠️ Notes & limitations
This tool is for educational & analytical purposes only.
It does not generate buy/sell signals.
Visual 45° angles in TradingView can change when you zoom or rescale the chart.
→ The script keeps the internal price-per-bar logic stable, even if the drawing looks steeper/flatter when zooming.
Always confirm zones with price action, volume, and higher timeframe context.
Nadaraya-Watson: Rational Quadratic Kernel (Opening Gap Shift)What we did to fix it: We didn't throw out the old data (that made it too jumpy early in the day).
Instead, we "tricked" the kernel by shifting all the previous day's prices up or down by the exact gap amount (e.g., if it gapped up 50 points, add 50 to every old price point). This makes the history "line up" with the new day's starting level.
Created so with a fresh session the Nadaraya-Watson Regression Kernel is relevant from the get go - no catch up on opening gaps.
All credit to jdehorty his full description is below.
What is Nadaraya–Watson Regression?
Nadaraya–Watson Regression is a type of Kernel Regression, which is a non-parametric method for estimating the curve of best fit for a dataset. Unlike Linear Regression or Polynomial Regression, Kernel Regression does not assume any underlying distribution of the data. For estimation, it uses a kernel function, which is a weighting function that assigns a weight to each data point based on how close it is to the current point. The computed weights are then used to calculate the weighted average of the data points.
How is this different from using a Moving Average?
A Simple Moving Average is actually a special type of Kernel Regression that uses a Uniform (Retangular) Kernel function. This means that all data points in the specified lookback window are weighted equally. In contrast, the Rational Quadratic Kernel function used in this indicator assigns a higher weight to data points that are closer to the current point. This means that the indicator will react more quickly to changes in the data.
Why use the Rational Quadratic Kernel over the Gaussian Kernel?
The Gaussian Kernel is one of the most commonly used Kernel functions and is used extensively in many Machine Learning algorithms due to its general applicability across a wide variety of datasets. The Rational Quadratic Kernel can be thought of as a Gaussian Kernel on steroids; it is equivalent to adding together many Gaussian Kernels of differing length scales. This allows the user even more freedom to tune the indicator to their specific needs.
The formula for the Rational Quadratic function is:
K(x, x') = (1 + ||x - x'||^2 / (2 * alpha * h^2))^(-alpha)
where x and x' data are points, alpha is a hyperparameter that controls the smoothness (i.e. overall "wiggle") of the curve, and h is the band length of the kernel.
Does this Indicator Repaint?
No, this indicator has been intentionally designed to NOT repaint. This means that once a bar has closed, the indicator will never change the values in its plot. This is useful for backtesting and for trading strategies that require a non-repainting indicator.
Settings:
Bandwidth. This is the number of bars that the indicator will use as a lookback window.
Relative Weighting Parameter. The alpha parameter for the Rational Quadratic Kernel function. This is a hyperparameter that controls the smoothness of the curve. A lower value of alpha will result in a smoother, more stretched-out curve, while a lower value will result in a more wiggly curve with a tighter fit to the data. As this parameter approaches 0, the longer time frames will exert more influence on the estimation, and as it approaches infinity, the curve will become identical to the one produced by the Gaussian Kernel.
Color Smoothing. Toggles the mechanism for coloring the estimation plot between rate of change and cross over modes.
5m FVGs Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Emac ForecastEMAC Forecast System
What it measures
The EMAC Forecast measures the speed and persistence of trend movement. Instead of only looking at whether one EMA is above or below another, the forecast quantifies how quickly momentum is building or fading across multiple time horizons.
It captures three things at once:
The direction of the underlying trend
The rate at which the trend is strengthening or weakening
The consistency of that change across several smoothing speeds
This produces a forward leaning view of trend conditions, not a trailing confirmation.
How to read the forecast
The EMAC Forecast is displayed as a scaled oscillator, typically ranging between negative and positive values.
Positive forecast values
Indicate that bullish trend pressure is increasing.
Higher readings mean stronger acceleration, not just price rising.
Negative forecast values
Indicate increasing bearish pressure.
Again, the strength of the negative reading reflects how quickly selling momentum is building.
Rising forecast (slope up)
Shows improving momentum, even if the value is still below zero.
Useful for catching early reversals or transitions from chop to trend.
Falling forecast (slope down)
Shows momentum fading, even when trend direction has not flipped yet.
Helps anticipate exhaustions and pullbacks.
Flat forecast
Indicates low conviction and lack of directional drive.
Often corresponds to chop or range conditions.
Why the EMAC Forecast is different from a regular EMAC
A standard EMAC or EMA crossover follows a simple rule:
When fast EMA crosses above slow EMA, bullish.
When fast EMA crosses below slow EMA, bearish.
This is reactive and only changes after price has already moved.
The EMAC Forecast works differently:
1. Uses multiple EMAs rather than two
Instead of comparing one fast and one slow average, it blends several time constants into a composite signal.
This creates a smoother, more reliable directional read.
2. Measures acceleration, not just position
Traditional crossovers only monitor whether lines have crossed.
EMAC Forecast measures the speed and force behind the movement.
It tells you how strong the trend is becoming, not just whether one line is above the other.
3. Adapts to volatility
Sharp markets increase weighting of fast components.
Calm markets increase influence of slower components.
This reduces whipsaws in low-volatility conditions and improves responsiveness in high-volatility environments.
4. Gives actionable information before a crossover happens
The forecast often turns before the EMAC direction flips, allowing early detection of:
Trend ignition
Trend fade
Momentum squeezes
Impending reversals
It effectively “leans forward” into the trend instead of waiting for a full reversal.
Practical Use Cases
Early trend identification
When the forecast first turns positive or negative, trend acceleration is beginning.
This is often visible before the EMAC lines cross.
Confirming the Combined Forecast System
Use the EMAC Forecast to validate signals from your other forecast models.
If both agree, conviction is notably higher.
Filtering noise
Short-term whipsaws are reduced because the composite structure dilutes erratic fast movements.
Trend aging and exhaustion
A falling forecast during a positive trend suggests reduced conviction and potential exhaustion.
Range Oscillator Strategy + Stoch Confirm🔹 Short summary
This is a free, educational long-only strategy built on top of the public “Range Oscillator” by Zeiierman (used under CC BY-NC-SA 4.0), combined with a Stochastic timing filter, an EMA-based exit filter and an optional risk-management layer (SL/TP and R-multiple exits). It is NOT financial advice and it is NOT a magic money machine. It’s a structured framework to study how range-expansion + momentum + trend slope can be combined into one rule-based system, often with intentionally RARE trades.
────────────────────────
0. Legal / risk disclaimer
────────────────────────
• This script is FREE and public. I do not charge any fee for it.
• It is for EDUCATIONAL PURPOSES ONLY.
• It is NOT financial advice and does NOT guarantee profits.
• Backtest results can be very different from live results.
• Markets change over time; past performance is NOT indicative of future performance.
• You are fully responsible for your own trades and risk.
Please DO NOT use this script with money you cannot afford to lose. Always start in a demo / paper trading environment and make sure you understand what the logic does before you risk any capital.
────────────────────────
1. About default settings and risk (very important)
────────────────────────
The script is configured with the following defaults in the `strategy()` declaration:
• `initial_capital = 10000`
→ This is only an EXAMPLE account size.
• `default_qty_type = strategy.percent_of_equity`
• `default_qty_value = 100`
→ This means 100% of equity per trade in the default properties.
→ This is AGGRESSIVE and should be treated as a STRESS TEST of the logic, not as a realistic way to trade.
TradingView’s House Rules recommend risking only a small part of equity per trade (often 1–2%, max 5–10% in most cases). To align with these recommendations and to get more realistic backtest results, I STRONGLY RECOMMEND you to:
1. Open **Strategy Settings → Properties**.
2. Set:
• Order size: **Percent of equity**
• Order size (percent): e.g. **1–2%** per trade
3. Make sure **commission** and **slippage** match your own broker conditions.
• By default this script uses `commission_value = 0.1` (0.1%) and `slippage = 3`, which are reasonable example values for many crypto markets.
If you choose to run the strategy with 100% of equity per trade, please treat it ONLY as a stress-test of the logic. It is NOT a sustainable risk model for live trading.
────────────────────────
2. What this strategy tries to do (conceptual overview)
────────────────────────
This is a LONG-ONLY strategy designed to explore the combination of:
1. **Range Oscillator (Zeiierman-based)**
- Measures how far price has moved away from an adaptive mean.
- Uses an ATR-based range to normalize deviation.
- High positive oscillator values indicate strong price expansion away from the mean in a bullish direction.
2. **Stochastic as a timing filter**
- A classic Stochastic (%K and %D) is used.
- The logic requires %K to be below a user-defined level and then crossing above %D.
- This is intended to catch moments when momentum turns up again, rather than chasing every extreme.
3. **EMA Exit Filter (trend slope)**
- An EMA with configurable length (default 70) is calculated.
- The slope of the EMA is monitored: when the slope turns negative while in a long position, and the filter is enabled, it triggers an exit condition.
- This acts as a trend-protection exit: if the medium-term trend starts to weaken, the strategy exits even if the oscillator has not yet fully reverted.
4. **Optional risk-management layer**
- Percentage-based Stop Loss and Take Profit (SL/TP).
- Risk/Reward (R-multiple) exit based on the distance from entry to SL.
- Implemented as OCO orders that work *on top* of the logical exits.
The goal is not to create a “holy grail” system but to serve as a transparent, configurable framework for studying how these concepts behave together on different markets and timeframes.
────────────────────────
3. Components and how they work together
────────────────────────
(1) Range Oscillator (based on “Range Oscillator (Zeiierman)”)
• The script computes a weighted mean price and then measures how far price deviates from that mean.
• Deviation is normalized by an ATR-based range and expressed as an oscillator.
• When the oscillator is above the **entry threshold** (default 100), it signals a strong move away from the mean in the bullish direction.
• When it later drops below the **exit threshold** (default 30), it can trigger an exit (if enabled).
(2) Stochastic confirmation
• Classic Stochastic (%K and %D) is calculated.
• An entry requires:
- %K to be below a user-defined “Cross Level”, and
- then %K to cross above %D.
• This is a momentum confirmation: the strategy tries to enter when momentum turns up from a pullback rather than at any random point.
(3) EMA Exit Filter
• The EMA length is configurable via `emaLength` (default 70).
• The script monitors the EMA slope: it computes the relative change between the current EMA and the previous EMA.
• If the slope turns negative while the strategy holds a long position and the filter is enabled, it triggers an exit condition.
• This is meant to help protect profits or cut losses when the medium-term trend starts to roll over, even if the oscillator conditions are not (yet) signalling exit.
(4) Risk management (optional)
• Stop Loss (SL) and Take Profit (TP):
- Defined as percentages relative to average entry price.
- Both are disabled by default, but you can enable them in the Inputs.
• Risk/Reward Exit:
- Uses the distance from entry to SL to project a profit target at a configurable R-multiple.
- Also optional and disabled by default.
These exits are implemented as `strategy.exit()` OCO orders and can close trades independently of oscillator/EMA conditions if hit first.
────────────────────────
4. Entry & Exit logic (high level)
────────────────────────
A) Time filter
• You can choose a **Start Year** in the Inputs.
• Only candles between the selected start date and 31 Dec 2069 are used for backtesting (`timeCondition`).
• This prevents accidental use of tiny cherry-picked windows and makes tests more honest.
B) Entry condition (long-only)
A long entry is allowed when ALL the following are true:
1. `timeCondition` is true (inside the backtest window).
2. If `useOscEntry` is true:
- Range Oscillator value must be above `entryLevel`.
3. If `useStochEntry` is true:
- Stochastic condition (`stochCondition`) must be true:
- %K < `crossLevel`, then %K crosses above %D.
If these filters agree, the strategy calls `strategy.entry("Long", strategy.long)`.
C) Exit condition (logical exits)
A position can be closed when:
1. `timeCondition` is true AND a long position is open, AND
2. At least one of the following is true:
- If `useOscExit` is true: Oscillator is below `exitLevel`.
- If `useMagicExit` (EMA Exit Filter) is true: EMA slope is negative (`isDown = true`).
In that case, `strategy.close("Long")` is called.
D) Risk-management exits
While a position is open:
• If SL or TP is enabled:
- `strategy.exit("Long Risk", ...)` places an OCO stop/limit order based on the SL/TP percentages.
• If Risk/Reward exit is enabled:
- `strategy.exit("RR Exit", ...)` places an OCO order using a projected R-multiple (`rrMult`) of the SL distance.
These risk-based exits can trigger before the logical oscillator/EMA exits if price hits those levels.
────────────────────────
5. Recommended backtest configuration (to avoid misleading results)
────────────────────────
To align with TradingView House Rules and avoid misleading backtests:
1. **Initial capital**
- 10 000 (or any value you personally want to work with).
2. **Order size**
- Type: **Percent of equity**
- Size: **1–2%** per trade is a reasonable starting point.
- Avoid risking more than 5–10% per trade if you want results that could be sustainable in practice.
3. **Commission & slippage**
- Commission: around 0.1% if that matches your broker.
- Slippage: a few ticks (e.g. 3) to account for real fills.
4. **Timeframe & markets**
- Volatile symbols (e.g. crypto like BTCUSDT, or major indices).
- Timeframes: 1H / 4H / **1D (Daily)** are typical starting points.
- I strongly recommend trying the strategy on **different timeframes**, for example 1D, to see how the behaviour changes between intraday and higher timeframes.
5. **No “caution warning”**
- Make sure your chosen symbol + timeframe + settings do not trigger TradingView’s caution messages.
- If you see warnings (e.g. “too few trades”), adjust timeframe/symbol or the backtest period.
────────────────────────
5a. About low trade count and rare signals
────────────────────────
This strategy is intentionally designed to trade RARELY:
• It is **long-only**.
• It uses strict filters (Range Oscillator threshold + Stochastic confirmation + optional EMA Exit Filter).
• On higher timeframes (especially **1D / Daily**) this can result in a **low total number of trades**, sometimes WELL BELOW 100 trades over the whole backtest.
TradingView’s House Rules mention 100+ trades as a guideline for more robust statistics. In this specific case:
• The **low trade count is a conscious design choice**, not an attempt to cherry-pick a tiny, ultra-profitable window.
• The goal is to study a **small number of high-conviction long entries** on higher timeframes, not to generate frequent intraday signals.
• Because of the low trade count, results should NOT be interpreted as statistically strong or “proven” – they are only one sample of how this logic would have behaved on past data.
Please keep this in mind when you look at the equity curve and performance metrics. A beautiful curve with only a handful of trades is still just a small sample.
────────────────────────
6. How to use this strategy (step-by-step)
────────────────────────
1. Add the script to your chart.
2. Open the **Inputs** tab:
- Set the backtest start year.
- Decide whether to use Oscillator-based entry/exit, Stochastic confirmation, and EMA Exit Filter.
- Optionally enable SL, TP, and Risk/Reward exits.
3. Open the **Properties** tab:
- Set a realistic account size if you want.
- Set order size to a realistic % of equity (e.g. 1–2%).
- Confirm that commission and slippage are realistic for your broker.
4. Run the backtest:
- Look at Net Profit, Max Drawdown, number of trades, and equity curve.
- Remember that a low trade count means the statistics are not very strong.
5. Experiment:
- Tweak thresholds (`entryLevel`, `exitLevel`), Stochastic settings, EMA length, and risk params.
- See how the metrics and trade frequency change.
6. Forward-test:
- Before using any idea in live trading, forward-test on a demo account and observe behaviour in real time.
────────────────────────
7. Originality and usefulness (why this is more than a mashup)
────────────────────────
This script is not intended to be a random visual mashup of indicators. It is designed as a coherent, testable strategy with clear roles for each component:
• Range Oscillator:
- Handles mean vs. range-expansion states via an adaptive, ATR-normalized metric.
• Stochastic:
- Acts as a timing filter to avoid entering purely on extremes and instead waits for momentum to turn.
• EMA Exit Filter:
- Trend-slope-based safety net to exit when the medium-term direction changes against the position.
• Risk module:
- Provides practical, rule-based exits: SL, TP, and R-multiple exit, which are useful for structuring risk even if you modify the core logic.
It aims to give traders a ready-made **framework to study and modify**, not a black box or “signals” product.
────────────────────────
8. Limitations and good practices
────────────────────────
• No single strategy works on all markets or in all regimes.
• This script is long-only; it does not short the market.
• Performance can degrade when market structure changes.
• Overfitting (curve fitting) is a real risk if you endlessly tweak parameters to maximise historical profit.
Good practices:
- Test on multiple symbols and timeframes.
- Focus on stability and drawdown, not only on how high the profit line goes.
- View this as a learning tool and a basis for your own research.
────────────────────────
9. Licensing and credits
────────────────────────
• Core oscillator idea & base code:
- “Range Oscillator (Zeiierman)”
- © Zeiierman, licensed under CC BY-NC-SA 4.0.
• Strategy logic, Stochastic confirmation, EMA Exit Filter, and risk-management layer:
- Modifications by jokiniemi.
Please respect both the original license and TradingView House Rules if you fork or republish any part of this script.
────────────────────────
10. No payments / no vendor pitch
────────────────────────
• This script is completely FREE to use on TradingView.
• There is no paid subscription, no external payment link, and no private signals group attached to it.
• If you have questions, please use TradingView’s comment system or private messages instead of expecting financial advice.
Use this script as a tool to learn, experiment, and build your own understanding of markets.
────────────────────────
11. Example backtest settings used in screenshots
────────────────────────
To avoid any confusion about how the results shown in screenshots were produced, here is one concrete example configuration:
• Symbol: BTCUSDT (or similar major BTC pair)
• Timeframe: 1D (Daily)
• Backtest period: from 2018 to the most recent data
• Initial capital: 10 000
• Order size type: Percent of equity
• Order size: 2% per trade
• Commission: 0.1%
• Slippage: 3 ticks
• Risk settings: Stop Loss and Take Profit disabled by default, Risk/Reward exit disabled by default
• Filters: Range Oscillator entry/exit enabled, Stochastic confirmation enabled, EMA Exit Filter enabled
If you change any of these settings (symbol, timeframe, risk per trade, commission, slippage, filters, etc.), your results will look different. Please always adapt the configuration to your own risk tolerance, market, and trading style.
Volatility-Targeted Momentum Portfolio [BackQuant]Volatility-Targeted Momentum Portfolio
A complete momentum portfolio engine that ranks assets, targets a user-defined volatility, builds long, short, or delta-neutral books, and reports performance with metrics, attribution, Monte Carlo scenarios, allocation pie, and efficiency scatter plots. This description explains the theory and the mechanics so you can configure, validate, and deploy it with intent.
Table of contents
What the script does at a glance
Momentum, what it is, how to know if it is present
Volatility targeting, why and how it is done here
Portfolio construction modes: Long Only, Short Only, Delta Neutral
Regime filter and when the strategy goes to cash
Transaction cost modelling in this script
Backtest metrics and definitions
Performance attribution chart
Monte Carlo simulation
Scatter plot analysis modes
Asset allocation pie chart
Inputs, presets, and deployment checklist
Suggested workflow
1) What the script does at a glance
Pulls a list of up to 15 tickers, computes a simple momentum score on each over a configurable lookback, then volatility-scales their bar-to-bar return stream to a target annualized volatility.
Ranks assets by raw momentum, selects the top 3 and bottom 3, builds positions according to the chosen mode, and gates exposure with a fast regime filter.
Accumulates a portfolio equity curve with risk and performance metrics, optional benchmark buy-and-hold for comparison, and a full alert suite.
Adds visual diagnostics: performance attribution bars, Monte Carlo forward paths, an allocation pie, and scatter plots for risk-return and factor views.
2) Momentum: definition, detection, and validation
Momentum is the tendency of assets that have performed well to continue to perform well, and of underperformers to continue underperforming, over a specific horizon. You operationalize it by selecting a horizon, defining a signal, ranking assets, and trading the leaders versus laggards subject to risk constraints.
Signal choices . Common signals include cumulative return over a lookback window, regression slope on log-price, or normalized rate-of-change. This script uses cumulative return over lookback bars for ranking (variable cr = price/price - 1). It keeps the ranking simple and lets volatility targeting handle risk normalization.
How to know momentum is present .
Leaders and laggards persist across adjacent windows rather than flipping every bar.
Spread between average momentum of leaders and laggards is materially positive in sample.
Cross-sectional dispersion is non-trivial. If everything is flat or highly correlated with no separation, momentum selection will be weak.
Your validation should include a diagnostic that measures whether returns are explained by a momentum regression on the timeseries.
Recommended diagnostic tool . Before running any momentum portfolio, verify that a timeseries exhibits stable directional drift. Use this indicator as a pre-check: It fits a regression to price, exposes slope and goodness-of-fit style context, and helps confirm if there is usable momentum before you force a ranking into a flat regime.
3) Volatility targeting: purpose and implementation here
Purpose . Volatility targeting seeks a more stable risk footprint. High-vol assets get sized down, low-vol assets get sized up, so each contributes more evenly to total risk.
Computation in this script (per asset, rolling):
Return series ret = log(price/price ).
Annualized volatility estimate vol = stdev(ret, lookback) * sqrt(tradingdays).
Leverage multiplier volMult = clamp(targetVol / vol, 0.1, 5.0).
This caps sizing so extremely low-vol assets don’t explode weight and extremely high-vol assets don’t go to zero.
Scaled return stream sr = ret * volMult. This is the per-bar, risk-adjusted building block used in the portfolio combinations.
Interpretation . You are not levering your account on the exchange, you are rescaling the contribution each asset’s daily move has on the modeled equity. In live trading you would reflect this with position sizing or notional exposure.
4) Portfolio construction modes
Cross-sectional ranking . Assets are sorted by cr over the chosen lookback. Top and bottom indices are extracted without ties.
Long Only . Averages the volatility-scaled returns of the top 3 assets: avgRet = mean(sr_top1, sr_top2, sr_top3). Position table shows per-asset leverages and weights proportional to their current volMult.
Short Only . Averages the negative of the volatility-scaled returns of the bottom 3: avgRet = mean(-sr_bot1, -sr_bot2, -sr_bot3). Position table shows short legs.
Delta Neutral . Long the top 3 and short the bottom 3 in equal book sizes. Each side is sized to 50 percent notional internally, with weights within each side proportional to volMult. The return stream mixes the two sides: avgRet = mean(sr_top1,sr_top2,sr_top3, -sr_bot1,-sr_bot2,-sr_bot3).
Notes .
The selection metric is raw momentum, the execution stream is volatility-scaled returns. This separation is deliberate. It avoids letting volatility dominate ranking while still enforcing risk parity at the return contribution stage.
If everything rallies together and dispersion collapses, Long Only may behave like a single beta. Delta Neutral is designed to extract cross-sectional momentum with low net beta.
5) Regime filter
A fast EMA(12) vs EMA(21) filter gates exposure.
Long Only active when EMA12 > EMA21. Otherwise the book is set to cash.
Short Only active when EMA12 < EMA21. Otherwise cash.
Delta Neutral is always active.
This prevents taking long momentum entries during obvious local downtrends and vice versa for shorts. When the filter is false, equity is held flat for that bar.
6) Transaction cost modelling
There are two cost touchpoints in the script.
Per-bar drag . When the regime filter is active, the per-bar return is reduced by fee_rate * avgRet inside netRet = avgRet - (fee_rate * avgRet). This models proportional friction relative to traded impact on that bar.
Turnover-linked fee . The script tracks changes in membership of the top and bottom baskets (top1..top3, bot1..bot3). The intent is to charge fees when composition changes. The template counts changes and scales a fee by change count divided by 6 for the six slots.
Use case: increase fee_rate to reflect taker fees and slippage if you rebalance every bar or trade illiquid assets. Reduce it if you rebalance less often or use maker orders.
Practical advice .
If you rebalance daily, start with 5–20 bps round-trip per switch on liquid futures and adjust per venue.
For crypto perp microcaps, stress higher cost assumptions and add slippage buffers.
If you only rotate on lookback boundaries or at signals, use alert-driven rebalances and lower per-bar drag.
7) Backtest metrics and definitions
The script computes a standard set of portfolio statistics once the start date is reached.
Net Profit percent over the full test.
Max Drawdown percent, tracked from running peaks.
Annualized Mean and Stdev using the chosen trading day count.
Variance is the square of annualized stdev.
Sharpe uses daily mean adjusted by risk-free rate and annualized.
Sortino uses downside stdev only.
Omega ratio of sum of gains to sum of losses.
Gain-to-Pain total gains divided by total losses absolute.
CAGR compounded annual growth from start date to now.
Alpha, Beta versus a user-selected benchmark. Beta from covariance of daily returns, Alpha from CAPM.
Skewness of daily returns.
VaR 95 linear-interpolated 5th percentile of daily returns.
CVaR average of the worst 5 percent of daily returns.
Benchmark Buy-and-Hold equity path for comparison.
8) Performance attribution
Cumulative contribution per asset, adjusted for whether it was held long or short and for its volatility multiplier, aggregated across the backtest. You can filter to winners only or show both sides. The panel is sorted by contribution and includes percent labels.
9) Monte Carlo simulation
The panel draws forward equity paths from either a Normal model parameterized by recent mean and stdev, or non-parametric bootstrap of recent daily returns. You control the sample length, number of simulations, forecast horizon, visibility of individual paths, confidence bands, and a reproducible seed.
Normal uses Box-Muller with your seed. Good for quick, smooth envelopes.
Bootstrap resamples realized returns, preserving fat tails and volatility clustering better than a Gaussian assumption.
Bands show 10th, 25th, 75th, 90th percentiles and the path mean.
10) Scatter plot analysis
Four point-cloud modes, each plotting all assets and a star for the current portfolio position, with quadrant guides and labels.
Risk-Return Efficiency . X is risk proxy from leverage, Y is expected return from annualized momentum. The star shows the current book’s composite.
Momentum vs Volatility . Visualizes whether leaders are also high vol, a cue for turnover and cost expectations.
Beta vs Alpha . X is a beta proxy, Y is risk-adjusted excess return proxy. Useful to see if leaders are just beta.
Leverage vs Momentum . X is volMult, Y is momentum. Shows how volatility targeting is redistributing risk.
11) Asset allocation pie chart
Builds a wheel of current allocations.
Long Only, weights are proportional to each long asset’s current volMult and sum to 100 percent.
Short Only, weights show the short book as positive slices that sum to 100 percent.
Delta Neutral, 50 percent long and 50 percent short books, each side leverage-proportional.
Labels can show asset, percent, and current leverage.
12) Inputs and quick presets
Core
Portfolio Strategy . Long Only, Short Only, Delta Neutral.
Initial Capital . For equity scaling in the panel.
Trading Days/Year . 252 for stocks, 365 for crypto.
Target Volatility . Annualized, drives volMult.
Transaction Fees . Per-bar drag and composition change penalty, see the modelling notes above.
Momentum Lookback . Ranking horizon. Shorter is more reactive, longer is steadier.
Start Date . Ensure every symbol has data back to this date to avoid bias.
Benchmark . Used for alpha, beta, and B&H line.
Diagnostics
Metrics, Equity, B&H, Curve labels, Daily return line, Rolling drawdown fill.
Attribution panel. Toggle winners only to focus on what matters.
Monte Carlo mode with Normal or Bootstrap and confidence bands.
Scatter plot type and styling, labels, and portfolio star.
Pie chart and labels for current allocation.
Presets
Crypto Daily, Long Only . Lookback 25, Target Vol 50 percent, Fees 10 bps, Regime filter on, Metrics and Drawdown on. Monte Carlo Bootstrap with Recent 200 bars for bands.
Crypto Daily, Delta Neutral . Lookback 25, Target Vol 50 percent, Fees 15–25 bps, Regime filter always active for this mode. Use Scatter Risk-Return to monitor efficiency and keep the star near upper left quadrants without drifting rightward.
Equities Daily, Long Only . Lookback 60–120, Target Vol 15–20 percent, Fees 5–10 bps, Regime filter on. Use Benchmark SPX and watch Alpha and Beta to keep the book from becoming index beta.
13) Suggested workflow
Universe sanity check . Pick liquid tickers with stable data. Thin assets distort vol estimates and fees.
Check momentum existence . Run on your timeframe. If slope and fit are weak, widen lookback or avoid that asset or timeframe.
Set risk budget . Choose a target volatility that matches your drawdown tolerance. Higher target increases turnover and cost sensitivity.
Pick mode . Long Only for bull regimes, Short Only for sustained downtrends, Delta Neutral for cross-sectional harvesting when index direction is unclear.
Tune lookback . If leaders rotate too often, lengthen it. If entries lag, shorten it.
Validate cost assumptions . Increase fee_rate and stress Monte Carlo. If the edge vanishes with modest friction, refine selection or lengthen rebalance cadence.
Run attribution . Confirm the strategy’s winners align with intuition and not one unstable outlier.
Use alerts . Enable position change, drawdown, volatility breach, regime, momentum shift, and crash alerts to supervise live runs.
Important implementation details mapped to code
Momentum measure . cr = price / price - 1 per symbol for ranking. Simplicity helps avoid overfitting.
Volatility targeting . vol = stdev(log returns, lookback) * sqrt(tradingdays), volMult = clamp(targetVol / vol, 0.1, 5), sr = ret * volMult.
Selection . Extract indices for top1..top3 and bot1..bot3. The arrays rets, scRets, lev_vals, and ticks_arr track momentum, scaled returns, leverage multipliers, and display tickers respectively.
Regime filter . EMA12 vs EMA21 switch determines if the strategy takes risk for Long or Short modes. Delta Neutral ignores the gate.
Equity update . Equity multiplies by 1 + netRet only when the regime was active in the prior bar. Buy-and-hold benchmark is computed separately for comparison.
Tables . Position tables show current top or bottom assets with leverage and weights. Metric table prints all risk and performance figures.
Visualization panels . Attribution, Monte Carlo, scatter, and pie use the last bars to draw overlays that update as the backtest proceeds.
Final notes
Momentum is a portfolio effect. The edge comes from cross-sectional dispersion, adequate risk normalization, and disciplined turnover control, not from a single best asset call.
Volatility targeting stabilizes path but does not fix selection. Use the momentum regression link above to confirm structure exists before you size into it.
Always test higher lag costs and slippage, then recheck metrics, attribution, and Monte Carlo envelopes. If the edge persists under stress, you have something robust.
cd_sfp_CxGeneral:
This indicator is designed to assist users who trade the Swing Failure Pattern ( SFP ).
In technical literature (various definitions exist), an SFP is a situation where the price violates a previous swing level but fails to close beyond that level.
• (Liquidity Sweep)
• (Buyer or seller dominance)
• (Stop hunt)
• (Turtle Soup)
The general strategy is built upon seeking trade opportunities after an SFP is formed and conviction is established that the market direction has changed.
Components used to gather confirmation:
• Determining Bias: Periodic SAR
• Obtaining Breakout/Reversal Confirmation: Change in State Delivery (CISD)
• Defining the Buyer/Seller Block (Supply/Demand Zones): Mitg Blocks (Mitigation Blocks), FVG (Fair Value Gaps), and Standard Deviation Projection
• Key Levels: Previous HTF (Higher Time Frame) levels
• Setting Targets: Standard Deviation Projection
• Trade Management: Anchored VWAP and opposing blocks
• Time-Based Context: Session Killzone times
• Notifications: An alarm/alert system will be utilized to stay informed.
________________________________________
Details:
Swing and Swing Failure Pattern:
Swing Sweep Types (Liquidity Sweep):
1. Single
2. Consecutive (The liquidity of the entity that swept the liquidity is being swept)
Bias Determination
We need to filter out the numerous SFPs that occur across all time frames. Our first strong filter will be the Bias. We will only look for trades aligned with our bias.
We will use Periodic SAR (Stop and Reverse) to determine the bias. We compare the price with the SAR value from a Higher Time Frame than the one we are trading on.
• Price > SAR => Bullish Bias
• Price < SAR => Bearish Bias
Depending on the pair, H1 SAR may be chosen for scalp trades, and Daily/Weekly SAR for intraday and swing trades.
Key Levels
Strategies looking for trades after a liquidity grab generally state that the sweep / stop hunt movement should occur at a significant price level.
The most fundamental Key Level levels are (User can customize):
• Previous Week High & Low
• Previous Day High & Low
• Previous H4 High & Low
• Previous H1 High & Low
• Asia Killzone High & Low
• London Killzone High & Low
• New York Killzone High & Low
• Monday Range High & Low values
We will prefer SFP formations that occur when these levels are swept. When Key Levels are violated, an information label appears on the screen.
Blocks / Zones
To strengthen our hand, we will use three types of blocks/zones, either with Key Levels or separately. When an SFP structure is formed in these areas (along with bias and breakout confirmation), our expectation is for the price to continue in our desired direction. These regions are:
1. Mitigation Blocks (Mtg)
o (Details can be found in the cd_VWAP_mtg_Cx indicator)
o In short: A second candle, following a bullish candle, crosses its high but fails to close above it. We call this a sweep / SFP. When the price, which was expected to go to the low, instead makes a new high/close, an Mtg block is formed. (Buyers are dominant)
2. FVGs (Fair Value Gaps)
o We use classic FVG structures.
3. Standard Deviation Projection Boxes
o When we get an SFP structure + breakout confirmation (CISD), we use the Standard Deviation Projection to determine our profit-taking and take-profit levels.
o Based on the idea that the price often respects the range between -2 and -2.5 of the projection values, we box this range and use it as our area of interest. (Our expectation is for the price to reverse after reaching this target).
o Let's mark it on the chart.
Confirmation
To summarize what has been explained so far: we look for the price to form an SFP structure in levels/zones we deem important, aligned with our bias, and for the breakout to be confirmed with a CISD.
No single component is strong on its own, but the success rate increases when they occur together.
We observe the following as additional confirmation along with the CISD: a new Mtg block forming in the direction of the breakout, high-volume movement (with FVG and a large body), and respect for VWAPs, the resistance/support line, and the defense block.
Additional Confirmations with Breakouts:
• Defence block, new mtg and VWAP
• Resistance / Support Line:
Indicator Signals
The indicator marks all formed sweeps, selected key levels, blocks, the projection, and CISD confirmations on the screen. The candle where the CISD confirmation occurs is indicated by an arrow.
• Arrows with double short lines signify a CISD that follows an SFP occurring at a Key Level.
• All other CISD candle indications are shown with single-line arrows.
Trade Management
When selecting profit targets in trades (preferably), the projection, opposing blocks, and structures that have formed are taken into account. Do not neglect to look at the structures that have formed against you when entering a trade.
Menu Settings:
• For Mtg blocks, the trading timeframe or a higher timeframe can be selected.
• FVGs formed in the current timeframe are displayed when the price creates an SFP (in "Fvg" option).
• Deviation boxes are displayed when the price creates an SFP (in box).
• The SAR HTF setting (H1) for scalp trades may vary depending on the pair. Users trying trades on higher timeframes should increase the HTF setting.
o Example: If you are looking for a trade with an SFP structure on H1, the SAR HTF setting should be H4 or higher.
• VWAP lines are refreshed starting from the candle that executed the sweep when the price forms an SFP. The only setting to adjust is the source selection setting (hlc3 is selected).
• Time frames and Killzone / Special Zone settings for Key Levels can be changed/should be checked.
Alarms / Alerts:
The conditions that will trigger an alert can be selected from the menu.
• To receive an alert aligned with the bias, the "Alignment with bias" checkbox must be selected.
• The alert should be set on the timeframe where you plan to enter the trade.
• The display options do not affect the alarm conditions. (Example: FVGs are monitored even when the menu selection is "off").
• If the necessary conditions are met, the alarm is triggered on the new candle that opens after the CISD confirmation.
• The alarm will not be triggered more than once at the same Key Level.
The user can preferably select alerts:
• Bias-aligned or Bias-independent
• Sweep (without waiting for CISD)
• Sweep + CISD (without looking for other conditions)
• Sweep + Key Level + CISD (the swept level is a Key Level)
• Sweep + Mtg / Fvg / Dev. + CISD (SFP formed in any of the blocks)
• Sweep + Mtg + CISD (SFP formed in the Mtg block)
• Sweep + Fvg + CISD (SFP formed inside the FVG)
• Sweep + Deviation Box + CISD (SFP formed inside the Dev. Box)
• Sweep + Key Level + Mtg / Fvg / Dev. + CISD (SFP formed simultaneously at a Key Level and any of the blocks)
Trade Example:
• Conditions: Bias-aligned + Sweep + Mtg/Fvg/Dev (at least one) + CISD
• Extra Confirmations: Respect for the Defense Block + Respect for VWAP
• Target (TP): Projection between -2 and -2.5
I welcome your thoughts and suggestions regarding my indicator, which I believe will be successful in the long run by adhering to uncompromising risk management and a strict trading plan.
Happy Trading!
Quasimodo Pattern Strategy Back Test [TradingFinder] QM Trading🔵 Introduction
The QM pattern, also known as the Quasimodo pattern, is one of the popular patterns in price action, and it is often used by technical analysts. The QM pattern is used to identify trend reversals and provides a very good risk-to-reward ratio. One of the advantages of the QM pattern is its high frequency and visibility in charts.
Additionally, due to its strength, it is highly profitable, and as mentioned, its risk-to-reward ratio is very good. The QM pattern is highly popular among traders in supply and demand, and traders also use this pattern.
The Price Action QM pattern, like other Price Action patterns, has two types: Bullish QM and Bearish QM patterns. To identify this pattern, you need to be familiar with its types to recognize it.
🔵 Identifying the QM Pattern
🟣 Bullish QM
In the bullish QM pattern, as you can see in the image below, an LL and HH are formed. As you can see, the neckline is marked as a dashed line. When the price reaches this range, it will start its upward movement.
🟣 Bearish QM
The Price Action QM pattern also has a bearish pattern. As you can see in the image below, initially, an HH and LL are formed. The neckline in this image is the dashed line, and when the LL is formed, the price reaches this neckline. However, it cannot pass it, and the downward trend resumes.
🔵 How to Use
The Quasimodo pattern is one of the clearest structures used to identify market reversals. It is built around the concept of a structural break followed by a pullback into an area of trapped liquidity. Instead of relying on lagging indicators, this pattern focuses purely on price action and how the market reacts after exhausting one side of liquidity. When understood correctly, it provides traders with precise entry points at the transition between trend phases.
🟣 Bullish Quasimodo
A bullish Quasimodo forms after a clear downtrend when sellers start losing control. The market continues to make lower lows until a sudden higher high appears, signaling that buyers are entering with strength. Price then pulls back to retest the previous low, creating what is known as the Quasimodo low.
This area often becomes the final trap for sellers before the market shifts upward. A visible rejection or displacement from this zone confirms bullish momentum. Traders usually place entries near this level, stops below the low, and targets at previous highs or the next resistance zone. Combining the setup with demand zones or Fair Value Gaps increases its accuracy.
🟣 Bearish Quasimodo
A bearish Quasimodo forms near the top of an uptrend when buyers begin to lose strength. The market continues to make higher highs until a sudden lower low breaks the bullish structure, showing that selling pressure is entering the market. Price then retraces upward to retest the previous high, forming the Quasimodo high, where breakout buyers are often trapped.
Once rejection appears at this level, it indicates a likely reversal. Traders can enter short near this area, with stop-losses placed above the high and targets near the next support or previous lows. The setup gains more reliability when aligned with supply zones, SMT divergence, or bearish Fair Value Gaps.
🔵 Setting
Pivot Period : You can use this parameter to use your desired period to identify the QM pattern. By default, this parameter is set to the number 5.
Take Profit Mode : You can choose your desired Take Profit in three ways. Based on the logic of the QM strategy, you can select two Take Profit levels, TP1 and TP2. You can also choose your take profit based on the Reward to Risk ratio. You must enter your desired R/R in the Reward to Risk Ratio parameter.
Stop Loss Refine : The loss limit of the QM strategy is based on its logic on the Head pattern. You can refine it using the ATR Refine option to prevent Stop Hunt. You can enter your desired coefficient in the Stop Loss ATR Adjustment Coefficient parameter.
Reward to Risk Ratio : If you set Take Profit Mode to R/R, you must enter your desired R/R here. For example, if your loss limit is 10 pips and you set R/R to 2, your take profit will be reached when the price is 20 pips away from your entry point.
Stop Loss ATR Adjustment Coefficient : If you set Stop Loss Refine to ATR Refine, you must adjust your loss limit coefficient here. For example, if your buy position's loss limit is at the price of 1000, and your ATR is 10, if you set Stop Loss ATR Adjustment Coefficient to 2, your loss limit will be at the price of 980.
Entry Level Validity : Determines how long the Entry level remains valid. The higher the level, the longer the entry level will remain valid. By default it is 2 and it can be set between 2 and 15.
🔵 Results
The following examples show the backtest results of the Quasimodo (QM) strategy in action. Each image is based on specific settings for the symbol, timeframe, and input parameters, illustrating how the QM logic can generate signals under different market conditions. The detailed configuration for each backtest is also displayed on the image.
⚠ Important Note : Even with identical settings and the same symbol, results may vary slightly across different brokers due to data feed variations and pricing differences.
Default Properties of Backtests :
OANDA:XAUUSD | TimeFrame: 5min | Duration: 1 Year :
BINANCE:BTCUSD | TimeFrame: 5min | Duration: 1 Year :
CAPITALCOM:US30 | TimeFrame: 5min | Duration: 1 Year :
NASDAQ:QQQ | TimeFrame: 5min | Duration: 5 Year :
OANDA:EURUSD | TimeFrame: 5min | Duration: 5 Year :
PEPPERSTONE:US500 | TimeFrame: 5min | Duration: 5 Year :
Aroon RSI Logic — Customizable + No-Trade RSI ZoneThis indicator — **“Aroon RSI Logic — Customizable + No-Trade RSI Zone”** — is designed to help traders identify high-probability turning points in the market by combining **trend momentum (Aroon)** with **relative strength dynamics (RSI)**, while also protecting against emotional or impulsive trading through structured filters and psychological safeguards.
---
### 🧠 **Concept Overview**
At its core, the system balances **trend confirmation** with **momentum moderation**. It seeks to enter trades only when technical alignment suggests both exhaustion of a recent move and early signs of a potential reversal — while filtering out market noise and emotionally driven trades in neutral or extreme conditions.
This design encourages **discipline**, **patience**, and **objectivity**, three of the most critical psychological traits of successful traders.
---
### 📊 **Core Components**
#### 1. **Aroon Structure Awareness**
The Aroon indicator measures how recently price has reached a new high or low within a specific period, reflecting trend strength and potential exhaustion.
* When **Aroon Down** approaches the predefined target level, it suggests the market has not made new lows for several bars — an early indication that bearish momentum may be fading.
* Conversely, when **Aroon Up** nears the target, bullish strength may be waning.
This mechanism trains the trader’s mind to **look for transitions** — moments when dominant sentiment begins to lose control.
---
#### 2. **RSI Momentum Confirmation**
The RSI (Relative Strength Index) and its smoothed version act as dual filters to confirm emotional extremes and trend shifts in momentum.
* When RSI significantly diverges from its smoothed version, it often reflects **emotional spikes** or **unsustainable acceleration**.
* The system only allows trades when the RSI difference remains within a defined limit, fostering entries during **balanced, rational phases** of the market rather than moments of panic or euphoria.
This approach supports **emotional discipline**, discouraging entries when crowd psychology dominates decision-making.
---
#### 3. **No-Trade RSI Zone**
A critical safeguard is the **“No-Trade Zone”**, defined by specific RSI thresholds.
When RSI is too low (oversold) or too high (overbought), traders are often tempted to act impulsively — either out of fear or greed.
By preventing entries during these phases, the indicator helps traders **avoid psychological traps** such as:
* Chasing reversals prematurely.
* Getting caught in continuation moves driven by crowd emotion.
It reinforces a mindset of **restraint** and **selective participation**.
---
#### 4. **Time-Based Discipline Filter**
The session filters allow trading only within designated market hours (for example, morning and afternoon sessions).
This enforces **structured activity**, reducing exposure to low-volume, erratic periods when decision fatigue or overtrading tendencies often arise.
It mirrors the behavior of professional traders who work within time-framed playbooks rather than emotional impulses.
---
### 🟢 **Buy Logic**
Buy opportunities arise when:
* Downward momentum (Aroon Down) weakens near the target level,
* RSI behavior supports balanced momentum or mild recovery, and
* Emotional extremes are absent.
This combination reflects a **calm, data-driven reversal environment**, ideal for contrarian but controlled entries.
---
### 🔴 **Sell Logic**
Sell signals appear when:
* Upward momentum (Aroon Up) softens around the target,
* RSI confirms slowing bullish pressure, and
* Market sentiment shows fatigue without panic.
It aligns with a **psychologically sound exit or shorting scenario**, avoiding reactionary decisions.
---
### 🧩 **Psychological Philosophy**
This tool isn’t just a signal generator — it’s a **trader’s behavioral framework**.
By combining structured logic, volatility filters, and emotional control zones, it helps cultivate:
* **Patience** to wait for qualified setups.
* **Confidence** to act when all conditions align.
* **Detachment** from impulsive market movements.
It transforms trading from a reactive habit into a **strategic execution process** rooted in logic and emotional balance.
---
oppliger trendfollow📈 Strategy Overview: SMA25 vs SMA200 – Gap Momentum Trend Strategy
This strategy is a trend-following system designed to capture strong, accelerating uptrends while exiting early when momentum begins to fade.
It uses the relationship between two moving averages — the 25-period SMA and the 200-period SMA — and monitors the gap (distance) between them as a measure of trend strength.
🟢 Entry Conditions (Go Long)
A long position is opened only when all of the following conditions are true:
Uptrend confirmation:
The 25-period SMA is above the 200-period SMA
→ confirms a clear upward trend.
Price momentum:
The closing price is above the SMA25 line,
→ showing that the market currently trades with bullish momentum.
Trend acceleration:
The gap between SMA25 and SMA200 has been increasing for the last 5 consecutive bars.
→ mathematically:
gap_t > gap_(t-1) > gap_(t-2) > gap_(t-3) > gap_(t-4)
→ indicates that the short-term trend is pulling away from the long-term trend and accelerating upward.
✅ When all three conditions are met, the strategy enters a long trade at the close of the current candle.
🔴 Exit Conditions (Close Long)
The position is closed when the uptrend starts to lose strength:
Trend deceleration:
The gap between SMA25 and SMA200 has been shrinking for 3 consecutive bars.
→ mathematically:
gap_t < gap_(t-1) < gap_(t-2)
→ signals that the short-term moving average is converging toward the long-term average, showing weakening momentum.
🚪 When this condition is met, the strategy closes the position at market price.
⚙️ Summary of Logic
Phase Condition Meaning
Entry SMA25 > SMA200 Long-term trend is up
Entry Close > SMA25 Short-term momentum is bullish
Entry Gap rising 5 bars Trend is accelerating
Exit Gap falling 3 bars Trend is weakening
💡 Interpretation
This strategy aims to:
Enter only when a strong, accelerating uptrend is confirmed.
Stay in the trade as long as momentum remains intact.
Exit early when the market starts losing strength, before the trend fully reverses.
It works best in trending markets and helps avoid false entries during sideways or weak phases.
Trend Engine [MMT]The Trend Engine is a versatile Pine Script indicator designed to identify trend direction, potential reversals, and key price levels using a combination of Exponential Moving Averages (EMAs), and Anchored Volume-Weighted Average Price (VWAP). This indicator provides traders with a clear visual representation of market bias, momentum, and key support/resistance levels, making it suitable for both trend-following and pullback trading strategies.
Key Features:
1. EMA Cloud System:
- Displays three customizable EMAs (Fast, Pullback, and Slow) with configurable lengths and visibility.
- Creates two cloud fills:
- Fast Cloud : Between the Fast EMA (default: 8) and Pullback EMA (default: 13).
- Slow Cloud : Between the Pullback EMA and Slow EMA (default: 21).
- Clouds are color-coded (green for bullish, red for bearish) based on EMA alignment, with adjustable transparency for clarity.
2. Bias EMA:
- A longer-term EMA (default: 35) indicates the overall market bias.
- Changes color based on whether the regular candle close is above (green) or below (red) the Bias EMA, providing a clear trend direction signal.
3. Heikin Ashi Signals:
- Utilizes Heikin Ashi candles to detect strong bullish or bearish momentum.
- Generates buy/sell signals when a Heikin Ashi candle confirms a trend (bullish HA candle closing above Bias EMA for buy, bearish HA candle closing below for sell).
- Signal arrows are currently disabled but can be enabled via settings for visual confirmation.
4. Anchored VWAP and Standard VWAP:
- Plots both a standard VWAP and an Anchored VWAP (anchored to the US RTH session, 09:30–16:00 EST).
- Customizable line styles (solid, cross, or circles) and colors for both VWAPs, aiding in identifying dynamic support/resistance levels.
5. Background and Candle Coloring:
- Optional background coloring reflects the market bias (green for bullish, red for bearish) based on the regular close relative to the Bias EMA.
- Optional Heikin Ashi candle coloring to visually distinguish bullish and bearish market conditions.
6. Regular Candle Close:
- Option to plot the regular (non-Heikin Ashi) close price with customizable styles (line, circles, or cross) for reference.
7. Alerts:
- Built-in alert conditions for bullish and bearish signals, allowing traders to receive notifications when a Heikin Ashi candle confirms a trend relative to the Bias EMA.
How to Use:
- Trend Identification : Use the Bias EMA and background color to determine the overall market direction.
- Pullback Trading : Monitor the EMA clouds for alignment (bullish or bearish) and use the Pullback EMA for entries during retracements.
- Support/Resistance : Leverage the VWAP and Anchored VWAP as dynamic levels for trade entries or exits.
- Signal Confirmation : Enable signal arrows (when fixed) to spot high-probability trend continuation or reversal setups.
- Customization : Adjust EMA lengths, colors, transparency, and visibility to suit your trading style and timeframe.
Settings:
- EMA Cloud : Customize lengths (default: 8, 13, 21), visibility, and cloud colors/transparency.
- Bias EMA : Adjust length (default: 35) and colors for above/below states.
- VWAP : Toggle standard and Anchored VWAP, with customizable styles and colors.
- Background/Candles : Enable/disable background and candle coloring for visual clarity.
- Regular Close : Show/hide the regular close price with style options.
Notes:
- Designed for use on any timeframe, but most effective on intraday (e.g., 5m, 15m) or daily charts.
- Best used in conjunction with other technical analysis tools for confirmation.
- Anchored VWAP is tailored for US markets (RTH session) but can be adjusted for other sessions by modifying the anchor time in the code.
Ideal For:
- Day traders and swing traders looking for trend direction and pullback opportunities.
- Traders using VWAP-based strategies for intraday support/resistance.
- Those seeking a clean, customizable visual aid for market bias and momentum.
This indicator is a powerful tool for traders aiming to capture trends and manage risk effectively, with extensive customization to adapt to various markets and trading styles.
TMA Dual BandsTMA Dual Bands - Adaptive Channel Indicator with Crossover Signals
TMA Dual Bands represents my interpretation of the classic Triangular Moving Average methodology, specifically designed to identify high-probability trading setups through the interaction of two adaptive channel systems. Unlike traditional channel indicators that rely on static calculations, this tool dynamically adjusts to market volatility while maintaining the smooth, reliable characteristics that make TMA-based systems so effective.
The indicator combines a MAIN channel (slow-moving, representing the broader trend) with a FAST channel (responsive, capturing momentum shifts). When these two systems interact in specific ways, they generate clear trading signals that can be used across multiple timeframes and market conditions.
The Mathematics Behind the Indicator
At its core, this indicator uses a sophisticated approach to calculating Triangular Moving Averages. Rather than using the traditional double Simple Moving Average method, I've implemented a double Weighted Moving Average calculation. This means the TMA is computed by taking a WMA of another WMA, which provides better responsiveness to recent price action while maintaining the smooth, triangular weighting distribution that gives this indicator its name.
The weighted approach significantly reduces lag compared to double-smoothed simple moving averages, allowing the indicator to catch trend changes earlier without sacrificing reliability. This is particularly important for the FAST channel, where responsiveness is crucial for signal generation.
Adaptive Volatility Bands
What makes this indicator truly unique is its adaptive band calculation system. Instead of using a single standard deviation like traditional Bollinger Bands, the indicator maintains separate variance calculations for upward and downward price movements. When price rises above the TMA centerline, the upper band variance increases while the lower band variance decreases proportionally. The opposite occurs when price falls below the centerline.
This asymmetric approach allows the bands to better reflect actual market conditions. During uptrends, the upper band expands to accommodate bullish volatility while the lower band contracts, creating a channel that naturally "leans" in the direction of the trend. The same principle applies in reverse during downtrends.
The full calculation uses a smoothed variance over approximately four times the base period, ensuring that band adjustments are gradual rather than erratic. The multiplier parameter allows you to adjust the sensitivity of the bands to volatility, with higher values creating wider channels that generate fewer but higher-quality signals.
Understanding the Signals
The signal generation mechanism is elegantly simple yet remarkably effective. A bullish signal occurs when the lower FAST band crosses above the lower MAIN band. This crossover indicates that short-term momentum has shifted decisively upward, strong enough to break through the slower-moving baseline channel. These signals typically appear after consolidation periods or healthy pullbacks in uptrends, making them excellent continuation entry points.
Conversely, bearish signals trigger when the upper FAST band crosses below the upper MAIN band. This pattern suggests that upward momentum has exhausted itself and that sellers are beginning to dominate. These signals often appear near resistance levels or at the culmination of extended rallies, providing excellent risk-reward opportunities for counter-trend or trend-reversal trades.
The visual representation enhances signal clarity. The MAIN TMA centerline changes color dynamically based on its slope, displaying green during upward movement and red during downward movement. This gives you instant visual confirmation of the prevailing trend direction. The signal markers themselves appear as diamond shapes positioned just outside the MAIN channel bands, with cyan diamonds indicating buy opportunities below the lower band and blue diamonds marking sell opportunities above the upper band. You could consider taking bull signals only on long trend, and vice versa for the sell signals.
Practical Application
The indicator works across multiple trading approaches and timeframes. For trend-following strategies, the most reliable signals occur when they align with the MAIN TMA color. Taking only green-colored uptrend signals and red-colored downtrend signals significantly improves win rates by ensuring you're always trading with the dominant momentum.
For breakout traders, the most powerful setups occur after periods of compression when the FAST bands squeeze inside the MAIN bands. This compression indicates low volatility and tight consolidation. When a signal finally triggers after such compression, it often leads to explosive moves as the market breaks out of its range.
Mean reversion traders can also benefit from this indicator by taking counter-trend signals when price reaches extreme band levels. However, this approach requires careful risk management and works best in clearly ranging market conditions.
Configuration and Customization
The default parameters have been carefully selected through extensive testing, with the MAIN period set to 133 bars and the FAST period at 19 bars. These values create an effective balance between trend identification and momentum responsiveness. However, the indicator is fully customizable to suit different trading styles and market conditions.
Traders focusing on longer-term positions might increase both periods proportionally, while scalpers and day traders might reduce them. The price type parameter allows you to choose how price is calculated for the TMA, with the weighted option providing the most responsive results. The band multiplier controls how wide the channels expand, with values between 2.5 and 4.0 being most common depending on your preferred signal frequency.
Technical Integrity
A critical feature of this indicator is its complete absence of repainting. All signals are generated and confirmed on closed bars, meaning that once a signal appears in historical data, it will remain exactly where it appeared regardless of subsequent price action. This makes the indicator equally reliable for backtesting historical data and trading live markets, a characteristic that many "magic indicator" systems cannot claim.
The calculation methodology ensures that what you see on your chart is exactly what you would have seen in real-time when that bar closed. There are no retrospective adjustments, no future-peeking calculations, and no algorithmic tricks that make historical performance look better than actual trading results would have been.
Conclusion
TMA Dual Bands offers a sophisticated yet user-friendly approach to technical analysis, combining time-tested TMA methodology with modern adaptive volatility concepts. The dual-channel system provides clear visual representation of market structure while the crossover signals offer objective entry points that remove much of the guesswork from trading decisions.
Whether you're a discretionary trader looking for high-probability setups or a systematic trader seeking reliable signals for automated strategies, this indicator provides the clarity and consistency needed for confident decision-making in dynamic market conditions.
---
**Developed by AlgoAlex81**
*Disclaimer: This indicator is provided for educational and informational purposes only. Past performance does not guarantee future results. Always practice proper risk management and never risk more than you can afford to lose.*
3 Candle FVG with 5m S/R3 candle breakout indicator.
Shows EMA 50.
Shows Support and Resistance from the 5m chart on every timeframe.
Indicates every engulfing candle.
Indicates entry at 3 consecutive candles in the same direction where the middle candle has an FVG and it crosses the EMA.
Indicates entry at 3 consecutive candles in the same direction where the middle candle has an FVG and it does not cross the EMA.
SMA25 vs SMA150 – Reentry nur bei Gap-Expansion version 1📈 Strategy: SMA25 vs. SMA150 – Reentry with Gap Expansion
This trend-following strategy trades long positions only during strong uptrends.
It combines mid-term trend confirmation (SMA150) with short-term momentum (SMA25), and includes strict entry, reentry, and exit conditions to capture sustained bullish phases while cutting weak setups early.
🟢 Entry Rules
A long position is opened only if all of the following conditions are met:
Trend filter: The closing price is above SMA150 → confirms an uptrend.
Bullish candle: Current candle closes higher than it opens.
SMA range: SMA25 is 8% to 60% above SMA150.
Momentum slope: SMA25 has increased more strongly than SMA150 over the last 5 candles and is rising.
Trend confirmation: SMA25 has remained above SMA150 for at least 5 candles.
Price distance: The close is at least 0.5% above SMA25.
Stability: The previous two candles also closed above SMA25.
Short-term breakout: Current close is higher than the last 3 closes.
Reentry condition: Allowed only after 20 candles since the last exit and only if a gap expansion occurs above the previous high.
🔴 Exit Rules
A trade is closed as soon as any of the following conditions is triggered:
Dynamic trailing exit:
Close falls 3% below the highest SMA25 value since entry.
Hard stop-loss:
The low of the candle falls 5% or more below the entry price (intrabar trigger).
Early weakness filter:
If any of the first 3 candles after entry closes below the entry price, the trade is exited immediately.
⚙️ Additional Details
Long trades only (no shorts)
No pyramiding – only one position open at a time
Chart background color:
Green = position open
Red = no position
This system targets clean, established uptrends, avoids premature entries, and exits quickly when momentum fades.
It’s designed for swing and position traders who prefer systematic, trend-based setups with tight risk control and clear structure.
Dashboard — Vol & PriceDashboard for traders
Indicator Description
1. Prev Day High
What it shows: the previous trading day's high.
Why it shows: a resistance level. Many traders watch to see if the price will hold above or below this level. A breakout can signal buying strength.
2. Prev Day Low
What it shows: the previous day's low.
Why it shows: a support level. If the price breaks downwards, it signals weakness and a possible continuation of the decline.
3. Today
What it shows:
The difference between the current price and yesterday's close (in absolute values and as a percentage).
Color: green for an increase, red for a decrease.
Why it shows: immediately shows how strong a gap or movement is today relative to yesterday. This is an indicator of current momentum.
4. ADR, % (Average Daily Range)
What it shows: Average daily range (High – Low), expressed as a percentage of the closing price, for the selected period (default 7 days).
Why it's useful: To understand the "normal" volatility of an instrument. For example, if the ADR is 3%, then a 1% move is small, while a 6% move is very large.
5. ATR (Average True Range)
What it shows: Average fluctuation range (including gaps), in absolute points, for the specified period (default 7 days).
Why it's useful: A classic volatility indicator. Useful for setting stops, calculating position sizes, and identifying "noise" movements.
6. ATR (Today), %
What it shows: How much the current movement today (from yesterday's close to the current price) represents in % of the average ATR.
Why it shows: Shows whether the instrument has "played out" its average range. If the value is already >100%, there is a high probability that the movement will begin to slow.
7. Vol (Today)
What it shows:
Current trading volume for the day (in millions/billions).
Comparison with yesterday as a percentage (for example: 77.32M (-52.78%)).
Color: green if the volume is higher than yesterday; red if lower.
Why it shows:Quickly shows whether the market is active today. Volume = fuel for price movement.
8. Avg Vol (20d)
What it shows: Average daily volume over the last 20 trading days.
Why it's useful:"normal" activity level. It's a convenient backdrop for assessing today's turnover.
9. Rel. Vol (Today), % (Relative Volume)
What it shows: Deviation of the current volume from the average (20 days).
Formula: `(today / average - 1)` * 100`.
+30% = volume 30% above average, -40% = 40% below average.
Color: green for +, red for –.
Why it's useful:A key indicator for a trader. If RelVol > 100% (green), the market is "charged," and the movement is more significant. If low, activity is weak and movements are less reliable.
10. Normalized RS (Relative Strength)
What it shows: the relative strength of a stock to a selected benchmark (e.g., SPY), normalized by the period (default 7 days).
100 = same result as the market.
> 100 = the stock is stronger than the index.
<100 = weaker than the index.
Why it's needed: filtering ideas. Strong stocks rise faster when the market rises, weak stocks fall more sharply. This helps trade in the direction of the trend and select the best candidates.
In summary:
Prev High / Low — key support and resistance levels.
Today — an instant understanding of the current momentum.
ADR and ATR — volatility and potential movement.
ATR (Today) — how much the instrument has already "run."
Vol + Rel.Vol — activity and confirmation of the movement's strength.
RS — selecting strong/weak leaders against the market.
High and low statisticsHigh/Low Pattern Analyzer (All Timeframes)
Ever wonder if there's a hidden pattern in the market?
Does the high of the week usually happen on a Tuesday?
Does the low of the month always form in the first week?
Which 15-minute candle really sets the high for the entire day?
This indicator is a powerful statistical tool designed to answer these questions by analyzing historical price action to find patterns in when the high and low of a period are formed.
The Core Idea: Daily High & Low of the Week
The simplest and most popular feature of this indicator is the "Daily high and low of the week" analysis.
What it does:
It looks back over your chosen number of weeks (e.g., the last 100) and finds out which day of the week (Monday, Tuesday, Wednesday, etc.) made the final high and which day made the final low for each of those weeks.
How to use it:
Go to the script settings.
Enable the "Daily High/Low of the Week" module.
Set your chart to the 1D (Daily) timeframe.
A table will appear on your chart (bottom-right by default) showing the exact count and percentage for each day. This lets you see at a glance if there's a strong tendency for the market you're watching.
Advanced Analysis: Other Timeframes
This script goes far beyond just the daily chart. It includes four other independent analysis modules:
1. 4-Hour High/Low of the Week
What it does: For intraday and swing traders. This module finds which 4-hour candle session (e.g., the 08:00 candle, the 16:00 candle) tends to form the high or low of the entire week.
Key Feature (DST Aware): This table is "season-aware." It knows that the 08:00 "summertime" (DST) candle is the same trading session as the 07:00 "wintertime" (STD) candle. It groups them together so your data is never split or messy.
2. Weekly High/Low of the Month
What it does: For a monthly perspective. This module finds which week of the month (Week 1, 2, 3, 4, or 5) is most likely to form the monthly high or low.
How to use: Enable it and set your chart to the 1W (Weekly) timeframe.
3. Monthly High/Low of the Year
What it does: The ultimate "big picture" view. This module finds which month (Jan, Feb, Mar, etc.) most frequently forms the high or low for the entire year.
How to use: Enable it and set your chart to the 1M (Monthly) timeframe.
The Power User Module: Custom Timeframe Analysis
This is the most powerful feature. It lets you analyze any timeframe combination you want.
What it does: It finds out which "Lower Timeframe" (LTF) candle made the high or low of any "Higher Timeframe" (HTF) you choose.
Example: Do you want to know which 15-minute candle makes the Daily high?
Set your chart to the 15M timeframe.
Go to the "Custom Timeframe Analysis" settings.
Set the "Higher Timeframe" to "1D".
The script will draw a "season-aware" table (just like the 4H module) showing you the exact 15-minute candles (09:15, 09:30, etc.) that are statistically most likely to form the day's high or low.
Other Features
Show Labels: Each module has an option to "Show labels," which will draw a label (e.g., "Daily High of the Week") directly on the chart at the exact bar that made the high or low.
Custom Dividers: Each module has its own optional, color-customizable divider (e.g., weekly, monthly) that you can toggle on to see the periods more clearly.
Clean Settings: All modules are disabled by default (except for "Daily") to keep your chart clean. You only need to enable the specific analysis you want to see.
This tool was built to turn your curiosity about market patterns into actionable, statistical data. Enjoy!
Block-Based Trend Breakout (UTB/DTB) & S/R ZonesThis indicator is designed to detect potential trend reversals or volatility bursts by analyzing price action structured into "blocks." Its primary goal is to capture the earliest signals that a defined trend structure is weakening or breaking.
Signal Generation:
🟢 DTB (Downtrend Breakout): When a confirmed downtrend is identified (e.g., price has been falling for 2 blocks), the indicator waits for the price to break above the highest high of the last completed block in that trend. When this break occurs, it signals a potential bullish reversal with a green DTB triangle below the bar.
🔴 UTB (Uptrend Breakdown): When a confirmed uptrend is identified (e.g., price has been rising for 2 blocks), the indicator waits for the price to break below the lowest low of the last completed block. When this break occurs, it signals a potential bearish reversal with a red UTB triangle above the bar.
🛠️ Key Settings
Block Size (bars): The number of bars in each block used to analyze the trend structure. Lower values track short-term trends; higher values track long-term trends.
Trend Confirmation (steps): The minimum number of consecutive blocks required to "confirm" a trend.
Tolerance: Allowed Off-Trend Steps: The number of "noise" blocks allowed while confirming a trend.
Show Support/Resistance Zones: Toggles the histogram-based S/R zones on or off.
S/R Lookback (blocks): Determines how many blocks to look back for calculating S/R zones.
S/R Zone Width (in ATR): Sets the thickness of the S/R zones, denominated in ATRs.
If you find this useful please reach out and let me know how you use it as it's fairly unique... and thus different than anything I've ever seen or used.






















