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.
开源脚本
本着TradingView的真正精神,此脚本的创建者将其开源,以便交易者可以查看和验证其功能。向作者致敬!虽然您可以免费使用它,但请记住,重新发布代码必须遵守我们的网站规则。
免责声明
这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。
开源脚本
本着TradingView的真正精神,此脚本的创建者将其开源,以便交易者可以查看和验证其功能。向作者致敬!虽然您可以免费使用它,但请记住,重新发布代码必须遵守我们的网站规则。
免责声明
这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。