This article will part of a series of posts that present exotic and unpopular market patterns in an easy and straightforward manner. Technical Simple Pattern Recognition (TSPR) is the application of a few conditions based on price and price-derived calculations in order to derive buy and sell signals.
I will try to present each one with functioning code that shows how to use and interpret it:
TD Differential patternTD Reverse Differential patternTD Anti Differential pattern 👈🏻
FractalsOutside barsNR7 pattern
What are Market Patterns?
A pattern in financial markets is a recognizable and recurring structure in price movement or trading behavior. Patterns emerge because markets are driven by collective human psychology—fear, greed, optimism, and doubt—which often repeat in predictable ways.
Traders and analysts study these formations to anticipate future price action, identify entry and exit points, and better understand the underlying balance between supply and demand.
Broadly, market patterns can be divided into:
Candlestick patternsClassic price patternsTiming patternsHarmonic patternsTechnical simple patterns
Beyond technical structures, there are also behavioral and cyclical patterns. For example, intraday seasonalities like the opening rally or end-of-month effect emerge from repeated institutional flows. Larger cycles such as business cycles, election cycles, or commodity supercycles show how macroeconomic and political forces shape markets over time. Together, these patterns provide a multi-layered perspective—visual, statistical, and behavioral—that traders use to spot opportunities and manage risk.
Technical simple patterns is a classification I use to group certain patterns together. These patterns can have extremely simple conditions (such as a close price high than the close price from 2 periods ago), and are generally abundant signal-wise.
Coding the Market Pattern
Use the following code in PineScript (TradingView) to visualize the pattern.
//@version=5
indicator("TD Anti-Differential Arrows", overlay=true)
// --- TD Anti-Differential Up Arrow ---
// Step 1: two consecutive lower closes
cond1_up = close[4] > close[3] and close[3] > close[2]
// Step 2: then a higher close
cond2_up = close[1] > close[2]
// Step 3: then a down close
cond3_up = close < close[1]
td_anti_up = cond1_up and cond2_up and cond3_up
// --- TD Anti-Differential Down Arrow ---
// Step 1: two consecutive higher closes
cond1_dn = close[4] < close[3] and close[3] < close[2]
// Step 2: then a lower close
cond2_dn = close[1] < close[2]
// Step 3: then an up close
cond3_dn = close > close[1]
td_anti_dn = cond1_dn and cond2_dn and cond3_dn
// --- Plot Arrows ---
plotshape(td_anti_up, title="TD Anti-Differential Up Arrow", style=shape.triangleup,
location=location.belowbar, color=color.purple, size=size.small, text="Anti↑")
plotshape(td_anti_dn, title="TD Anti-Differential Down Arrow", style=shape.triangledown,
location=location.abovebar, color=color.yellow, size=size.small, text="Anti↓")The following chart shows an example of the pattern up close.
Zooming out gives an idea of the frequency of the signals.
Overall, this pattern (alongside other Differential patterns) are not useful. They are noisy and unlikely to provide any trading value. The aim of this post is to show how to code these patterns, and to give a personal opinion on them. Other patterns such as harmonic patterns and TD sequential patterns are extremely useful.
✨ The Weekly Market Sentiment Report is evolving into The Signal Beyond 🚀.
This isn’t just a sentiment check anymore. It’s becoming a full market intelligence package with expanded technical scorecards, refined sentiment models, and machine learning forecasts. From classic tools that have stood the test of time to fresh innovations like multi-market RSI heatmaps, volatility regime dashboards, and pairs trading recommendation system, the new report is designed to give you a sharper edge in navigating the markets.
Free trial available.




