OPEN-SOURCE SCRIPT
IND007-Seasonality Monthly Window Map

Seasonality Monthly Window Map scans historical daily data to find recurring bullish and bearish calendar windows. It helps users quickly see which periods of the year were historically stronger or weaker for the selected asset, then ranks the best windows by hit rate, average move, sample size, and score.
==================================================
WARNING
==================================================
This indicator studies historical seasonal behavior. It does not predict the future and it does not create guaranteed trading opportunities.
The table shows how similar calendar windows behaved in past years. A strong historical window means that the same date range showed repeated directional behavior in the available data. It does not mean the same result must happen again.
==================================================
(1) PURPOSE
==================================================
Seasonality Monthly Window Map is a public open-source indicator that scans historical daily data to find recurring bullish and bearish calendar windows.
Its purpose is to help users quickly see which parts of the year were historically stronger, weaker, or neutral for the selected asset.
The indicator is attractive because it reduces thousands of possible calendar windows into a compact table with only the strongest filtered results.
==================================================
(2) HOW IT WORKS
==================================================
The script works on the Daily timeframe. It stores historical daily closes by calendar day of the year, then tests many possible start and end date windows.
With the default settings of 15 to 60 days, the script checks up to about 15,065 possible seasonal windows. The exact number changes when the minimum and maximum window length inputs are changed.
For each window, the script checks how that same calendar period performed across past years.
It calculates:
The script then keeps only the windows that pass the selected filters and places the strongest bullish and bearish windows into the table.
==================================================
(3) HOW THE SCORE WORKS
==================================================
The score is designed to reward windows that are directional, consistent, and supported by enough historical samples.
Pine Script®
Then the result is multiplied by the Score Scale input and limited to a maximum of 1000.
A higher score usually means:
==================================================
(4) TABLE MEANING
==================================================
The table is designed to show both monthly context and more specific seasonal windows.
Color meaning
The month row gives broad context. The rows below it show more specific historical windows that passed the filters.
==================================================
(5) HOW TO USE IT PROPERLY
==================================================
==================================================
(6) IMPORTANT LIMITATION
==================================================
Seasonality studies often have limited sample size. Many assets may only provide around 10 to 20 useful yearly samples, depending on how much historical daily data is available.
This is important because 10 to 20 samples can show a historical tendency, but it is not enough to prove that a pattern is highly reliable.
A high historical hit rate can still be misleading when the sample size is small. Market behavior can also change because of news, macro conditions, liquidity changes, or structural changes in the asset.
==================================================
(7) ALERTS
==================================================
The script includes alerts for seasonal windows that are:
Alerts are useful for timing awareness, but they do not replace chart review or risk management.
==================================================
(8) SUMMARY
==================================================
This indicator scans historical daily data and tests many calendar windows to find seasonal periods that were repeatedly bullish or bearish in the past.
With default settings, it can check up to about 15,065 possible windows. It then filters and ranks them using historical hit rate, average move, sample count, and score.
The main strength of the tool is that it makes seasonal research faster and easier to read.
The main weakness is that historical seasonal data often has a limited number of yearly samples, usually around 10 to 20 for many assets. Because of that, the results should be used as context and confirmation, not as proof or prediction.
==================================================
DISCLAIMER
==================================================
This script is a public open-source indicator for educational and informational use.
It is not financial advice, investment advice, or a recommendation to buy or sell any asset.
The script studies historical seasonal behavior only. It does not guarantee profitable trades, signal accuracy, or future performance.
Past seasonal behavior may not repeat. Users should always apply their own analysis, position sizing, and risk management before making any trading decision.
Use it to add seasonal context before a setup begins, not as a standalone trading signal.
==================================================
WARNING
==================================================
This indicator studies historical seasonal behavior. It does not predict the future and it does not create guaranteed trading opportunities.
The table shows how similar calendar windows behaved in past years. A strong historical window means that the same date range showed repeated directional behavior in the available data. It does not mean the same result must happen again.
Use this script as a historical seasonality map, not as a standalone buy or sell signal system.
==================================================
(1) PURPOSE
==================================================
Seasonality Monthly Window Map is a public open-source indicator that scans historical daily data to find recurring bullish and bearish calendar windows.
Its purpose is to help users quickly see which parts of the year were historically stronger, weaker, or neutral for the selected asset.
The indicator is attractive because it reduces thousands of possible calendar windows into a compact table with only the strongest filtered results.
In simple words: it checks past seasonal behavior, ranks the strongest windows, and shows them in an easy-to-read table.
==================================================
(2) HOW IT WORKS
==================================================
The script works on the Daily timeframe. It stores historical daily closes by calendar day of the year, then tests many possible start and end date windows.
With the default settings of 15 to 60 days, the script checks up to about 15,065 possible seasonal windows. The exact number changes when the minimum and maximum window length inputs are changed.
For each window, the script checks how that same calendar period performed across past years.
It calculates:
- Historical Hit Rate - how often the window moved in the tested direction.
- Average Move - the average percentage move during that window.
- Sample Count - how many historical years were available.
- Score - the final ranking value used to compare windows.
The script then keeps only the windows that pass the selected filters and places the strongest bullish and bearish windows into the table.
==================================================
(3) HOW THE SCORE WORKS
==================================================
The score is designed to reward windows that are directional, consistent, and supported by enough historical samples.
Then the result is multiplied by the Score Scale input and limited to a maximum of 1000.
A higher score usually means:
- the window moved in the same direction more often
- the average move was stronger
- the window had more historical samples
- the window was not unnecessarily long
A high score means the historical window ranked well under the current settings. It does not guarantee future performance.
==================================================
(4) TABLE MEANING
==================================================
The table is designed to show both monthly context and more specific seasonal windows.
- MONTH AVG - average historical performance of the full month.
- WINDOW - the seasonal start and end date.
- HIT% - historical directional frequency.
- AVG% - average percentage move for the window.
- SCORE - ranking value for comparison.
Color meaning
- Green - positive / bullish historical behavior.
- Red - negative / bearish historical behavior.
- Yellow - near-neutral behavior.
- Dark row - no strong timing edge under the current filters.
The month row gives broad context. The rows below it show more specific historical windows that passed the filters.
==================================================
(5) HOW TO USE IT PROPERLY
==================================================
- Use the Daily timeframe.
The script is built for daily seasonal data. - Start with the month row.
This shows whether the full month was historically positive, negative, or neutral. - Then check the window rows.
These show the strongest filtered seasonal windows inside or around that month. - Compare HIT%, AVG%, and SCORE together.
Do not rely on only one number. - Check current trend and chart structure.
Seasonality should support your analysis, not replace it. - Use alerts for awareness only.
Alerts can notify when a historical window is soon, active, or recently started. They are not trade instructions.
Best use: treat seasonality as confirmation together with trend, structure, liquidity, and risk management.
==================================================
(6) IMPORTANT LIMITATION
==================================================
Seasonality studies often have limited sample size. Many assets may only provide around 10 to 20 useful yearly samples, depending on how much historical daily data is available.
This is important because 10 to 20 samples can show a historical tendency, but it is not enough to prove that a pattern is highly reliable.
A high historical hit rate can still be misleading when the sample size is small. Market behavior can also change because of news, macro conditions, liquidity changes, or structural changes in the asset.
The table should be read as historical context, not statistical certainty.
==================================================
(7) ALERTS
==================================================
The script includes alerts for seasonal windows that are:
- starting soon
- starting today
- recently started
- currently active
- passing hit-rate, score, or average-move filters
- confirmed by a simple trend or EMA filter
Alerts are useful for timing awareness, but they do not replace chart review or risk management.
==================================================
(8) SUMMARY
==================================================
This indicator scans historical daily data and tests many calendar windows to find seasonal periods that were repeatedly bullish or bearish in the past.
With default settings, it can check up to about 15,065 possible windows. It then filters and ranks them using historical hit rate, average move, sample count, and score.
The main strength of the tool is that it makes seasonal research faster and easier to read.
The main weakness is that historical seasonal data often has a limited number of yearly samples, usually around 10 to 20 for many assets. Because of that, the results should be used as context and confirmation, not as proof or prediction.
==================================================
DISCLAIMER
==================================================
This script is a public open-source indicator for educational and informational use.
It is not financial advice, investment advice, or a recommendation to buy or sell any asset.
The script studies historical seasonal behavior only. It does not guarantee profitable trades, signal accuracy, or future performance.
Past seasonal behavior may not repeat. Users should always apply their own analysis, position sizing, and risk management before making any trading decision.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.