SMACPAC SignalsSimple Moving Average Crossover Price Action Confirmation Strategy
Simply marks key signals or strength and weakness in the chart.
Alerts set up on t.me for SOL/USDT and PEPE/USDT daily charts and more
Göstergeler ve stratejiler
[AutoZone_mrkim]Title:
AutoZone_mrkim — Multi-Timeframe Order Block Auto Zone
Description:
This indicator automatically identifies and draws Order Block zones for every timeframe.
It helps traders visualize potential supply and demand areas more clearly and react faster to market structure changes.
Main Features:
Automatically detects bullish and bearish Order Block zones
Multi-timeframe zone generation (supports all chart timeframes)
Auto-color change when a zone is broken
Clean visualization for trend continuation and reversal setups
Useful for scalpers, intraday traders, and swing traders
Adjustable display options for zone size and transparency
How to Use:
Use the newest zone for short-term intraday signals
Confirm zone strength using structure breaks
Combine with trend analysis for higher accuracy
Disclaimer:
This indicator is a tool to assist decision making, not a guaranteed trading system.
Use responsibly.
LHS TechniqueLHS Technique Indicator
Overview
The LHS (Left-Hand-Side) Technique is a simple yet powerful tool for analyzing market context in crypto trading, inspired by the Zero Complexity Trading Systems philosophy. This indicator helps traders quickly assess price behavior by focusing on the "left-hand side" of the chart—past price action—to understand how the market arrived at its current state. It differentiates between macro (4-8 hours) and micro (1-10 minutes) environments, enabling you to filter high-quality setups and avoid low-probability trades.
Designed primarily for the 1-minute timeframe in volatile markets like crypto, it visualizes key insights such as trend direction, volatility levels, and volume trends. Without proper market context, even the best strategies can fail—this indicator provides that edge in under 20 seconds.
Key Features
Macro and Micro Modes: Switch between analyzing broader market structure (last 4-8 hours) or immediate price action (last 1-10 minutes) before a key level.
Trend Analysis: Classifies the range as "Bullish" (> customizable % change), "Bearish" (< customizable % change), or "Choppy" (neutral).
Volatility State: Measures range expansion as "High" (> customizable threshold), "Medium", or "Low" to gauge market heat.
Volume Behavior: Tracks volume trends over the lookback period as "Increasing" (momentum building), "Decreasing" (exhaustion), or "Flat" using linear regression slope.
Visual Elements:
Background highlight for the analyzed range.
Optional vertical boundary lines (customizable style, color, width).
Horizontal lines for high/low structure (toggleable).
Info label displaying mode, time, trend, volatility, and volume (color-coded by trend).
Arrows marking the range start/end.
Customizable Thresholds: Adjust percentages for trend, volatility, and volume slope to fit your trading style.
Alerts: Built-in conditions for period starts, trend changes, and volume shifts.
How to Use
Add the indicator to your 1-minute chart (e.g., BTCUSDT or other crypto pairs).
Select "Macro" for overall context (e.g., chopping vs. trending) or "Micro" for precise entry timing.
Customize lookback periods, thresholds, and visuals via the inputs.
Interpret the label:
Trend: Trade with the trend in strong environments; avoid or reverse in choppy ones.
Volatility: High vol favors breakouts; low vol suggests reversals.
Volume: Increasing confirms continuation; decreasing signals potential turns.
Use with the LHS framework: Align macro/micro for confluence—e.g., steady macro trend + increasing micro volume = high-quality momentum setup.
Example
In Macro mode (8 hours), if the label shows "Bullish" with "High" volatility and "Increasing" volume, it indicates strong upward momentum—ideal for breakout trades. Zoom out to the LHS to confirm no prior chopping.
Disclaimer
This indicator is crafted for trading the 1-minute timeframe in crypto. Do not use on higher timeframes without testing first. Past performance is not indicative of future results—always combine with your own analysis and risk management.
For more on the underlying LHS Technique, refer to the Zero Complexity Trading Systems guide.
Designed with ❤️ by Alej4ndroj, built by AI – Feedback welcome!
X: @alej4ndroj x.com
powell's key openskey open levels that powell teaches and uses
6 pm, 12 am and 10 am EST opening pricing
Count█ OVERVIEW
A library of functions for counting the number of times (frequency) that elements occur in an array or matrix.
█ USAGE
Import the Count library.
import joebaus/count/1 as c
Create an array or matrix that is a `float`, `int`, `string`, or `bool` type to count elements from, then call the count function on the array or matrix.
id = array.from(1.00, 1.50, 1.25, 1.00, 0.75, 1.25, 1.75, 1.25)
countMap = id.count() // Alternatively: countMap = c.count(id)
The "count map" will return a map with keys for each unique element in the array or matrix, and with respective values representing the number of times the unique element was counted. The keys will be the same type as the array or matrix counted. The values will always be an `int` type.
array mapKeys = countMap.keys() // Returns unique keys
array mapValues = countMap.values() // Returns counts
If an array is in ascending or descending order, then the keys of the map will also generate in the same order.
intArray = array.from(2, 2, 2, 3, 4, 4, 4, 4, 4, 6, 6) // Ascending order
map countMap = intArray.count() // Creates a "count map" of all unique elements
array mapKeys = countMap.keys() // Returns // Ascending order
array mapValues = countMap.values() // Returns count
Include a value to get the count of only that value in an array or matrix.
floatMatrix = matrix.new(3, 3, 0.0)
floatMatrix.set(0, 0, 1.0), floatMatrix.set(1, 0, 1.0), floatMatrix.set(2, 0, 1.0)
floatMatrix.set(0, 1, 1.5), floatMatrix.set(1, 1, 2.0), floatMatrix.set(2, 1, 2.5)
floatMatrix.set(0, 2, 1.0), floatMatrix.set(1, 2, 2.5), floatMatrix.set(2, 2, 1.5)
int countFloatMatrix = floatMatrix.count(1.0) // Counts all 1.0 elements, returns 5
// Alternatively: int countFloatMatrix = c.count(floatMatrix, 1.0)
The string method of count() can use strings or regular expressions like "bull*" to count all matching occurrences in a string array.
stringArray = array.from('bullish', 'bull', 'bullish', 'bear', 'bull', 'bearish', 'bearish')
int countString = stringArray.count('bullish') // Returns 2
int countStringRegex = stringArray.count('bull*') // Returns 4
To count multiple values, use an array of values instead of a single value. Returning a count map only of elements in the array.
countArray = array.from(1.0, 2.5)
map countMap = floatMatrix.count(countArray)
array mapKeys = countMap.keys() // Returns keys
array mapValues = countMap.values() // Returns counts
Multiple regex patterns or strings can be counted as well.
stringMatrix = matrix.new(3, 3, '')
stringMatrix.set(0, 0, 'a'), stringMatrix.set(1, 0, 'a'), stringMatrix.set(2, 0, 'a')
stringMatrix.set(0, 1, 'b'), stringMatrix.set(1, 1, 'c'), stringMatrix.set(2, 1, 'd')
stringMatrix.set(0, 2, 'a'), stringMatrix.set(1, 2, 'd'), stringMatrix.set(2, 2, 'b')
// Count the number of times the regex patterns `'^(a|c)$'` and `'^(b|d)$'` occur
array regexes = array.from('^(a|c)$', '^(b|d)$')
map countMap = stringMatrix.count(regexes)
array mapKeys = countMap.keys() // Returns
array mapValues = countMap.values() // Returns
An optional comparison operator can be specified to count the number of times an equality was satisfied for `float`, `int`, and `bool` methods of `count()`.
intArray = array.from(2, 2, 2, 3, 4, 4, 4, 4, 4, 6, 6)
// Count the number of times an element is greater than 4
countInt = intArray.count(4, '>') // Returns 2
When passing an array of values to count and a comparison operator, the operator will apply to each value.
intArray = array.from(2, 2, 2, 3, 4, 4, 4, 4, 4, 6, 6)
values = array.from(3, 4)
// Count the number of times and element is greater than 3 and 4
map countMap = intArray.count(values, '>')
array mapKeys = countMap.keys() // Returns
array mapValues = countMap.values() // Returns
Multiple comparison operators can be applied when counting multiple values.
intMatrix = matrix.new(3, 3, 0)
intMatrix.set(0, 0, 2), intMatrix.set(1, 0, 3), intMatrix.set(2, 0, 5)
intMatrix.set(0, 1, 2), intMatrix.set(1, 1, 4), intMatrix.set(2, 1, 2)
intMatrix.set(0, 2, 5), intMatrix.set(1, 2, 2), intMatrix.set(2, 2, 3)
values = array.from(3, 4)
comparisons = array.from('<', '>')
// Count the number of times an element is less than 3 and greater than 4
map countMap = intMatrix.count(values, comparisons)
array mapKeys = countMap.keys() // Returns
array mapValues = countMap.values() // Returns
LE LevelsGENERAL OVERVIEW:
The LE Levels indicator plots yesterday’s high/low and today’s pre-market high/low directly on your chart, then layers signal logic around those levels and a set of EMA waves. You can choose “Inside” setups, “Outside” setups, or both. You can also pick entries that trigger at levels, entries that trigger off the EMA wave, or both.
This indicator was developed by Flux Charts in collaboration with Ellis Dillinger (Ellydtrades).
What is the purpose of the indicator?:
The purpose of the LE Levels indicator is to give traders a clear view of how price is behaving around key session levels and EMA structure. It follows the same model EllyD teaches by showing where price is relative to the Previous Day High and Low and the Pre-Market High and Low, then printing signals when specific reactions occur around those levels.
What is the theory behind the indicator?:
The theory behind the LE Levels indicator is based on the concept of inside and outside days. An inside day occurs when price trades within the previous day’s high and low, signaling compression and potential breakout conditions. An outside day occurs when price moves beyond those boundaries, confirming expansion and directional bias. When price trades above the PDH or PMH, it reflects bullish control and potential continuation if supported by volume and momentum. When price trades below the PDL or PML, it shows bearish control and possible downside continuation. The idea is to combine this logic with tickers that have catalysts or news, since these events often bring higher-than-normal volume.
LE SCANNER FEATURES:
Key Levels
Signals
EMA Waves
Key Levels:
The LE Levels indicator automatically plots four key levels each day:
Previous Day High (PDH)
Previous Day Low (PDL)
Pre-Market High (PMH)
Pre-Market Low (PML)
🔹How are Key Levels used in the indicator?:
The key levels are a crucial factor in determining if the trend is bullish, bearish, or neutral trend bias. The indicator uses the key levels as a condition for identifying inside or outside setups (explained below). After determining a trend bias and setup type, the indicator prints long and short entry signals based on how price interacts with the key levels and 8 EMA Wave. (explained below).
These levels define where price previously reacted or reversed, helping traders visualize how current price action relates to prior session structure. They update automatically each day and pre-market session, allowing traders to see if price is trading inside, above, or below prior key ranges without manually drawing them.
Please Note: Pre-market times are based on U.S. market hours (Eastern Standard Time) and may vary for non-U.S. tickers or exchanges.
🔹Previous Day High (PDH):
The PDH marks the highest price reached during the previous regular trading session. It shows where buyers pushed price to its highest point before the market closed. This value is automatically pulled from the daily chart and projected forward onto intraday timeframes.
🔹Previous Day Low (PDL):
The PDL marks the lowest price reached during the previous regular trading session. It shows where selling pressure reached its lowest point before buyers stepped in. Like the PDH, this level is retrieved from the prior day’s data and extended into the current session.
🔹Pre-Market High (PMH):
The PMH is the highest price reached between 4:00 AM and 9:29 AM EST, before the regular market open. It shows how far buyers managed to push price up during the pre-market session.
🔹Pre-Market Low (PML):
The PML is the lowest price reached between 4:00 AM and 9:29 AM EST, before the regular market open. It shows how far sellers were able to drive price down during the pre-market session.
🔹Customization Options:
Extend Levels:
Extends each plotted line a user-defined number of bars into the future, keeping them visible even as new candles print. This helps maintain a clear visual reference as the session progresses.
Extend PDH/L Left & Extend PMH/L Left:
These settings let you extend the Previous Day and Pre-Market levels back to their origin point, so you can see exactly where each level was formed on the prior trading day. This makes it easy to understand the context of each level and how it developed. When this option is disabled, the lines begin at the regular session open instead of extending backward into the previous day’s data.
Show Name / Show Price:
Enabling Show Name displays labels (PDH, PDL, PMH, PML) beside each line, while Show Price adds the exact price value. You can choose to show just the name, just the price, or both for a complete label format.
Line Color and Style:
Each level can be fully customized. You can change the line color and select between solid, dashed, or dotted styles to visually distinguish each level type.
At the bottom of the indicator settings, under the ‘Miscellaneous’ section, two additional options allow further control over how levels are displayed:
Hide Previous Day Highs/Lows:
When enabled, the previous day’s high and low levels aren’t shown. When disabled, users can view previous day levels without using replay mode. By default, this setting is enabled.
Disabled:
Enabled:
Hide Previous Pre-Market Highs/Lows:
When enabled, the previous pre-market high and low levels aren’t shown. When disabled, users can view previous pre-market levels without using replay mode. By default, this setting is enabled.
Disabled:
Enabled:
Signals:
The LE Levels indicator automatically prints long and short entry signals based on how price interacts with its key levels (PDH, PDL, PMH, PML) and the EMA Waves. It identifies moments when price either breaks out beyond prior ranges or retests those levels in alignment with momentum shown by the EMA Waves.
There are two types of setups (Inside and Outside) and two entry types ((L)evels and (E)MAs). Together, these settings allow traders to customize the type of structure the indicator recognizes and how signals are generated.
🔹What is an Inside Setup?
An Inside Setup occurs when the current trading session forms entirely within the previous day’s range, meaning price has not yet broken above the Previous Day High (PDH) or below the Previous Day Low (PDL). In the LE Levels indicator, inside setups are recognized when price trades within the previous day’s boundaries while also considering the pre-market range (Pre-Market High and Pre-Market Low).
Inside Setups have two main conditions, depending on directional bias:
Bullish Inside Setup:
Price trades above the Pre-Market High (PMH) and above the Previous Day Low (PDL), while still below the Previous Day High (PDH).
Bearish Inside Setup:
Price trades below the Pre-Market Low (PML) and below the Previous Day High (PDH), while still above the Previous Day Low (PDL).
🔹What is an Outside Setup?
An Outside Setup occurs when the current trading session extends beyond the previous day’s range, meaning price has broken above the Previous Day High (PDH) or below the Previous Day Low (PDL). This structure reflects expansion and directional control, showing that either buyers or sellers have taken price into new territory beyond the prior session’s boundaries.
In the indicator, an Outside Setup forms once price closes beyond both the previous day and pre-market boundaries, showing bias in one direction.
Bullish Outside Setup:
Price closes above both the PDH and the PMH, confirming buyers have pushed through every key resistance from the prior session and the pre-market.
Bearish Outside Setup:
Price closes below both the PDL and the PML, showing sellers have pushed price beneath all key support levels from the previous session and the pre-market.
🔹Entry Types: (L)evels and (E)MAs
Once a setup type (Inside or Outside) has been established, the LE Levels indicator generates trade signals using one of two entry confirmation methods: (L) for Key Level based Entries and (E) for EMA Wave based Entries. These determine how the signal prints and what triggers it within.
🔹(L)evels Entry:
The (L)evels entry type is built around how price reacts to the key levels (PDH, PDL, PMH, PML). It prints when price retests those levels during an active setup. The logic focuses on retests, where price returns to confirm a previous breakout or breakdown before continuing in the same direction.
Bullish Outside (L)evels Setup:
A Bullish Outside Setup forms when price breaks above both the PDH and PMH. Once this breakout occurs, the indicator waits for a pullback to one of those levels. For a signal to print, the 8 EMA Wave must also be near that level, showing momentum is supporting the structure. A small buffer is applied between price and the level so that even if price only comes close, without fully touching, the retest still counts. When price holds above the PDH or PMH with the 8 EMA nearby, the indicator prints an (L) ▲ entry.
Bearish Outside (L)evels Setup:
A Bearish Outside Setup forms when price breaks below both the PDL and PML. Once this breakdown occurs, the indicator waits for a pullback to one of those levels. For a signal to print, the 8 EMA Wave must also be near that area, confirming momentum is aligned with the move. A small buffer is included so that even if price comes close but doesn’t fully touch the level, the retest still qualifies. When price holds below the PDL or PML with the 8 EMA nearby, the indicator prints an (L) ▼ entry.
Bullish Inside (L)evels Setup:
A Bullish Inside Setup forms when price trades above the PMH but stays below the PDH and above the PDL. Once this condition is met, the indicator waits for a pullback to the PMH. For a signal to print, the 8 EMA Wave must also be near that level. A small buffer is applied so that even if price only comes close to the level, the retest still counts. When price holds above the PMH with the 8 EMA nearby, the indicator prints an (L) ▲ entry.
Bearish Inside (L)evels Setup:
A Bearish Inside Setup forms when price trades below the PML but stays above the PDL and below the PDH. Once this condition is met, the indicator waits for a pullback to the PML. For a signal to print, the 8 EMA Wave must also be near that level. A small buffer is applied so that even if price only comes close, the retest still counts. When price holds below the PML with the 8 EMA nearby, the indicator prints an (L) ▼ entry.
🔹(E)MAs Entry:
The (E)MA Entry type focuses on how price reacts to the 8 EMA Wave. It identifies when price first interacts with the EMAs, then confirms continuation once momentum resumes in the setup’s direction. The first candle that touches the EMA prints an (E) marker, and the confirmation signal triggers only after price breaks above or below that candle, depending on the bias.
Bullish Outside (E)MA Setup:
A Bullish Outside Setup forms when price is trading above both the PDH and PMH. Once this breakout occurs, the indicator waits for price to pull back and touch the 8 EMA Wave, which prints the initial (E) label. If price then breaks above that candle’s high, the continuation setup is confirmed.
Bearish Outside (E)MA Setup:
A Bearish Outside Setup forms when price is trading below both the PDL and PML. After the breakdown, the indicator waits for price to pull back to the 8 EMA Wave, marking the candle that touches it with an (E) label. If price then breaks below that candle’s low, the continuation setup is confirmed.
Bullish Inside (E)MA Setup:
A Bullish Inside Setup forms when price trades above the PMH but remains below the PDH and above the PDL. The indicator waits for price to retrace and touch the 8 EMA Wave, which prints the initial (E) label. If price then breaks above that candle’s high, the continuation setup is confirmed.
Bearish Inside (E)MA Setup:
A Bearish Inside Setup forms when price trades below the PML but remains above the PDL and below the PDH. Once price touches the 8 EMA Wave, the indicator prints an (E) marker. If price then breaks below that candle’s low, the continuation setup is confirmed.
🔹Signal Settings:
At the bottom of the indicator settings panel, three core controls define how signals are displayed and which setups the indicator actively scans for. These settings allow you to refine signal generation based on your trading approach and chart preference.
Setup Type:
This setting determines which structural conditions the indicator tracks.
Inside Setups: Signals only appear when price is trading within the previous day’s range (between PDH and PDL).
Outside Setups: Signals only appear when price breaks outside the previous day’s range (above PDH/PMH or below PDL/PML).
Both: Enables signals for both Inside and Outside setups.
Entry Type:
Controls how the indicator confirms entries.
(E)MAs: Prints signals based on price interacting with the 8 EMA Wave.
(L)evels: Prints signals based on price retesting key levels such as PDH, PDL, PMH, or PML.
Both: Allows both EMA and Level-based signals to appear on the same chart.
Signal Filters (Long, Short, and Re-Entry):
These toggles let you control which trade directions are active.
Long: Displays only bullish entries and ignores all short setups.
Short: Displays only bearish entries and ignores long setups.
Re-Entry: Enables or disables repeated signals in the same direction after the first valid setup has printed. When off, only the initial signal is shown until conditions reset.
EMA Waves:
The EMA Waves help identify potential entries and show directional bias. They’re made of grouped EMAs that form shaded areas to create a “wave” look. The color-coding on the waves allows users to view when price is consolidating, in a bullish trend, or in a bearish trend. The wave updates in real time as new candles form and does not repaint historical data.
🔹8 EMA Wave
The 8 EMA Wave is used directly in the indicator’s signal logic described earlier. It reacts fastest to price compared to the other EAM Waves and determines when (L) and (E) signals can trigger.
How It Works:
The wave is made from the 8, 9, and 10 EMAs and fills the space between them to create a “wave” look. The 8 EMA Wave continuously updates its color based on where price trades relative to the key levels (PDH, PDL, PMH, PML). The color changes are conditional and based solely on price position relative to key levels.
Price is above both PDH and PMH: The wave is bright green, and the top half is purple.
Price is between PDH and PMH: The wave is dark green, and the top half is purple.
Price is below both PDL and PML: The wave is bright red, and the bottom half is purple.
Price is between PDL and PML: The wave is dark red, and the bottom half is purple.
Price is between all four levels: The wave is gray to represent consolidation or neutral bias.
🔹8 EMA Wave Signal Function:
For (L)evels entries, the 8 EMA must be close to the key level being retested, with a small buffer that allows near touches to qualify.
For (E)MA entries, the first candle that touches the wave prints an (E), and the confirmation signal appears when price breaks that candle’s high or low.
🔹8 EMA Wave Customization:
Users can customize all colors for bullish, bearish, and neutral conditions directly in the settings. The purple overlay color cannot be changed, as it is hard-coded into the indicator. The 8 EMA Wave can also be toggled on or off. Turning it off only removes the visual display from the chart and does not affect signals.
🔹20 EMA Wave
The 20 EMA Wave measures medium-term momentum and helps visualize larger pullbacks. It reacts more slowly than the 8 EMA Wave, giving a smoother wave look. No signals are generated from it. It’s purely a visual guide for spotting potential pullback areas for continuation setups.
How It Works:
The wave is made from the 19, 20, and 21 EMAs and fills the space between them to create a shaded “wave.” The color updates continuously based on where price trades relative to the key levels (PDH, PDL, PMH, PML). The color changes are conditional and based only on price position relative to these levels.
Price is above both PDH and PMH: The wave is bright green, and the top half is blue.
Price is between PDH and PMH: The wave is dark green, and the top half is blue.
Price is below both PDL and PML: The wave is bright red, and the bottom half is blue.
Price is between PDL and PML: The wave is dark red, and the bottom half is blue.
Price is between all four levels: The wave is gray to represent consolidation or neutral bias.
🔹20 EMA Wave Use Case:
After 12:00 PM EST, the 20 EMA Wave is used to spot larger pullbacks that form later in the session. No signals are generated from it; it only serves as a visual guide for identifying potential continuation areas.
Bullish Continuation Pullback:
Bearish Continuation Pullback:
🔹20 EMA Wave Customization:
Users can customize all colors for bullish, bearish, and neutral conditions directly in the settings. The blue overlay color cannot be changed, as it is hard-coded into the indicator. The 20 EMA Wave can also be toggled on or off.
🔹200 EMA Wave
The 200 EMA Wave is used to determine long-term trend bias. When price is above it, the bias is bullish; when price is below it, the bias is bearish. It updates automatically in real time and is used to define the broader directional bias for the day.
How it Works:
The 200 EMA Wave is created using the 190, 199, and 200 EMAs, with the area between them shaded to form a “wave.”
🔹200 EMA Wave Use Case:
When price is above the 200 EMA Wave and both the 8 and 20 EMA Waves are stacked above it, the overall trend is bullish.
When price is below the 200 EMA Wave and both shorter-term waves are also below it, the overall trend is bearish.
🔹200 EMA Wave Customization:
Users can customize both colors that form the 200 EMA Wave. The entire wave can also be toggled on or off in the settings.
Uniqueness:
The LE Levels indicator is unique because it combines signal logic with a clear visual structure. It automatically detects inside and outside setups, printing (L) and (E) entries based on how price reacts to key levels and the EMA Waves. Each signal follows strict conditions tied to the 8 EMA and key levels. The color-coded EMA Waves make it simple to understand where price is in relation to the key levels and getting a quick trend bias overview.
🕯️First Candle First Candle – Breakout & Return Indicator
This indicator marks the high and low of the first 9:30–9:45 AM New York session candle and locks those levels for the rest of the day.
It highlights important candles based on Fair Value Gap (FVG) logic and price behavior around this opening range:
• Green — first candle of the day whose full body closes above the range with a valid bullish FVG in the same impulse.
• Red — first candle whose full body closes below the range with a valid bearish FVG in the same impulse.
• Yellow — any candle whose full body re-enters back inside the range and has a matching same-impulse FVG behind the move.
Simple, clean, and designed to highlight only the most meaningful breakout and return signals from the opening range.
Cumulative Delta Difference HistogramINTRODUCTION:
This "Cumulative Delta Difference Histogram" is a volume-based indicator that calculates the difference (delta) between aggressive buying volume and selling volume for each candle and then builds a cumulative momentum histogram with the following behavior:
Momentum Tracking: The indicator accumulates the delta values when the delta is positive and increasing, producing green bars whose height visually represents growing buying pressure momentum.
Negative Momentum Detection: When the delta becomes negative or starts to decline, the histogram bars turn red and the accumulation decreases, effectively showing increasing selling pressure momentum.
Directional Reset: On each change from positive to negative delta momentum or vice versa, the accumulator resets to zero, providing a clear and sharp visualization of shifts without persistence from previous trends.
Zero Reference Line: A horizontal zero line serves as a visual baseline to distinguish positive from negative momentum easily.
HOW TO USE:
To trade effectively using the "Cumulative Delta Difference Histogram," you compare the price action chart with the indicator to confirm momentum and detect potential reversals or continuations. Here's how to do it in practice:
Confirming Trends:
When the price is rising, look for the histogram bars to be green and increasing, indicating strong and growing buying pressure supporting the uptrend. If price rises but the histogram shows diminishing green bars or shifts to red, it could signal weakening momentum and a potential reversal.
Identifying Divergences:
Compare price highs/lows with histogram peaks. If price makes a new high but the histogram fails to make a corresponding new high (bearish divergence), it warns of a possible trend reversal. Conversely, if price makes a new low but histogram shows higher lows (bullish divergence), it signals potential bullish reversal.
Volume Confirmation:
The histogram reflects real-time volume aggression behind price moves. Confirmation of price breakouts or breakdowns by corresponding strong histogram colors and bar height increases adds reliability to signals.
By aligning price patterns and levels with the cumulative delta histogram's signals, traders gain a deeper understanding of market strength and better timing for trades.
This combined approach improves the accuracy of entries and exits beyond relying on price alone, especially in markets sensitive to order flow and volume dynamics.
Use this indicator with a default volume or with my other indicator "Agression Histogram" for a better reading.
Liquidity GrabsLevels of untapped internal liquidity, waiting to be reclaimed. Works on any timeframe.
Gold𝑺𝒀𝑵𝑪🟡 Gold𝑺𝒀𝑵𝑪 - BTC follows GOLD
Gold𝑺𝒀𝑵𝑪 is a quantitative projection tool that visualizes how Bitcoin (BTC/USD) would perform if it mirrored the recent price behavior of Gold (XAU/USD).
It extends Gold’s last n days of normalized performance forward on the BTC chart and builds a volatility-adjusted projection corridor.
⚙️ Core Mechanics
Projection Engine:
Calculates Gold’s relative performance over the selected lookback window and applies it to BTC’s last closing price.
Volatility Scaling:
Computes the rolling standard deviation of Gold’s logarithmic returns to estimate the potential deviation range.
Dynamic Gradient Bands:
Three upper and lower standard deviation layers (1σ, 2σ, 3σ) are drawn using fading gradient fills to visualize increasing uncertainty.
Scenario Labels:
Displays key levels for:
𝑩𝑼𝑳𝑳𝑪𝑨𝑺𝑬 — +2σ projection
𝑬𝑿𝑷𝑬𝑪𝑻𝑬𝑫 — mean projection
𝑩𝑬𝑨𝑹𝑪𝑨𝑺𝑬 — −2σ projection
📈 Usage
Designed for 1D charts (daily timeframe).
Provides a comparative “sync” between Gold and Bitcoin to study cross-asset momentum, volatility symmetry, and directional bias.
Useful in macro correlation analysis or when modeling BTC’s potential movement under Gold-like conditions.
🧠 Interpretation
Gold𝑺𝒀𝑵𝑪 doesn’t predict - it synchronizes.
It offers a contextual view of BTC’s potential path if it followed Gold’s rhythm, enhanced by statistically derived volatility zones.
Created by: @SP_Quant
Credits: BitAura
𝑷ortfolio𝑴𝑨𝑺𝑻𝑬𝑹 [BitAura]𝑷ortfolio𝑴𝑨𝑺𝑻𝑬𝑹
This Pine Script® indicator is meant to be used to manage a Barbell Portfolio composed of BitAura's various strategies in order to create a risk-reward balance for the investor's needs. The Portfolio is divided in two main parts, one being a lower-risk Bitcoin-only strategy while the other being the higher-risk, higher-reward 𝐑otation𝑺𝑼𝑰𝑻𝑬 V3 system. The user can choose the percentage splits between these two systems and then also configure them based on their risk profile.
Logic and Core Concepts
The 𝑷ortfolio𝑴𝑨𝑺𝑻𝑬𝑹 System uses the Barbell Portfolio theory to create a portfolio taylored for the final user and automatically calculates dollar allocation based on inputted settings.
Features
𝐑otation𝑺𝑼𝑰𝑻𝑬 : our advanced Strategy which allocates to the strongest asset amongst a pool of 4 Major Crypto Tokens, or de-risk to USD when these lack momentum.
BItcoin-only Strategy : This is theoretically a lower-risk system compared to 𝐑otation𝑺𝑼𝑰𝑻𝑬 and is made out of Universal Trend Following strategies. There are two variants, one being a Long-Term strategy (𝐂ycle𝑽𝑰𝑺𝑰𝑶𝑵) while the other one being of Medium-Term speed (𝐒wing𝑽𝑰𝑺𝑰𝑶𝑵).
Customizable Inputs : Allows users to adjust table settings, backtest date ranges, portfolio splits and portfolio dollar allocations.
Visual Outputs :
Allocation Table : Displays calculated allocation to each system based on user settings.
Equity Plots : Plots the Barbell Portfolio performance along with the two individual systems equities and allow comparisons between them and to Bitcoin Buy & Hold.
Color Presets : Offers five color themes (e.g., Arctic Blast, Fire vs. Ice) or custom color options for long/cash signals.
Pine Script v6 : Leverages matrices, tables, and gradient coloring for enhanced usability.
How to Use
Add to Chart : Apply the indicator to any chart on the 1D timeframe. The ticker doesn't matter as it doesn't affect the calculations, just make sure the ticker start date is earlier than the Backtest Start date applied in the script settings.
Input Portfolio size : Adjust the Dollar Portfolio size in the script settings in order to obtain accurate Portfolio Allocations in the respective table. Note that BitAura can't and won't be able to access your portfolio size.
Choose Barbell Split : Adjust based on your risk-profile how much to allocate to your preferred Bitcoin Strategy (default 70%) and how much to allocate to 𝐑otation𝑺𝑼𝑰𝑻𝑬 (default 30%).
Configure Systems : Select your preferred allocation type for 𝐑otation𝑺𝑼𝑰𝑻𝑬. Aggressive allocates 100% to the dominant asset, Moderate allocates 80% to the dominant asset and 20% to the second strongest one while Conservative does a 60/40 split between the first two assets.
Configure Settings : Adjust backtest start date (default: 31 Oct 2024) to properly track the Portfolio's performance.
Select Color Theme : Choose a preset color mode (e.g., Arctic Blast) or enable custom colors in the Colors group.
Monitor Outputs : Check the Table for Allocations and system signals, and view the equity curves to view the portfolio's performance.
Notes
The script is closed-source.
The script avoids lookahead bias by using barmerge.lookahead_off in request.security() calls.
The BitAura watermark can be toggled in the Script Settings .
Disclaimer : This script is for educational and analytical purposes only and does not constitute financial advice. Investing involves significant risk, and past performance is not indicative of future results. Always conduct your own research and apply proper risk management.
༒CRIPTO Zz 2 ༒ Señales de Compra/VentaStoch RSI and RSI Buy/Sell Signals with MACD Trend Filter
This indicator combines Stochastic RSI, RSI, and MACD to generate buy and sell signals confirmed by candle color. It helps traders identify strong or weak entries based on momentum, overbought/oversold conditions, and trend strength.
༒CRIPTO Zz 2 ༒ Señales de Compra/VentaStoch RSI and RSI Buy/Sell Signals with MACD Trend Filter
This indicator combines Stochastic RSI, RSI, and MACD to generate buy and sell signals confirmed by candle color. It helps traders identify strong or weak entries based on momentum, overbought/oversold conditions, and trend strength.
3:55 S&D + CE 📊 High Probability S&D Trading System (90%+ Win Rate)Transform your trading with institutional-grade Supply & Demand zones built from the critical 3:55 PM EST candle - the last key reference point of the regular trading session where smart money positions for the next day.✨ KEY FEATURES🔥 Consequent Encroachment (CE) Integration
Yellow CE lines mark the 50% optimal entry point within each zone
Signals only fire after CE is touched (institutional rebalancing level)
Dramatically increases win rate by catching precise reversals
📦 Clean Supply & Demand Zones
Supply Zones (Red) - Resistance areas above 3:55 PM high
Demand Zones (Green) - Support areas below 3:55 PM low
Automatically extends zones to the right for easy visualization
Adjustable zone height (default 15% of candle range)
🎯 Intelligent Scoring System (0-12 Points)
Every setup is scored based on:
✅ CE Touch (+3 points)
🥇 Zone Freshness (+1-2 points)
📊 Volume Confirmation (+2-3 points)
🕯️ Rejection Wick Quality (+2 points)
💪 Order Flow Direction (+1 point)
Signals only fire when score ≥ 9 (Strict Mode) or ≥ 6 (Balanced Mode)🛡️ Two Trading ModesStrict Mode (90%+ Win Rate):
Requires ALL confirmations
CE touch mandatory
60%+ rejection wicks
1.5x volume minimum
1-3 perfect setups per week
Balanced Mode (80%+ Win Rate):
More flexible requirements
6+ point minimum
2-5 setups per week
📅 Extended Historical View
View up to 50 days of supply & demand zones
Perfect for swing traders and position traders
Automatically removes exhausted zones (3+ touches)
MACD Trend & Momentum Dashboard (Weighted, 3 TFs)This indicator provides a multi-timeframe MACD trend and momentum dashboard that works independently of your current chart timeframe. It displays MACD zero-line bias and MACD-vs-Signal trend state across three user-selectable timeframes, using clear color-coded cells for instant visual interpretation. A weighted scoring system combines all six signals into a single market bias classification (Strong Bullish → Strong Bearish). This helps traders quickly understand higher- and lower-timeframe alignment, market regime, and overall trend quality. Ideal for trend- and momentum-followers who want a clean, actionable market overview at a glance.
Engulfing Candlestick Pattern - BB FilterBeen working on doing a better version of this. This is like version 2.0. Usese this definition of an engulfing candle:
tradeciety.com/how-to-trade-the-engulfing-candlestick-pattern
As you change the parameters of the Bollinger band the signals will change.
You can also set the distance away from the band using ATR muliplier to catch moves near the BB.
Per Claude,
This setup should give you much higher quality signals since you're filtering for engulfing patterns that occur at the extremes of the Bollinger Bands - exactly like the Tradeciety article recommends. Those are the setups with the best context and highest probability.
A few tips for using it:
You can adjust the BB Touch Distance slider if you want to be stricter or more lenient about what counts as "touching" the bands
Try enabling Strict Mode if you want only the strongest engulfing patterns (where the full range including wicks is engulfed)
Works great on higher timeframes like Daily and Weekly for the most reliable signals on NQ and ES
I personally use this on the 1000 tick NQ chart.
It's not perfect but 2x better than my first attempt. Enjoy.
Open to suggestions as well.
For entertainment purposes only.
Engulfing Candlestick Pattern - BB FilterBeen working on doing a better version of this. This is like version 2.0. Usese this definition of an engulfing candle:
tradeciety.com
As you change the parameters of the Bollinger band the signals will change.
You can also set the distance away from the band using ATR muliplier to catch moves near the BB.
Per Claude,
This setup should give you much higher quality signals since you're filtering for engulfing patterns that occur at the extremes of the Bollinger Bands - exactly like the Tradeciety article recommends. Those are the setups with the best context and highest probability.
A few tips for using it:
You can adjust the BB Touch Distance slider if you want to be stricter or more lenient about what counts as "touching" the bands
Try enabling Strict Mode if you want only the strongest engulfing patterns (where the full range including wicks is engulfed)
Works great on higher timeframes like Daily and Weekly for the most reliable signals on NQ and ES
I personally use this on the 1000 tick NQ chart.
It's not perfect but 2x better than my first attempt. Enjoy.
Open to suggestions as well.
For entertainment purposes only.
Reversal Point Dynamics - Machine Learning⇋ Reversal Point Dynamics - Machine Learning
RPD Machine Learning: Self-Adaptive Multi-Armed Bandit Trading System
RPD Machine Learning is an advanced algorithmic trading system that implements genuine machine learning through contextual multi-armed bandits, reinforcement learning, and online adaptation. Unlike traditional indicators that use fixed rules, RPD learns from every trade outcome , automatically discovers which strategies work in current market conditions, and continuously adapts without manual intervention .
Core Innovation: The system deploys six distinct trading policies (ranging from aggressive trend-following to conservative range-bound strategies) and uses LinUCB contextual bandit algorithms with Random Fourier Features to learn which policy performs best in each market regime. After the initial learning phase (50-100 trades), the system achieves autonomous adaptation , automatically shifting between policies as market conditions evolve.
Target Users: Quantitative traders, algorithmic trading developers, systematic traders, and data-driven investors who want a system that adapts over time . Suitable for stocks, futures, forex, and cryptocurrency on any liquid instrument with >100k daily volume.
The Problem This System Solves
Traditional Technical Analysis Limitations
Most trading systems suffer from three fundamental challenges :
Fixed Parameters: Static settings (like "buy when RSI < 30") work well in backtests but may struggle when markets change character. What worked in low-volatility environments may not work in high-volatility regimes.
Strategy Degradation: Manual optimization (curve-fitting) produces systems that perform well on historical data but may underperform in live trading. The system never adapts to new market conditions.
Cognitive Overload: Running multiple strategies simultaneously forces traders to manually decide which one to trust. This leads to hesitation, late entries, and inconsistent execution.
How RPD Machine Learning Addresses These Challenges
Automated Strategy Selection: Instead of requiring you to choose between trend-following and mean-reversion strategies, RPD runs all six policies simultaneously and uses machine learning to automatically select the best one for current conditions. The decision happens algorithmically, removing human hesitation.
Continuous Learning: After every trade, the system updates its understanding of which policies are working. If the market shifts from trending to ranging, RPD automatically detects this through changing performance patterns and adjusts selection accordingly.
Context-Aware Decisions: Unlike simple voting systems that treat all conditions equally, RPD analyzes market context (ADX regime, entropy levels, volatility state, volume patterns, time of day, historical performance) and learns which combinations of context features correlate with policy success.
Machine Learning Architecture: What Makes This "Real" ML
Component 1: Contextual Multi-Armed Bandits (LinUCB)
What Is a Multi-Armed Bandit Problem?
Imagine facing six slot machines, each with unknown payout rates. The exploration-exploitation dilemma asks: Should you keep pulling the machine that's worked well (exploitation) or try others that might be better (exploration)? RPD solves this for trading policies.
Academic Foundation:
RPD implements Linear Upper Confidence Bound (LinUCB) from the research paper "A Contextual-Bandit Approach to Personalized News Article Recommendation" (Li et al., 2010, WWW Conference). This algorithm is used in content recommendation and ad placement systems.
How It Works:
Each policy (AggressiveTrend, ConservativeRange, VolatilityBreakout, etc.) is treated as an "arm." The system maintains:
Reward History: Tracks wins/losses for each policy
Contextual Features: Current market state (8-10 features including ADX, entropy, volatility, volume)
Uncertainty Estimates: Confidence in each policy's performance
UCB Formula: predicted_reward + α × uncertainty
The system selects the policy with highest UCB score , balancing proven performance (predicted_reward) with potential for discovery (uncertainty bonus). Initially, all policies have high uncertainty, so the system explores broadly. After 50-100 trades, uncertainty decreases, and the system focuses on known-performing policies.
Why This Matters:
Traditional systems pick strategies based on historical backtests or user preference. RPD learns from actual outcomes in your specific market, on your timeframe, with your execution characteristics.
Component 2: Random Fourier Features (RFF)
The Non-Linearity Challenge:
Market relationships are often non-linear. High ADX may indicate favorable conditions when volatility is normal, but unfavorable when volatility spikes. Simple linear models struggle to capture these interactions.
Academic Foundation:
RPD implements Random Fourier Features from "Random Features for Large-Scale Kernel Machines" (Rahimi & Recht, 2007, NIPS). This technique approximates kernel methods (like Support Vector Machines) while maintaining computational efficiency for real-time trading.
How It Works:
The system transforms base features (ADX, entropy, volatility, etc.) into a higher-dimensional space using random projections and cosine transformations:
Input: 8 base features
Projection: Through random Gaussian weights
Transformation: cos(W×features + b)
Output: 16 RFF dimensions
This allows the bandit to learn non-linear relationships between market context and policy success. For example: "AggressiveTrend performs well when ADX >25 AND entropy <0.6 AND hour >9" becomes naturally encoded in the RFF space.
Why This Matters:
Without RFF, the system could only learn "this policy has X% historical performance." With RFF, it learns "this policy performs differently in these specific contexts" - enabling more nuanced selection.
Component 3: Reinforcement Learning Stack
Beyond bandits, RPD implements a complete RL framework :
Q-Learning: Value-based RL that learns state-action values. Maps 54 discrete market states (trend×volatility×RSI×volume combinations) to 5 actions (4 policies + no-trade). Updates via Bellman equation after each trade. Converges toward optimal policy after 100-200 trades.
TD(λ) with Eligibility Traces: Extension of Q-Learning that propagates credit backwards through time . When a trade produces an outcome, TD(λ) updates not just the final state-action but all states visited during the trade, weighted by eligibility decay (λ=0.90). This accelerates learning from multi-bar trades.
Policy Gradient (REINFORCE): Learns a stochastic policy directly from 12 continuous market features without discretization. Uses gradient ascent to increase probability of actions that led to positive outcomes. Includes baseline (average reward) for variance reduction.
Meta-Learning: The system learns how to learn by adapting its own learning rates based on feature stability and correlation with outcomes. If a feature (like volume ratio) consistently correlates with success, its learning rate increases. If unstable, rate decreases.
Why This Matters:
Q-Learning provides fast discrete decisions. Policy Gradient handles continuous features. TD(λ) accelerates learning. Meta-learning optimizes the optimization. Together, they create a robust, multi-approach learning system that adapts more quickly than any single algorithm.
Component 4: Policy Momentum Tracking (v2 Feature)
The Recency Challenge:
Standard bandits treat all historical data equally. If a policy performed well historically but struggles in current conditions due to regime shift, the system may be slow to adapt because historical success outweighs recent underperformance.
RPD's Solution:
Each policy maintains a ring buffer of the last 10 outcomes. The system calculates:
Momentum: recent_win_rate - global_win_rate (range: -1 to +1)
Confidence: consistency of recent results (1 - variance)
Policies with positive momentum (recent outperformance) get an exploration bonus. Policies with negative momentum and high confidence (consistent recent underperformance) receive a selection penalty.
Effect: When markets shift, the system detects the shift more quickly through momentum tracking, enabling faster adaptation than standard bandits.
Signal Generation: The Core Algorithm
Multi-Timeframe Fractal Detection
RPD identifies reversal points using three complementary methods :
1. Quantum State Analysis:
Divides price range into discrete states (default: 6 levels)
Peak signals require price in top states (≥ state 5)
Valley signals require price in bottom states (≤ state 1)
Prevents mid-range signals that may struggle in strong trends
2. Fractal Geometry:
Identifies swing highs/lows using configurable fractal strength
Confirms local extremum with neighboring bars
Validates reversal only if price crosses prior extreme
3. Multi-Timeframe Confirmation:
Analyzes higher timeframe (4× default) for alignment
MTF confirmation adds probability bonus
Designed to reduce false signals while preserving valid setups
Probability Scoring System
Each signal receives a dynamic probability score (40-99%) based on:
Base Components:
Trend Strength: EMA(velocity) / ATR × 30 points
Entropy Quality: (1 - entropy) × 10 points
Starting baseline: 40 points
Enhancement Bonuses:
Divergence Detection: +20 points (price/momentum divergence)
RSI Extremes: +8 points (RSI >65 for peaks, <40 for valleys)
Volume Confirmation: +5 points (volume >1.2× average)
Adaptive Momentum: +10 points (strong directional velocity)
MTF Alignment: +12 points (higher timeframe confirms)
Range Factor: (high-low)/ATR × 3 - 1.5 points (volatility adjustment)
Regime Bonus: +8 points (trending ADX >25 with directional agreement)
Penalties:
High Entropy: -5 points (entropy >0.85, chaotic price action)
Consolidation Regime: -10 points (ADX <20, no directional conviction)
Final Score: Clamped to 40-99% range, classified as ELITE (>85%), STRONG (75-85%), GOOD (65-75%), or FAIR (<65%)
Entropy-Based Quality Filter
What Is Entropy?
Entropy measures randomness in price changes . Low entropy indicates orderly, directional moves. High entropy indicates chaotic, unpredictable conditions.
Calculation:
Count up/down price changes over adaptive period
Calculate probability: p = ups / total_changes
Shannon entropy: -p×log(p) - (1-p)×log(1-p)
Normalized to 0-1 range
Application:
Entropy <0.5: Highly ordered (ELITE signals possible)
Entropy 0.5-0.75: Mixed (GOOD signals)
Entropy >0.85: Chaotic (signals blocked or heavily penalized)
Why This Matters:
Prevents trading during choppy, news-driven conditions where technical patterns may be less reliable. Automatically raises quality bar when market is unpredictable.
Regime Detection & Market Microstructure - ADX-Based Regime Classification
RPD uses Wilder's Average Directional Index to classify markets:
Bull Trend: ADX >25, +DI > -DI (directional conviction bullish)
Bear Trend: ADX >25, +DI < -DI (directional conviction bearish)
Consolidation: ADX <20 (no directional conviction)
Transitional: ADX 20-25 (forming direction, ambiguous)
Filter Logic:
Blocks all signals during Transitional regime (avoids trading during uncertain conditions)
Blocks Consolidation signals unless ADX ≥ Min Trend Strength
Adds probability bonus during strong trends (ADX >30)
Effect: Designed to reduce signal frequency while focusing on higher-quality setups.
Divergence Detection
Bearish Divergence:
Price makes higher high
Velocity (price momentum) makes lower high
Indicates weakening upward pressure → SHORT signal quality boost
Bullish Divergence:
Price makes lower low
Velocity makes higher low
Indicates weakening downward pressure → LONG signal quality boost
Bonus: Adds probability points and additional acceleration factor. Divergence signals have historically shown higher success rates in testing.
Hierarchical Policy System - The Six Trading Policies
1. AggressiveTrend (Policy 0):
Probability Threshold: 60% (trades more frequently)
Entropy Threshold: 0.70 (tolerates moderate chaos)
Stop Multiplier: 2.5× ATR (wider stops for trends)
Target Multiplier: 5.0R (larger targets)
Entry Mode: Pyramid (scales into winners)
Best For: Strong trending markets, breakouts, momentum continuation
2. ConservativeRange (Policy 1):
Probability Threshold: 75% (more selective)
Entropy Threshold: 0.60 (requires order)
Stop Multiplier: 1.8× ATR (tighter stops)
Target Multiplier: 3.0R (modest targets)
Entry Mode: Single (one-shot entries)
Best For: Range-bound markets, low volatility, mean reversion
3. VolatilityBreakout (Policy 2):
Probability Threshold: 65% (moderate)
Entropy Threshold: 0.80 (accepts high entropy)
Stop Multiplier: 3.0× ATR (wider stops)
Target Multiplier: 6.0R (larger targets)
Entry Mode: Tiered (splits entry)
Best For: Compression breakouts, post-consolidation moves, gap opens
4. EntropyScalp (Policy 3):
Probability Threshold: 80% (very selective)
Entropy Threshold: 0.40 (requires extreme order)
Stop Multiplier: 1.5× ATR (tightest stops)
Target Multiplier: 2.5R (quick targets)
Entry Mode: Single
Best For: Low-volatility grinding moves, tight ranges, highly predictable patterns
5. DivergenceHunter (Policy 4):
Probability Threshold: 70% (quality-focused)
Entropy Threshold: 0.65 (balanced)
Stop Multiplier: 2.2× ATR (moderate stops)
Target Multiplier: 4.5R (balanced targets)
Entry Mode: Tiered
Best For: Divergence-confirmed reversals, exhaustion moves, trend climax
6. AdaptiveBlend (Policy 5):
Probability Threshold: 68% (balanced)
Entropy Threshold: 0.75 (balanced)
Stop Multiplier: 2.0× ATR (standard)
Target Multiplier: 4.0R (standard)
Entry Mode: Single
Best For: Mixed conditions, general trading, fallback when no clear regime
Policy Clustering (Advanced/Extreme Modes)
Policies are grouped into three clusters based on regime affinity:
Cluster 1 (Trending): AggressiveTrend, DivergenceHunter
High regime affinity (0.8): Performs well when ADX >25
Moderate vol affinity (0.6): Works in various volatility
Cluster 2 (Ranging): ConservativeRange, AdaptiveBlend
Low regime affinity (0.3): Better suited for ADX <20
Low vol affinity (0.4): Optimized for calm markets
Cluster 3 (Breakout): VolatilityBreakout
Moderate regime affinity (0.6): Works in multiple regimes
High vol affinity (0.9): Requires high volatility for optimal characteristics
Hierarchical Selection Process:
Calculate cluster scores based on current regime and volatility
Select best-matching cluster
Run UCB selection within chosen cluster
Apply momentum boost/penalty
This two-stage process reduces learning time - instead of choosing among 6 policies from scratch, system first narrows to 1-2 policies per cluster, then optimizes within cluster.
Risk Management & Position Sizing
Dynamic Kelly Criterion Sizing (Optional)
Traditional Fixed Sizing Challenge:
Using the same position size for all signal probabilities may be suboptimal. Higher-probability signals could justify larger positions, lower-probability signals smaller positions.
Kelly Formula:
f = (p × b - q) / b
Where:
p = win probability (from signal score)
q = loss probability (1 - p)
b = win/loss ratio (average_win / average_loss)
f = fraction of capital to risk
RPD Implementation:
Uses Fractional Kelly (1/4 Kelly default) for safety. Full Kelly is theoretically optimal but can recommend large position sizes. Fractional Kelly reduces volatility while maintaining adaptive sizing benefits.
Enhancements:
Probability Bonus: Normalize(prob, 65, 95) × 0.5 multiplier
Divergence Bonus: Additional sizing on divergence signals
Regime Bonus: Additional sizing during strong trends (ADX >30)
Momentum Adjustment: Hot policies receive sizing boost, cold policies receive reduction
Safety Rails:
Minimum: 1 contract (floor)
Maximum: User-defined cap (default 10 contracts)
Portfolio Heat: Max total risk across all positions (default 4% equity)
Multi-Mode Stop Loss System
ATR Mode (Default):
Stop = entry ± (ATR × base_mult × policy_mult)
Consistent risk sizing
Ignores market structure
Best for: Futures, forex, algorithmic trading
Structural Mode:
Finds swing low (long) or high (short) over last 20 bars
Identifies fractal pivots within lookback
Places stop below/above structure + buffer (0.1× ATR)
Best for: Stocks, instruments that respect structure
Hybrid Mode (Intelligent):
Attempts structural stop first
Falls back to ATR if:
Structural level is invalid (beyond entry)
Structural stop >2× ATR away (too wide)
Best for: Mixed instruments, adaptability
Dynamic Adjustments:
Breakeven: Move stop to entry + 1 tick after 1.0R profit
Trailing: Trail stop 0.8R behind price after 1.5R profit
Timeout: Force close after 30 bars (optional)
Tiered Entry System
Challenge: Equal sizing on all signals may not optimize capital allocation relative to signal quality.
Solution:
Tier 1 (40% of size): Enters immediately on all signals
Tier 2 (60% of size): Enters only if probability ≥ Tier 2 trigger (default 75%)
Example:
Calculated optimal size: 10 contracts
Signal probability: 72%
Tier 2 trigger: 75%
Result: Enter 4 contracts only (Tier 1)
Same signal at 80% probability
Result: Enter 10 contracts (4 Tier 1 + 6 Tier 2)
Effect: Automatically scales size to signal quality, optimizing capital allocation.
Performance Optimization & Learning Curve
Warmup Phase (First 50 Trades)
Purpose: Ensure all policies get tested before system focuses on preferred strategies.
Modifications During Warmup:
Probability thresholds reduced 20% (65% becomes 52%)
Entropy thresholds increased 20% (more permissive)
Exploration rate stays high (30%)
Confidence width (α) doubled (more exploration)
Why This Matters:
Without warmup, system might commit to early-performing policy without testing alternatives. Warmup forces thorough exploration before focusing on best-performing strategies.
Curriculum Learning
Phase 1 (Trades 1-50): Exploration
Warmup active
All policies tested
High exploration (30%)
Learning fundamental patterns
Phase 2 (Trades 50-100): Refinement
Warmup ended, thresholds normalize
Exploration decaying (30% → 15%)
Policy preferences emerging
Meta-learning optimizing
Phase 3 (Trades 100-200): Specialization
Exploration low (15% → 8%)
Clear policy preferences established
Momentum tracking fully active
System focusing on learned patterns
Phase 4 (Trades 200+): Maturity
Exploration minimal (8% → 5%)
Regime-policy relationships learned
Auto-adaptation to market shifts
Stable performance expected
Convergence Indicators
System is learning well when:
Policy switch rate decreasing over time (initially ~50%, should drop to <20%)
Exploration rate decaying smoothly (30% → 5%)
One or two policies emerge with >50% selection frequency
Performance metrics stabilizing over time
Consistent behavior in similar market conditions
System may need adjustment when:
Policy switch rate >40% after 100 trades (excessive exploration)
Exploration rate not decaying (parameter issue)
All policies showing similar selection (not differentiating)
Performance declining despite relaxed thresholds (underlying signal issue)
Highly erratic behavior after learning phase
Advanced Features
Attention Mechanism (Extreme Mode)
Challenge: Not all features are equally important. Trading hour might matter more than price-volume correlation, but standard approaches treat them equally.
Solution:
Each RFF dimension has an importance weight . After each trade:
Calculate correlation: sign(feature - 0.5) × sign(reward)
Update importance: importance += correlation × 0.01
Clamp to range
Effect: Important features get amplified in RFF transformation, less important features get suppressed. System learns which features correlate with successful outcomes.
Temporal Context (Extreme Mode)
Challenge: Current market state alone may be incomplete. Historical context (was volatility rising or falling?) provides additional information.
Solution:
Includes 3-period historical context with exponential decay (0.85):
Current features (weight 1.0)
1 bar ago (weight 0.85)
2 bars ago (weight 0.72)
Effect: Captures momentum and acceleration of market features. System learns patterns like "rising volatility with falling entropy" that may precede significant moves.
Transfer Learning via Episodic Memory
Short-Term Memory (STM):
Last 20 trades
Fast adaptation to immediate regime
High learning rate
Long-Term Memory (LTM):
Condensed historical patterns
Preserved knowledge from past regimes
Low learning rate
Transfer Mechanism:
When STM fills (20 trades), patterns consolidated into LTM . When similar regime recurs later, LTM provides faster adaptation than starting from scratch.
Practical Implementation Guide - Recommended Settings by Instrument
Futures (ES, NQ, CL):
Adaptive Period: 20-25
ML Mode: Advanced
RFF Dimensions: 16
Policies: 6
Base Risk: 1.5%
Stop Mode: ATR or Hybrid
Timeframe: 5-15 min
Forex Majors (EURUSD, GBPUSD):
Adaptive Period: 25-30
ML Mode: Advanced
RFF Dimensions: 16
Policies: 6
Base Risk: 1.0-1.5%
Stop Mode: ATR
Timeframe: 5-30 min
Cryptocurrency (BTC, ETH):
Adaptive Period: 20-25
ML Mode: Extreme (handles non-stationarity)
RFF Dimensions: 32 (captures complexity)
Policies: 6
Base Risk: 1.0% (volatility consideration)
Stop Mode: Hybrid
Timeframe: 15 min - 4 hr
Stocks (Large Cap):
Adaptive Period: 25-30
ML Mode: Advanced
RFF Dimensions: 16
Policies: 5-6
Base Risk: 1.5-2.0%
Stop Mode: Structural or Hybrid
Timeframe: 15 min - Daily
Scaling Strategy
Phase 1 (Testing - First 50 Trades):
Max Contracts: 1-2
Goal: Validate system on your instrument
Monitor: Performance stabilization, learning progress
Phase 2 (Validation - Trades 50-100):
Max Contracts: 2-3
Goal: Confirm learning convergence
Monitor: Policy stability, exploration decay
Phase 3 (Scaling - Trades 100-200):
Max Contracts: 3-5
Enable: Kelly sizing (1/4 Kelly)
Goal: Optimize capital efficiency
Monitor: Risk-adjusted returns
Phase 4 (Full Deployment - Trades 200+):
Max Contracts: 5-10
Enable: Full momentum tracking
Goal: Sustained consistent performance
Monitor: Ongoing adaptation quality
Limitations & Disclaimers
Statistical Limitations
Learning Sample Size: System requires minimum 50-100 trades for basic convergence, 200+ trades for robust learning. Early performance (first 50 trades) may not reflect mature system behavior.
Non-Stationarity Risk: Markets change over time. A system trained on one market regime may need time to adapt when conditions shift (typically 30-50 trades for adjustment).
Overfitting Possibility: With 16-32 RFF dimensions and 6 policies, system has substantial parameter space. Small sample sizes (<200 trades) increase overfitting risk. Mitigated by regularization (λ) and fractional Kelly sizing.
Technical Limitations
Computational Complexity: Extreme mode with 32 RFF dimensions, 6 policies, and full RL stack requires significant computation. May perform slowly on lower-end systems or with many other indicators loaded.
Pine Script Constraints:
No true matrix inversion (uses diagonal approximation for LinUCB)
No cryptographic RNG (uses market data as entropy)
No proper random number generation for RFF (uses deterministic pseudo-random)
These approximations reduce mathematical precision compared to academic implementations but remain functional for trading applications.
Data Requirements: Needs clean OHLCV data. Missing bars, gaps, or low liquidity (<100k daily volume) can degrade signal quality.
Forward-Looking Bias Disclaimer
Reward Calculation Uses Future Data: The RL system evaluates trades using an 8-bar forward-looking window. This means when a position enters at bar 100, the reward calculation considers price movement through bar 108.
Why This is Disclosed:
Entry signals do NOT look ahead - decisions use only data up to entry bar
Forward data used for learning only, not signal generation
In live trading, system learns identically as bars unfold in real-time
Simulates natural learning process (outcomes are only known after trades complete)
Implication: Backtested metrics reflect this 8-bar evaluation window. Live performance may vary if:
- Positions held longer than 8 bars
- Slippage/commissions differ from backtest settings
- Market microstructure changes (wider spreads, different execution quality)
Risk Warnings
No Guarantee of Profit: All trading involves substantial risk of loss. Machine learning systems can fail if market structure fundamentally changes or during unprecedented events.
Maximum Drawdown: With 1.5% base risk and 4% max total risk, expect potential drawdowns. Historical drawdowns do not predict future drawdowns. Extreme market conditions can exceed expectations.
Black Swan Events: System has not been tested under: flash crashes, trading halts, circuit breakers, major geopolitical shocks, or other extreme events. Such events can exceed stop losses and cause significant losses.
Leverage Risk: Futures and forex involve leverage. Adverse moves combined with leverage can result in losses exceeding initial investment. Use appropriate position sizing for your risk tolerance.
System Failures: Code bugs, broker API failures, internet outages, or exchange issues can prevent proper execution. Always monitor automated systems and maintain appropriate safeguards.
Appropriate Use
This System Is:
✅ A machine learning framework for adaptive strategy selection
✅ A signal generation system with probabilistic scoring
✅ A risk management system with dynamic sizing
✅ A learning system designed to adapt over time
This System Is NOT:
❌ A price prediction system (does not forecast exact prices)
❌ A guarantee of profits (can and will experience losses)
❌ A replacement for due diligence (requires monitoring and understanding)
❌ Suitable for complete beginners (requires understanding of ML concepts, risk management, and trading fundamentals)
Recommended Use:
Paper trade for 100 signals before risking capital
Start with minimal position sizing (1-2 contracts) regardless of calculated size
Monitor learning progress via dashboard
Scale gradually over several months only after consistent results
Combine with fundamental analysis and broader market context
Set account-level risk limits (e.g., maximum drawdown threshold)
Never risk more than you can afford to lose
What Makes This System Different
RPD implements academically-derived machine learning algorithms rather than simple mathematical calculations or optimization:
✅ LinUCB Contextual Bandits - Algorithm from WWW 2010 conference (Li et al.)
✅ Random Fourier Features - Kernel approximation from NIPS 2007 (Rahimi & Recht)
✅ Q-Learning, TD(λ), REINFORCE - Standard RL algorithms from Sutton & Barto textbook
✅ Meta-Learning - Learning rate adaptation based on feature correlation
✅ Online Learning - Real-time updates from streaming data
✅ Hierarchical Policies - Two-stage selection with clustering
✅ Momentum Tracking - Recent performance analysis for faster adaptation
✅ Attention Mechanism - Feature importance weighting
✅ Transfer Learning - Episodic memory consolidation
Key Differentiators:
Actually learns from trade outcomes (not just parameter optimization)
Updates model parameters in real-time (true online learning)
Adapts to changing market regimes (not static rules)
Improves over time through reinforcement learning
Implements published ML algorithms with proper citations
Conclusion
RPD Machine Learning represents a different approach from traditional technical analysis to adaptive, self-learning systems . Instead of manually optimizing parameters (which can overfit to historical data), RPD learns behavior patterns from actual trading outcomes in your specific market.
The combination of contextual bandits, reinforcement learning, random fourier features, hierarchical policy selection, and momentum tracking creates a multi-algorithm learning system designed to handle non-stationary markets better than static approaches.
After the initial learning phase (50-100 trades), the system achieves autonomous adaptation - automatically discovering which strategies work in current conditions and shifting allocation without human intervention. This represents an approach where systems adapt over time rather than remaining static.
Use responsibly. Paper trade extensively. Scale gradually. Understand that past performance does not guarantee future results and all trading involves risk of loss.
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Any Strategy BacktestA simple script for backtesting your strategies with TP and SL settings. For this to work, your indicators must have sources for long and short conditions.
Nazlı Canpolat Stoch ReversalNazli Canpolat Stoch Reversal Indicator
Optional EMA trend filtering and minimum bar spacing are included for signal optimization.
Suitable for Forex, Crypto, Indices and all timeframes.
NDOG & NWOG Levels v2Fully customizable - Select how many NDOG and NWOG you want to see!
Is possibile to select a color for current NDOG and current NWOG and a different color for old ones!
On 1m and 2m you can only see actual NWOG and previous one.
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.
Gann Master System - CompleteGann Master Trading System - Multi-Factor Confluence Indicator
Advanced implementation of W.D. Gann methodology combining Square of 9 calculations, Octave Theory projections, Time Cycle analysis, and Planetary Aspect windows into a systematic confluence-based trading system.
Key Features:
Square of 9 geometric price levels (180°, 270°, 360° rotations)
Octave Theory targets with harmonic divisions (0.5x, 1x, 2x, 4x)
Time cycle tracking with sub-cycle analysis
10 configurable planetary aspect windows (manual input from ephemeris)
Automatic swing pivot detection
Multi-factor confluence scoring (0-20+ points)
Visual signals: Blue (score 3-6), Red (7-10), Purple (11+)
Real-time info panel with factor status
Built-in alerts for high-probability setups
How It Works:
System calculates multiple Gann factors simultaneously and awards points when price aligns with key levels. Higher confluence scores indicate stronger probability of reversal. Combines objective mathematics with astronomical timing for systematic edge.
Best For: Daily/4H charts on Gold, Forex majors, Indices
Signal Frequency: 2-4 high-quality setups per month (score 11+)
Recommended Min Score: 7 for trading, 11+ for highest probability
Setup Required: Configure Square of 9 pivot, Octave base range, Time cycle start date, and planetary aspect dates. See full documentation for detailed guide.






















