GROK - 40 Day High BreakoutTitle: GROK - Customizable High Breakout Detector
To scan base breakout with Pine Screener
Description:
This Pine Script indicator identifies high breakout patterns based on a user-defined lookback period. By default, it checks for a breakout of the 40-day high, but the period can be adjusted to suit your trading strategy. Key features include:
Custom Lookback Period: Easily modify the number of days for high breakout detection. Lookback period is length of base you want to scan using pine screener.
Visual Alerts: Displays a green triangle above the price bar when a breakout is detected.
Alert Conditions: Built-in alert notifications for automated breakout detection.
Screener Compatibility: Plots breakout signals as a histogram for screener use.
This script is ideal for traders looking to identify strong breakout patterns and incorporate them into their strategies.
How to Use:
Adjust the lookback period in the settings to match your desired breakout criteria.
Add alerts for automated notifications when a breakout is detected.
Use the visual markers and histogram to analyze breakout patterns on your chart.
Wyszukaj w skryptach "chart"
12 Month Difference - YoY ComparisonEste script foi desenvolvido para calcular e exibir a variação percentual do preço de um ativo nos últimos 12 meses, de forma simples e visual. Ele utiliza dados históricos de preços e apresenta o resultado diretamente no gráfico, permitindo ao usuário acompanhar a relação entre o valor atual e o valor de 12 meses atrás.
O cálculo é baseado em um período de 12 meses, que equivale a 252 dias úteis no mercado financeiro. O script primeiro identifica o preço atual do ativo e o compara com o preço registrado há exatamente 252 dias úteis. A diferença entre esses dois valores é transformada em uma variação percentual, o que facilita a análise de desempenho do ativo ao longo do período.
Além disso, o script define uma cor para destacar o resultado:
Verde, se a variação percentual for positiva (indicando crescimento).
Vermelho, se a variação for negativa (indicando queda).
O valor calculado é exibido de forma prática no canto inferior direito do gráfico, como uma tabela flutuante. Essa tabela contém o texto "Relação 12M" e o valor percentual correspondente, permitindo uma leitura rápida.
Embora o resultado seja calculado para todos os momentos no gráfico, ele é mostrado apenas como uma tabela no último ponto confirmado da série histórica, ou seja, no momento mais recente com dados disponíveis. Além disso, o script inclui o valor da relação na legenda do gráfico, mas ele está oculto visualmente para evitar sobrecarregar o layout.
Esse indicador é útil para analisar rapidamente o desempenho de um ativo ao longo de um ano, ajudando investidores e analistas a entenderem tendências e mudanças no mercado.
This script was developed to calculate and display the percentage change in the price of an asset over the last 12 months, in a simple and visual way. It uses historical price data and displays the result directly on the chart, allowing the user to monitor the relationship between the current value and the value from 12 months ago.
The calculation is based on a 12-month period, which is equivalent to 252 business days in the financial market. The script first identifies the current price of the asset and compares it with the price recorded exactly 252 business days ago. The difference between these two values is transformed into a percentage change, which makes it easier to analyze the asset's performance over the period.
In addition, the script defines a color to highlight the result:
Green, if the percentage change is positive (indicating growth).
Red, if the change is negative (indicating a decline).
The calculated value is displayed conveniently in the bottom right corner of the chart, as a floating table. This table contains the text "12M Ratio" and the corresponding percentage value, allowing for quick reading.
Although the result is calculated for all points in time on the chart, it is only displayed as a table at the last confirmed point in the historical series, i.e. the most recent point in time with available data. In addition, the script includes the ratio value in the chart legend, but it is visually hidden to avoid cluttering the layout.
This indicator is useful for quickly analyzing the performance of an asset over a year, helping investors and analysts understand trends and changes in the market.
1-3-1 Strat Combo with 50% Level (12h)Logic Explanation
1-3-1 Combo Detection:
The script detects the 1-3-1 pattern using the previous 3 candles:
Candle 4: Inside Bar (Type 1).
Candle 3: Outside Bar (Type 3).
Candle 2: Inside Bar (Type 1).
4th Candle Behavior:
If the 4th candle (current bar):
Stays an inside bar (Type 1) → isFourthInsideBar is true.
Becomes a directional bar (Type 2) → isFourthDirectional is true.
If either of these conditions is true, the script stops calculating and waits for the next valid 1-3-1 setup.
50% Level Calculation:
If the conditions are not met (e.g., the 4th candle doesn’t stop the pattern), the script:
Plots a dotted line at the 50% level of the 3rd candle.
Adds a label showing the 50% level.
Stop Calculations:
No line, box, or label is drawn if the 4th candle is a Type 1 (inside bar) or Type 2 (directional bar).
Visual Outputs:
Dotted Box: Marks the 1-3-1 combo setup.
50% Line: Drawn only if the 4th candle does not invalidate the pattern.
Label: Displays the 50% level of the 3rd candle.
How to Use:
Apply this script on the 12-hour chart.
The script will:
Detect valid 1-3-1 patterns.
Stop drawing any calculations if the 4th candle is an inside bar (1) or a directional bar (2).
Wait for the next valid 1-3-1 combo.
Dual Zigzag [Trendoscope®]🎲 Dual Zigzag indicator is built on recursive zigzag algorithm. It is very similar to other zigzag indicators published by us and other authors. However, the key point here is, the indicator draws zigzag on both price and any other plot based indicator on separate layouts.
Before we get into the indicator, here are some brief descriptions of the underlying concepts and key terminologies
🎯 Zigzag
Zigzag indicator breaks down price or any input series into a series of Pivot Highs and Pivot Lows alternating between each other. Zigzags though shows pivot high and lows, should not be used for buying at low and selling at high. The main application of zigzag indicator is for the visualisation of market structure and this can be used as basic building block for any pattern recognition algorithms.
🎯 Recursive Zigzag Algorithm
Recursive zigzag algorithm builds zigzag on multiple levels and each level of zigzag is based on the previous level pivots. The level zero zigzag is built on price. However, for level 1, instead of price level 0 zigzag pivots are used. Similarly for level 2, level 1 zigzag pivots are used as base.
🎲 Components Dual Zigzag Indicator
Here are the components of Dual zigzag indicator
Built in Oscillator - Indicator has built in oscillator options for plotting RSI (Relative Strength Index), MFI (Money Flow Index), cci (Commodity Channel Index) , CMO (Chande Momentum Oscillator), COG (Center of Gravity), and ROC (Rate of Change). Apart from the given built in oscillators, users can also use a custom external output as base. The oscillators are not printed on the price pane. But, printed on a separate indicator overlay.
Zigzag On Oscillator - Recursive zigzag is calculated and printed on the oscillator series. Each pivot high and pivot low also prints a label having the retracement ratios, and price levels at those points. Zigzag on the oscillator is also printed on the indicator overlay pane.
Zigzag on Price - Recursive zigzag calculated based on price and printed on the price pane. This is made possible by using force_overlay option present in the drawing objects. At each zigzag pivot levels, the label having price retracement ratios, and oscillator values are printed.
It is called dual zigzag because, the indicator calculates the zigzag on both price and oscillator series of values and prints them separately on different panes on the chart.
🎲 Indicator Settings
Settings include
Theme display settings to get the right colour combination to match the background.
Zigzag settings to be used for zigzag calculation and display
Oscillator settings to chose the oscillator to be used as base for 2nd zigzag
🎲 Applications
Useful in spotting divergences with both indicator and price having their own zigzag to highlight pivots
Spotting patterns in indicators/oscillators and correlate them with the patterns on price
🎲 Using External Input
If users want to use an external indicator such as OBV instead of the built in oscillators, then can do so by using the custom option.
Here is how this can be done.
Step1. Add both Dual Zigzag and the intended indicator (in this case OBV) on the chart. Notice that both OBV and Dual zigzag appear on different panes.
Step2. Edit the indicator settings of Dual zigzag and set custom indicator by selecting "custom" as oscillator name and then by setting the custom external indicator name and input.
Step 3. You would notice that the zigzag in Dual Zigzag indictor pane is already showing the zigzag pivots based on the OBV indicator and the price pivots display obv values at the pivot points. We can leave this as is.
Step 4. As an additional step, you can also merge the OBV pane and the Dual zigzag indicator pane into one by going into OBV settings and moving the indicator to above pane. Merge the scales so that there is no two scales on the same pane and the entire scale appear on the right.
At the end, you should see two panes - one with price and other with OBV and both having their zigzag plotted.
BRT Cluster VolumeTitle and Purpose
BRT Cluster Volume is a powerful market analysis tool designed to identify key support and resistance levels, cluster volumes, and breakout signals. This script is highly beneficial for traders who aim to gain deeper insights into market trends and pinpoint zones of interest for buyers and sellers.
Key Features
1. Support and Resistance Levels:
- The script automatically detects chart extremums by analyzing a specified number of bars on the left and right to form levels. This approach effectively identifies local highs and lows.
- The uniqueness of this implementation lies in its dynamic data processing. For each extremum, the "channel width" is calculated, allowing insignificant levels to be filtered out based on a user-defined minimum width. This method eliminates noise and ensures focus on critical levels.
- Extremum lines can be extended to the right (when enabled), allowing traders to track current price movements relative to historical levels.
2. Cluster Volume:
- The cluster analysis is based on lower timeframe data, providing precise identification of key zones of market participant activity. The script dynamically requests close prices and volumes from lower timeframes, calculates the average volume, and identifies levels where volumes exceed a defined threshold.
- The visualization of cluster volumes is unique: volumes exceeding the threshold are displayed as candles with customizable colors and markers. These indicators help traders identify zones of significant interest.
- Cluster volume is only displayed when it interacts with support or resistance levels, ensuring that the visualization remains precise and relevant for market analysis.
3. Breakout Signals:
- The script evaluates "breakout strength" for each breakout of support or resistance levels by comparing the current price with the level. This helps filter false breakouts and focus on significant price movements.
- Traders can select the source for breakout signals (close price or high/low), offering flexibility for various trading styles and strategies.
- By incorporating the concept of "maximum breakout strength," the script highlights only meaningful breakouts, ignoring minor fluctuations.
4. Integration of Trading Sessions:
- Extremum levels for major trading sessions (Asia, Europe, USA) are identified and labeled on the chart. This allows traders to see when significant price levels were formed during the day.
- The script uses timestamps to automatically detect session times, ensuring accuracy and minimizing manual adjustments.
5. Dynamic Data Updates:
- The script dynamically updates support and resistance levels in real time as new data becomes available. This feature is crucial for traders working in fast-moving markets.
- Outdated information (such as obsolete levels) is automatically removed to keep the chart clean and focused on relevant data.
6. Visualization of Activity Zones:
- Trend direction is visualized using color-coded candles based on cluster volumes. For instance, candles with volumes exceeding the average are highlighted with specific colors, helping traders quickly identify areas of heightened activity.
- The unique aspect of this visualization is that cluster volumes appear only in zones where they interact with breakout levels, providing an intuitive and streamlined presentation of critical data.
Usage
- Support and Resistance: Adjust the "Left Bars" and "Right Bars" settings to determine extremums. Use the "Channel Min Width" setting to filter out insignificant levels.
- Cluster Volume: Customize the analysis period and volume threshold to identify high-activity zones. Enable breakout clusters to see how volumes interact with breakouts.
- Session Extremums: Highlight significant levels for Asia, Europe, and US trading sessions to gain insights into market dynamics across different time zones.
- Breakout Signals: Configure the breakout strength and source (close or high/low) for precise signal detection.
Parameter Details
1. Support & Resistance:
- `Left Bars` / `Right Bars`: Number of bars to consider for determining extremums.
- `# of Lines`: Maximum number of support/resistance lines to display.
- `Channel Min Width`: Minimum channel width to filter insignificant levels.
2. Breakout:
- `Show Breakouts`: Toggle breakout signal display.
- `Max breakout strength`: Maximum strength for valid breakouts.
- `Breakout source`: Data source for breakouts (close or high/low).
3. Cluster Volume:
- `Lookback`: Number of bars to analyze for cluster volumes.
- `Threshold`: Volume threshold (percentage above the average).
- `Cluster Volume Timeframe`: Timeframe for cluster volume analysis.
- `Breakout Cluster`: Display cluster volumes only for breakout-related zones.
4. Visual Settings:
- `Extend extremum lines to the right`: Extend support/resistance lines to the right.
- `Show ASIA/EU/US Session Extremums`: Display extremums for trading sessions.
Features and Benefits
- The script provides flexible parameter customization, allowing it to adapt to different trading styles and timeframes.
- The visualization is designed to be clean and intuitive, ensuring users can easily interpret the data.
- Suitable for all timeframes, making it ideal for both intraday and long-term market analysis.
Limitations
- The script is not suitable for analysis on non-standard chart types (e.g., Heikin Ashi, Renko, Kagi).
- To ensure accurate performance, realistic data for commission and slippage should be used.
Warnings
- The script relies on historical data for calculations, which may cause discrepancies in real-time conditions.
- Users should fully understand the functionality of cluster analysis and breakout signals before using the script in live trading.
This script combines advanced data processing logic, dynamic level adjustments, and unique visualization approaches, making it an indispensable tool for market analysis and trading decision-making.
IPO Lifecycle Sell Strategy [JARUTIR]IPO Lifecycle Sell Strategy with Dynamic Buy Date and Multiple Sell Rules
This custom TradingView script is designed for traders looking to capitalize on dynamic strategies for IPOs and growth stocks, by implementing several sell rules based on price action and technical indicators. It provides a set of sell rules that are applied dynamically depending on the stock's lifecycle and price action, allowing users to lock in profits and minimize drawdowns based on key technical thresholds.
The four sell strategies incorporated into this script are inspired by the book "The Lifecycle Trade", a resource that focuses on capturing profits while managing risk in different phases of a stock's lifecycle, from IPO to high-growth stages.
Key Features:
Buy Price and Buy Date: You can either manually input your buy price and date or let the script automatically detect the buy date based on the specified buy price.
Multiple Sell Strategies: Choose from 4 predefined sell strategies:
Ascender Rule : Captures strong momentum from IPO stocks by selling portions at specific price levels or technical conditions.
Midterm Rule : Focuses on holding for longer periods, with defensive sell signals triggered when the stock deviates significantly from peak price or key moving averages.
40 Week Rule : Designed for long-term holds, this rule triggers a sell when the stock closes below the 40-week moving average.
Everest Rule : Aggressive strategy for selling into strength based on parabolic moves or gap downs, ideal for high momentum stocks.
Interactive Features:
Horizontal Green Line showing the buy price level from the buy date.
Visual Sell Signals appear only after the buy date to ensure that your analysis is relevant to the stock lifecycle.
Customizable settings, allowing you to choose your preferred sell rule strategy and automate buy date detection.
This script is perfect for traders using a strategic, systematic approach to IPOs and high-growth stocks, whether you're looking for quick exits during momentum phases or holding for longer-term growth.
Usage:
Input your Buy Price and Buy Date, or allow the script to automate the buy date detection.
Select a Sell Rule strategy based on your risk profile and trading style.
View visual signals for selling when specific conditions are met.
Frequently Asked Questions (FAQs):
Q1: How do I input my Buy Price and Buy Date?
The script allows you to either manually input the Buy Price and Buy Date or use the automated detection. If you choose automated detection, the script will automatically assign the buy date when the price crosses above your set Buy Price.
Q2: What is the purpose of the "Sell Rules"?
The script offers four sell strategies to help manage different types of stocks in varying phases of their lifecycle:
Ascender Rule: Targets IPO stocks showing positive momentum.
Midterm Rule: A defensive strategy for stocks in a steady uptrend.
40 Week Rule: Long-term hold strategy designed to ride stocks through extended growth.
Everest Rule: Aggressive strategy to capture profits during parabolic price moves.
Q3: What is the significance of the Green Line at Buy Price?
The Green Line represents your entry point (Buy Price) on the chart. It will appear from the buy date onwards, helping you track the performance of your stock relative to your entry.
Q4: Can I customize the Sell Strategy?
Yes! You can choose from the available Sell Rules (Ascender Rule, Midterm Rule, 40 Week Rule, Everest Rule) via an input option in the script. Each strategy has its own unique triggers based on price action, moving averages, and time-based conditions.
Q5: Does this script work for stocks and crypto?
Yes, this script is designed for both stocks and cryptocurrencies. It works on any asset where price data and timeframes are available.
Q6: How do the Weekly Moving Averages (WSMA) work in this strategy?
The script uses weekly moving averages (WSMA) to track longer-term trends. These are essential for some of the sell rules, such as the Midterm Rule and 40 Week Rule, which rely on the stock's movement relative to the 40-week moving average.
Q7: Will the script plot a Sell Signal immediately after the Buy Date?
No, sell signals will only be plotted after the Buy Date. This ensures that the sell strategy is relevant to your actual holding period and avoids premature triggers.
Q8: How do I interpret the Sell Signal?
The script will plot a Red Sell Signal above the bar when the sell conditions are met, based on the selected strategy. This indicates that it may be a good time to exit the position according to your chosen rule.
Q9: Can I use this strategy on different timeframes?
Yes, you can apply the script to any timeframe. However, some sell strategies, like the Midterm Rule and 40 Week Rule, are designed to work best with weekly data, so it's recommended to use these strategies with longer timeframes.
Q10: Does this script have any alerts?
Yes! The script supports alert conditions that will notify you when the sell conditions are met according to your selected rule. You can set up alerts to stay informed without needing to watch the chart constantly.
Q11: What if I want to disable some of the sell rules?
You can select your preferred sell rule using the "Select Sell Rule" dropdown. If you don’t want to use a particular rule, simply choose a different strategy or leave it inactive.
------------------------------
Disclaimer:
This strategy is intended for educational purposes only. It should not be considered financial advice. Always perform your own research and consult with a professional before making any trading decisions. Trading involves significant risk, and you should never trade with money you cannot afford to lose.
Physical Levels (XAUUSD, 5$ Pricesteps)Functionality:
This indicator draws horizontal lines in the XAUUSD market at a fixed spacing of USD 5. The lines are both above and below the current market price. The number of lines is limited to optimize performance.
Use:
The indicator is particularly useful for traders who want to analyze psychological price levels, support and resistance areas, or significant price zones in the gold market. It helps to better visualize price movements and their proximity to round numbers.
How it works:
The indicator calculates a starting price based on the current price of XAUUSD, rounded to the nearest multiple of USD 5.
Starting from this starting price, evenly distributed lines are drawn up and down.
The lines are black throughout and are updated dynamically according to the current chart.
ATR/DTR with Custom Percentage DisplayThis Pine Script indicator provides a detailed view of the Average True Range (ATR) and Daily True Range (DTR), along with additional calculated metrics to assist in analyzing price volatility. The key features of the indicator include:
ATR Calculation:
The ATR is calculated over a user-defined timeframe, allowing traders to assess average market volatility over a specific period.
DTR Calculation:
The DTR represents the absolute range (high - low) of the current or chosen timeframe, providing insights into the day's price movement.
ATR/DTR Percentage:
This metric calculates the DTR as a percentage of the ATR, showing how the daily range compares to the average range, with dynamic coloring to highlight when it exceeds a user-defined threshold.
Custom Percentage of ATR:
Users can input a custom percentage to calculate and display a corresponding value of the ATR. For example, entering 15% will compute and display 15% of the ATR in the indicator’s table.
Dynamic Table Display:
The indicator outputs all these metrics in a well-organized table that is overlaid on the chart. The table includes:
ATR
DTR
ATR/DTR percentage
The user-defined percentage of ATR
Customizable Features:
Color Coding: The table dynamically changes its background color when the ATR/DTR percentage exceeds a user-defined threshold.
Placement Options: The table's position on the chart can be adjusted (e.g., bottom-right, top-center) for optimal visibility.
Use Case:
This indicator is ideal for traders who want a deeper understanding of market volatility and prefer visual representation of how current price movements compare to historical averages. It is especially useful for:
Setting volatility-based stop-loss levels.
Identifying high-volatility trading opportunities.
Tailoring strategies around price movement patterns.
Drawdown from All-Time High (Line)This Pine Script is a **Drawdown Indicator from All-Time High** for TradingView. It calculates and plots the percentage drawdown from the highest price the asset has ever reached (the all-time high). Here's a breakdown of what this script does:
### Description:
- **Drawdown Calculation**:
- The drawdown is calculated as the difference between the current price (`close`) and the all-time high, divided by the all-time high, and multiplied by 100 to express it as a percentage.
- If the current price is higher than the previous all-time high, the all-time high is updated to the current price.
- **All-Time High Tracking**:
- The script tracks the highest price (`allTimeHigh`) that the asset has ever reached. Each time a new high is reached, the `allTimeHigh` value is updated.
- **Line Plot**:
- The drawdown percentage is then plotted as a line on the chart, with a color of **blue** for easy visualization.
- The line shows how much the price has dropped relative to its all-time high.
- **Zero Line**:
- A horizontal line is added at the **0%** level to act as a reference point, which is helpful to identify when the asset has fully recovered to its all-time high.
### Key Features:
- **Track Drawdown**: The indicator helps visualize how far the current price has fallen from its highest point, which is useful for understanding the depth of losses (drawdowns) during a period.
- **Update All-Time High**: The indicator automatically updates the all-time high whenever a new high is detected.
- **Visual Reference**: The 0% horizontal line provides a clear indication of when the asset is at its all-time high, and the drawdown is at 0%.
### How it Works:
- If the current price surpasses the all-time high, the script will reset the all-time high to the new price.
- The drawdown percentage is calculated from the current price relative to this all-time high, and it is displayed as a line on the chart.
### Visuals:
- **Drawdown Line**: Plots the percentage of the drawdown, which is the drop from the all-time high.
- **Zero Line**: A dotted horizontal line at 0% marks the level of the all-time high.
This indicator is valuable for understanding the extent of price corrections and potential recoveries relative to the historical peak of the asset. It is especially useful for traders and investors who want to assess the risk of drawdowns in relation to the highest price achieved by the asset.
Liquidity IndicatorThe Liquidity Indicator helps identify key price levels where liquidity may be concentrated by highlighting local highs and local lows on the chart. These levels are calculated using a lookback period to determine the highest and lowest points in the recent price action.
Local Highs: Displayed as red lines, these indicate recent peaks where price has experienced rejection or a possible reversal point.
Local Lows: Displayed as green lines, these represent recent troughs where price may find support or experience a bounce.
This indicator is useful for spotting potential areas of interest for price reversal or continuation, as high liquidity zones may lead to more significant price movements.
Key Features:
Adjustable lookback period to define the scope for identifying local highs and lows.
Continuous plotting without any time restrictions, providing real-time insights into liquidity conditions.
Alerts available for when a local high or local low is detected, enabling timely market analysis.
Use Case:
This indicator can be used in conjunction with other technical analysis tools or strategies to help identify significant price levels where liquidity could impact price action. It is suitable for both intraday and swing traders looking for key price zones where potential reversals or continuations might occur.
RagiBaba's 3:1 Risk-to-Reward Tool with LeverageThis indicator allows you to visualize a 3:1 risk-to-reward ratio for your trades on the chart. It automatically calculates and displays the Stop Loss and Take Profit levels based on your input for:
Entry Price
Trade Amount ($)
Risk Amount ($)
Leverage (x)
You can adjust the following settings:
Trade Direction: Choose between a Long or Short position.
Leverage: Enter the leverage value (e.g., 25x).
Entry Price: Set the price at which you plan to enter the trade.
Risk and Reward: Input the amount of money you're willing to risk and the desired reward (automatically calculated as 3 times your risk).
Label Position: Choose the label position for Entry, Stop, and Target (left, center, or right on the chart).
Each line has a corresponding label showing the price for Entry, Stop Loss, and Take Profit. The labels can be positioned on the left, center, or right side of the chart for better readability.
This tool helps you manage your trades by giving you clear visual cues for your entry, stop loss, and take profit levels with the option to adjust for leverage.
Harmonic Pattern Detector (75 patterns)Harmonic Pattern Detector offers a record amount of "Harmonic Patterns" in one script, with 75 different patterns detected, together with up to 99 different swing lengths.
🔶 USAGE
Harmonic Patterns are detected from several different ZigZag lines, derived from Swings with different lengths (shorter - longer term)
Depending on the settings ' Minimum/Maximum Swing Length ', the user will see more or less patterns from shorter and/or longer-term swing points.
🔹 Fibonacci Ratio
Certain patterns have only one ratio for a specific retrace/extension instead of one upper and one lower limit. In this case, we add a ' Tolerance ', which adds a percentage tolerance below/above the ratio, creating two limits.
A higher number may show more patterns but may become less valid.
Hoovering over points B, C, and D will show a tooltip with the concerning limits; adjusted limits will be seen if applicable.
Tooltips in settings will also show which patterns the Fibonacci Ratio applies to.
🔹 Triangle Area Ratio
Using Heron's formula , the triangle area is calculated after the X-Y axis is normalized.
Users can filter patterns based on the ratio of the smallest triangle to the largest triangle.
A lower Triangle Area Ratio number leads to more symmetrical patterns but may appear less frequently.
🔶 DETAILS
Harmonic patterns are based on geometric patterns, where the retracement/extension of a swing point must be located between specific Fibonacci ratios of the previous swing/leg. Different Harmonic Patterns require unique ratios to become valid patterns.
In the above example there is a valid 'Max Butterfly' pattern where:
Point B is located between 0.618 - 0.886 retracement level of the X-A leg
Point C is located between 0.382 - 0.886 retracement level of the A-B leg
Point D is located between 1.272 - 2.618 extension level of the B-C leg
Point D is located between 1.272 - 1.618 extension level of the X-A leg
Harmonic Pattern Detector uses ZigZag lines, where swing highs and swing lows alternate. Each ZigZag line is checked for valid Harmonic Patterns . When multiple types of Harmonic Patterns are valid for the same sequence, the pattern will be named after the first one found.
Different swing lengths form different ZigZag lines.
By evaluating different ZigZag lines (up to 99!), shorter—and longer-term patterns can be drawn on the same chart.
🔹 Blocks
The patterns are organized into blocks that can be toggled on or off with a single click.
When a block is enabled, the user can still select which specific patterns within that block are enabled or disabled.
🔹 Visuals
Besides color settings, labels can show pattern names or arrows at point D of the pattern.
Note this will happen 1 bar after validation because one extra bar is needed for confirmation.
An option is included to show only arrows without the patterns.
🔹 Updated Patterns
When a Swing Low is followed by a lower low or a Swing High followed by a higher high , triggering a pattern identical to a previous one except with a different point D, the pattern will be updated. The previous C-D line will be visible as a dashed line to highlight the event. Only the last dashed line is shown when this happens more than once.
🔹 Optimization
The script only verifies the last leg in the initial phase, significantly reducing the time spent on pattern validation. If this leg doesn't align with a potential Harmonic Pattern , the pattern is immediately disregarded. In the subsequent phase, the remaining patterns are quickly scrutinized to ensure the next leg is valid. This efficient process continues, with only valid patterns progressing to the next phase until all sequences have been thoroughly examined.
This process can check up to 99 ZigZag lines for 75 different Harmonic Patterns , showcasing its high capacity and versatility.
🔹 Ratios
The following table shows the different ratios used for each Harmonic Pattern .
' min ' and ' max ' are used when only one limit is provided instead of 2. This limit is given a percentage tolerance above and below, customizable by the setting ' Tolerance - Fibonacci Ratio '.
For example a ratio of 0.618 with a tolerance of 1% would result in:
an upper limit of 0.624
a lower limit of 0.612
|-------------------|------------------------|------------------------|-----------------------|-----------------------|
| NAME PATTERN | BCD (BD) | ABC (AC) | XAB (XB) | XAD (XD) |
| | min max | min max | min max | min max |
|-------------------|------------------------|------------------------|-----------------------|-----------------------|
| 'ABCD' | 1.272 - 1.618 | 0.618 - 0.786 | | |
| '5-0' | 0.5 *min - 0.5 *max | 1.618 - 2.24 | 1.13 - 1.618 | |
| 'Max Gartley' | 1.128 - 2.236 | 0.382 - 0.886 | 0.382 - 0.618 | 0.618 - 0.786 |
| 'Gartley' | 1.272 - 1.618 | 0.382 - 0.886 | 0.618*min - 0.618*max | 0.786*min - 0.786*max |
| 'A Gartley' | 1.618*min - 1.618*max | 1.128 - 2.618 | 0.618 - 0.786 | 1.272*min - 1.272*max |
| 'NN Gartley' | 1.128 - 1.618 | 0.382 - 0.886 | 0.618*min - 0.618*max | 0.786*min - 0.786*max |
| 'NN A Gartley' | 1.618*min - 1.618*max | 1.128 - 2.618 | 0.618 - 0.786 | 1.272*min - 1.272*max |
| 'Bat' | 1.618 - 2.618 | 0.382 - 0.886 | 0.382 - 0.5 | 0.886*min - 0.886*max |
| 'Alt Bat' | 2.0 - 3.618 | 0.382 - 0.886 | 0.382*min - 0.382*max | 1.128*min - 1.128*max |
| 'A Bat' | 2.0 - 2.618 | 1.128 - 2.618 | 0.382 - 0.618 | 1.128*min - 1.128*max |
| 'Max Bat' | 1.272 - 2.618 | 0.382 - 0.886 | 0.382 - 0.618 | 0.886*min - 0.886*max |
| 'NN Bat' | 1.618 - 2.618 | 0.382 - 0.886 | 0.382 - 0.5 | 0.886*min - 0.886*max |
| 'NN Alt Bat' | 2.0 - 4.236 | 0.382 - 0.886 | 0.382*min - 0.382*max | 1.128*min - 1.128*max |
| 'NN A Bat' | 2.0 - 2.618 | 1.128 - 2.618 | 0.382 - 0.618 | 1.128*min - 1.128*max |
| 'NN A Alt Bat' | 2.618*min - 2.618*max | 1.128 - 2.618 | 0.236 - 0.5 | 0.886*min - 0.886*max |
| 'Butterfly' | 1.618 - 2.618 | 0.382 - 0.886 | 0.786*min - 0.786*max | 1.272 - 1.618 |
| 'Max Butterfly' | 1.272 - 2.618 | 0.382 - 0.886 | 0.618 - 0.886 | 1.272 - 1.618 |
| 'Butterfly 113' | 1.128 - 1.618 | 0.618 - 1.0 | 0.786 - 1.0 | 1.128*min - 1.128*max |
| 'A Butterfly' | 1.272*min - 1.272*max | 1.128 - 2.618 | 0.382 - 0.618 | 0.618 - 0.786 |
| 'Crab' | 2.24 - 3.618 | 0.382 - 0.886 | 0.382 - 0.618 | 1.618*min - 1.618*max |
| 'Deep Crab' | 2.618 - 3.618 | 0.382 - 0.886 | 0.886*min - 0.886*max | 1.618*min - 1.618*max |
| 'A Crab' | 1.618 - 2.618 | 1.128 - 2.618 | 0.276 - 0.446 | 0.618*min - 0.618*max |
| 'NN Crab' | 2.236 - 4.236 | 0.382 - 0.886 | 0.382 - 0.618 | 1.618*min - 1.618*max |
| 'NN Deep Crab' | 2.618 - 4.236 | 0.382 - 0.886 | 0.886*min - 0.886*max | 1.618*min - 1.618*max |
| 'NN A Crab' | 1.128 - 2.618 | 1.128 - 2.618 | 0.236 - 0.447 | 0.618*min - 0.618*max |
| 'NN A Deep Crab' | 1.128*min - 1.128*max | 1.128 - 2.618 | 0.236 - 0.382 | 0.618*min - 0.618*max |
| 'Cypher' | 1.272 - 2.00 | 1.13 - 1.414 | 0.382 - 0.618 | 0.786*min - 0.786*max |
| 'New Cypher' | 1.272 - 2.00 | 1.414 - 2.14 | 0.382 - 0.618 | 0.786*min - 0.786*max |
| 'Anti New Cypher' | 1.618 - 2.618 | 0.467 - 0.707 | 0.5 - 0.786 | 1.272*min - 1.272*max |
| 'Shark 1' | 1.618 - 2.236 | 1.128 - 1.618 | 0.382 - 0.618 | 0.886*min - 0.886*max |
| 'Shark 1 Alt' | 1.618 - 2.618 | 0.618 - 0.886 | 0.446 - 0.618 | 1.128*min - 1.128*max |
| 'Shark 2' | 1.618 - 2.236 | 1.128 - 1.618 | 0.382 - 0.618 | 1.128*min - 1.128*max |
| 'Shark 2 Alt' | 1.618 - 2.618 | 0.618 - 0.886 | 0.446 - 0.618 | 0.886*min - 0.886*max |
| 'Leonardo' | 1.128 - 2.618 | 0.382 - 0.886 | 0.5*min - 0.5*max | 0.786*min - 0.786*max |
| 'NN A Leonardo' | 2.0*min - 2.0*max | 1.128 - 2.618 | 0.382 - 0.886 | 1.272*min - 1.272*max |
| 'Nen Star' | 1.272 - 2.0 | 1.414 - 2.14 | 0.382 - 0.618 | 1.272*min - 1.272*max |
| 'Anti Nen Star' | 1.618 - 2.618 | 0.467 - 0.707 | 0.5 - 0.786 | 0.786*min - 0.786*max |
| '3 Drives' | 1.272 - 1.618 | 0.618 - 0.786 | 1.272 - 1.618 | 1.618 - 2.618 |
| 'A 3 Drives' | 0.618 - 0.786 | 1.272 - 1.618 | 0.618 - 0.786 | 0.13 - 0.886 |
| '121' | 0.382 - 0.786 | 1.128 - 3.618 | 0.5 - 0.786 | 0.382 - 0.786 |
| 'A 121' | 1.272 - 2.0 | 0.5 - 0.786 | 1.272 - 2.0 | 1.272 - 2.618 |
| '121 BG' | 0.618 - 0.707 | 1.128 - 1.733 | 0.5 - 0.577 | 0.447 - 0.786 |
| 'Black Swan' | 1.128 - 2.0 | 0.236 - 0.5 | 1.382 - 2.618 | 1.128 - 2.618 |
| 'White Swan' | 0.5 - 0.886 | 2.0 - 4.237 | 0.382 - 0.786 | 0.238 - 0.886 |
| 'NN White Swan' | 0.5 - 0.886 | 2.0 - 4.236 | 0.382 - 0.724 | 0.382 - 0.886 |
| 'Sea Pony' | 1.618 - 2.618 | 0.382 - 0.5 | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Navarro 200' | 0.886 - 3.618 | 0.886 - 1.128 | 0.382 - 0.786 | 0.886 - 1.128 |
| 'May-00' | 0.5 - 0.618 | 1.618 - 2.236 | 1.128 - 1.618 | 0.5 - 0.618 |
| 'SNORM' | 0.9 - 1.1 | 0.9 - 1.1 | 0.9 - 1.1 | 0.618 - 1.618 |
| 'COL Poruchik' | 1.0 *min - 1.0 *max | 0.382 - 2.618 | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Henry – David' | 0.618 - 0.886 | 0.44 - 0.618 | 0.128 - 2.0 | 0.618 - 1.618 |
| 'DAVID VM 1' | 1.618 - 1.618 | 0.382*min - 0.382*max | 0.128 - 1.618 | 0.618 - 3.618 |
| 'DAVID VM 2' | 1.618 - 1.618 | 0.382*min - 0.382*max | 1.618 - 3.618 | 0.618 - 7.618 |
| 'Partizan' | 1.618*min - 1.618*max | 0.382*min - 0.382*max | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Partizan 2' | 1.618 - 2.236 | 1.128 - 1.618 | 0.128 - 3.618 | 1.618 - 3.618 |
| 'Partizan 2.1' | 1.618*min - 1.618*max | 1.128*min - 1.128*max | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Partizan 2.2' | 2.236*min - 2.236*max | 1.128*min - 1.128*max | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Partizan 2.3' | 1.618*min - 1.618*max | 0.618 - 1.618 | 0.128 - 3.618 | 0.618 - 3.618 |
| 'Partizan 2.4' | 2.236*min - 2.236*max | 1.618*min - 1.618*max | 0.128 - 3.618 | 0.618 - 3.618 |
| 'TOTAL' | 1.272 - 3.618 | 0.382 - 2.618 | 0.276 - 0.786 | 0.618 - 1.618 |
| 'TOTAL NN' | 1.272 - 4.236 | 0.382 - 2.618 | 0.236 - 0.786 | 0.618 - 1.618 |
| 'TOTAL 1' | 1.272 - 2.618 | 0.382 - 0.886 | 0.382 - 0.786 | 0.786 - 0.886 |
| 'TOTAL 2' | 1.618 - 3.618 | 0.382 - 0.886 | 0.382 - 0.786 | 1.128 - 1.618 |
| 'TOTNN 2NN' | 1.618 - 4.236 | 0.382 - 0.886 | 0.382 - 0.786 | 1.128 - 1.618 |
| 'TOTAL 3' | 1.272 - 2.618 | 1.128 - 2.618 | 0.276 - 0.618 | 0.618 - 0.886 |
| 'TOTNN 3NN' | 1.272 - 2.618 | 1.128 - 2.618 | 0.236 - 0.618 | 0.618 - 0.886 |
| 'TOTAL 4' | 1.618 - 2.618 | 1.128 - 2.618 | 0.382 - 0.786 | 1.128 - 1.272 |
| 'BG 1' | 2.618*min - 2.618*max | 0.382*min - 0.382*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 2' | 2.237*min - 2.237*max | 0.447*min - 0.447*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 3' | 2.0 *min - 2.0 *max | 0.5 *min - 0.5 *max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 4' | 1.618*min - 1.618*max | 0.618*min - 0.618*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 5' | 1.414*min - 1.414*max | 0.707*min - 0.707*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 6' | 1.272*min - 1.272*max | 0.786*min - 0.786*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 7' | 1.171*min - 1.171*max | 0.854*min - 0.854*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
| 'BG 8' | 1.128*min - 1.128*max | 0.886*min - 0.886*max | 0.128 - 0.886 | 1.0 *min - 1.0 *max |
|-------------------|------------------------|------------------------|-----------------------|-----------------------|
🔶 SETTINGS
🔹 Swings
Minimum Swing Length: Minimum length used for the swing detection.
Maximum Swing Length: Maximum length used for the swing detection.
🔹 Patterns
Toggle Pattern Block
Toggle separate pattern in each Pattern Block
🔹 Tolerance
Fibonacci Ratio: Adds a percentage tolerance below/above the ratio when only one ratio applies, creating two limits.
Triangle Area Ratio: Filters patterns based on the ratio of the smallest triangle to the largest triangle.
🔹 Display
Labels: Display Pattern Names, Arrows or nothing
Patterns: Display or not
Last Line: Display previous C-D line when updated
🔹 Style
Colors: Pattern Lines/Names/Arrows - background color of patterns
Text Size: Text Size of Pattern Names/Arrows
🔹 Calculation
Calculated Bars: Allows the usage of fewer bars for performance/speed improvement
Pairs trading[Maxxxz7]Pairs Trading
This script is designed to analyze and visualize the divergence or convergence of two selected financial instruments, making it an excellent tool for implementing a pairs trading strategy. Developed for the TradingView platform, it offers extensive customization options for analysis.
Key Features:
Asset Selection:
The first asset can be taken directly from the chart or specified manually.
The second asset is always selected manually.
Data Normalization:
Calculates the percentage change of both assets relative to their initial prices.
Includes an offset for better visual interpretation.
Visualization:
Plots normalized price charts for both assets.
Highlights crossovers between the assets.
Displays the spread (difference between normalized prices) graphically.
Alerts (Works only on the 30-minute timeframe):
Configurable thresholds to trigger alerts (e.g., when the difference is smaller or larger than a set value).
Alerts for crossovers of prices and exponential moving averages (EMA).
Dynamic Labels:
Automatically adds labels to mark key events: crossovers, critical spread values, and current price information.
EMA and Deviation Analysis:
Calculates EMA for each asset.
Alerts for EMA crossovers.
New Bar AlertThis is probably the simplest indicator on Tradingview, it generates an alert on every new bar.
Useful for strategies where you only need chart attention at the new bar, see if you have a setup.
Helps not having to stare at the charts, the alert will tell you when it's time to take a look.
Works on all timeframes but in order to keep your sanity, best used on higher timeframes, 5mins and up.
Asset MaxGain MinLoss Tracker [CHE]Asset MaxGain MinLoss Tracker – Your Tool to Discover the Best Trading Opportunities
Introduction
Hello dear traders,
Today, I'd like to introduce you to a fantastic tool: the Asset MaxGain MinLoss Tracker . This indicator is designed to help you identify the best trading opportunities in the market by analyzing the maximum gain and adjusted maximum loss potentials of various assets.
Why Use This Indicator?
1. Time-Saving Analysis
Instead of spending hours sifting through different charts, this indicator provides you with key metrics for up to 10 assets at a glance.
2. Compare Multiple Assets Simultaneously
Monitor and compare multiple assets to discover which ones offer the highest profit potential and the lowest risk of loss.
3. Customizable Settings
Adjust the observation period and select the assets you want to analyze according to your trading strategy.
4. Clear Visual Representation
Data is presented in an easy-to-read table directly on your chart, highlighting assets with the highest maximum gain and the lowest adjusted maximum loss.
How to Use It in Everyday Trading
Step 1: Setting Up the Indicator
Select Your Assets: Choose up to 10 assets you wish to track. These can be cryptocurrencies, stocks, forex pairs, etc.
Configure the Trading Period Length: Set the number of bars (candles) over which you want to calculate the maximum gain and adjusted maximum loss. This allows you to tailor the analysis to your preferred time frame, whether it's short-term trading or long-term investing.
Step 2: Interpreting the Results
Maximum Gain (%): This value shows the potential upside of each asset over the selected period. A higher percentage indicates a greater potential for profit if the asset's price moves upward.
Adjusted Maximum Loss (%): This figure represents the potential downside risk, adjusted to give a more accurate reflection of loss potential. A lower percentage means less risk of significant loss.
Category Highlighting: Assets are categorized based on their performance:
High Gain & Low Loss: Assets that have both the highest max gain and the lowest adjusted max loss.
High Gain: Assets with the highest max gain.
Low Loss: Assets with the lowest adjusted max loss.
Step 3: Making Trading Decisions
Identify Opportunities: Focus on assets categorized as High Gain & Low Loss for the most favorable risk-to-reward scenarios.
Risk Management: Use the adjusted maximum loss to assess and mitigate potential risks associated with each asset.
Portfolio Diversification: Allocate your investments across assets with varying levels of gain and loss potentials to diversify your portfolio effectively.
Practical Example
Imagine you're monitoring the following assets:
Asset 1: BTCUSD
Asset 2: ETHUSD
Asset 3: ADAUSD
Asset 4: XRPUSD
After applying the indicator:
BTCUSD shows a high maximum gain but also a high adjusted maximum loss.
ETHUSD has both a high maximum gain and a low adjusted maximum loss, categorizing it as High Gain & Low Loss.
ADAUSD indicates a low maximum gain but the lowest adjusted maximum loss.
XRPUSD reflects moderate values in both categories.
Decision Making:
Primary Focus: ETHUSD may be your top choice due to its high reward and lower risk.
Risk-Averse Option: ADAUSD could be considered if you prioritize minimizing losses.
Balanced Approach: Diversify by investing in both ETHUSD and ADAUSD.
Understanding the Core Functionality
While you don't need to delve deep into the code to use the indicator effectively, understanding its core function can enhance your confidence in the tool.
The Main Function: Calculating Max Gain and Adjusted Max Loss
The heart of the indicator is a function that calculates two critical metrics for each asset:
Maximum Gain (sym_MaxGain):
Purpose: Measures the highest potential profit over the selected period.
How It Works: It finds the lowest price (sym_minlow) within the period and calculates the percentage increase to the current high price. This shows how much you could have gained if you bought at the lowest point.
Adjusted Maximum Loss (sym_AdjustedMaxLoss):
Purpose: Provides an adjusted measure of the potential loss, giving a more realistic risk assessment.
How It Works: It identifies the highest price (sym_maxhigh) within the period and calculates the percentage decrease to the current low price. This value is adjusted to account for the diminishing impact as losses approach 100%.
Simplified Explanation of the Function
Data Retrieval: For each asset (sym), the function retrieves the high and low prices over the specified timeframe.
Calculations:
Find Highest and Lowest Prices: Determines sym_maxhigh and sym_minlow within the tracking period.
Compute Max Gain: Calculates the potential gain from sym_minlow to the current high.
Compute Max Loss: Calculates the potential loss from sym_maxhigh to the current low.
Adjust Max Loss: Adjusts the max loss calculation to prevent distortion as losses near 100%.
Output: Returns both sym_MaxGain and sym_AdjustedMaxLoss for further analysis.
Benefits of Understanding the Function
Transparency: Knowing how these values are calculated can increase your trust in the indicator's outputs.
Customization: If you're familiar with coding, you might tailor the function to suit specific trading strategies.
Enhanced Analysis: Understanding the underlying calculations allows you to interpret the results more effectively, aiding in better decision-making.
Conclusion
The Asset MaxGain MinLoss Tracker is a powerful tool that can significantly enhance your trading efficiency and effectiveness by:
Providing Quick Insights: Save time by getting immediate access to essential performance metrics of multiple assets.
Assisting in Risk Management: Use the adjusted maximum loss to understand and mitigate potential risks.
Supporting Strategic Decisions: Identify assets with the best risk-to-reward ratios to optimize your trading strategy.
Take advantage of this indicator to elevate your trading game and make more informed decisions with confidence.
Thank you for your time, and happy trading!
Disclaimer:
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
This indicator is inspired by the "Max Gain" indicator. A special thanks to Skipper86 for his relentless effort, creativity, and contributions to the TradingView community, which served as a foundation for this work.
Prometheus Markov ChainThe Prometheus Markov Chain Indicator is a custom-built tool designed to predict potential future price movements using a Markov Chain approach. A Markov Chain is a statistical model that assumes the probability of moving to a future state depends solely on the current state. In this indicator, states represent price movement classifications—bullish, bearish, or neutral—and are determined based on historical price changes (percentage returns). The indicator builds a transition matrix to calculate probabilities of transitioning from one state to another, enabling traders to identify patterns and forecast likely price actions.
Core Functionality and Transition Matrix
The transition matrix is the backbone of the Markov Chain. It captures the frequency of transitions between states in the historical price data and normalizes these counts into probabilities. For example, if the price was in a bearish state and transitioned to a bullish state 3 out of 10 times, the probability of transitioning from bearish to bullish would be 0.3. The matrix is created dynamically using the stateFunc function to classify states, which can use either dynamic thresholds (highest and lowest returns over a lookback period) or a user-defined percent return threshold. Below is the snippet that updates the transition matrix:
transitionMatrix = matrix.new(dimension, dimension, 0.0)
for i = 0 to array.size(vec) - 2
fromState = array.get(vec, i)
toState = array.get(vec, i + 1)
transitionMatrix.set(fromState, toState, transitionMatrix.get(fromState, toState) + 1)
for i = 0 to dimension - 1
rowSum = 0.0
for j = 0 to dimension - 1
rowSum += transitionMatrix.get(i, j)
for j = 0 to dimension - 1
prob = transitionMatrix.get(i, j) / rowSum
transitionMatrix.set(i, j, prob)
This snippet iterates through historical price movements, counts state transitions, and then normalizes each row of the matrix so that the sum of probabilities for all possible transitions from a given state equals 1.
How the Indicator Predicts Future States
After constructing the transition matrix, the indicator calculates the current state of the price based on the latest percentage return and then uses the matrix to compute probabilities for transitioning to other states. The state with the highest probability is predicted as the next state, which is displayed on the chart using color-coded labels: green for bullish and red for bearish. The following snippet demonstrates how the current state and predictions are calculated:
current_chng = (close - close ) / close
var int current_state = na
if not use_custom_thresh
highest_chng = ta.highest(current_chng, int(size) * 2)
lowest_chng = ta.lowest(current_chng, int(size) * 2)
current_state := stateFunc(current_chng, highest_chng, lowest_chng)
else
current_state := stateFunc(current_chng, custom_thresh)
predicted_probs = array.new(dimension, 0.0)
for j = 0 to dimension - 1
array.set(predicted_probs, j, transitionMatrix.get(current_state, j))
The indicator evaluates which state has the highest transition probability (highest_prob) and places corresponding labels on the chart. For example, if the next state is predicted to be bullish, a green "Bullish" label is placed below the current bar. This predictive functionality helps traders anticipate potential reversals or continuations in price trends based on historical behavior patterns.
Usage:
Here we see the indicator at work on $PLTR. The states predicted are bullish then bearish. In this example we then see price move in a way that verifies those predictions.
On this 4 Hour NASDAQ:AMZN chart we see predictions play out in a short trade style. States quickly move from one to another but not without giving traders a way to take advantage.
This is the perspective we aim to provide. We encourage traders to not follow indicators blindly. No indicator is 100% accurate. This one can give you a different perspective market state. We encourage any comments about desired updates or criticism!
Richs Market StructureThis Pine Script indicator, "Last Bullish High & Lowest Low Tracker with Timeframe Background and Fill", is designed to visually track bullish and bearish trends based on price action on the current chart and a user-defined timeframe. It provides dynamic line plotting, area fills, and background coloring to represent trend alignment between the current chart and the selected timeframe.
Features and Functionalities
Tracks Bullish Highs and Bearish Lows:
The script identifies:
Bullish High: The highest price reached after a bullish (green) candle.
Bearish Low: The lowest price reached after a bearish (red) candle.
It dynamically updates these levels based on the price movements.
Line Plotting:
Current Chart Lines:
The Plotted Bullish High line (green/red) indicates the last bullish high.
The Lowest Low line (green/red) indicates the last bearish low.
Selected Timeframe Lines:
A separate set of lines is plotted for the user-defined timeframe (e.g., daily, weekly):
A Bullish High Line for the selected timeframe (lighter green).
A Lowest Low Line for the selected timeframe (lighter red).
Dynamic Area Fills:
The area between the Plotted Bullish High and Lowest Low is filled:
Green Fill: When both lines are green (indicating a bullish alignment).
Red Fill: When both lines are red (indicating a bearish alignment).
For the selected timeframe:
The area between the timeframe-specific Bullish High and Lowest Low is similarly filled with lighter colors.
Background Color Based on Timeframe Alignment:
The background color represents the trend alignment on the selected timeframe:
Green Background: When the timeframe’s Bullish High is rising and Lowest Low is rising (bullish trend).
Red Background: When the timeframe’s Bullish High is falling and Lowest Low is falling (bearish trend).
What It’s For
This indicator is designed for traders who want to:
Visualize Trends Across Timeframes:
It helps identify when the current chart’s trend aligns with a higher timeframe trend (e.g., daily, weekly).
Useful for multi-timeframe analysis.
Spot Bullish and Bearish Trends:
The color-coded lines and fills clearly show the dominant trend on both the current chart and the selected timeframe.
Plan Trades Based on Trend Alignment:
When the current chart and selected timeframe show the same trend:
Both lines and fills turn green (bullish).
Both lines and fills turn red (bearish).
This alignment is a potential signal for entering long or short trades.
Identify Reversals and Divergences:
Divergence between the current chart and timeframe trends (e.g., green on one, red on the other) may indicate trend weakening or reversal.
Visual Elements
Lines:
Solid lines (current chart): Represent the Plotted Bullish High and Lowest Low.
Dashed/lighter lines (selected timeframe): Represent the timeframe-specific Bullish High and Lowest Low.
Fills:
Green/Red fills highlight trend zones:
On the current chart (darker).
On the selected timeframe (lighter).
Background:
The entire chart background turns green or red based on the selected timeframe’s trend alignment.
Summary
This indicator is ideal for traders who want a clear visual representation of price trends and multi-timeframe alignment. It simplifies trend-following strategies by providing:
Easy-to-interpret fills and background colors.
Clear bullish and bearish zones.
Multi-timeframe trend confirmation.
Stock vs Sector Comparison with HighlightsThis graph is meant as a support to select a stock that is expected to perform better than the sector.
The graph is based on weekly chart. So this is a medium / long term strategy.
How is expected to be used: when the stock has under performed the sector for some time, there is a natural tendence that it will catch up with the sector again. So, for example, if the color change from green to red, you should consider find another stock in the sector. If the stock looses the green color, but is not red yet, you should wait. And vice versa if you start with red. However, life is not that simple, as you can get fake signal. To mitigate this problem, you can adjust the threshold in the input setting, so just go for the signal after x weeks over/underperforming. You also need remember to select the sector in the settings, as the sector is not give automatically when you select the stock.
Below the sectors used:
Sector Name Ticker
S&P 500 (Market Index) SPY
Technology XLK
Financials XLF
Consumer Discretionary XLY
Industrials XLI
Health Care XLV
Consumer Staples XLP
Energy XLE
Utilities XLU
Communication Services XLC
Real Estate XLRE
Materials XLB
Buy and Sell Signal at 50% Retracement, Based on MANDO MODELthe sell is taking out a previous high. leave some runners and practice safe trading.
Explanation of Behavior:
When the price retraces 50% of the defined range (from the low to high), a Buy signal is triggered.
After the Buy signal, if the price moves above the previous high (after retracement), a Sell signal is triggered.
Once a Sell signal is triggered, the range is reset, and a new range needs to form before another signal can be triggered.
Test this:
Apply the script to your chart.
Check for Buy signals when the price crosses the 50% retracement level.
Sell signals will trigger once the price breaks above the previous high after the retracement phase.
Ensure that the signals are plotted as arrows on the chart and that the background color changes to indicate Buy or Sell.
Alerts Setup:
To set up alerts:
Right-click on the chart and select Add Alert.
For Buy Signal: Choose the condition Buy and Sell Signal at 50% Retracement with Top Break > Buy Signal.
For Sell Signal: Choose the condition Buy and Sell Signal at 50% Retracement with Top Break > Sell Signal.
Set your preferred alert type (popup, email, etc.).
Click Create to set the alert.
Dynamic Horizontal Lines
Gann levels (squares of 9) have multiple levels. Adding lines at all these levels would add too much noise on the chart.
This indicator adds horizontal lines as per the Gann levels (Squares of 9) closest to the days close.
The current indicator add horizontal lines at the Gann level closest to the days close. It also adds 4 lines above & below the closest Gann level
I have considered Gann levels from 1 to 10000. You can append the Gann levels based on your requirements.
Multi-LTF Fisher Transform -AYNETJohn F. Ehlers is a renowned figure in the field of financial markets and technical analysis. With a strong background in engineering and digital signal processing (DSP), Ehlers has applied his expertise to the development of innovative technical indicators and trading systems. His work focuses on using mathematical concepts, particularly those from signal processing, to analyze financial data. THANKS.
Simple Explanation of the Code
This Pine Script code calculates and plots Fisher Transform values for up to 6 different timeframes. The user can enable or disable each timeframe, and each Fisher Transform line is displayed in a unique color. Labels at the end of the lines indicate the timeframe.
Key Components of the Code
User Inputs:
Timeframes: The user specifies up to 6 different timeframes (ltf_1, ltf_2, etc.).
Enable/Disable Options: The user can choose which timeframes to enable using checkboxes (enable_1, enable_2, etc.).
Fisher Transform Length: The number of periods (fisher_length) used to calculate the Fisher Transform.
Fisher Transform Calculation:
For each enabled timeframe, the Fisher Transform is calculated using the fisher_transform_func() function:
Lowest Low and Highest High over the given period are fetched.
The Fisher Transform formula normalizes the price and transforms it into an oscillating value.
Dynamic Plotting:
Each Fisher Transform is plotted in a unique color if the corresponding timeframe is enabled.
Labels are added at the end of the lines to indicate the timeframe (e.g., "15m", "1H").
Visual Enhancements:
Unique colors for each line (green, blue, orange, etc.).
Labels dynamically display the timeframe names.
What the Code Does
Calculates Fisher Transform:
For example, for a 15m timeframe:
Finds the lowest low and highest high over the specified period.
Applies the Fisher Transform formula to normalize and smooth the values.
Plots Active Timeframes:
Only the enabled timeframes are plotted.
Each enabled Fisher Transform is plotted as a separate line.
Adds Labels:
At the end of each plotted line, a label indicates which timeframe it represents.
How It Looks
Each active timeframe is displayed as a colored oscillating line on the chart.
Labels like "15m" or "1H" appear at the end of the lines.
Inactive timeframes are not shown.
User Interaction
Input Parameters:
Select the desired timeframes (e.g., "15m", "1H", "4H").
Enable or disable specific timeframes.
Adjust the Fisher Transform period length.
Output:
View Fisher Transform lines for active timeframes.
Use labels to identify which line corresponds to which timeframe.
Why It’s Useful
Multi-Timeframe Analysis:
Helps compare momentum across different timeframes.
Customizable:
Users can enable only the timeframes they want.
Visual Clarity:
Unique colors and labels make it easy to distinguish between timeframes.
If you need further simplifications or more details, feel free to ask! 😊
TFMTFM Strategy Explanation
Overview
The TFM (Timeframe Multiplier) strategy is a PineScript trading bot that utilizes multiple timeframes to identify entry and exit points.
Inputs
1. tfm (Timeframe Multiplier): Multiplies the chart's timeframe to create a higher timeframe for analysis.
2. lns (Long and Short): Enables or disables short positions.
Logic
Calculations
1. chartTf: Gets the chart's timeframe in seconds.
2. tfTimes: Calculates the higher timeframe by multiplying chartTf with tfm.
3. MintickerClose and MaxtickerClose: Retrieve the minimum and maximum closing prices from the higher timeframe using request.security.
- MintickerClose: Finds the lowest low when the higher timeframe's close is below its open.
- MaxtickerClose: Finds the highest high when the higher timeframe's close is above its open.
Entries and Exits
1. Long Entry: When the current close price crosses above MaxtickerClose.
2. Short Entry (if lns is true): When the current close price crosses below MintickerClose.
3. Exit Long: When the short condition is met (if lns is false) or when the trade is manually closed.
Strategy
1. Attach the script to a chart.
2. Adjust tfm and lns inputs.
3. Monitor entries and exits.
Example Use Cases
1. Intraday trading with tfm = 2-5.
2. Swing trading with tfm = 10-30.
Tips
1. Experiment with different tfm values.
2. Use lns to control short positions.
3. Combine with other indicators for confirmation.
Moving Average Pullback Signals [UAlgo]The "Moving Average Pullback Signals " indicator is designed to identify potential trend continuation or reversal points based on moving average (MA) pullback patterns. This tool combines multiple types of moving averages, customized trend validation parameters, and candlestick wick patterns to provide reliable buy and sell signals. By leveraging several advanced MA methods (such as TEMA, DEMA, ZLSMA, and McGinley-D), this script can adapt to different market conditions, providing traders with flexibility and more precise trend-based entries and exits. The addition of a gradient color-coded moving average line and wick validation logic enables traders to visualize market sentiment and trend strength dynamically.
🔶 Key Features
Multiple Moving Average (MA) Calculation Methods: This indicator offers various MA calculation types, including SMA, EMA, DEMA, TEMA, ZLSMA, and McGinley-D, allowing traders to select the MA that best fits their strategy.
Trend Validation and Pattern Recognition: The indicator includes a customizable trend validation length, ensuring that the trend is consistent before buy/sell signals are generated. The "Trend Pattern Mode" setting provides flexibility between "No Trend in Progress," "Trend Continuation," and "Both," tailoring signals to the trader’s preferred style.
Wick Validation Logic: To enhance the accuracy of entries, this indicator identifies specific wick patterns for bullish or bearish pullbacks, which signal potential trend continuation or reversal. Wick length and validation factor are adjustable to suit various market conditions and timeframes.
Gradient Color-coded MA Line: This feature provides a quick visual cue for trend strength, with color changes reflecting relative highs and lows of the MA, enhancing market sentiment interpretation.
Alerts for Buy and Sell Signals: Alerts are triggered when either a bullish or bearish pullback is detected, allowing traders to receive instant notifications without continuously monitoring the chart.
Visual Labels for Reversal Points: The indicator plots labels ("R") at potential reversal points, with color-coded labels for bullish (green) and bearish (red) pullbacks, highlighting pullback opportunities that align with the trend or reversal potential.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.