Penrose Diagram

Greetings Traders! This is my measly 2 dimensional non-curved take on a Penrose Diagram.
What is a Penrose Diagram?

"A Penrose diagram is a kind of spacetime diagram arranged to make clear the complete causal structure of any given geometry. They are an indispensable map for navigating inside a black hole. Roger Penrose, who invented this kind of diagram in the early 1950s, himself calls them conformal diagrams." - Source:

Penrose Diagrams allow an understanding of an infinite surface by projecting 4D Spheres on 2 Dimension Squares. The 4D shape within the 2D Square has the ability to reference a definable edge on an infinite boundary.

I thought this concept interesting, as I tend to hold a viewpoint of price being infinite in its own nature, and tried to combine the concepts as best I could.

In a true Penrose Diagram, you'd see curvature as you reached the edge of each Diagram Square to represent the curvature of space-time and the distorted boundary. However due to limitations of Pine and perhaps my own abilities, I decided to go the cheap route and opt for straight lines, as well as beginning each new Penrose Diagram on a new Session Start.

Also in this version, you will notice on some instruments that, as an example, two triangles overlap each other when you Extend the Penrose Diagram. The result of this is intentional and is due to the calculation of the first Triangle for the Penrose Diagram. The data points for each triangle are variable upon the average highest/lowest point from Open Price and the Max/Min highest/lowest point from Open Price over a variable amount of days. For typical instruments such as Futures products and Forex, it is common to see differences between the Highest High Breakout & Lowest Low Breakout, and therefore a difference between the true center of the Triangle and the corresponding angles. I prefer to use a 20-Day Average Period for Forex and Futures Products, for Crypto a 30 Day Average Period, all adjustable from the options menu.

Due to the differences between the data points(particularly the difference from the Session Open to the Highest High/ Lowest Low), the initial values for the extended Penrose Diagram will sometimes overlap with the initial triangle for Penrose Diagram creation. However keep in mind, all triangles are exactly the same, just rotated 180°and translated above and below the current Session Open Price. You can confirm this yourself using the handy Triangle Tool in your Drawing Tools directly from your TradingView Chart.

Haven't managed to play around on all instruments yet, so give it a whirl, and any feedback is greatly appreciated. Hope you enjoy!
Release Notes: Updated Minor Commenting for Easier Code Reading. I typically receive almost no feedback on most of my scripts and would love to hear more you guys. Please drop a comment below with any suggestions, improvement ideas, or thoughts. Thanks!
Release Notes: Added a more "realistic" looking 3D version, however if you prefer the original, simply uncheck "Show 3D Penrose Diagram?" in the settings menu.
3D Penrose Diagram:
Simple Penrose Diagram:
3D Penrose Diagram:
Simple Penrose Diagram:
Release Notes: Due to the alignment being so off in some markets, I decided to update the script to not only translate the triangle extensions but flip them as well so each angle matches. If you prefer the other method, let me know in the comments and I'll add an option to choose between the two. I also cleaned up some redundant code so its a little bit shorter length wise. Thanks!
Release Notes: Fixed an Issue that was occurring on New Weekly Opens on non 24/7 instruments in Daily Resolution as it was using the time distance from the weekend to calculate the next line plots.

Follow on Instagram @DayTradingOil and @OilFutures
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?