Market Cap Landscape 3DHello, traders and creators! 👋
Market Cap Landscape 3D. This project is more than just a typical technical analysis tool; it's an exploration into what's possible when code meets artistry on the financial charts. It's a demonstration of how we can transcend flat, two-dimensional lines and step into a vibrant, three-dimensional world of data.
This project continues a journey that began with a previous 3D experiment, the T-Virus Sentiment, which you can explore here:
The Market Cap Landscape 3D builds on that foundation, visualizing market data—particularly crypto market caps—as a dynamic 3D mountain range. The entire landscape is procedurally generated and rendered in real-time using the powerful drawing capabilities of polyline.new() and line.new() , pushed to their creative limits.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language.
---
🧐 Core Concept: How It Works
The indicator synthesizes multiple layers of information into a single, cohesive 3D scene:
The Surface: The mountain range itself is a procedurally generated 3D mesh. Its peaks and valleys create a rich, textured landscape that serves as the canvas for our data.
Crypto Data Integration: The core feature is its ability to fetch market cap data for a list of cryptocurrencies you provide. It then sorts them in descending order and strategically places them onto the 3D surface.
The Summit: The highest point on the mountain is reserved for the asset with the #1 market cap in your list, visually represented by a flag and a custom emblem.
The Mountain Labels: The other assets are distributed across the mountainside, with their rank determining their general elevation. This creates an intuitive visual hierarchy.
The Leaderboard Pole: For clarity, a dedicated pole in the back-right corner provides a clean, ranked list of the symbols and their market caps, ensuring the data is always easy to read.
---
🧐 Example of adjusting the view
To evoke the feeling of flying over mountains
To evoke the feeling of looking at a mountain peak on a low plain
🧐 Example of predefined colors
---
🚀 How to Use
Getting started with the Market Cap Landscape 3D:
Add to Chart: Apply the "Market Cap Landscape 3D" indicator to your active chart.
Open Settings: Double-click anywhere on the 3D landscape or click the "Settings" icon next to the indicator's name.
Customize Your Crypto List: The most important setting is in the Crypto Data tab. In the "Symbols" text area, enter a comma-separated list of the crypto tickers you want to visualize (e.g., BTC,ETH,SOL,XRP ). The indicator supports up to 40 unique symbols.
> Important Note: This indicator exclusively uses TradingView's `CRYPTOCAP` data source. To find valid symbols, use the main symbol search bar on your chart. Type `CRYPTOCAP:` (including the colon) and you will see a list of available options. For example, typing `CRYPTOCAP:BTC` will confirm that `BTC` is a valid ticker for the indicator's settings. Using symbols that do not exist in the `CRYPTOCAP` index will result in a script error. or, to display other symbols, simply type CRYPTOCAP: (including the colon) and you will see a list of available options.
Adjust Your View: Use the settings in the Camera & Projection tab to rotate ( Yaw ), tilt ( Pitch ), and scale the landscape until you find a view you love.
Explore & Customize: Play with the color palettes, flag design, and other settings to make the landscape truly your own!
---
⚙️ Settings & Customization
This indicator is highly customizable. Here’s a breakdown of what each setting does:
#### 🪙 Crypto Data
Symbols: Enter the crypto tickers you want to track, separated by commas. The script automatically handles duplicates and case-insensitivity.
Show Market Cap on Mountain: When checked, it displays the full market cap value next to the symbol on the mountain. When unchecked, it shows a cleaner look with just the symbol and a colored circle background.
#### 📷 Camera & Projection
Yaw (°): Rotates the camera view horizontally (side to side).
Pitch (°): Tilts the camera view vertically (up and down).
Scale X, Y, Z: Stretches or compresses the landscape in width, depth, and height, respectively. Fine-tune these to get the perfect perspective.
#### 🏞️ Grid / Surface
Grid X/Y resolution: Controls the detail level of the 3D mesh. Higher values create a smoother surface but may use more resources.
Fill surface strips: Toggles the beautiful color gradient on the surface.
Show wireframe lines: Toggles the visibility of the grid lines.
Show nodes (markers): Toggles the small dots at each grid intersection point.
#### 🏔️ Peaks / Mountains
Fill peaks volume: Draws vertical lines on high peaks, giving them a sense of volume.
Fill peaks surface: Draws a cross-hatch pattern on the surface of high peaks.
Peak height threshold: Defines the minimum height for a peak to receive the fill effect.
Peak fill color/density: Customizes the appearance of the fill lines.
#### 🚩 Flags (3D)
Show Flag on Summit: A master switch to show or hide the flag and emblem entirely.
Flag height, width, etc.: Provides full control over the dimensions and orientation of the flag on the highest peak.
#### 🎨 Color Palette
Base Gradient Palette: Choose from 13 stunning, pre-designed color themes for the landscape, from the classic SUNSET_WAVE to vibrant themes like NEON_DREAM and OCEANIC .
#### 🛡️ Emblem / Badge Controls
This section gives you granular control over every element of the custom emblem on the flag. Tweak rotation, offsets, and scale to design your unique logo.
---
👨💻 Developer's Corner: Modifying the Core Logic
If you're a developer and wish to customize the indicator's core data source, this section is for you. The script is designed to be modular, making it easy to change what data is being ranked and visualized.
The heart of the data retrieval and ranking logic is within the f_getSortedCryptoData() function. Here’s how you can modify it:
1. Changing the Data Source (from Market Cap to something else):
The current logic uses request.security("CRYPTOCAP:" + syms.get(i), ...) to fetch market capitalization data. To change this, you need to modify this line.
Example: Ranking by RSI (14) on the Daily timeframe.
First, you'll need a function to calculate RSI. Add this function to the script:
f_getRSI(symbol, timeframe, length) =>
request.security(symbol, timeframe, ta.rsi(close, length))
Then, inside f_getSortedCryptoData() , find the `for` loop that populates the `caps` array and replace the `request.security` call:
// OLD LINE:
// caps.set(i, request.security("CRYPTOCAP:" + syms.get(i), timeframe.period, close))
// NEW LINE for RSI:
// Note: You'll need to decide how to format the symbol name (e.g., "BINANCE:" + syms.get(i) + "USDT")
caps.set(i, f_getRSI("BINANCE:" + syms.get(i) + "USDT", "D", 14))
2. Changing the Data Formatting:
The ranking values are formatted for display using the f_fmtCap() function, which currently formats large numbers into "M" (millions), "B" (billions), etc.
If you change the data source to something like RSI, you'll want to change the formatting. You can modify f_fmtCap() or create a new formatting function.
Example: Formatting for RSI.
// Modify f_fmtCap or create f_fmtRSI
f_fmtRSI(float v) =>
str.tostring(v, "#.##") // Simply format to two decimal places
Remember to update the calls to this function in the main drawing loop where the labels are created (e.g., str.format("{0}: {1}", crypto.symbol, f_fmtCap(crypto.cap)) ).
By modifying these key functions ( f_getSortedCryptoData and f_fmtCap ), you can adapt the Market Cap Landscape 3D to visualize and rank almost any dataset you can imagine, from technical indicators to fundamental data.
---
We hope you enjoy using the Market Cap Landscape 3D as much as we enjoyed creating it. Happy charting! ✨
Recherche dans les scripts pour "grid"
Mikula's Master 360° Square of 12Mikula’s Master 360° Square of 12
An educational W. D. Gann study indicator for price and time. Anchor a compact Square of 12 table to a start point you choose. Begin from a bar’s High or Low (or set a manual start price). From that anchor you can progress or regress the table to study how price steps through cycles in either direction.
What you’re looking at :
Zodiac rail (far left): the twelve signs.
Degree rail: 24 rows in 15° steps from 15° up to 360°/0°.
Transit rail and Natal rail: track one planet per rail. Each planet is placed at its current row (℞ shown when retrograde). As longitude advances, the planet climbs bottom → top, then wraps to the bottom at the next sign; during retrograde it steps downward.
Hover a planet’s cell to see a tooltip with its exact longitude and sign (e.g., 152.4° ♌︎). The linked price cell in the grid moves with the planet’s row so you can follow a planet’s path through the zodiac as a path through price.
Price grid (right): the 12×24 Square of 12. Each column is a cycle; cells are stepped price levels from your start price using your increment.
Bottom rail: shows the current square number and labels the twelve columns in that square.
How the square is read
The square always begins at the bottom left. Read each column bottom → top. At the top, return to the bottom of the next column and read up again. One square contains twelve cycles. Because the anchor can be a High or a Low, you can progress the table upward from the anchor or regress it downward while keeping the same bottom-to-top reading order.
Iterate Square (shifting)
Iterate Square shifts the entire 12×24 grid to the next set of twelve cycles.
Square 1 shows cycles 1–12; Square 2 shows 13–24; Square 3 shows 25–36, etc.
Visibility rules
Pivot cells are table-bound. If you shift the square beyond those prices, their highlights won’t appear in the table.
A/B levels and Transit/Natal planetary lines are chart overlays and can remain visible on the table as you shift the square.
Quick use
Choose an anchor (date/time + High/Low) or enable a manual start price .
Set the increment. If you anchored with a Low and want the table to step downward from there, use a negative value.
Optional: pick Transit and Natal planets (one per rail), toggle their plots, and hover their cells for longitude/sign.
Optional: turn on A/B levels to display repeating bands from the start price.
Optional: enable swing pivots to tint matching cells after the anchor.
Use Iterate Square to shift to later squares of twelve cycles.
Examples
These are exploratory examples to spark ideas:
Overview layout (zodiac & degree rails, Transit/Natal rails, price grid)
A-levels plotted, pivots tinted on the table, real-time price highlighted
Drawing angles from the anchor using price & time read from the table
Using a TradingView Gann box along the A-levels to study reactions
Attribution & originality
This script is an original implementation (no external code copied). Conceptual credit to Patrick Mikula, whose discussion of the Master 360° Square of 12 inspired this study’s presentation.
Further reading (neutral pointers)
Patrick Mikula, Gann’s Scientific Methods Unveiled, Vol. 2, “W. D. Gann’s Use of the Circle Chart.”
W. D. Gann’s Original Commodity Course (as provided by WDGAN.com).
No affiliation implied.
License CC BY-NC-SA 4.0 (non-commercial; please attribute @Javonnii and link the original).
Dependency AstroLib by @BarefootJoey
Disclaimer Educational use only; not financial advice.
VoVix DEVMA🌌 VoVix DEVMA: A Deep Dive into Second-Order Volatility Dynamics
Welcome to VoVix+, a sophisticated trading framework that transcends traditional price analysis. This is not merely another indicator; it is a complete system designed to dissect and interpret the very fabric of market volatility. VoVix+ operates on the principle that the most powerful signals are not found in price alone, but in the behavior of volatility itself. It analyzes the rate of change, the momentum, and the structure of market volatility to identify periods of expansion and contraction, providing a unique edge in anticipating major market moves.
This document will serve as your comprehensive guide, breaking down every mathematical component, every user input, and every visual element to empower you with a profound understanding of how to harness its capabilities.
🔬 THEORETICAL FOUNDATION: THE MATHEMATICS OF MARKET DYNAMICS
VoVix+ is built upon a multi-layered mathematical engine designed to measure what we call "second-order volatility." While standard indicators analyze price, and first-order volatility indicators (like ATR) analyze the range of price, VoVix+ analyzes the dynamics of the volatility itself. This provides insight into the market's underlying state of stability or chaos.
1. The VoVix Score: Measuring Volatility Thrust
The core of the system begins with the VoVix Score. This is a normalized measure of volatility acceleration or deceleration.
Mathematical Formula:
VoVix Score = (ATR(fast) - ATR(slow)) / (StDev(ATR(fast)) + ε)
Where:
ATR(fast) is the Average True Range over a short period, representing current, immediate volatility.
ATR(slow) is the Average True Range over a longer period, representing the baseline or established volatility.
StDev(ATR(fast)) is the Standard Deviation of the fast ATR, which measures the "noisiness" or consistency of recent volatility.
ε (epsilon) is a very small number to prevent division by zero.
Market Implementation:
Positive Score (Expansion): When the fast ATR is significantly higher than the slow ATR, it indicates a rapid increase in volatility. The market is "stretching" or expanding.
Negative Score (Contraction): When the fast ATR falls below the slow ATR, it indicates a decrease in volatility. The market is "coiling" or contracting.
Normalization: By dividing by the standard deviation, we normalize the score. This turns it into a standardized measure, allowing us to compare volatility thrust across different market conditions and timeframes. A score of 2.0 in a quiet market means the same, relatively, as a score of 2.0 in a volatile market.
2. Deviation Analysis (DEV): Gauging Volatility's Own Volatility
The script then takes the analysis a step further. It calculates the standard deviation of the VoVix Score itself.
Mathematical Formula:
DEV = StDev(VoVix Score, lookback_period)
Market Implementation:
This DEV value represents the magnitude of chaos or stability in the market's volatility dynamics. A high DEV value means the volatility thrust is erratic and unpredictable. A low DEV value suggests the change in volatility is smooth and directional.
3. The DEVMA Crossover: Identifying Regime Shifts
This is the primary signal generator. We take two moving averages of the DEV value.
Mathematical Formula:
fastDEVMA = SMA(DEV, fast_period)
slowDEVMA = SMA(DEV, slow_period)
The Core Signal:
The strategy triggers on the crossover and crossunder of these two DEVMA lines. This is a profound concept: we are not looking at a moving average of price or even of volatility, but a moving average of the standard deviation of the normalized rate of change of volatility.
Bullish Crossover (fastDEVMA > slowDEVMA): This signals that the short-term measure of volatility's chaos is increasing relative to the long-term measure. This often precedes a significant market expansion and is interpreted as a bullish volatility regime.
Bearish Crossunder (fastDEVMA < slowDEVMA): This signals that the short-term measure of volatility's chaos is decreasing. The market is settling down or contracting, often leading to trending moves or range consolidation.
⚙️ INPUTS MENU: CONFIGURING YOUR ANALYSIS ENGINE
Every input has been meticulously designed to give you full control over the strategy's behavior. Understanding these settings is key to adapting VoVix+ to your specific instrument, timeframe, and trading style.
🌀 VoVix DEVMA Configuration
🧬 Deviation Lookback: This sets the lookback period for calculating the DEV value. It defines the window for measuring the stability of the VoVix Score. A shorter value makes the system highly reactive to recent changes in volatility's character, ideal for scalping. A longer value provides a smoother, more stable reading, better for identifying major, long-term regime shifts.
⚡ Fast VoVix Length: This is the lookback period for the fastDEVMA. It represents the short-term trend of volatility's chaos. A smaller number will result in a faster, more sensitive signal line that reacts quickly to market shifts.
🐌 Slow VoVix Length: This is the lookback period for the slowDEVMA. It represents the long-term, baseline trend of volatility's chaos. A larger number creates a more stable, slower-moving anchor against which the fast line is compared.
How to Optimize: The relationship between the Fast and Slow lengths is crucial. A wider gap (e.g., 20 and 60) will result in fewer, but potentially more significant, signals. A narrower gap (e.g., 25 and 40) will generate more frequent signals, suitable for more active trading styles.
🧠 Adaptive Intelligence
🧠 Enable Adaptive Features: When enabled, this activates the strategy's performance tracking module. The script will analyze the outcome of its last 50 trades to calculate a dynamic win rate.
⏰ Adaptive Time-Based Exit: If Enable Adaptive Features is on, this allows the strategy to adjust its Maximum Bars in Trade setting based on performance. It learns from the average duration of winning trades. If winning trades tend to be short, it may shorten the time exit to lock in profits. If winners tend to run, it will extend the time exit, allowing trades more room to develop. This helps prevent the strategy from cutting winning trades short or holding losing trades for too long.
⚡ Intelligent Execution
📊 Trade Quantity: A straightforward input that defines the number of contracts or shares for each trade. This is a fixed value for consistent position sizing.
🛡️ Smart Stop Loss: Enables the dynamic stop-loss mechanism.
🎯 Stop Loss ATR Multiplier: Determines the distance of the stop loss from the entry price, calculated as a multiple of the current 14-period ATR. A higher multiplier gives the trade more room to breathe but increases risk per trade. A lower multiplier creates a tighter stop, reducing risk but increasing the chance of being stopped out by normal market noise.
💰 Take Profit ATR Multiplier: Sets the take profit target, also as a multiple of the ATR. A common practice is to set this higher than the Stop Loss multiplier (e.g., a 2:1 or 3:1 reward-to-risk ratio).
🏃 Use Trailing Stop: This is a powerful feature for trend-following. When enabled, instead of a fixed stop loss, the stop will trail behind the price as the trade moves into profit, helping to lock in gains while letting winners run.
🎯 Trail Points & 📏 Trail Offset ATR Multipliers: These control the trailing stop's behavior. Trail Points defines how much profit is needed before the trail activates. Trail Offset defines how far the stop will trail behind the current price. Both are based on ATR, making them fully adaptive to market volatility.
⏰ Maximum Bars in Trade: This is a time-based stop. It forces an exit if a trade has been open for a specified number of bars, preventing positions from being held indefinitely in stagnant markets.
⏰ Session Management
These inputs allow you to confine the strategy's trading activity to specific market hours, which is crucial for day trading instruments that have defined high-volume sessions (e.g., stock market open).
🎨 Visual Effects & Dashboard
These toggles give you complete control over the on-chart visuals and the dashboard. You can disable any element to declutter your chart or focus only on the information that matters most to you.
📊 THE DASHBOARD: YOUR AT-A-GLANCE COMMAND CENTER
The dashboard centralizes all critical information into one compact, easy-to-read panel. It provides a real-time summary of the market state and strategy performance.
🎯 VOVIX ANALYSIS
Fast & Slow: Displays the current numerical values of the fastDEVMA and slowDEVMA. The color indicates their direction: green for rising, red for falling. This lets you see the underlying momentum of each line.
Regime: This is your most important environmental cue. It tells you the market's current state based on the DEVMA relationship. 🚀 EXPANSION (Green) signifies a bullish volatility regime where explosive moves are more likely. ⚛️ CONTRACTION (Purple) signifies a bearish volatility regime, where the market may be consolidating or entering a smoother trend.
Quality: Measures the strength of the last signal based on the magnitude of the DEVMA difference. An ELITE or STRONG signal indicates a high-conviction setup where the crossover had significant force.
PERFORMANCE
Win Rate & Trades: Displays the historical win rate of the strategy from the backtest, along with the total number of closed trades. This provides immediate feedback on the strategy's historical effectiveness on the current chart.
EXECUTION
Trade Qty: Shows your configured position size per trade.
Session: Indicates whether trading is currently OPEN (allowed) or CLOSED based on your session management settings.
POSITION
Position & PnL: Displays your current position (LONG, SHORT, or FLAT) and the real-time Profit or Loss of the open trade.
🧠 ADAPTIVE STATUS
Stop/Profit Mult: In this simplified version, these are placeholders. The primary adaptive feature currently modifies the time-based exit, which is reflected in how long trades are held on the chart.
🎨 THE VISUAL UNIVERSE: DECIPHERING MARKET GEOMETRY
The visuals are not mere decorations; they are geometric representations of the underlying mathematical concepts, designed to give you an intuitive feel for the market's state.
The Core Lines:
FastDEVMA (Green/Maroon Line): The primary signal line. Green when rising, indicating an increase in short-term volatility chaos. Maroon when falling.
SlowDEVMA (Aqua/Orange Line): The baseline. Aqua when rising, indicating a long-term increase in volatility chaos. Orange when falling.
🌊 Morphism Flow (Flowing Lines with Circles):
What it represents: This visualizes the momentum and strength of the fastDEVMA. The width and intensity of the "beam" are proportional to the signal strength.
Interpretation: A thick, steep, and vibrant flow indicates powerful, committed momentum in the current volatility regime. The floating '●' particles represent kinetic energy; more particles suggest stronger underlying force.
📐 Homotopy Paths (Layered Transparent Boxes):
What it represents: These layered boxes are centered between the two DEVMA lines. Their height is determined by the DEV value.
Interpretation: This visualizes the overall "volatility of volatility." Wider boxes indicate a chaotic, unpredictable market. Narrower boxes suggest a more stable, predictable environment.
🧠 Consciousness Field (The Grid):
What it represents: This grid provides a historical lookback at the DEV range.
Interpretation: It maps the recent "consciousness" or character of the market's volatility. A consistently wide grid suggests a prolonged period of chaos, while a narrowing grid can signal a transition to a more stable state.
📏 Functorial Levels (Projected Horizontal Lines):
What it represents: These lines extend from the current fastDEVMA and slowDEVMA values into the future.
Interpretation: Think of these as dynamic support and resistance levels for the volatility structure itself. A crossover becomes more significant if it breaks cleanly through a prior established level.
🌊 Flow Boxes (Spaced Out Boxes):
What it represents: These are compact visual footprints of the current regime, colored green for Expansion and red for Contraction.
Interpretation: They provide a quick, at-a-glance confirmation of the dominant volatility flow, reinforcing the background color.
Background Color:
This provides an immediate, unmistakable indication of the current volatility regime. Light Green for Expansion and Light Aqua/Blue for Contraction, allowing you to assess the market environment in a split second.
📊 BACKTESTING PERFORMANCE REVIEW & ANALYSIS
The following is a factual, transparent review of a backtest conducted using the strategy's default settings on a specific instrument and timeframe. This information is presented for educational purposes to demonstrate how the strategy's mechanics performed over a historical period. It is crucial to understand that these results are historical, apply only to the specific conditions of this test, and are not a guarantee or promise of future performance. Market conditions are dynamic and constantly change.
Test Parameters & Conditions
To ensure the backtest reflects a degree of real-world conditions, the following parameters were used. The goal is to provide a transparent baseline, not an over-optimized or unrealistic scenario.
Instrument: CME E-mini Nasdaq 100 Futures (NQ1!)
Timeframe: 5-Minute Chart
Backtesting Range: March 24, 2024, to July 09, 2024
Initial Capital: $100,000
Commission: $0.62 per contract (A realistic cost for futures trading).
Slippage: 3 ticks per trade (A conservative setting to account for potential price discrepancies between order placement and execution).
Trade Size: 1 contract per trade.
Performance Overview (Historical Data)
The test period generated 465 total trades , providing a statistically significant sample size for analysis, which is well above the recommended minimum of 100 trades for a strategy evaluation.
Profit Factor: The historical Profit Factor was 2.663 . This metric represents the gross profit divided by the gross loss. In this test, it indicates that for every dollar lost, $2.663 was gained.
Percent Profitable: Across all 465 trades, the strategy had a historical win rate of 84.09% . While a high figure, this is a historical artifact of this specific data set and settings, and should not be the sole basis for future expectations.
Risk & Trade Characteristics
Beyond the headline numbers, the following metrics provide deeper insight into the strategy's historical behavior.
Sortino Ratio (Downside Risk): The Sortino Ratio was 6.828 . Unlike the Sharpe Ratio, this metric only measures the volatility of negative returns. A higher value, such as this one, suggests that during this test period, the strategy was highly efficient at managing downside volatility and large losing trades relative to the profits it generated.
Average Trade Duration: A critical characteristic to understand is the strategy's holding period. With an average of only 2 bars per trade , this configuration operates as a very short-term, or scalping-style, system. Winning trades averaged 2 bars, while losing trades averaged 4 bars. This indicates the strategy's logic is designed to capture quick, high-probability moves and exit rapidly, either at a profit target or a stop loss.
Conclusion and Final Disclaimer
This backtest demonstrates one specific application of the VoVix+ framework. It highlights the strategy's behavior as a short-term system that, in this historical test on NQ1!, exhibited a high win rate and effective management of downside risk. Users are strongly encouraged to conduct their own backtests on different instruments, timeframes, and date ranges to understand how the strategy adapts to varying market structures. Past performance is not indicative of future results, and all trading involves significant risk.
🔧 THE DEVELOPMENT PHILOSOPHY: FROM VOLATILITY TO CLARITY
The journey to create VoVix+ began with a simple question: "What drives major market moves?" The answer is often not a change in price direction, but a fundamental shift in market volatility. Standard indicators are reactive to price. We wanted to create a system that was predictive of market state. VoVix+ was designed to go one level deeper—to analyze the behavior, character, and momentum of volatility itself.
The challenge was twofold. First, to create a robust mathematical model to quantify these abstract concepts. This led to the multi-layered analysis of ATR differentials and standard deviations. Second, to make this complex data intuitive and actionable. This drove the creation of the "Visual Universe," where abstract mathematical values are translated into geometric shapes, flows, and fields. The adaptive system was intentionally kept simple and transparent, focusing on a single, impactful parameter (time-based exits) to provide performance feedback without becoming an inscrutable "black box." The result is a tool that is both profoundly deep in its analysis and remarkably clear in its presentation.
⚠️ RISK DISCLAIMER AND BEST PRACTICES
VoVix+ is an advanced analytical tool, not a guarantee of future profits. All financial markets carry inherent risk. The backtesting results shown by the strategy are historical and do not guarantee future performance. This strategy incorporates realistic commission and slippage settings by default, but market conditions can vary. Always practice sound risk management, use position sizes appropriate for your account equity, and never risk more than you can afford to lose. It is recommended to use this strategy as part of a comprehensive trading plan. This was developed specifically for Futures
"The prevailing wisdom is that markets are always right. I take the opposite view. I assume that markets are always wrong. Even if my assumption is occasionally wrong, I use it as a working hypothesis."
— George Soros
— Dskyz, Trade with insight. Trade with anticipation.
00 Averaging Down Backtest Strategy by RPAlawyer v21FOR EDUCATIONAL PURPOSES ONLY! THE CODE IS NOT YET FULLY DEVELOPED, BUT IT CAN PROVIDE INTERESTING DATA AND INSIGHTS IN ITS CURRENT STATE.
This strategy is an 'averaging down' backtester strategy. The goal of averaging/doubling down is to buy more of an asset at a lower price to reduce your average entry price.
This backtester code proves why you shouldn't do averaging down, but the code can be developed (and will be developed) further, and there might be settings even in its current form that prove that averaging down can be done effectively.
Different averaging down strategies exist:
- Linear/Fixed Amount: buy $1000 every time price drops 5%
- Grid Trading: Placing orders at price levels, often with increasing size, like $1000 at -5%, $2000 at -10%
- Martingale: doubling the position size with each new entry
- Reverse Martingale: decreasing position size as price falls: $4000, then $2000, then $1000
- Percentage-Based: position size based on % of remaining capital, like 10% of available funds at each level
- Dynamic/Adaptive: larger entries during high volatility, smaller during low
- Logarithmic: position sizes increase logarithmically as price drops
Unlike the above average costing strategies, it applies averaging down (I use DCA as a synonym) at a very strong trend reversal. So not at a certain predetermined percentage negative PNL % but at a trend reversal signaled by an indicator - hence it most closely resembles a dynamically moving grid DCA strategy.
Both entering the trade and averaging down assume a strong trend. The signals for trend detection are provided by an indicator that I published under the name '00 Parabolic SAR Trend Following Signals by RPAlawyer', but any indicator that generates numeric signals of 1 and -1 for buy and sell signals can be used.
The indicator must be connected to the strategy: in the strategy settings under 'External Source' you need to select '00 Parabolic SAR Trend Following Signals by RPAlawyer: Connector'. From this point, the strategy detects when the indicator generates buy and sell signals.
The strategy considers a strong trend when a buy signal appears above a very conservative ATR band, or a sell signal below the ATR band. The conservative ATR is chosen to filter ranging markets. This very conservative ATR setting has a default multiplier of 8 and length of 40. The multiplier can be increased up to 10, but there will be very few buy and sell signals at that level and DCA requirements will be very high. Trade entry and DCA occur at these strong trends. In the settings, the 'ATR Filter' setting determines the entry condition (e.g., ATR Filter multiplier of 9), and the 'DCA ATR' determines when DCA will happen (e.g., DCA ATR multiplier of 6).
The DCA levels and DCA amounts are determined as follows:
The first DCA occurs below the DCA Base Deviation% level (see settings, default 3%) which acts as a threshold. The thick green line indicates the long position avg price, and the thin red line below the green line indicates the 3% DCA threshold for long positions. The thick red line indicates the short position avg price, and the thin red line above the thick red line indicates the short position 3% DCA threshold. DCA size multiplier defines the DCA amount invested.
If the loss exceeds 3% AND a buy signal arrives below the lower ATR band for longs, or a sell signal arrives above the upper ATR band for shorts, then the first DCA will be executed. So the first DCA won't happen at 3%, rather 3% is a threshold where the additional condition is that the price must close above or below the ATR band (let's say the first DCA occured at 8%) – this is why the code resembles a dynamic grid strategy, where the grid moves such that alongside the first 3% threshold, a strong trend must also appear for DCA. At this point, the thick green/red line moves because the avg price is modified as a result of the DCA, and the thin red line indicating the next DCA level also moves. The next DCA level is determined by the first DCA level, meaning modified avg price plus an additional +8% + (3% * the Step Scale Multiplier in the settings). This next DCA level will be indicated by the modified thin red line, and the price must break through this level and again break through the ATR band for the second DCA to occur.
Since all this wasn't complicated enough, and I was always obsessed by the idea that when we're sitting in an underwater position for days, doing DCA and waiting for the price to correct, we can actually enter a short position on the other side, on which we can realize profit (if the broker allows taking hedge positions, Binance allows this in Europe).
This opposite position in this strategy can open from the point AFTER THE FIRST DCA OF THE BASE POSITION OCCURS. This base position first DCA actually indicates that the price has already moved against us significantly so time to earn some money on the other side. Breaking through the ATR band is also a condition for entry here, so the hedge position entry is not automatic, and the condition for further DCA is breaking through the DCA Base Deviation (default 3%) and breaking through the ATR band. So for the 'hedge' or rather opposite position, the entry and further DCA conditions are the same as for the base position. The hedge position avg price is indicated by a thick black line and the Next Hedge DCA Level is indicated by a thin black line.
The TPs are indicated by green labels for base positions and red labels for hedge positions.
No SL built into the strategy at this point but you are free to do your coding.
Summary data can be found in the upper right corner.
The fantastic trend reversal indicator Machine learning: Lorentzian Classification by jdehorty can be used as an external indicator, choose 'backtest stream' for the external source. The ATR Band multiplicators need to be reduced to 5-6 when using Lorentz.
The code can be further developed in several aspects, and as I write this, I already have a few ideas 😊
TrippleMACDCryptocurrency Scalping Strategy for 1m Timeframe
Introduction:
Welcome to our cutting-edge cryptocurrency scalping strategy tailored specifically for the 1-minute timeframe. By combining three MACD indicators with different parameters and averaging them, along with applying RSI, we've developed a highly effective strategy for maximizing profits in the cryptocurrency market. This strategy is designed for automated trading through our bot, which executes trades using hooks. All trades are calculated for long positions only, ensuring optimal performance in a fast-paced market.
Key Components:
MACD (Moving Average Convergence Divergence):
We've utilized three MACD indicators with varying parameters to capture different aspects of market momentum.
Averaging these MACD indicators helps smooth out noise and provides a more reliable signal for trading decisions.
RSI (Relative Strength Index):
RSI serves as a complementary indicator, providing insights into the strength of bullish trends.
By incorporating RSI, we enhance the accuracy of our entry and exit points, ensuring timely execution of trades.
Strategy Overview:
Long Position Entries:
Initiate long positions when all three MACD indicators signal bullish momentum and the RSI confirms bullish strength.
This combination of indicators increases the probability of successful trades, allowing us to capitalize on uptrends effectively.
Utilizing Linear Regression:
Linear regression is employed to identify consolidation phases in the market.
Recognizing consolidation periods helps us avoid trading during choppy price action, ensuring optimal performance.
Suitability for Grid Trading Bots:
Our strategy is well-suited for grid trading bots due to frequent price fluctuations and opportunities for grid activation.
The strategy's design accounts for price breakthroughs, which are advantageous for grid trading strategies.
Benefits of the Strategy:
Consistent Performance Across Cryptocurrencies:
Through rigorous testing on various cryptocurrency futures contracts, our strategy has demonstrated favorable results across different coins.
Its adaptability makes it a versatile tool for traders seeking consistent profits in the cryptocurrency market.
Integration of Advanced Techniques:
By integrating multiple indicators and employing linear regression, our strategy leverages advanced techniques to enhance trading performance.
This strategic approach ensures a comprehensive analysis of market conditions, leading to well-informed trading decisions.
Conclusion:
Our cryptocurrency scalping strategy offers a sophisticated yet user-friendly approach to trading in the fast-paced environment of the 1-minute timeframe. With its emphasis on automation, accuracy, and adaptability, our strategy empowers traders to navigate the complexities of the cryptocurrency market with confidence. Whether you're a seasoned trader or a novice investor, our strategy provides a reliable framework for achieving consistent profits and maximizing returns on your investment.
Gann Square of 144This indicator will create lines on the chart based on W.D. Gann's Square of 144. All the inputs will be detailed below
Why create this indicator?
I didn't find it on Tradingview (at least with open source). But the main reason is to study the strategy and be able to draw it fast. Manually drawing the square is not hard, but moving all together to the right spots and scale was time-consuming.
It has a lot of inputs...
Yes, each square point divisible by 6 has information with some options, so the user can create any configuration he wants. Also, it has the advantage of having the square built in seconds and adjusting itself on each new calculation.
About the inputs
Starting Date
This input will be used when the "Set Upper/Lower Prices and Start Bar Automatically" checkbox is not selected. The indicator will calculate all the line locations on the chart using the selected start date. When selecting this input, change the Manual Max and Min Prices to the better calculation
Manual Max/Min Price
This input will be used when the "Set Upper/Lower Prices and Start Bar Automatically" checkbox is not selected. The indicator will calculate all the line's locations on the chart using these prices
Set Upper/Lower Prices and Start Bar Automatically
Selects if the starting date will be automatically selected by the system or based on the input data. When it's set, the indicator will use the most recent bar as the middle point of the square, using the higher price as the Upper Price and the lowest price as the Lower Price in the latest 72 bars (or more based on the Candles Per Division parameter)
Update at a new bar
When this option is market, the indicator will update all created lines to match the new bar position, together with all the possible new Upper/Lower prices. Let it unchecked to watch the progression of the price while the square remains fixed in the chart.
Top X-Axis
When checked, it will display the labels on the Top of the square
Bottom X-Axis
When checked, it will display the labels on the Bottom of the square
Left X-Axis
When checked, it will display the labels on the left of the square
Right X-Axis
When checked, it will display the labels on the right of the square
Show Prices on the Right Y-Axis
When checked, it will display the prices together with the labels on the right of the square
Show Vertical Divisions
Show the lines that will divide the square into 9 equal parts
Show Extra Lines
Show unique lines that will come from the Top and bottom middle of the square, connecting the center to the 36 and 108 levels
Show Grid
When selected, it will display a grid in the square
Line Patterns
A selector with some options of built-in lines configuration. When any option besides None is selected, it will override the lines inputs below
Numbers Color
Select the color of each number on the Axis
Vertical Lines Color
Select the color of the vertical lines
Grid Color
Select the grid line color
Connections from corners to N
Each corner is represented by 2 characters, so they all fit in a single line
It will indicate where the line starts and where it ends
┏ ↓ = Top Left to Bottom
┏ → = Top Left to Right
┗ ↑ = Bottom Left to Top
┗ → = Bottom Left to Right
┓ ← = Top Right to Left
┓ ↓ = Top Right to Bottom
┛ ← = Bottom Right to Left
┛ ↑ = Bottom Right to Top
Besides selecting what line will be created, it's possible to select the color, the style, and the extension
How to use this indicator
When you dig into Gann's books for more information about the square of 144, you find that it was part of his setup with multiple indicators (technical and fundamental, and astrological). It is not a "one indicator" setup, so it's hard to say that you will find entries, exits, stop loss, and take profit in this. Still, it will help see trendiness, support, and resistance levels.
Mixing this with other indicators is probably a good idea, but some may find this indicator the only one needed.
Some aspects of the square
The end of the square is important, so where it starts is crucial. The end is important because it is where the price and time expire. The other parts of the square are defined based on their start and end, so placing them right is essential.
So, where to set the start of the square?
The last major low is the most indicated. The minimum price will be the lowest, and the max price will be the last major Top. Note that the indicator uses 1 candle on each point.
After finding the start, the minimum, and the maximum prices for the square, it will draw all lines. Another essential part of the square is The Midpoint.
The midpoint is the most crucial part of the square and is the best way to see if you positioned the square correctly. When the price is inside the square, using the starting candle as the start, a second higher low or a lower high occurs in that spot. When using the Vertical lines in the indicator, it's the middle square inside Gann's square.
The other divisions will be opposing each other most of the time. So if the price is rising in the 1/3 of the square, it's common to see the price fall in the 3/3 of the square.
More information about these aspects here
Considerations
This indicator was meant for price targets and a time calculator for possible support/resistances in the chart. It was created by William Delbert Gann and was part of his setup for trading almost a century ago. The lines will form geometric figures, which Gann used with high accuracy to predict tops/bottoms and when they would occur.
EM Visible Range Volume Profile█ OVERVIEW
ᴇᴍ VRVP (Visible Range Volume Profile) indicator calculates the volume profile within the visible range of prices.
Volume Profile is an advanced technical analysis indicator that shows trading activity over a specified period of time at certain price levels.
The indicator plots a histogram on the chart that reflects dominant or significant price levels based that are based on volume.
VP concept
VP Components
Open, High, Low, Close:
There are different types of volume profile indicators but the majority of them will designate the OHLC.
Point of Control:
A price level with the most traded volume during one session, also known as POC.
High Volume Node (HVN):
Area of high volume relative to surrounding price action.
Low Volume Node (LVN):
Area of low volume relative to surrounding price action.
Analysis of price in relation to high and low volume nodes is useful when building context around your trades.
█ VOLUME PROFILE STRATEGIES
The distribution of a volume profile can help you determine the strength of a trend and spot potential reversal zones. Let’s take a look at the five different distribution types.
Neutral D
In order for price to break away from value, either the buyers or the sellers will have to become more aggressive than the other side. When this occurs, it gives us with a vital piece of information.
Now we know who were the agressors at this price level: either the buyers or the sellers. That's why this is a good level for a trading setup if the price bounces back.
Bearish P and Bullish P
Bearish P — reversal. Bullish P — confirmation.
Bearish Ь and Bullish Ь
Bearish Ь — confirmation. Bullish Ь — reversal.
Examples
█ INPUTS
Width — amplitude of the VP histogram.
Grid — the number of columns of the VP histogram.
Delta of volumes — combinatorial determination of the ratios of sellers and buyers.
In quoted units — conversion in units of quoted currency.
Logarithmic scale — recalculation the grid step to the logarithmic scale of the chart.
HTF — (Higher Timeframe) calculation of VP for the period of the selected timeframe. ISO: Isolated computation in HTF period.
Palette: Total volume, Volume of buyers, Volume of sellers, HTF bars.
Warnings: colour of the «⚠» icon, language of information in the Tooltip.
Addition: ᴇᴍ CHN-RMA — a grid of moving averages with periods of centered hexagonal numbers.
█ ОБЩИЕ СВЕДЕНИЯ
ᴇᴍ VRVP (Visible Range Volume Profile) рассчитывает профиль объёма в видимом диапазоне цен.
Профиль объёма — это продвинутый индикатор технического анализа, который показывает торговую активность за условленный период времени на определённых ценовых уровнях.
Индикатор строит на графике гистограмму, отражающую доминирующие или значимые ценовые уровни, основанные на объёме.
█ НАСТРОЙКИ
Ширина — амплитуда гистограммы VP.
Сетка — количество колонок гистограммы VP.
Дельта объёмов — комбинаторное определение соотношений продаж и покупок.
В котируемых единицах — пересчёт в единицах котируемой валюты.
Логарифмическая шкала — пересчёт шага сетки на логарифмическую шкалу графика.
HTF — (Higher Timeframe) расчёт VP за период выбранного таймфрейма. ISO: Изолированное вычисление в HTF-периоде.
Палитра: Суммарный объём, Объём покупок, Объём продаж, Бары HTF.
Предупреждения: цвет значка «⚠», язык информации в Tooltip.
Дополнение: ᴇᴍ CHN-RMA — сетка скользящих средних с периодами центрированных гексагональных чисел.
Daily Buy/Sell Triggers + ATR TargetsThis tool gives you a once-per-day, objective ATR map: Buy Trigger above the open, Sell Trigger below the open, clean ATR targets, and FULL ATR extremes. It’s designed for clarity, precision, and zero intraday repainting so you can plan the session and execute with confidence.
This indicator prints a new, static grid of intraday levels every New York 18:00 (end of the NY trading day). The grid is anchored at the day’s open and spaced by the Daily ATR so you get tick-precise Buy Trigger, Sell Trigger, intermediate ATR targets, and the FULL ATR bounds for the session.
The levels act as objective support/resistance and intraday measuring sticks for continuation, mean-reversion, and range expansion trades.
What you see on the chart
A thin midline at the Daily Open (anchor).
Green lines above, red lines below, spaced at your chosen ATR multiples.
Text at the far right for:
Buy trigger
Sell trigger
FULL ATR (both sides)
Intermediate targets are unlabeled to keep the chart clean (they’re still tradable S/R).
Visually Layered OscillatorVisually Layered Oscillator User's Manual
Visually Layered Oscillator is a multi-oscillator designed to provide an intuitive visualization of RSI, MACD, ADX + DMI, allowing traders to interpret multiple signals at a glance.
It is designed to allow comparison within the same panel while maintaining the inherent meaning of each oscillator and compensating for visual distortion issues caused by size differences.
Component Overview
Item Description
RSI (x10) Displays relative buy/sell strength. Values above 70 are overbought; values below 30 are oversold.
MACD (3,16,10) Momentum indicator showing the difference between moving averages. Consists of lines and histograms
ADX ×50 + DMI Indicates the strength of the trend; ADX determines the strength of the trend and DMI determines whether it is buy/sell dominant.
White background color treatment Removes difficult-to-see grid lines to improve visibility.
🖥️ Screen Example
The panel is divided into the following three layers
mathematica
Copy
Edit
Top: ⬆️ RSI (purple)
Middle: 📈 MACD, Signal, Histogram + Color Fill
Bottom: 📉 ADX × 50, DMI+ / DMI- (Red, Blue, Orange)
TIP: If you zoom in on the indicators at a larger scale, you can see that each indicator is drawn at a different height level and placed in such a way that they do not overlap.
⚙️ Settings
Fast Length: MACD Quick Line Duration (Basic 3)
Slow Length: MACD slow line period (basic 16)
Smoothing: Signal line smoothing value (basic 10)
Notes and Tips
RSI × 10 and ADX × 50 are for visualization purposes only multiplied by multiples of the actual values. It does not affect the calculation and maintains the original RSI/ADX characteristics.
The MACD fill color visually highlights crossing conditions.
The background is treated in full white, making the indicator look clean without grid lines.
Candle % High/Low Bar + HL Order + MA by Barty&PitPapcioWhat does the indicator show?
The "Candle % High/Low Bar + HL Order + MA by Barty&PitPapcio" indicator displays the percentage deviation of each candle’s high and low relative to its open price. The zero line represents the candle’s open — bars above zero show upward movement from the open (to high), bars below zero show downward movement (to low).
Additionally, the indicator plots a dot above or below each bar indicating which came first during the candle — the high or the low — based on data from a lower timeframe two steps below the current chart (for example, on a 1-hour chart it uses 15-minute data).
Finally, the indicator calculates and plots a user-selectable moving average (EMA, SMA, or WMA) of these "first high or low" signals, helping identify trends whether the first move is more often upwards or downwards.
Where do the data come from?
Percentage values are calculated directly from the current chart’s candles:
highPerc=(High−Open)/Open×100%,
lowPerc=(Low−Open)/Open×100%
The timing of the first high or low for each candle is retrieved from a lower timeframe, stepping down two levels from the current timeframe (e.g. from 1H to 15 min), providing better precision in detecting the order of highs and lows that may be blurred on higher timeframes.
Additional features:
Full customization of colors for bars, dots, zero line, grid, and thicknesses.
Background grid with adjustable scale and style.
Safety checks for missing lower timeframe data.
A moving average smoothing the sequence of first high/low signals to reveal directional tendencies.
Suggested strategy for technical analysis support
Identify dominant candle direction: If the dot often appears above the bar (first high), it indicates buying pressure; if below (first low), selling pressure dominates.
Use percentage deviations: Large percent bars indicate heightened volatility and potential reversal points.
Moving average on order signals: The EMA of high/low first signals smooths the noise, showing the dominant trend in the sequence of price moves, useful for filtering other signals.
Combine with other tools: This indicator can act as a directional filter on multiple timeframes, synergizing well with momentum indicators, RSI, or support/resistance levels to confirm move strength.
Lots of love, Bartosz
Order Block Matrix [Alpha Extract]The Order Block Matrix indicator identifies and visualizes key supply and demand zones on your chart, helping traders recognize potential reversal points and high-probability trading setups.
This tool helps traders:
Visualize key order blocks with volume profile histograms showing liquidity distribution.
Identify high-volume price levels where institutional activity occurs.
rank historical order blocks and analyze their strength based on volume.
Receive alerts for potential trading opportunities based on price-block interactions.
🔶 CALCULATION
The indicator processes chart data to identify and analyze order blocks:
Order Block Detection
Inputs:
Price action patterns (consolidation areas followed by breakouts).
Volume data from current and lower timeframes.
User-defined lookback periods and thresholds.
Detection Logic:
Identifies consolidation areas using a dynamic range comparison.
Confirms breakout patterns with percentage threshold validation.
Maps volume distribution across price levels within each order block.
🔶Volume Analysis
Volume Profiling:
Divides each order block into configurable grid segments.
Maps volume distribution across price segments within blocks.
Highlights zones with highest volume concentration.
Strength Assessment:
Calculates total block volume and relative strength metrics.
Compares block volume to historical averages.
Determines probability of reversal based on volume patterns.
isConsolidation(len) =>
high_range = ta.highest(high, len) - ta.lowest(high, len)
low_range = ta.highest(low, len) - ta.lowest(low, len)
avg_range = (high_range + low_range) / 2
current_range = high - low
current_range <= avg_range * (1 + obThreshold)
🔶 DETAILS
Visual Features
Volume Profile Histograms:
Color-coded bars showing volume concentration within order blocks.
Gradient coloring based on relative volume (high volume = brighter colors).
Bull blocks (green/teal) and bear blocks (red) with varying opacity.
Block Visualization:
Dynamic box sizing based on volume concentration.
Optional block borders and background fills.
Volume labels showing total block volume.
Screener Table:
Real-time analysis of order block metrics.
Shows block direction, proximity, retest count, and volume metrics.
Color-coded for quick reference.
Interpretation
High Volume Areas: Zones with institutional interest and potential reversal points.
Block Direction: Bullish blocks typically support price, bearish blocks typically resist price.
Retests: Multiple tests of an order block may strengthen or weaken its influence.
Block Age: Newer blocks often have stronger influence than older ones.
Volume Concentration: Brightest segments within blocks represent the highest volume areas.
🔶 EXAMPLES
The indicator helps identify key trading opportunities:
Bullish Order Blocks
Support Zones: Identify strong support levels where price is likely to bounce.
Breakout Confirmation: Validate breakouts with volume analysis to avoid false moves.
Retest Strategies: Enter trades when price retests a bullish order block with high volume.
Bearish Order Blocks
Resistance Zones: Identify strong resistance levels where price is likely to reverse.
Distribution Areas: Detect zones where smart money is distributing to retail.
Short Opportunities: Find optimal short entry points at high-volume bearish blocks.
Combined Strategies
Order Block Stacking: Multiple aligned blocks create stronger support/resistance zones.
Block Mitigation: When price breaks through a block, it often indicates a strong trend continuation.
Volume Profile Applications: Higher volume segments provide more precise entry and exit points.
🔶 SETTINGS
Customization Options
Order Block Detection:
Consolidation Lookback: Adjust the period for consolidation detection.
Breakout Threshold: Set minimum percentage for breakout confirmation.
Historical Lookback Limit: Control how far back to scan for historical order blocks.
Maximum Order Blocks: Limit the number of visible blocks on the chart.
Visual Style:
Grid Segments: Adjust the number of volume profile segments.
Extend Blocks to Right: Enable/disable extending blocks to current price.
Show Block Borders: Toggle border visibility.
Border Width: Adjust thickness of block borders.
Show Volume Text: Enable/disable volume labels.
Volume Text Position: Control placement of volume labels.
Color Settings:
Bullish High/Low Volume Colors: Customize appearance of bullish blocks.
Bearish High/Low Volume Colors: Customize appearance of bearish blocks.
Border Color: Set color for block outlines.
Background Fill: Adjust color and transparency of block backgrounds.
Volume Text Color: Customize label appearance.
Screener Table:
Show Screener Table: Toggle table visibility.
Table Position: Select positioning on the chart.
Table Size: Adjust display size.
The Order Block Matrix indicator provides traders with powerful insights into market structure, helping to identify key levels where smart money is active and where high-probability trading opportunities may exist.
Market Sentiment Index US Top 40 [Pt]▮Overview
Market Sentiment Index US Top 40 [Pt} shows how the largest US stocks behave together. You pick one simple measure—High Low breakouts, Above Below moving average, or RSI overbought/oversold—and see how many of your chosen top 10/20/30/40 NYSE or NASDAQ names are bullish, neutral, or bearish.
This tool gives you a quick view of broad-market strength or weakness so you can time trades, confirm trends, and spot hidden shifts in market sentiment.
▮Key Features
► Three Simple Modes
High Low Index: counts stocks making new highs or lows over your lookback period
Above Below MA: flags stocks trading above or below their moving average
RSI Sentiment: marks overbought or oversold stocks and plots a small histogram
► Universe Selection
Top 10, 20, 30, or 40 symbols from NYSE or NASDAQ
Option to weight by market cap or treat all symbols equally
► Timeframe Choice
Use your chart’s timeframe or any intraday, daily, weekly, or monthly resolution
► Histogram Smoothing
Two optional moving averages on the sentiment bars
Markers show when the faster average crosses above or below the slower one
► Ticker Table
Optional on-chart table showing each ticker’s state in color
Grid or single-row layout with adjustable text size and color settings
▮Inputs
► Mode and Lookback
Pick High Low, Above Below MA, or RSI Sentiment
Set lookback length (for example 10 bars)
If using Above Below MA, choose the moving average type (EMA, SMA, etc.)
► Universe Setup
Market: NYSE or NASDAQ
Number of symbols: 10, 20, 30, or 40
Weights: on or off
Timeframe: blank to match chart or pick any other
► Moving Averages on Histogram
Enable fast and slow averages
Set their lengths and types
Choose colors for averages and markers
► Table Options
Show or hide the symbol table
Select text size: tiny, small, or normal
Choose layout: grid or one-row
Pick colors for bullish, neutral, and bearish cells
Show or hide exchange prefixes
▮How to Read It
► Sentiment Bars
Green means bullish
Red means bearish
Near zero means neutral
► Zero Line
Separates bullish from bearish readings
► High Low Line (High Low mode only)
Smooth ratio of highs versus lows over your lookback
► MA Crosses
Fast MA above slow MA hints rising breadth
Fast MA below slow MA hints falling breadth
► Ticker Table
Each cell colored green, gray, or red for bull, neutral, or bear
▮Use Cases
► Confirm Market Trends
Early warning when price makes highs but breadth is weak
Catch rallies when breadth turns strong while price is flat
► Spot Sector Rotation
Switch between NYSE and NASDAQ to see which group leads
Watch tech versus industrial breadth to track money flow
► Filter Trade Signals
Enter longs only when breadth is bullish
Consider shorts when breadth turns negative
► Combine with Other Indicators
Use RSI Sentiment with trend tools to spot overextended moves
Add volume indicators in High Low mode for breakout confirmation
► Timeframe Analysis
Daily for big-picture bias
Intraday (15-min) for precise entries and exits
Gann & Fibonacci Analysis for MSTRYes! Below is a step-by-step guide to performing Gann Analysis on MSTR in TradingView for the last year.
Step 1: Set Up the Chart
Open TradingView and search for MSTR (MicroStrategy).
Select the 1-day (D) timeframe to analyze the past year.
Set your chart to logarithmic scale (⚙ Settings → Scale → Log).
Enable grid lines for alignment (⚙ Settings → Appearance → Grid Lines).
Step 2: Identify Key Highs and Lows (Last Year)
Find the 52-week high and 52-week low for MSTR.
As of now:
52-Week High: ~$999 (March 2024).
52-Week Low: ~$280 (October 2023).
Step 3: Plot Gann Angles
Using TradingView's Gann Fan Tool:
Select "Gann Fan" (Press / and type “Gann Fan” to find it).
Start at the 52-week low (~$280, October 2023) and drag upwards.
Adjust the angles to match key levels:
1x1 (45°) → Main trendline
2x1 (26.5°) → Strong uptrend
4x1 (15°) → Weak trendline
1x2 (63.75°) → Strong resistance
Repeat the process from the 52-week high (~$999, March 2024) downward to see bearish angles.
Step 4: Apply Fibonacci & Gann Retracement Levels
Using Fibonacci Retracement:
Select "Fibonacci Retracement" tool.
Draw from 52-week high ($999) to 52-week low ($280).
Enable key Fibonacci levels:
23.6% ($816)
38.2% ($678)
50% ($640)
61.8% ($550)
78.6% ($430)
Watch for price reactions near these levels.
Using Gann Retracement Levels:
Select "Gann Box" in TradingView.
Draw from 52-week high ($999) to low ($280).
Enable key Gann retracement levels:
12.5% ($912)
25% ($850)
37.5% ($768)
50% ($640)
62.5% ($550)
75% ($480)
87.5% ($350)
Identify confluences with Gann angles and Fibonacci levels.
Step 5: Identify Significant Dates & Time Cycles
Use "Date Range" Tool in TradingView.
Mark major turning points:
High → Low: ~180 days (Half-year cycle).
Low → High: ~90 days (Quarter cycle).
Use Square-Outs (Time = Price method):
Example: If MSTR hit $500, check 500 days from key events.
Mark key anniversaries of past highs/lows for possible reversals.
Step 6: Analyze and Trade Execution
✅ If MSTR is at a Gann angle + Fibonacci level + key date → Expect a reaction.
✅ Use RSI, MACD, and Volume for extra confirmation.
✅ Set Stop-Loss at nearest Gann support/resistance.
Watchlist & Symbols Distribution [Daveatt]TLDR;
I got bored so I just coded the TradingView watchlist interface in Pinescript :)
TLDR 2:
Sharing it open-source what took me 1 full day to code - haven't coded in Pinescript in a long time, so I'm a bit slow for now :)
█ OVERVIEW
This script offers a comprehensive market analysis tool inspired by TradingView's native watchlist interface features.
It combines an interactive watchlist with powerful distribution visualization capabilities and a performance comparison panel.
The script was developed with a focus on providing multiple visualization methods while working within PineScript's limitations.
█ DEVELOPMENT BACKGROUND
The pie chart implementation was greatly inspired by the ( "Crypto Map Dashboard" script / )
adapting its circular visualization technique to create dynamic distribution charts. However, due to PineScript's 500-line limitation per script, I had to optimize the code to allow users to switch between pie chart analysis and performance comparison modes rather than displaying both simultaneously.
█ SETUP AND DISPLAY
For optimal visualization, users need to adjust the chart's display settings manually.
This involves:
Expanding the indicator window vertically to accommodate both the watchlist and graphical elements
Adjusting the Y-axis scale by dragging it to ensure proper spacing for the comparison panel grid
Modifying the X-axis scale to achieve the desired time window display
Fine-tuning these adjustments whenever switching between pie chart and comparison panel modes
These manual adjustments are necessary due to PineScript's limitations in controlling chart scaling programmatically. While this requires some initial setup, it allows users to customize the display to their preferred viewing proportions.
█ MAIN FEATURES
Distribution Analysis
The script provides three distinct distribution visualization modes through a pie chart.
Users can analyze their symbols by exchanges, asset types (such as Crypto, Forex, Futures), or market sectors.
If you can't see it well at first, adjust your chart scaling until it's displayed nicely.
Asset Exchanges
www.tradingview.com
Asset Types
Asset Sectors
The pie charts feature an optional 3D effect with adjustable depth and angle parameters. To enhance visual customization, four different color schemes are available: Default, Pastel, Dark, and Neon.
Each segment of the pie chart includes interactive tooltips that can be configured to show different levels of detail. Importantly, the pie chart only visualizes the distribution of selected assets (those marked with a checkmark in the watchlist), providing a focused view of the user's current interests.
Interactive Watchlist
The watchlist component displays real-time data for up to 10 user-defined symbols. Each entry shows current price, price changes (both absolute and percentage), volume metrics, and a comparison toggle.
The table is dynamically updated and features color-coded entries that correspond to their respective performance lines in the comparison chart. The watchlist serves as both an information display and a control panel for the comparison feature.
Performance Comparison
One of the script's most innovative features is its performance comparison panel.
Using polylines for smooth visualization, it tracks the 30-day performance of selected symbols relative to a 0% baseline.
The comparison chart includes a sophisticated grid system with 5% intervals and a dynamic legend showing current performance values.
The polyline implementation allows for fluid, continuous lines that accurately represent price movements, providing a more refined visual experience than traditional line plots. Like the pie charts, the comparison panel only displays performance lines for symbols that have been selected in the watchlist, allowing users to focus on their specific assets of interest.
█ TECHNICAL IMPLEMENTATION
The script utilizes several advanced PineScript features:
Dynamic array management for symbol tracking
Polyline-based charting for smooth performance visualization
Real-time data processing with security calls
Interactive tooltips and labels
Optimized drawing routines to maintain performance
Selective visualization based on user choices
█ CUSTOMIZATION
Users can personalize almost every aspect of the script:
Symbol selection and comparison preferences
Visual theme selection with four distinct color schemes
Pie chart dimensions and positioning
Tooltip information density
Component visibility toggles
█ LIMITATIONS
The primary limitation stems from PineScript's 500-line restriction per script.
This constraint necessitated the implementation of a mode-switching system between pie charts and the comparison panel, as displaying both simultaneously would exceed the line limit. Additionally, the script relies on manual chart scale adjustments, as PineScript doesn't provide direct control over chart scaling when overlay=false is enabled.
However, these limitations led to a more focused and efficient design approach that gives users control over their viewing experience.
█ CONCLUSION
All those tools exist in the native TradingView watchlist interface and they're better than what I just did.
However, now it exists in Pinescript... so I believe it's a win lol :)
Gann Square of 9Understanding the Gann Square of 9
Delve into the fascinating realm of W.D. Gann’s Square of 9, a tool that has intrigued traders for generations. As we explore the insights behind this unique structure, we’ll show you how our Gann Square of 9 Indicator can become a valuable asset in your trading toolkit.
The History of the Gann Square of 9
The story behind the Gann Square of 9 is as fascinating as the man who created it. W.D. Gann, a pioneering trader from the early 20th century, introduced a method that highlighted the connection between time and price. Rooted in ancient mathematics and geometry, Gann’s theory suggests that financial markets follow cyclical patterns, which are captured in the design of the Square of 9.
Core Principles of the Gann Square of 9
At its heart, the Gann Square of 9 is based on a numerical system that spirals outward from a central point. This unique arrangement allows traders to identify potential support and resistance levels in the market. Each number represents a possible pivot point, indicating shifts in market direction, aligned with Gann’s time-price equilibrium theory.
Applying the Gann Square in Market Analysis
The strength of the Gann Square of 9 lies in its ability to predict key moments in the market where significant price movements may occur. By utilizing our Gann Square of 9 Indicator, traders can easily pinpoint these crucial points, applying Gann’s principles to anticipate both market highs and lows. This section will guide you through practical applications of the Gann Square for making both short-term and long-term trading decisions.
Market Timing with the Gann Square of 9 Indicator
Unlock the potential of market timing and price prediction using our Gann Square of 9 Indicator. This versatile tool brings Gann’s trading insights into the modern world of finance. Here, you’ll find a detailed walkthrough on how to use the indicator to enhance your trading strategies.
Step-by-Step Guide
Input the Source Price: Open, High, Low, Close on specific Timeframe.
Set the Pip Value: Adjust the pip value according to the scale of your trades. The pip value helps define the precision of the price levels the calculator will generate.
Analyze Results: The generated grid displays a central value (your input price) surrounded by numbers representing possible support and resistance levels.
Use the Support and Resistance Levels: Below the grid, you’ll find specific support and resistance points. These are key price levels that can help you plan your trading strategy, such as entry or exit points.
Apply Gann's Trading Entries: At the bottom, suggested long and short trade entries, with targets and stop-loss levels, giving you essential tools for managing risk effectively.
By following these steps, you can effectively incorporate Gann’s time-tested techniques into modern market analysis. Our Gann Square of 9 Indicator simplifies complex calculations while offering powerful insights, helping you make informed trading decisions rooted in one of market analysis’s most influential theories.
Whether you’re new to Gann’s approach or a seasoned trader, this indicator is designed to provide valuable insights aligned with Gann’s original concepts while delivering a seamless user experience for today’s traders. With just a few clicks, you can transform market data into a geometric pattern of time and price, setting the stage for strategic trading based on the cyclical nature of financial markets.
Seasonal Tendency (fadi)Seasonal tendency refers to the patterns in stock market performance that tend to repeat at certain times of the year. These patterns can be influenced by various factors such as economic cycles, investor behavior, and historical trends. For example, the stock market often performs better during certain months like November to April, a phenomenon known as the “best six months” strategy. Conversely, months like September are historically weaker.
These tendencies can help investors and traders make more informed decisions by anticipating potential market movements based on historical data. However, it’s important to remember that past performance doesn’t guarantee future results.
This indicator calculates the average daily move patterns over the specified number of years and then removes any outliers.
Settings
Number of years : The number of years to use in the calculation. The number needs to be large enough to create a pattern, but not so large that it may distort the price move.
Seasonality line color : The plotted line color.
Border : Show or hide the border and the color to use.
Grid : Show or hide the grid and the color to use.
Outlier Factor : The Outlier Factor is used to identify unusual price moves that are not typical and neutralize them to avoid skewing the predictions. It is the amount of deviation calculated using the total median price move.
Average True Range with Price MAATR with Price Moving Average Indicator
This custom indicator combines the Average True Range (ATR) with a Price Moving Average (MA) to help traders analyze market volatility in percent to the price.
Key Components:
Average True Range (ATR)
Price Moving Average (MA)
ATR/Price in Percent
ATR/Price in Percent
Purpose: This ratio helps traders understand the relative size of the ATR compared to the current price, providing a clearer sense of how significant the volatility is in proportion to the price level.
Calculation: ATR is divided by the current closing price and multiplied by 100 to express it as a percentage. This makes it easier to compare volatility across assets with different price ranges.
Plot: This is plotted as a percentage, making it easier to gauge whether the volatility is proportionally high or low compared to the asset's price.
Usage:
This indicator is designed to help identify the most volatile tokens, making it ideal for configuring a Grid Bot to maximize profit. By focusing on high-volatility assets, traders can capitalize on larger price swings within the grid, increasing the potential for more profitable trades.
Features:
Customizable Smoothing Method: Choose from RMA (Relative Moving Average), SMA (Simple Moving Average), EMA (Exponential Moving Average), or WMA (Weighted Moving Average) for both ATR and the Price Moving Average.
Dual Perspective: The indicator provides both volatility analysis (ATR) and trend analysis (Price MA) in a single view.
Proportional Volatility: The ATR/Price (%) ratio adds a layer of context by showing how volatile the asset is relative to its current price.
Volume Profile / Order Blocks + Demandas e Ofertas FortesThis indicator combines two powerful technical analysis tools into one: the Volume Profile Bar-Magnified Order Blocks and Strong Demands and Offers.
The Volume Profile Bar-Magnified Order Blocks identifies and highlights significant areas of volume and price on the chart, helping traders identify zones of high liquidity and potential trend reversal areas. With advanced customization features such as choice of mitigation method and grid adjustments, traders can tailor the indicator to their individual preferences.
Alongside the Volume Profile, Strong Demands and Offers add an additional layer of analysis, highlighting points of interest where buying or selling pressure is strongest. This helps traders identify key areas where the balance of power may shift, providing potential entry or exit signals.
Key Features:
Automatic identification of significant volume areas.
Highlighting of zones of high liquidity and potential trend reversal areas.
Advanced customization, including choice of mitigation method and grid adjustments.
Highlighting of strong demands and offers to identify key areas of buying or selling pressure.
How to Use:
Add the indicator to your chart.
Adjust the parameters according to your preferences.
Observe the highlighted areas of volume and price on the chart.
Look for entry or exit signals based on the identified areas of interest.
This indicator is a valuable tool for traders looking to enhance their technical analysis based on volume and market dynamics. Try it out in your trading strategy and discover how it can help you make more informed and accurate decisions.
Stx Monthly Trades ProfitMonthly profit displays profits in a grid and allows you to know the gain related to the investment during each month.
The profit could be computed in terms of gain/trade_cost or as percentage of equity update.
Settings:
- Profit: Monthly profit percentage or percentage of equity
- Table position
This strategy is intended only as a container for the code and for testing the script of the profit table.
Setting of strategy allows to select the test case for this snippet (percentage grid).
Money management: not relevant as strategy is a test case.
This script stand out as take in account the gain of each trade in relation to the capital invested in each trade. For example consider the following scenario:
Capital of 1000$ and we invest a fixed amount of 1000$ (I know is too risky but is a good example), we gain 10% every month.
After 10 months our capital is of 2000$ and our strategy is perfect as we have the same performance every month.
Instead, evaluating the percentage of equity we have 10% the first month, 9.9% the second (1200$/1100$ - 1) and 5.26% the tenth month. So seems that strategy degrade with times but this is not true.
For this reason, to evaluate my strategy I prefer to see the montly return of investment.
WARNING: The strategy provided with this script is only a test case and allows to see the behavior with different "trades" management, for these reason commision are set to zero.
At the moment only the provided test cases are handled:
test 1 - single entry and single exit;
test 2 - single entry and multiple exits;
test 3 - single entry and switch position;
Stock Open % ChangeWhile the percentage change in price from yesterday's close is important, wouldn't it be more interesting to see how much a stock price changes from the Market Open? Furthermore, you could track multiple indices to see which one has moment based on the percentage change in open, informing trading decisions.
This grid allows you to select 5 different ticker symbols, and display the change% from open, and from the close. Colors, rows, and grid placement may be customized as well.
Share CalculatorThis is a simple grid box that will calculate the number of total shares you can trade on two different stocks based on a principal amount you enter in the settings. The indicator updates throughout the trading day as price changes. The 25% column tells you the number of shares you can "scale into" the trade, 1/4 at a time, up to the total number of shares below.
The reason I built this indicator, is that I trade on a platform that isn't as flexible as some other platforms in terms of entering monetary amounts I want to trade in a stock. I have to enter the number of shares I want to purchase. Additionally, in some of the accounts I trade, I need to monitor both the Bull ETF and the Bear ETF, so it's helpful to have them side by side.
I was tired of going back and forth to excel and my trading platform! To use this, simply update the principal amount you have to trade, and update the Ticker symbols you want to use. Colors and grid placement are customizable.
[blackcat] L3 Smart Money FlowCOMPREHENSIVE ANALYSIS OF THE L3 SMART MONEY FLOW INDICATOR
🌐 OVERVIEW:
The L3 Smart Money Flow indicator represents a sophisticated multi-dimensional analytics tool combining traditional momentum measurements with advanced institutional investor tracking capabilities. It's particularly effective at identifying large-scale capital movement dynamics that often precede significant price shifts.
Core Objectives:
• Detect subtle but meaningful price action anomalies indicating major player involvement
• Provide clear entry/exit markers based on multiple validated criteria
• Offer risk-managed positioning strategies suitable for various account sizes
• Maintain operational efficiency even during high volatility regimes
THEORETICAL BACKDROP AND METHODOLOGY
🎓 Conceptual Foundation Principles:
Utilizes Time-Varying Moving Averages (TVMA) responding adaptively to changing market states
Implements Extended Smoothing Algorithm (XSA) providing enhanced filtration characteristics
Employs asymmetric weight distribution favoring recent price observations over historical ones
→ Analyzes price-weighted closing prices incorporating volume influence indirectly
← Applies Asymmetric Local Maximum (ALMA) filters generating institution-specific trends
⟸ Combines multiple temporal perspectives producing robust directional assessments
✓ Calculates normalized momentum ratios comparing current state against extended range extremes
✗ Filters out insignificant fluctuations via double-stage verification process
⤾ Generates actionable alerts upon exceeding predefined significance boundaries
CONFIGURABLE PARAMETERS IN DEPTH
⚙️ Input Customization Options Detailed Explanation:
Temporal Resolution Control:
→ TVMA Length Setting:
Minimum value constraint ensuring mathematical validity
Higher numbers increase smoothing effect reducing reaction velocity
Lower intervals enhance responsiveness potentially increasing noise exposure
Validation Threshold Definition:
↓ Bull-Bear Boundary Level:
Establishes fundamental acceptance/rejection zones
Typically set near extreme values reflecting rare occurrence probability
Can be adjusted per instrument liquidity profiles if necessary
ADVANCED ALGORITHMIC PROCEDURES BREAKDOWN
💻 Internal Operation Architecture:
Base Calculations Infrastructure:
☑ Raw Data Preparation and Normalization
☐ High/Low/Closing Aggregation Processes
☒ Range Estimation Algorithms
Intermediate Transform Engine:
📈 Momentum Ratio Computation Workflow
↔ First Pass XSA Application Details
➖ Second Stage Refinement Mechanics
Final Output Synthesis Framework:
➢ Composite Reading Compilation Logic
➣ Validation Status Determination Process
➤ Alert Trigger Decision Making Structure
INTERACTIVE VISUAL INTERFACE COMPONENTS
🎨 User Experience Interface Elements:
🔵 Plotting Series Hierarchy:
→ Primary FundFlow Signal: White trace marking core oscillator progression
↑ Secondary Confirmation Overlay: Orange/Yellow highlighting validation status
🟥 Risk/Reward Boundaries: Aqua line delineating strategic areas requiring attention
🏷️ Interactive Marker System:
✔ "BUY": Green upward-pointing labels denoting confirmed long entries
❌ "SELL": Red downward-facing badges signaling short setups
PRACTICAL APPLICATION STRATEGY GUIDE
📋 Operational Deployment Instructions:
Strategic Planning Initiatives:
• Define precise profit targets considering realistic reward/risk scenarios
→ Set maximum acceptable loss thresholds protecting available resources adequately
↓ Develop contingency plans addressing unexpected adverse developments promptly
Live Trading Engagement Protocols:
→ Maintaining vigilant monitoring of label placement activities continuously
↓ Tracking order fill success rates across implemented grids regularly
↑ Evaluating system effectiveness compared alternative methodologies periodically
Performance Optimization Techniques:
✔ Implement incremental improvements iteratively throughout lifecycle
❌ Eliminate ineffective component variations systematically
⟹ Ensure proportional growth capability matching user needs appropriately
EFFICIENCY ENHANCEMENT APPROACHES
🚀 Ongoing Development Strategy:
Resource Management Focus Areas:
→ Minimizing redundant computation cycles through intelligent caching mechanisms
↓ Leveraging parallel processing capabilities where feasible efficiently
↑ Optimizing storage access patterns improving response times substantially
Scalability Consideration Factors:
✔ Adapting to varying account sizes/market capitalizations seamlessly
❌ Preventing bottlenecks limiting concurrent operation capacity
⟹ Ensuring balanced growth capability matching evolving requirements accurately
Maintenance Routine Establishment:
✓ Regular codebase updates incorporation keeping functionality current
↓ Periodic performance audits conducting verifying continued effectiveness
↑ Documentation refinement updating explaining any material modifications made
SYSTEMATIC RISK CONTROL MECHANISMS
🛡️ Comprehensive Protection Systems:
Position Sizing Governance:
∅ Never exceed predetermined exposure limitations strictly observed
± Scale entries proportionally according to available resources carefully
× Include slippage allowances within planning stages realistically
Emergency Response Procedures:
↩ Well-defined exit strategies including trailing stops activation logic
🌀 Contingency plan formulation covering worst-case scenario contingencies
⇄ Recovery procedure documentation outlining restoration steps methodically
Golden Setup V1Golden Setup V1 is an overlay indicator that automates Tony Rago’s “Golden Setup” price-level framework. It divides the chart into fixed “blockSize” intervals (default 100 points) and plots a series of key horizontal levels within each block—levels at 00, 12, 26, 33, 50, 62, 77 and 88 offsets. These levels act as dynamic support and resistance grids that roll up or down as price moves between blocks.
Key Features
Customizable Offsets
Define eight offset levels corresponding to Rago’s Golden Setup:
00 (Round Number)
12 (Target 12)
26 (First “Golden” level)
33 (Target 33)
50 (Mid-block pivot)
62 (Target 62)
77 (Second “Golden” level)
88 (Target 88)
Multi-Block Coverage
Choose how many blocks above and below the current 100-point block you wish to display, so you always have levels drawn for the surrounding price range.
Golden-Only Filter
A handy toggle lets you show only the two “Golden” offsets (26 & 77), which many traders prioritize for high-probability bounce or breakout areas.
Dynamic Nearest-Level Label
Highlights the closest Golden Setup level (to the right edge of the chart) with a movable label, so you always know which level price is approaching.
Full Styling Control
Customize line colors, widths, block size, label fonts and opacity to suit your charting style.
How It Works
Block Calculation
On each bar, the indicator computes the “current block” by flooring (close / blockSize) and multiplying back by blockSize.
Level Offsets
It adds each of the eight user-defined offsets to that block base (and, if price has moved below the lowest offset, shifts the block down one interval).
Drawing
Each level is drawn as a horizontal line extending across the chart for as many blocks above/below as you select.
Nearest-Level Detection
Within the present block, it calculates which of the plotted levels is closest to price and displays that value on the right edge.
Usage Tips
Use the Golden-Only filter to declutter and focus solely on the 26 & 77 levels, which often act as strong intra-block pivot points.
Combine with volume or momentum indicators to confirm bounces at these levels.
Adjust blockSize (e.g. 50 or 200) if you wish to work in smaller or larger price increments.
⚠️ Disclaimer: This script is for educational and illustrative purposes only. Trading involves risk—always back-test and validate any strategy on a demo account before going live.