OPEN-SOURCE SCRIPT
Indicator: Profitability by Day & Hour (stacked, non-overlay)

What it does
This tool performs a simple seasonality study on the selected symbol. It measures historical returns and summarizes them in two horizontal heatmaps:
Hours table (top) — Columns 00–23 show the average return of each clock hour, plus sample size, win rate, volatility (SD), and a t-score.
Days table (middle) — Columns 1–7 correspond to Mon–Sun with the same metrics.
Summary (bottom) — Shows the most profitable day and hour in the history loaded on your chart.
Green cells indicate higher average returns; red cells indicate lower/negative averages. The layout is centered on the screen, with the hours table above the days table for quick scanning.
How it works (methodology)
Returns: by default the indicator uses log returns ln(Ct/Ct-1) (you can switch to simple % if you prefer).
Daily aggregation (no look-ahead): day statistics are computed from completed daily closes via a higher timeframe request. Yesterday’s daily close vs. the prior day is added to the appropriate weekday bucket, preventing repaint/forward bias.
Hourly aggregation (intraday only): hour statistics are computed bar-to-bar on the current intraday timeframe and accumulated by clock hour (00–23) of the symbol’s exchange timezone.
Metrics per bucket:
Mean: average return in that bucket.
n: number of observations.
Win%: share of positive returns.
SD: standard deviation of returns (volatility proxy).
t-score: mean / SD * sqrt(n) — a quick stability signal (not a hypothesis test).
The indicator does not rely on future data and does not repaint past values.
Reading the tables
Start with the Mean row in each table: it’s color-mapped (red → yellow → green).
Check n (sample size). A bright green cell with very low n is less meaningful than a mild green cell with large n.
Use Win% and SD to judge consistency and noise.
t-score is a compact “signal-to-noise × sample size” measure; higher absolute values suggest more stable effects.
Typical observations traders look for (purely illustrative): for some equity indices, the first hour after the cash open can dominate; for FX/crypto, certain late-US or early-Asia hours sometimes stand out. Always verify on your symbol and timeframe.
This tool performs a simple seasonality study on the selected symbol. It measures historical returns and summarizes them in two horizontal heatmaps:
Hours table (top) — Columns 00–23 show the average return of each clock hour, plus sample size, win rate, volatility (SD), and a t-score.
Days table (middle) — Columns 1–7 correspond to Mon–Sun with the same metrics.
Summary (bottom) — Shows the most profitable day and hour in the history loaded on your chart.
Green cells indicate higher average returns; red cells indicate lower/negative averages. The layout is centered on the screen, with the hours table above the days table for quick scanning.
How it works (methodology)
Returns: by default the indicator uses log returns ln(Ct/Ct-1) (you can switch to simple % if you prefer).
Daily aggregation (no look-ahead): day statistics are computed from completed daily closes via a higher timeframe request. Yesterday’s daily close vs. the prior day is added to the appropriate weekday bucket, preventing repaint/forward bias.
Hourly aggregation (intraday only): hour statistics are computed bar-to-bar on the current intraday timeframe and accumulated by clock hour (00–23) of the symbol’s exchange timezone.
Metrics per bucket:
Mean: average return in that bucket.
n: number of observations.
Win%: share of positive returns.
SD: standard deviation of returns (volatility proxy).
t-score: mean / SD * sqrt(n) — a quick stability signal (not a hypothesis test).
The indicator does not rely on future data and does not repaint past values.
Reading the tables
Start with the Mean row in each table: it’s color-mapped (red → yellow → green).
Check n (sample size). A bright green cell with very low n is less meaningful than a mild green cell with large n.
Use Win% and SD to judge consistency and noise.
t-score is a compact “signal-to-noise × sample size” measure; higher absolute values suggest more stable effects.
Typical observations traders look for (purely illustrative): for some equity indices, the first hour after the cash open can dominate; for FX/crypto, certain late-US or early-Asia hours sometimes stand out. Always verify on your symbol and timeframe.
Script open-source
Dans l'esprit de TradingView, le créateur de ce script l'a rendu open-source, afin que les traders puissent examiner et vérifier sa fonctionnalité. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais n'oubliez pas que la republication du code est soumise à nos Règles.
Clause de non-responsabilité
Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.
Script open-source
Dans l'esprit de TradingView, le créateur de ce script l'a rendu open-source, afin que les traders puissent examiner et vérifier sa fonctionnalité. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais n'oubliez pas que la republication du code est soumise à nos Règles.
Clause de non-responsabilité
Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.