Aggregated Scores Oscillator [Alpha Extract]A sophisticated risk-adjusted performance measurement system that combines Omega Ratio and Sortino Ratio methodologies to create a comprehensive market assessment oscillator. Utilizing advanced statistical band calculations with expanding and rolling window analysis, this indicator delivers institutional-grade overbought/oversold detection based on risk-adjusted returns rather than traditional price movements. The system's dual-ratio aggregation approach provides superior signal accuracy by incorporating both upside potential and downside risk metrics with dynamic threshold adaptation for varying market conditions.
🔶 Advanced Statistical Framework
Implements dual statistical methodologies using expanding and rolling window calculations to create adaptive threshold bands that evolve with market conditions. The system calculates cumulative statistics alongside rolling averages to provide both historical context and current market regime sensitivity with configurable window parameters for optimal performance across timeframes.
🔶 Dual Ratio Integration System
Combines Omega Ratio analysis measuring excess returns versus deficit returns with Sortino Ratio calculations focusing on downside deviation for comprehensive risk-adjusted performance assessment. The system applies configurable smoothing to both ratios before aggregation, ensuring stable signal generation while maintaining sensitivity to regime changes.
// Omega Ratio Calculation
Excess_Return = sum((Daily_Return > Target_Return ? Daily_Return - Target_Return : 0), Period)
Deficit_Return = sum((Daily_Return < Target_Return ? Target_Return - Daily_Return : 0), Period)
Omega_Ratio = Deficit_Return ≠ 0 ? (Excess_Return / Deficit_Return) : na
// Sortino Ratio Framework
Downside_Deviation = sqrt(sum((Daily_Return < Target_Return ? (Daily_Return - Target_Return)² : 0), Period) / Period)
Sortino_Ratio = (Mean_Return / Downside_Deviation) * sqrt(Annualization_Factor)
// Aggregated Score
Aggregated_Score = SMA(Omega_Ratio, Omega_SMA) + SMA(Sortino_Ratio, Sortino_SMA)
🔶 Dynamic Band Calculation Engine
Features sophisticated threshold determination using both expanding historical statistics and rolling window analysis to create adaptive overbought/oversold levels. The system incorporates configurable multipliers and sensitivity adjustments to optimize signal timing across varying market volatility conditions with automatic band convergence logic.
🔶 Signal Generation Framework
Generates overbought conditions when aggregated score exceeds adjusted upper threshold and oversold conditions below lower threshold, with neutral zone identification for range-bound markets. The system provides clear binary signal states with background zone highlighting and dynamic oscillator coloring for intuitive market condition assessment.
🔶 Enhanced Visual Architecture
Provides modern dark theme visualization with neon color scheme, dynamic oscillator line coloring based on signal states, and gradient band fills for comprehensive market condition visualization. The system includes zero-line reference, statistical band plots, and background zone highlighting with configurable transparency levels.
snapshot
🔶 Risk-Adjusted Performance Analysis
Utilizes target return parameters for customizable risk assessment baselines, enabling traders to evaluate performance relative to specific return objectives. The system's focus on downside deviation through Sortino analysis provides superior risk-adjusted signals compared to traditional volatility-based oscillators that treat upside and downside movements equally.
🔶 Multi-Timeframe Adaptability
Features configurable calculation periods and rolling windows to optimize performance across various timeframes from intraday to long-term analysis. The system's statistical foundation ensures consistent signal quality regardless of timeframe selection while maintaining sensitivity to market regime changes through adaptive band calculations.
🔶 Performance Optimization Framework
Implements efficient statistical calculations with optimized variable management and configurable smoothing parameters to balance responsiveness with signal stability. The system includes automatic band adjustment mechanisms and rolling window management for consistent performance across extended analysis periods.
This indicator delivers sophisticated risk-adjusted market analysis by combining proven statistical ratios in a unified oscillator framework. Unlike traditional overbought/oversold indicators that rely solely on price movements, the ASO incorporates risk-adjusted performance metrics to identify genuine market extremes based on return quality rather than price volatility alone. The system's adaptive statistical bands and dual-ratio methodology provide institutional-grade signal accuracy suitable for systematic trading approaches across cryptocurrency, forex, and equity markets with comprehensive visual feedback and configurable risk parameters for optimal strategy integration.
Statistics
Volume Based Sampling [BackQuant]Volume Based Sampling
What this does
This indicator converts the usual time-based stream of candles into an event-based stream of “synthetic” bars that are created only when enough trading activity has occurred . You choose the activity definition:
Volume bars : create a new synthetic bar whenever the cumulative number of shares/contracts traded reaches a threshold.
Dollar bars : create a new synthetic bar whenever the cumulative traded dollar value (price × volume) reaches a threshold.
The script then keeps an internal ledger of these synthetic opens, highs, lows, closes, and volumes, and can display them as candles, plot a moving average calculated over the synthetic closes, mark each time a new sample is formed, and optionally overlay the native time-bars for comparison.
Why event-based sampling matters
Markets do not release information on a clock: activity clusters during news, opens/closes, and liquidity shocks. Event-based bars normalize for that heteroskedastic arrival of information: during active periods you get more bars (finer resolution); during quiet periods you get fewer bars (coarser resolution). Research shows this can reduce microstructure pathologies and produce series that are closer to i.i.d. and more suitable for statistical modeling and ML. In particular:
Volume and dollar bars are a common event-time alternative to time bars in quantitative research and are discussed extensively in Advances in Financial Machine Learning (AFML). These bars aim to homogenize information flow by sampling on traded size or value rather than elapsed seconds.
The Volume Clock perspective models market activity in “volume time,” showing that many intraday phenomena (volatility, liquidity shocks) are better explained when time is measured by traded volume instead of seconds.
Related market microstructure work on flow toxicity and liquidity highlights that the risk dealers face is tied to information intensity of order flow, again arguing for activity-based clocks.
How the indicator works (plain English)
Choose your bucket type
Volume : accumulate volume until it meets a threshold.
Dollar Bars : accumulate close × volume until it meets a dollar threshold.
Pick the threshold rule
Dynamic threshold : by default, the script computes a rolling statistic (mean or median) of recent activity to set the next bucket size. This adapts bar size to changing conditions (e.g., busier sessions produce more frequent synthetic bars).
Fixed threshold : optionally override with a constant target (e.g., exactly 100,000 contracts per synthetic bar, or $5,000,000 per dollar bar).
Build the synthetic bar
While a bucket fills, the script tracks:
o_s: first price of the bucket (synthetic open)
h_s: running maximum price (synthetic high)
l_s: running minimum price (synthetic low)
c_s: last price seen (synthetic close)
v_s: cumulative native volume inside the bucket
d_samples: number of native bars consumed to complete the bucket (a proxy for “how fast” the threshold filled)
Emit a new sample
Once the bucket meets/exceeds the threshold, a new synthetic bar is finalized and stored. If overflow occurs (e.g., a single native bar pushes you past the threshold by a lot), the code will emit multiple synthetic samples to account for the extra activity.
Maintain a rolling history efficiently
A ring buffer can overwrite the oldest samples when you hit your Max Stored Samples cap, keeping memory usage stable.
Compute synthetic-space statistics
The script computes an SMA over the last N synthetic closes and basic descriptors like average bars per synthetic sample, mean and standard deviation of synthetic returns, and more. These are all in event time , not clock time.
Inputs and options you will actually use
Data Settings
Sampling Method : Volume or Dollar Bars.
Rolling Lookback : window used to estimate the dynamic threshold from recent activity.
Filter : Mean or Median for the dynamic threshold. Median is more robust to spikes.
Use Fixed? / Fixed Threshold : override dynamic sizing with a constant target.
Max Stored Samples : cap on synthetic history to keep performance snappy.
Use Ring Buffer : turn on to recycle storage when at capacity.
Indicator Settings
SMA over last N samples : moving average in synthetic space . Because its index is sample count, not minutes, it adapts naturally: more updates in busy regimes, fewer in quiet regimes.
Visuals
Show Synthetic Bars : plot the synthetic OHLC candles.
Candle Color Mode :
Green/Red: directional close vs open
Volume Intensity: opacity scales with synthetic size
Neutral: single color
Adaptive: graded by how large the bucket was relative to threshold
Mark new samples : drop a small marker whenever a new synthetic bar prints.
Comparison & Research
Show Time Bars : overlay the native time-based candles to visually compare how the two sampling schemes differ.
How to read it, step by step
Turn on “Synthetic Bars” and optionally overlay “Time Bars.” You will see that during high-activity bursts, synthetic bars print much faster than time bars.
Watch the synthetic SMA . Crosses in synthetic space can be more meaningful because each update represents a roughly comparable amount of traded information.
Use the “Avg Bars per Sample” in the info table as a regime signal. Falling average bars per sample means activity is clustering, often coincident with higher realized volatility.
Try Dollar Bars when price varies a lot but share count does not; they normalize by dollar risk taken in each sample. Volume Bars are ideal when share count is a better proxy for information flow in your instrument.
Quant finance background and citations
Event time vs. clock time : Easley, López de Prado, and O’Hara advocate measuring intraday phenomena on a volume clock to better align sampling with information arrival. This framing helps explain volatility bursts and liquidity droughts and motivates volume-based bars.
Flow toxicity and dealer risk : The same authors show how adverse selection risk changes with the intensity and informativeness of order flow, further supporting activity-based clocks for modeling and risk management.
AFML framework : In Advances in Financial Machine Learning , event-driven bars such as volume, dollar, and imbalance bars are presented as superior sampling units for many ML tasks, yielding more stationary features and fewer microstructure distortions than fixed time bars. ( Alpaca )
Practical use cases
1) Regime-aware moving averages
The synthetic SMA in event time is not fooled by quiet periods: if nothing of consequence trades, it barely updates. This can make trend filters less sensitive to calendar drift and more sensitive to true participation.
2) Breakout logic on “equal-information” samples
The script exposes simple alerts such as breakout above/below the synthetic SMA . Because each bar approximates a constant amount of activity, breakouts are conditioned on comparable informational mass, not arbitrary time buckets.
3) Volatility-adaptive backtests
If you use synthetic bars as your base data stream, most signal rules become self-paced : entry and exit opportunities accelerate in fast markets and slow down in quiet regimes, which often improves the realism of slippage and fill modeling in research pipelines (pair this indicator with strategy code downstream).
4) Regime diagnostics
Avg Bars per Sample trending down: activity is dense; expect larger realized ranges.
Return StdDev (synthetic) rising: noise or trend acceleration in event time; re-tune risk.
Interpreting the info panel
Method : your sampling choice and current threshold.
Total Samples : how many synthetic bars have been formed.
Current Vol/Dollar : how much of the next bucket is already filled.
Bars in Bucket : native bars consumed so far in the current bucket.
Avg Bars/Sample : lower means higher trading intensity.
Avg Return / Return StdDev : return stats computed over synthetic closes .
Research directions you can build from here
Imbalance and run bars
Extend beyond pure volume or dollar thresholds to imbalance bars that trigger on directional order flow imbalance (e.g., buy volume minus sell volume), as discussed in the AFML ecosystem. These often further homogenize distributional properties used in ML. alpaca.markets
Volume-time indicators
Re-compute classical indicators (RSI, MACD, Bollinger) on the synthetic stream. The premise is that signals are updated by traded information , not seconds, which may stabilize indicator behavior in heteroskedastic regimes.
Liquidity and toxicity overlays
Combine synthetic bars with proxies of flow toxicity to anticipate spread widening or volatility clustering. For instance, tag synthetic bars that surpass multiples of the threshold and test whether subsequent realized volatility is elevated.
Dollar-risk parity sampling for portfolios
Use dollar bars to align samples across assets by notional risk, enabling cleaner cross-asset features and comparability in multi-asset models (e.g., correlation studies, regime clustering). AFML discusses the benefits of event-driven sampling for cross-sectional ML feature engineering.
Microstructure feature set
Compute duration in native bars per synthetic sample , range per sample , and volume multiple of threshold as inputs to state classifiers or regime HMMs . These features are inherently activity-aware and often predictive of short-horizon volatility and trend persistence per the event-time literature. ( Alpaca )
Tips for clean usage
Start with dynamic thresholds using Median over a sensible lookback to avoid outlier distortion, then move to Fixed thresholds when you know your instrument’s typical activity scale.
Compare time bars vs synthetic bars side by side to develop intuition for how your market “breathes” in activity time.
Keep Max Stored Samples reasonable for performance; the ring buffer avoids memory creep while preserving a rolling window of research-grade data.
Total Points Range by exp3rtsThis indicator measures and displays the true intraday movement of a market by approximating tick-level activity using 1-second data aggregation. Instead of only looking at net candle movement, it sums every price change during a session, giving traders a more accurate picture of market effort and volatility.
Total Points Moved (TPM) – Captures the full distance traveled by price, not just the net gain/loss.
Bullish vs. Bearish Movement – Separates upward and downward moves so you can see who dominated the session.
Custom Sessions – Define your own session start/end times and time zone for precise tracking.
End-of-Session Summary – Automatically plots a label at session completion with totals for TPM, bullish, and bearish movement.
Visual Session Highlighting – Background shading makes it easy to see when the chosen session is active.
This tool is useful for:
Understanding the true effort vs. result of price movement
Comparing volatility across sessions
Identifying whether bulls or bears contributed more to market swings
Supporting order flow and tick-based trading strategies
Portfolio Simulator & BacktesterMulti-asset portfolio simulator with different metrics and ratios, DCA modeling, and rebalancing strategies.
Core Features
Portfolio Construction
Up to 5 assets with customizable weights (must total 100%)
Support for any tradable symbol: stocks, ETFs, crypto, indices, commodities
Real-time validation of allocations
Dollar Cost Averaging
Monthly or Quarterly contributions
Applies to both portfolio and benchmark for fair comparison
Model real-world investing behavior
Rebalancing
Four strategies: None, Monthly, Quarterly, Yearly
Automatic rebalancing to target weights
Transaction cost modeling (customizable fee %)
Key Metrics Table
CAGR: Annualized compound return (S&P 500 avg: ~10%)
Alpha: Excess return vs. benchmark (positive = outperformance)
Sharpe Ratio: Return per unit of risk (>1.0 is good, >2.0 excellent)
Sortino Ratio: Like Sharpe but only penalizes downside (better metric)
Calmar Ratio: CAGR / Max Drawdown (>1.0 good, >2.0 excellent)
Max Drawdown: Largest peak-to-trough decline
Win Rate: % of positive days (doesn't indicate profitability)
Visualization
Dual-chart comparison - Portfolio vs. Benchmark
Dollar or percentage view toggle
Customizable colors and line width
Two tables: Statistics + Asset Allocation
Adjustable table position and text size
🚀 Quick Start Guide
Enter 1-5 ticker symbols (e.g., SPY, QQQ, TLT, GLD, BTCUSD)
Make sure percentage weights total 100%
Choose date range (ensure chart shows full period - zoom out!)
Configure DCA and rebalancing (optional)
Select benchmark (default: SPX)
Analyze results in statistics table
💡 Pro Tips
Chart data matters: Load SPY or your longest-history asset as main chart
If you select an asset that was not available for the selected period, the chart will not show up! E.g. BTCUSD data: Only available from ~2017 onwards.
Transaction fees: 0.1% default (adjust to match your broker)
⚠️ Important Notes
Requires visible chart data (zoom out to show full date range)
Limited by each asset's historical data availability
Transaction fees and costs are modeled, but taxes/slippage are not
Past performance ≠ future results
Use for research and education only, not financial advice
Let me know if you have any suggestions to improve this simulator.
AIO Entry Size CalculatorThis indicator is designed to help traders dynamically adjust their position size and drawdown expectations when their trading capital changes.
By entering your original backtest parameters — including base capital, base drawdown percentage, and base position size — along with your current capital, the script calculates two key scenarios:
Lock Drawdown %: Keeps the original drawdown percentage unchanged and calculates the new position size required.
Lock Position Size: Keeps the original position size unchanged and shows how your drawdown percentage will change.
The results are displayed in a clear, color-coded table, allowing you to instantly see how capital fluctuations affect your risk profile.
With customizable themes (dark/light) and highlight options, it’s an essential tool for risk management, portfolio rebalancing, and position sizing decisions based on real backtest data.
Additionally, this indicator is highly useful when combined with TradingView strategies — helping you interpret backtest results more accurately and translate them into real-world position sizing adjustments as your account balance evolves.
Time Range by exp3rtsTime Window highlights a custom time range directly on your chart, helping you focus on specific market sessions or trading hours.
Key Features:
Highlights a custom time range with a shaded background
Fully adjustable start and end time (hour & minute)
Supports multiple time zones (e.g., GMT, UTC, Europe/Berlin)
Optional market color shading inside the window (bull/bear neutral tone)
Use Cases:
Mark London Open, New York Session, or any session overlap
Focus on high-probability trading hours
Visualize your backtesting timeframe or algo activity window
Track premarket or after-hours activity for futures or indices
Customization:
Set the beginning and end time in your local or exchange time zone
Choose your timezone string (e.g., "GMT", "Etc/UTC", "America/New_York")
Automatically colors candles in the time window for easy visibility
Total Points Moved by exp3rtsThis lightweight utility tracks the total intraday range of price movement, giving you real-time insight into market activity.
It calculates:
🟩 Bullish Points – Total range from bullish candles (close > open)
🟥 Bearish Points – Total range from bearish candles (close < open)
🔁 Total Points Moved (TPM) – Sum of all high–low ranges for the day
Values are pulled from the 1-second chart for high precision and displayed in a compact tag in the top-right corner.
Quantile-Based Adaptive Detection🙏🏻 Dedicated to John Tukey. He invented the boxplot, and I finalized it.
QBAD (Quantile-Based Adaptive Detection) is ‘the’ adaptive (also optionally weighted = ready for timeseries) boxplot with more senseful fences. Instead of hardcoded multipliers for outer fences, I base em on a set of quantile-based asymmetry metrics (you can view it as an ‘algorithmic’ counter part of central & standardized moments). So outer bands are Not hardcoded, not optimized, not cross-validated etc, simply calculated at O(nlogn).
You can use it literally everywhere in any context with any continuous data, in any task that requires statistical control, novelty || outlier detection, without worrying and doubting the sense in arbitrary chosen thresholds. Obviously, given the robust nature of quantiles, it would fit best the cases where data has problems.
The thresholds are:
Basis: the model of the data (median in our case);
Deviations: represent typical spread around basis, together form “value” in general sense;
Extensions: estimate data’s extremums via combination of quantile-based asymmetry metrics without relying on actual blunt min and max, together form “range” / ”frame”. Datapoints outside the frame/range are novelties or outliers;
Limits: based also on quantile asymmetry metrics, estimate the bounds within which values can ‘ever’ emerge given the current data generating process stays the same, together form “field”. Datapoints outside the field are very rare, happen when a significant change/structural break happens in current data-generating process, or when a corrupt datapoint emerges.
…
The first part of the post is for locals xd, the second is for the wanderers/wizards/creators/:
First part:
In terms of markets, mostly u gotta worry about dem instruments that represent crypto & FX assets: it’s either activity hence data sources there are decentralized, or data is fishy.
For a higher algocomplexity cost O(nlong), unlike MBAD that is 0(n), this thing (a control system in fact) works better with ishy data (contaminated with wrong values, incomplete, missing values etc). Read about the “ breakdown point of an estimator ” if you wanna understand it.
Even with good data, in cases when you have multiple instruments that represent the same asset, e.g. CL and BRN futures, and for some reason you wanna skip constructing a proper index of em (while you should), QBAD should be better put on each instrument individually.
Another reason to use this algo-based rather than math-based tool, might be in cases when data quality is all good, but the actual causal processes that generate the data are a bit inconsistent and/or possess ‘increased’ activity in a way. SO in high volatility periods, this tool should provide better.
In terms of built-ins you got 2 weightings: by sequence and by inferred volume delta. The former should be ‘On’ all the time when you work with timeseries, unless for a reason you want to consciously turn it off for a reason. The latter, you gotta keep it ‘On’ unless you apply the tool on another dataset that ain’t got that particular additional dimension.
Ain’t matter the way you gonna use it, moving windows, cumulative windows with or without anchors, that’s your freedom of will, but some stuff stays the same:
Basis and deviations are “value” levels. From process control perspective, if you pls, it makes sense to Not only fade or push based on these levels, but to also do nothing when things are ambiguous and/or don’t require your intervention
Extensions and limits are extreme levels. Here you either push or fade, doing nothing is not an option, these are decisive points in all the meanings
Another important thing, lately I started to see one kind of trend here on tradingview as well and in general in near quant sources, of applying averages, percentiles etc ‘on’ other stationary metrics, so called “indicators”. And I mean not for diagnostic or development reasons, for decision making xd
This is not the evil crime ofc, but hillbilly af, cuz the metrics are stationary it means that you can model em, fit a distribution, like do smth sharper. Worst case you have Bayesian statistics armed with high density intervals and equal tail intervals, and even some others. All this stuff is not hard to do, if u aint’t doing it, it’s on you.
So what I’m saying is it makes sense to apply QBAD on returns ‘of your strategy’, on volume delta, but Not on other metrics that already do calculations over their own moving windows.
...
Second part:
Looks like some finna start to have lil suspicions, that ‘maybe’ after all math entities in reality are more like blueprints, while actual representations are physical/mechanical/algorithmic. Std & centralized moments is a math entity that represents location, scale & asymmetry info, and we can use it no problem, when things are legit and consistent especially. Real world stuff tho sometimes deviates from that ideal, so we need smth more handy and real. Add to the mix the algo counter part of means: quantiles.
Unlike the legacy quantile-based asymmetry metrics from the previous century (check quantile skewness & kurtosis), I don’t use arbitrary sets of quantiles, instead we get a binary pattern that is totally geometric & natural (check the code if interested, I made it very damn explicit). In spirit with math based central & standardized moments, each consequent pair is wider empathizing tail info more and more for each higher order metric.
Unlike the classic box plot, where inner thresholds are quartiles and the rest are based on em, here the basis is median (minimises L1), I base inner thresholds on it, and we continue the pattern by basing the further set of levels on the previous set. So unlike the classic box plot, here we have coherency in construction, symmetry.
Another thing to pay attention to, tho for some reason ain’t many talk about it, it’s not conceptually right to think that “you got data and you apply std moments on it”. No, you apply it to ‘centered around smth’ data. That ‘smth’ should minimize L2 error in case of math, L1 error in case of algo, and L0 error in case of learning/MLish/optimizational/whatever-you-cal-it stuff. So in the case of L0, that’s actually the ‘mode’ of KDE, but that’s for another time. Anyways, in case of L2 it’s mean, so we center data around mean, and apply std moments on residuals. That’s the precise way of framing it. If you understand this, suddenly very interesting details like 0th and 1st central moments start to make sense. In case of quantiles, we center data around the median, and do further processing on residuals, same.
Oth moment (I call it init) is always 1, tho it’s interesting to extrapolate backwards the sequence for higher order moments construction, to understand how we actually end up with this zero.
1st moment (I call it bias) of residuals would be zero if you match centering and residuals analysis methods. But for some reason you didn’t do that (e.g centered data around midhinge or mean and applied QBAD on the centered data), you have to account for that bias.
Realizing stuff > understanding stuff
Learning 2981234 human invented fields < realizing the same unified principles how the Universe works
∞
Seasonal Pattern DecoderSeasonal Pattern Decoder
The Seasonal Pattern Decoder is a powerful tool designed for traders and analysts who want to uncover and leverage seasonal tendencies in financial markets. Instead of cluttering your chart with complex visuals, this indicator presents a clean, intuitive table that summarizes historical monthly performance, allowing you to spot recurring patterns at a glance.
How It Works
The indicator fetches historical monthly data for any symbol and calculates the percentage return for each month over a specified number of years. It then organizes this data into a comprehensive table, providing a clear, year-by-year and month-by-month breakdown of performance.
Key Features
Historical Performance Table: Displays monthly returns for up to a user-defined number of years, making it easy to compare performance across different periods.
Color-Coded Heatmap: Each cell is colored based on the performance of the month. Strong positive returns are shaded in green, while strong negative returns are shaded in red, allowing for immediate visual analysis of monthly strength or weakness.
Annual Summary: A "Σ" column shows the total percentage return for each full calendar year.
AVG Row: Calculates and displays the average return for each month across all the years shown in the table.
WR Row: Shows the "Win Rate" for each month, which is the percentage of time that month had a positive return. This is crucial for identifying high-probability seasonal trends.
How to Use
Add the "Seasonal Pattern Decoder" indicator to your chart. Note that it works best on Daily, Weekly, or Monthly timeframes. A warning message will be displayed on intraday charts.
In the indicator settings, adjust the "Lookback Period" to control how many years of historical data you want to analyze.
Use the "Show Years Descending" option to sort the table from the most recent year to the oldest.
The "Heat Range" setting allows you to adjust the sensitivity of the color-coding to fit the volatility of the asset you are analyzing.
This tool is ideal for confirming trading biases, developing seasonal strategies, or simply gaining a deeper understanding of an asset's typical behavior throughout the year.
## Disclaimer
This indicator is designed as a technical analysis tool and should be used in conjunction with other forms of analysis and proper risk management.
Past performance does not guarantee future results, and traders should thoroughly test any strategy before implementing it with real capital.
Sector RSI (Auto-Select)This indicator measures the relative strength momentum of any stock against its most closely correlated sector ETF, using the Relative Strength Index (RSI).
Auto sector selection: The script computes correlations between your symbol’s short-term returns and all major SPDR sector ETFs (XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY, XTN). The sector with the highest correlation is automatically chosen as the benchmark.
Sector vs Symbol RSI: It calculates RSI (default 14-period) for both the chosen sector and the current chart’s symbol.
Display modes:
Line mode: Plots both RSIs with colored fill (red if the sector RSI is stronger, green if the symbol RSI is stronger).
Histogram mode: Shows the difference between Sector RSI and Symbol RSI as a column chart.
RSI bands: Standard 70/50/30 reference lines are available in line mode.
Status line: The selected sector’s ticker is shown on the TradingView status line so you always know which sector is being used.
Use Cases:
Identify whether a stock’s momentum is driven by its sector or if it’s showing independent relative strength.
Detect sector rotations: when the stock begins to outperform or underperform its sector on momentum basis.
Combine with absolute RSI levels (overbought/oversold) to filter signals.
Notes:
This tool infers sector membership via rolling correlation, not from static classification metadata. This means in some cases (e.g. diversified companies or news shocks) the “best” sector may not be the official one, but the one most correlated in the current market regime.
Use min positive correlation input to filter out weak matches and enforce a fallback (defaults to Technology XLK).
Advanced Market Structure [OmegaTools]📌 Market Structure
Advanced Market Structure is a next–generation indicator designed to decode price structure in real time by combining classical swing–based analysis with modern quantitative confirmation techniques. Built for traders who demand both precision and adaptability, it provides a robust multi–layered framework to identify structural shifts, trend continuations, and potential reversals across any asset class or timeframe.
Unlike traditional structure indicators that rely solely on visual swing identification, Market Structure introduces an integrated methodology: pivot detection, Donchian trend modeling, statistical confirmation via Z–Score, and volume–based validation. Each element contributes to a comprehensive, systematic representation of the underlying market dynamics.
🔑 Core Features
1. Five Distinct Market Structure Modes
Standard Mode:
Captures structural breaks through classical swing high/low pivots. Ideal for discretionary traders looking for clarity in directional bias.
Confirmed Breakout Mode:
Requires validation beyond the initial pivot break, filtering out noise and reducing false positives.
Donchian Trend HL (High/Low):
Establishes structure based on absolute highs and lows over rolling lookback windows. This approach highlights broader momentum shifts and trend–defining extremes.
Donchian Trend CC (Close/Close):
Similar to HL mode, but calculated using closing prices, enabling more precise bias identification where close–to–close structure carries stronger statistical weight.
Average Mode:
A composite methodology that synthesizes the four models into a weighted signal, producing a balanced structural bias designed to minimize model–specific weaknesses.
2. Dynamic Pivot Recognition with Auto–Updating Levels
Swing highs and lows are automatically detected and plotted with adaptive horizontal levels. These dynamic support/resistance markers continuously extend into the future, ensuring that historically significant levels remain visible and actionable.
3. Color–Adaptive Candlesticks
Price bars are dynamically recolored to reflect the prevailing structural regime: bullish (default blue), bearish (default red), or neutral (gray). This enables instant visual recognition of regime changes without requiring external confirmation.
4. Statistical Reversal Triggers
The script integrates a 21–period Z–Score calculation applied to closing prices, combined with multi–layered volume confirmation (SMA and EMA convergence).
Bullish trigger: Z–Score < –2 with structural confirmation and volume support.
Bearish trigger: Z–Score > +2 with structural confirmation and volume support.
Signals are plotted as diamond markers above or below the bars, identifying potential high–probability reversal setups in real time.
5. Integrated Alpha Backtesting Engine
Each market structure mode is evaluated through a built–in backtesting routine, tracking hit ratios and consistency across the most recent ~2000 structural events.
Performance metrics (“Alpha”) are displayed directly on–chart via a dedicated Performance Dashboard Table, allowing side–by–side comparison of Standard, Confirmed Breakout, Donchian HL, Donchian CC, and Average models.
Traders can instantly evaluate which structural methodology best adapts to the current market conditions.
🎯 Practical Advantages
Systematic Clarity: Eliminates subjectivity in defining structural bias, offering a rules–based framework.
Statistical Transparency: Built–in performance metrics validate each mode in real time, allowing informed decision–making.
Noise Reduction: Confirmed Breakouts and Donchian modes filter out common traps in structural trading.
Multi–Asset Adaptability: Optimized for scalping, intraday, swing, and multi–day strategies across FX, equities, futures, commodities, and crypto.
Complementary Usage: Works as a stand–alone structure identifier or as a quantitative filter in larger algorithmic/trading frameworks.
⚙️ Ideal Users
Discretionary traders seeking an objective reference for structural bias.
Quantitative/systematic traders requiring on–chart statistical validation of structural regimes.
Technical analysts leveraging pivots, Donchian channels, and price action as part of broader frameworks.
Portfolio traders integrating structure into multi–factor models.
💡 Why This Tool?
Market Structure is not a static indicator — it is an adaptive framework. By merging classical pivot theory with Donchian–style momentum analysis, and reinforcing both with statistical backtesting and volume confirmation, it provides traders with a unique ability:
To see the structure,
To measure its reliability,
And to act with confidence on quantifiably validated signals.
Z-Score Trend Channels [BackQuant]Z-Score Trend Channels
A self-contained price-statistics framework that turns a rolling z-score into price channels, bias states, and trade markers. Run either trend-following or mean-reversion from the same tool with clear, on-chart context.
What it is
A rolling statistical map that measures how far price is from its recent average in standard-deviation units (z-score).
Adaptive channels drawn in price space from fixed z thresholds, so the rails breathe with volatility.
A simple trend proxy from z-score momentum to separate trending from ranging conditions.
On-chart signals for pullback entries, stretched extremes, and practical exits.
Core idea (plain English math)
Rolling mean and volatility - Over a lookback you get the average price and its standard deviation.
Z-score - How many standard deviations the current price is above or below its average: z = (price - mean) / stdev. z near 0 means near average; positive is above; negative is below.
Noise control - An EMA smooths the raw z to reduce jitter and false flickers.
Channels back in price - Fixed z levels are converted back to price to form the upper, lower, and extreme rails.
Trend proxy - A smoothed change in z is used as a lightweight trend-strength line. Positive strength with positive z favors uptrend; negative strength with negative z favors downtrend.
What you see on the chart
Channels and fills - Mean, upper, lower, and optional extreme lines. The area mean->upper tints with the bearish color, mean->lower tints with the bullish color.
Background tint (optional) - Soft green, red, or neutral based on detected trend state.
Signals - Bullish Entry (triangle up) when z exits the oversold zone upward; Bearish Entry (triangle down) when z exits the overbought zone downward; Extreme markers (diamonds) at the extreme bands with a one-bar turn.
Table - Current z, trend state, trend strength, distance to bands, market state tag, and a quick volatility regime label.
Edge labels - MEAN, OB, and OS labels slightly projected forward with level values.
Inputs you will actually use
Z-Score Period - Lookback for mean and stdev. Larger = slower and steadier rails, smaller = more reactive.
Smoothing Period - EMA on z. Lower = earlier but choppier flips; higher = later but cleaner.
Price Source - Default hlc3. Choose close if you prefer session-close logic.
Upper and Lower Thresholds - Default around +2.0 and -2.0. Tighten for more signals, widen for fewer and stronger.
Extreme Upper and Lower - Deeper stretch guards, e.g., +/- 2.5.
Strength Period - EMA on z momentum. Sets how fast the trend proxy flips.
Trend Threshold - Minimum absolute z to accept a directional bias.
Visual toggles - Channels, signals, background tint, stats table, colors, and optional last-bar trend label.
How to use it: trend-following playbook
Read the state - Uptrend when z > Trend Threshold and trend strength > 0. Downtrend when z < -Trend Threshold and trend strength < 0. Neutral otherwise.
Entries - In an uptrend, prefer Bullish Entry signals that fire near the lower channel. In a downtrend, prefer Bearish Entry signals that fire near the upper channel.
Stops - Conservative: beyond the extreme channel on your side. Tighter: just outside the standard band that framed the signal.
Exits - For longs, exit or trim on a cross back through z = 0 or a clean tag of the upper threshold. For shorts, mirror with z = 0 up-cross or tag of the lower threshold. You can also reduce if trend strength flips against you.
Adds - In strong trends, additional signals near your side’s band can be add points. Avoid adding once z hovers near the opposite band for several bars.
How to use it: mean-reversion playbook
Find stretch - Standard reversions: Bullish Entry when z leaves the oversold zone upward; Bearish Entry when z leaves the overbought zone downward. Aggressive reversions: Extreme markers at extreme bands with a one-bar turn.
Entries - Take the signal as price exits the zone. Prefer setups where trend strength is near zero or tilting against the prior push.
Targets - First target is the mean line. A runner can aim for the opposite standard channel if momentum keeps flipping.
Stops - Outside the extreme band beyond your entry. If fading without extremes, place risk just beyond the opposite standard band.
Filters - Optional: skip counter-trend fades against a very strong trend state unless your risk is tight and predefined.
Reading the stats table
Current Z-Score - Magnitude and sign of displacement now.
Trend State - Uptrend, Downtrend, or Ranging.
Trend Strength - Smoothed z momentum. Higher absolute values imply stronger directional conviction.
Distance to Upper/Lower - Percent distance from price to each band, useful for sizing targets or judging room left.
Market State - Overbought, Oversold, Extreme OB, Extreme OS, or Normal.
Volatility Regime - High, Normal, or Low relative to recent distribution. Expect bands to widen in High and tighten in Low.
Parameter guidance (conceptual)
Z-Score Period - Choose longer for a structural mean, shorter for a reactive mean.
Smoothing Period - Lower for earlier but noisier reads; higher for slower but steadier reads.
Thresholds - Start around +/- 2.0. Tighten for scalping or quiet ranges. Widen for noisy or fast markets.
Trend Threshold and Strength Period - Raise to avoid weak, transient bias. Lower to capture earlier regime shifts.
Practical examples
Trend pullback long - State shows Uptrend. Price tests the lower channel; z dips near or below the lower threshold; a Bullish Entry prints. Stop just below extreme lower; first target mean; keep a runner if trend strength stays positive.
Mean-revert short - State is Ranging. z tags the extreme upper, an Extreme Bearish marker prints, then a Bearish Entry prints on the leave. Stop above extreme upper; target the mean; consider a runner toward the lower channel if strength turns negative.
Potential Questions you might have
Why z-score instead of fixed offsets - Because the bands adapt with volatility. When the tape gets quiet the rails tighten, when it runs hot the rails expand. Your entries stay normalized.
Do I need both modes - No. Many users run only trend pullbacks or only mean-reversions. The tool lets you toggle what you need and keep the chart readable.
Multi-timeframe workflow - A common approach is to set bias from a higher timeframe’s trend state and execute on a lower timeframe’s signals that align with it.
Summary
Z-Score Trend Channels gives you an adaptive mean, volatility-aware rails, a simple trend lens, and clear signals. Trade the trend by buying pullbacks in green and selling pullbacks in red, or fade stretched extremes back to the mean with defined risk. One framework, two strategies, consistent logic.
Week Start/End Bar CoordinatesGive the Bar Index for the First and Last of the Week,
input the coordinates directly into the Fixed Range Volume Profile
NOK Basket (Equal-Weighted)Measures the Norwegian crown's relative value to a basket of other currencies: EUR, USD, GBP, SEK AND DKK.
Global M2 Money SupplyThis indicator calculates and plots an aggregated estimate of the Global M2 money supply, expressed in U.S. dollar terms. It combines M2 data from major economies and regions—including the U.S., Eurozone, Canada, the U.K., Switzerland, China, Japan, India, Brazil, and others—and adjusts each by its respective FX rate to USD. By summing these series, the script provides a broad view of worldwide liquidity conditions in one line.
A user-defined offset in days allows you to shift the global M2 line forward or backward, making it easier to visually compare liquidity trends against asset prices such as Bitcoin, gold, or equities. This tool is designed for traders and macro observers who want to study how global money supply growth or contraction correlates with financial markets over time.
이 지표는 전 세계 주요 국가와 지역의 M2 통화량을 달러 기준으로 합산하여 글로벌 유동성 지표로 보여줍니다. 미국, 유로존, 캐나다, 영국, 스위스, 중국, 일본, 인도, 브라질 등 여러 지역의 M2 데이터를 각 통화의 환율(USD 환산)로 조정한 뒤 합산해 하나의 흐름으로 표현합니다. 이를 통해 글로벌 차원의 통화 공급 변화를 한눈에 파악할 수 있습니다.
또한 사용자가 지정한 일 단위 오프셋 기능을 통해 글로벌 M2 라인을 앞뒤로 이동시켜, 비트코인·금·주식 등 다양한 자산 가격과의 시차적 관계를 직관적으로 비교할 수 있습니다. 거시경제 환경과 자산시장 간의 상관성을 연구하거나 시장 유동성 추이를 모니터링하려는 투자자에게 유용한 도구입니다.
Gold Lagging (N days)This indicator overlays the price of gold (XAUUSD) on any chart with a customizable lag in days. You can choose the price source (open, high, low, close, hlc3, ohlc4), shift the series by a set number of daily bars, and optionally normalize the values so that the first visible bar equals 100. The original gold line can also be displayed alongside the lagged series for direct comparison.
It is especially useful for analyzing delayed correlations between gold and other assets, observing shifts in safe-haven demand, or testing hypotheses about lagging market reactions. Since the lag is calculated on daily data, it remains consistent even if applied on intraday charts, while the indicator itself can be plotted on a separate price scale for clarity.
이 지표는 금(XAUUSD) 가격을 원하는 차트 위에 N일 지연된 형태로 표시합니다. 가격 소스(시가, 고가, 저가, 종가, hlc3, ohlc4)를 선택할 수 있으며, 지정한 일 수만큼 시리즈를 뒤로 이동시킬 수 있습니다. 또한 첫 값 기준으로 100에 맞춰 정규화하거나, 원래 금 가격선을 함께 표시해 비교할 수도 있습니다.
금과 다른 자산 간의 지연 상관관계를 분석하거나 안전자산 수요 변화를 관찰할 때 유용하며, 시장 반응의 시차 효과를 검증하는 데에도 활용할 수 있습니다. 지연은 일봉 데이터 기준으로 계산되므로 단기 차트에 적용해도 일 단위 기준이 유지되며, 별도의 가격 스케일에 표시되어 가독성을 높일 수 있습니다.
Morning Peak FadeMorning Peak Fade is an intraday analysis tool that identifies and measures the probability of early session rallies turning into sharp pullbacks.
📊 Core Idea
• Many stocks surge after the open, reaching an intraday peak before fading lower.
• This script anchors at the first significant morning high and tracks the drawdowns that follow within a customizable time window.
• It provides:
• Probability of a fade after the peak
• Average and maximum drawdown statistics
• Event-day hit rate (how often such setups occur)
🎯 Use Cases
• Spot potential “fade setups” where early enthusiasm exhausts quickly.
• Quantify how often chasing the morning high turns into a losing trade.
• Backtest opening range failure or fade strategies with hard data.
⚙️ Features
• Customizable thresholds for the initial surge (relative to prior close).
• Marks the peak (max) and subsequent low (min) used in calculations.
• Draws a reference line at the surge threshold to visualize when the fade triggers.
• Outputs summary stats directly on the chart.
Premarket Power MovePremarket Power Move is an intraday research tool that tracks what happens after strong premarket or opening gaps.
📊 Core Idea
• When a stock opens +X% above the prior close, it often attracts momentum traders.
• This script measures whether the stock continues to follow through higher or instead fades back down within the first trading hour.
• It calculates:
• The probability of a post-gap rally vs. a drawdown
• Average and maximum retracements after the surge
• Event-day hit rate (how many days actually triggered the condition)
🎯 Use Cases
• Identify “gap-and-go” opportunities where strong premarket strength leads to further gains.
• Spot potential fade setups where early enthusiasm quickly reverses.
• Backtest your intraday strategies with objective statistics instead of gut feeling.
⚙️ Features
• Customizable thresholds for premarket/open surge (%) and follow-through window (minutes).
• Marks the chart with reference lines:
• Prior close
• Surge threshold (e.g. +6%)
• Intraday high/low used for probability calculations.
• Outputs summary statistics (probabilities, averages, counts) directly on the chart.
🔔 Note
This is not a buy/sell signal generator. It is a probability and behavior analysis tool that helps traders understand how often strong premarket gaps continue vs. fade.
Yasser Multiple Inside Bar Breakout SignalsDescription
Yasser Multiple Inside Bar Breakout Signals (Yasser_MIB) is a powerful TradingView indicator designed to detect high-probability breakout setups based on multiple inside bar (MIB) formations. Inside bar breakouts often precede strong market moves, making this tool ideal for traders who rely on price action, volatility compression, and breakout trading strategies.
🔑 Key Features:
✅ Automatic MIB Detection – Identifies and counts consecutive inside bars.
✅ Breakout Signals – Generates BUY/SELL signals upon valid breakout of the mother bar.
✅ Custom Risk:Reward Settings – Adjustable risk-to-reward ratio with built-in Stop Loss (SL) and Take Profit (TP) levels.
✅ ATR-based Stop Loss (Optional) – Dynamic volatility-based risk management.
✅ Trend Filter – Optional EMA filter to trade only in the trend direction.
✅ Visual Clarity – Mother bar levels, inside bar marks, entry/SL/TP lines, and breakout highlights.
✅ Alerts Ready – Receive instant alerts for MIB setups and breakouts.
This indicator is suitable for Forex, Stocks, Indices, Commodities, and Crypto markets across multiple timeframes. Whether you are a trend trader or a breakout trader, Yasser_MIB provides a structured approach to capture explosive market moves with disciplined risk management.
📂 Categories
Indicators
Technical Analysis
Price Action
Breakout Strategies
Risk Management
🏷 Tags
inside bar
multiple inside bar
MIB breakout
price action
mother bar
breakout strategy
trend filter
EMA filter
ATR stop loss
risk reward
forex trading
crypto trading
stocks
commodities
indices
Yasser indicators
PongExperience PONG! The classic arcade game, now on your charts!
With this indicator, you can finally achieve your lifelong dream of beating the Markets. . . at PONG!
Pong is jam-packed with features! Such as:
2 Paddles
A moving dot
Floating numbers
The idea of a net
This indicator is solely a visualization, it serves simply as an exercise to depict what is capable through PineScript. It can be used to re-skin other indicators or data, but on its own, is not intended as a market indicator.
With that out of the way...
> PONG
The Pong indicator is a recreation of the classic arcade game Pong developed to pit the markets against the cold hard logic of a CPU player.
Given the lack of interaction that is capable, the game is not played in the typical sense, by a player and computer or 2 players.
This version of Pong uses the chart price movements to control the "Market" Paddle, and it is contrasted by a (not AI) "CPU" Paddle, which is controlled by its own set of logic.
> Market Paddle
The Market Paddle is controlled by a data source which can be input by the user.
By default (Auto Mode), the Market Paddle is controlled through a fixed length Donchian channel range, pinning the range high to 100 and range low to 0. As seen below.
This can be altered to use data from different symbols or indicators, and can optionally be smoothed using multiple types of Moving Averages.
In the chart below, you can see how the RSI indicator is imported and smoothed to control the Market Paddle.
Note: The Market Paddle follows the moving average. If not desired, simply set the "Smoothing" input to "NONE".
> CPU Paddle
In simple terms, the CPU Paddle is a handicapped Aimbot.
Its logic is, more or less, "move directly towards the ball's vertical location".
If it were allowed to have full range of the screen, it would be impossible for it to lose a point. Due to this, we must slow it down to "play fair"... as fair as that may be.
The CPU Paddle is allowed to move at a rate specified by a certain Percent of its vertical width. By default, this is set to 2%.
Each update, the CPU Paddle can advance up or down 2% of its vertical width. The directional movement is determined based on the angle of the ball, and it's current position relative to the CPU Paddle's position. Given that it is not a direct follow, it may at times seem more... "human".
When a point is scored, the CPU paddle maintains its position, similar to the original Pong game, the paddles were controlled solely by the raw output of the controllers and did not reset.
> Ball
At the start of each point, the ball begins at the center of the screen and moves in a randomly determined angle at its base speed.
The direction is determined by the player who scored the last point. The loser of the last point "serves" the ball.
Given the circumstances, serving is a gigantic advantage. So the loser serving is just another place where the Market is given an advantage.
The ball's base speed is 1, it will move 1 (horizontal) bar on each update of the script. This speed can "technically" increase to infinity over time, if given the perfect rally. This is due to the hit logic as described below.
Note: The minimum ball speed is also 1.
> Bonk Math
When the ball hits a paddle, essentially 3 outcomes can occur, each resulting in the ball's direction being changed from positive to negative.
Action A: Its angle is doubled, and its speed is doubled.
Action B: Its angle is reversed, and its speed is decreased if it is going faster than base speed.
Action C: Its angle is preserved, and its speed is preserved. "Basic Bounce"
Each paddle is segmented into 3 zones, with the higher and lower tips (20%) of the paddles producing special actions.
The central 60% of each paddle produces a basic bounce. The special actions are determined by the trajectory of the ball and location on the paddle.
> Custom Mode
As stated above, the script loads in "Auto Mode" by default. While this works fine to simply watch the gameplay, the Custom Mode unlocks the ability to visualize countless possibilities of indicators and analyses playing Pong!
In the chart below, we have set up the game to use the NYSE TICK Index as our Market Player. The NYSE TICK Index shows the number of NYSE stocks trading on an uptick minus those on a downtick. Its values fluctuate throughout the day, typically ranging between +1000 and -1000.
Therefore, we have set up Pong to use Ticker USI:TICK and set the Upper Boundary to 1000 and Lower Boundary to -1000. With this method, the paddle is directly controlled by the overall (NYSE) market behaviors.
As seen in a chart earlier, you can also take advantage of the Custom Mode to overlay Pong onto traditional oscillators for use anywhere!
> Styles
This version of Pong comes stocked with 5 colorways to suit your chart vibes!
> Pro Tips & Additional Information
- This game has sound! For the full experience, set alerts for this indicator and a notification sound will play on each hit!*
*Due to server processing, the notification sounds are not precisely played at each hit. :(
- In auto mode, decreasing the length used will give an advantage to the market, as its actions become more sporadic over this window.
- The CPU logic system actually allows the market to have a "technical" edge, since the Market Paddle is not bound to any speed, and is solely controlled by the raw market movements/data input.
- This type of visualization only works on live charts, charts without updates will not see any movement.
- Indicator sources can only be imported from other indicators on the same chart.
- The base screen resolution is 159 bars wide, with the height determined by the boundaries.
- When using a symbol and an outside source, be mindful that the script is attempting to pull the source from the input symbol. Data can appear wonky when not considering the interactions of these inputs.
There are many small interesting details that can't be seen through the description. For example, the mid-line is made from a box. This is because a line object would not appear on top of the box used for the screen. For those keen eye'd coders, feel free to poke around in the source code to make the game truly custom.
Just remember:
The market may never be fair, but now at least it can play Pong!
Enjoy!
Hosoda’s CloudsMany investors aim to develop trading systems with a high win rate, mistakenly associating it with substantial profits. In reality, high returns are typically achieved through greater exposure to market trends, which inevitably lowers the win rate due to increased risk and more volatile conditions.
The system I present, called “Hosoda’s Clouds” in honor of Goichi Hosoda , the creator of the Ichimoku Kinko Hyo indicator, is likely one of the first profitable systems many traders will encounter. Designed to capture trends, it performs best in markets with clear directional movements and is less suitable for range-bound markets like Forex, which often exhibit lateral price action.
This system is not recommended for low timeframes, such as minute charts, due to the random and emotionally driven nature of price movements in those periods. For a deeper exploration of this topic, I recommend reading my article “Timeframe is Everything”, which discusses the critical importance of selecting the appropriate timeframe.
I suggest testing and applying the “Hosoda’s Clouds” strategy on assets with a strong trending nature and a proven track record of performance. Ideal markets include Tesla (1-hour, 4-hour, and daily), BTC/USDT (daily), SPY (daily), and XAU/USD (daily), as these have consistently shown clear directional trends over time.
Commissions and Configuration
Commissions can be adjusted in the system’s settings to suit individual needs. For evaluating the effectiveness of “Hosoda’s Clouds,” I’ve used a standard commission of $1 per order as a baseline, though this can be modified in the code to accommodate different brokers or preferences.
The margin per trade is set to $1,000 by default, but users are encouraged to experiment with different margin settings in the configuration to match their trading style.
Rules of the “Hosoda’s Clouds” System (Bullish Strategy)
This strategy is designed to capture trending movements in bullish markets using the Ichimoku Kinko Hyo indicator. The rules are as follows:
Long Entry: A long position is triggered when the Tenkan-sen crosses above the Kijun-sen below the Ichimoku cloud, identifying potential reversals or bounces in a bearish context.
Stop Loss (SL): Placed at the low of the candle 12 bars prior to the entry candle. This setting has proven optimal in my tests, but it can be adjusted in the code based on risk tolerance.
Take Profit (TP): The position is closed when the Tenkan-sen crosses below the bottom of the Ichimoku cloud (the minimum of Senkou Span A and Senkou Span B).
Notes on the Code
margin_long=0: Ideal for strategies requiring a fixed position size, particularly useful for manual entries or testing with a constant capital allocation.
margin_long=100: Recommended for high-frequency systems where positions are closed quickly, simulating gradual growth based on realized profits and reflecting real-world broker constraints.
System Performance
The following performance metrics account for $1 per order commissions and were tested on the specified assets and timeframes:
Tesla (H1)
Trades: 148
Win Rate: 29.05%
Period: Jan 2, 2014 – Jan 6, 2020 (+172%)
Simple Annual Growth Rate: +34.3%
Trades: 130
Win Rate: 30.77%
Period: Jan 2, 2020 – Sep 24, 2025 (+858.90%)
Simple Annual Growth Rate: +150.7%
Tesla (H4)
Trades: 102
Win Rate: 32.35%
Period: Jun 29, 2010 – Sep 24, 2025 (+11,356.36%)
Simple Annual Growth Rate: +758.5%
Tesla (Daily)
Trades: 56
Win Rate: 35.71%
Period: Jun 29, 2010 – Sep 24, 2025 (+3,166.64%)
Simple Annual Growth Rate: +211.5%
BTC/USDT (Daily)
Trades: 44
Win Rate: 31.82%
Period: Sep 30, 2017 – Sep 24, 2025 (+2,592.23%)
Simple Annual Growth Rate: +324.8%
SPY (Daily)
Trades: 81
Win Rate: 37.04%
Period: Jan 23, 1993 – Sep 24, 2025 (+476.90%)
Simple Annual Growth Rate: +14.3%
XAU/USD (Daily)
Trades: 216
Win Rate: 32.87%
Period: Jan 6, 1833 – Sep 24, 2025 (+5,241.73%)
Simple Annual Growth Rate: +27.1%
SPX (Daily)
Trades: 217
Win Rate: 38.25%
Period: Feb 1, 1871 – Sep 24, 2025 (+16,791.02%)
Simple Annual Growth Rate: +108.1%
Conclusion
With the “ Hosoda’s Clouds ” strategy, I aim to showcase the potential of technical analysis to generate consistent profits in trending markets, challenging recent doubts about its effectiveness. My goal is for this system to serve as both a practical tool for traders and a source of inspiration for the trading community I deeply respect. I hope it encourages the creation of new strategies, fosters creativity in technical analysis, and empowers traders to approach the markets with confidence and discipline.
Irrationality Index by CRYPTO_ADA_BTC"The market can be irrational longer than you can stay solvent" ~ John Maynard Keynes
This indicator, the Irrationality Index, measures how far the current market price has deviated from a smoothed estimate of its "fair value," normalized for recent volatility. It provides traders with a visual sense of when the market may be behaving irrationally, without giving direct buy or sell signals.
How it works:
1. Fair Value Calculation
The indicator estimates a "fair value" for the asset using a combination of a long-term EMA (exponential moving average) and a linear regression trend over a configurable period. This fair value serves as a smoothed baseline for price, balancing trend-following and mean-reversion.
2. Volatility-Adjusted Z-Score
The deviation between price and fair value is measured in standard deviations of recent log returns:
Z = (log(price) - log(fairValue)) / volatility
This standardization accounts for different volatility environments, allowing comparison across assets.
3. Irrationality Score (0–100)
The Z-score is transformed using a logistic mapping into a 0–100 scale:
- 50 → price near fair value (rational zone)
- >75 → high irrationality, price stretched above fair value
- >90 → extreme irrationality, unsustainable extremes
- <25 → high irrationality, price stretched below fair value
- <10 → extreme bearish irrationality
4. Price vs Fair Value (% deviation)
The indicator plots the percentage difference between price and fair value:
pctDiff = (price - fairValue) / fairValue * 100
- Positive values → Percentage above fair value (optimistic / overvalued)
- Negative values → Percentage below fair value (pessimistic / undervalued)
Visuals:
- Irrationality (%) Line (0–100) shows irrationality level.
- Background Colors: Yellow= high bullish irrationality, Green= extreme bullish irrationality, Orange= high bearish irrationality, Red= extreme bearish irrationality.
- Price - FairValue (%) plot: price deviation vs fair value (%), Colored green above 0 and red below 0.
- Label: display actual price, estimated fair value, and Z-score for the latest bar.
- Alerts: configurable thresholds for high and extreme irrationality.
How to read it:
- 50 → Market trading near fair value.
- >75 / >90 → Price may be irrationally high; risk of pullback increases.
- <25 / <10 → Price may be irrationally low; potential rebound zones, but trends can continue.
- Price - FairValue (%) plot → visual guide for % price stretch relative to fair value.
Notes / Warnings:
- Measures relative deviation, not fundamental value!
- High irrationality scores do not automatically indicate trades; markets can remain can be irrational longer than you can stay solvent .
- Best used with other tools: momentum, volume, divergence, and multi-timeframe analysis.