Prometheus OscillatorThis oscillator is a tool meant to determine an up or down trend using a measure of volatility and what skews the market has.
Calculation
The first thing to do is normalize the price to have a 0 handle and be a decimal. The reason to do this is to get the 0 line for every asset.
After the source value has been normalized calculate standard deviation and skew.
Standard Deviation
To calculate standard deviation Prometheus uses Pinescript's built-in function.
standard_dev = ta.stdev(src, len, true)
Standard deviation is a decent and quick estimation of historical volatility over a period of time specified by the user.
Skew
Skew is calculated as follows:
mean = ta.sma(src, len)
m3 = math.sum(math.pow(src - mean, 3), len) / len
m2 = math.pow(math.sum(math.pow(src - mean, 2), len) / len, 1.5)
skew = m3 / m2
Skew is a value used to determine how far on one side of a distribution a value is. When the market is aggressively moving higher the skew will be a bigger positive number. When it is moving lower, a negative number. When the values are small, still either positive or negative, is when the market is moving calmly in either direction.
Adding these two values together provides us with our oscillator.
Trade Examples
A simple way to use this tool is to use 0-line crosses as bullish or bearish alerts
Step 1: Cross above 0 line, long alert. The price proceeds to move up.
Step 2: Cross below 0 line, short alert. The Price moves down.
Step 3: Cross above 0 line, long alert. The price chops then the price proceeds to move up.
0 line crosses can work but may not always be reliable.
Step 1: Cross above 0 line, long alert. The price proceeds to move up.
Step 2: Cross below 0 line, short alert. The Price bounces as the downtrend is signaled, but then continues to sell off.
Step 3: Cross above 0 line, long alert. The price chops at the high and then reverses.
Step 4: Cross below 0 line, short alert. proceeds to move down.
Step 5: Cross above 0 line, long alert. The price proceeds to move up.
Not every alert will be perfect, we encourage traders to use tools as well as their own discretion.
Previous highs and lows may be a good tell if the alert will be true.
Step 1: Cross above 0 line, long alert. The price proceeds to move up.
Step 2: Cross below 0 line, short alert. The Price bounces as the downtrend is signaled, false alert.
Step 3: Cross above 0 line, long alert. The price chops at the high and then moves up.
Step 4: Cross below 0 line, short alert. The price chops a lot with a false break to the upside, the oscillator itself does not move fast or high which could have been a sign it was false.
Step 5: Step 3's downtrend continues.
Step 6: Cross above the 0 line. A new up trend emerges.
The indicator has more than one use. Detecting false moves in a greater trend is advantageous to not get faked out.
Step 1: Price moves up, however, the oscillator does not break 0, and the trend remains bearish before a true break of 0 line and moves up.
Step 2: While the oscillator is below the 0 line the price moves up. The oscillator does not change its sign and the downtrend continues until a true break of 0 line and moves up.
Inputs:
Len: Lookback length for how many bars back to go to calculate the oscillator.
No indicator is 100% accurate, use them along with your own discretion.
Komut dosyalarını "alert" için ara
Energy ScriptEnergy Script Indicator
Description of Indicator
The Energy Script Indicator calculates the market's energy using the formula `Energy = Price * sqrt(Volume)`; providing insight into market activity by combining price movement and volume. This indicator is designed to help traders identify potential reversals and continuation points based on energy levels.
Features
Energy Calculation: Utilizes price and volume to compute market energy, highlighting significant activity changes.
Smoothing Options: Two customizable smoothing periods to filter out noise and highlight trends.
Threshold Alert: Set a threshold value to receive alerts when energy exceeds predefined levels, aiding in quick decision-making.
Customizable Colors: Choose colors for different plot lines to suit your charting preferences.
How to Use:
1. Smoothing Periods: Adjust `Smoothing 1` and `Smoothing 2` to control the sensitivity of the energy plots.
2. Threshold: Set the `Threshold` value to identify significant energy levels. Enable or disable threshold plotting as needed.
3. Volume Integration: Toggle `Use Volume` to include or exclude volume in energy calculations.
4. Alerts: Receive alerts when energy levels cross the defined threshold, signaling potential market movements.
This indicator is a powerful tool for analyzing market dynamics by combining price action with volume, providing a deeper understanding of market energy and potential trading opportunities.
Chande Kroll Trend Strategy (SPX, 1H) | PINEINDICATORSThe "Chande Kroll Stop Strategy" is designed to optimize trading on the SPX using a 1-hour timeframe. This strategy effectively combines the Chande Kroll Stop indicator with a Simple Moving Average (SMA) to create a robust method for identifying long entry and exit points. This detailed description will explain the components, rationale, and usage to ensure compliance with TradingView's guidelines and help traders understand the strategy's utility and application.
Objective
The primary goal of this strategy is to identify potential long trading opportunities in the SPX by leveraging volatility-adjusted stop levels and trend-following principles. It aims to capture upward price movements while managing risk through dynamically calculated stops.
Chande Kroll Stop Parameters:
Calculation Mode: Offers "Linear" and "Exponential" options for position size calculation. The default mode is "Exponential."
Risk Multiplier: An adjustable multiplier for risk management and position sizing, defaulting to 5.
ATR Period: Defines the period for calculating the Average True Range (ATR), with a default of 10.
ATR Multiplier: A multiplier applied to the ATR to set stop levels, defaulting to 3.
Stop Length: Period used to determine the highest high and lowest low for stop calculation, defaulting to 21.
SMA Length: Period for the Simple Moving Average, defaulting to 21.
Calculation Details:
ATR Calculation: ATR is calculated over the specified period to measure market volatility.
Chande Kroll Stop Calculation:
High Stop: The highest high over the stop length minus the ATR multiplied by the ATR multiplier.
Low Stop: The lowest low over the stop length plus the ATR multiplied by the ATR multiplier.
SMA Calculation: The 21-period SMA of the closing price is used as a trend filter.
Entry and Exit Conditions:
Long Entry: A long position is initiated when the closing price crosses over the low stop and is above the 21-period SMA. This condition ensures that the market is trending upward and that the entry is made in the direction of the prevailing trend.
Exit Long: The long position is exited when the closing price falls below the high stop, indicating potential downward movement and protecting against significant drawdowns.
Position Sizing:
The quantity of shares to trade is calculated based on the selected calculation mode (linear or exponential) and the risk multiplier. This ensures position size is adjusted dynamically based on current market conditions and user-defined risk tolerance.
Exponential Mode: Quantity is calculated using the formula: riskMultiplier / lowestClose * 1000 * strategy.equity / strategy.initial_capital.
Linear Mode: Quantity is calculated using the formula: riskMultiplier / lowestClose * 1000.
Execution:
When the long entry condition is met, the strategy triggers a buy signal, and a long position is entered with the calculated quantity. An alert is generated to notify the trader.
When the exit condition is met, the strategy closes the position and triggers a sell signal, accompanied by an alert.
Plotting:
Buy Signals: Indicated with an upward triangle below the bar.
Sell Signals: Indicated with a downward triangle above the bar.
Application
This strategy is particularly effective for trading the SPX on a 1-hour timeframe, capitalizing on price movements by adjusting stop levels dynamically based on market volatility and trend direction.
Default Setup
Initial Capital: $1,000
Risk Multiplier: 5
ATR Period: 10
ATR Multiplier: 3
Stop Length: 21
SMA Length: 21
Commission: 0.01
Slippage: 3 Ticks
Backtesting Results
Backtesting indicates that the "Chande Kroll Stop Strategy" performs optimally on the SPX when applied to the 1-hour timeframe. The strategy's dynamic adjustment of stop levels helps manage risk effectively while capturing significant upward price movements. Backtesting was conducted with a realistic initial capital of $1,000, and commissions and slippage were included to ensure the results are not misleading.
Risk Management
The strategy incorporates risk management through dynamically calculated stop levels based on the ATR and a user-defined risk multiplier. This approach ensures that position sizes are adjusted according to market volatility, helping to mitigate potential losses. Trades are sized to risk a sustainable amount of equity, adhering to the guideline of risking no more than 5-10% per trade.
Usage Notes
Customization: Users can adjust the ATR period, ATR multiplier, stop length, and SMA length to better suit their trading style and risk tolerance.
Alerts: The strategy includes alerts for buy and sell signals to keep traders informed of potential entry and exit points.
Pyramiding: Although possible, the strategy yields the best results without pyramiding.
Justification of Components
The Chande Kroll Stop indicator and the 21-period SMA are combined to provide a robust framework for identifying long trading opportunities in trending markets. Here is why they work well together:
Chande Kroll Stop Indicator: This indicator provides dynamic stop levels that adapt to market volatility, allowing traders to set logical stop-loss levels that account for current price movements. It is particularly useful in volatile markets where fixed stops can be easily hit by random price fluctuations. By using the ATR, the stop levels adjust based on recent market activity, ensuring they remain relevant in varying market conditions.
21-Period SMA: The 21-period SMA acts as a trend filter to ensure trades are taken in the direction of the prevailing market trend. By requiring the closing price to be above the SMA for long entries, the strategy aligns itself with the broader market trend, reducing the risk of entering trades against the overall market direction. This helps to avoid false signals and ensures that the trades are in line with the dominant market movement.
Combining these two components creates a balanced approach that captures trending price movements while protecting against significant drawdowns through adaptive stop levels. The Chande Kroll Stop ensures that the stops are placed at levels that reflect current volatility, while the SMA filter ensures that trades are only taken when the market is trending in the desired direction.
Concepts Underlying Calculations
ATR (Average True Range): Used to measure market volatility, which informs the stop levels.
SMA (Simple Moving Average): Used to filter trades, ensuring positions are taken in the direction of the trend.
Chande Kroll Stop: Combines high and low price levels with ATR to create dynamic stop levels that adapt to market conditions.
Risk Disclaimer
Trading involves substantial risk, and most day traders incur losses. The "Chande Kroll Stop Strategy" is provided for informational and educational purposes only. Past performance is not indicative of future results. Users are advised to adjust and personalize this trading strategy to better match their individual trading preferences and risk tolerance.
CARNAC Trading Support and Resistance LevelsOverview
The "Carnac Trading Support and Resistance Levels" indicator is a powerful tool designed to help traders identify key support and resistance levels across multiple timeframes. This tool enhances trading strategies by visually marking significant price levels and providing configurable stop-loss and alert features.
Features
Support and Resistance Levels: Automatically calculates and plots support and resistance levels for the following timeframes:
5 minutes (5M)
10 minutes (10M)
15 minutes (15M)
30 minutes (30M)
1 hour (1H)
2 hours (2H)
4 hours (4H)
6 hours (6H)
12 hours (12H)
1 day (1D)
1 week (1W)
1 month (1M)
Configurable Stop-Loss (SL) Levels: Adds a stop-loss line below each support level and above each resistance level with customizable padding (as a percentage).
Visual Labels: Clearly labels support, resistance, and stop-loss levels with the corresponding prices and timeframes for easy identification.
Line Customization:
Support Levels: Green lines with varying thickness based on the timeframe.
Resistance Levels: Red lines with varying thickness based on the timeframe.
Stop-Loss Levels: Gray dotted lines for clear distinction.
Alerts: Alerts trigger when the price gets to a configurable percentage from the support or resistance levels, helping you stay informed about potential buying and selling opportunities.
Visibility Toggling: Easily toggle the visibility of support and resistance levels for each timeframe (default enabled for 2H, 4H, and 1D).
How to Use
Add the Indicator:
Navigate to the TradingView Pine Editor.
Paste the provided Pine Script code and click "Add to Chart."
Configure Inputs:
Lookback Periods: Adjust the lookback periods for each timeframe to suit your analysis needs.
Padding Percentage: Set the padding percentage for the stop-loss levels to define the distance below the support levels and above the resistance levels.
Visibility: Toggle the visibility of the support and resistance levels for each timeframe as needed (default enabled for 2H, 4H, and 1D).
Alert Trigger Distance: Set the alert trigger distance as a percentage to determine when the alerts should be triggered.
Interpret the Plotted Levels:
Green Lines: Indicate support levels for the respective timeframes.
Red Lines: Indicate resistance levels for the respective timeframes.
Gray Dotted Lines: Represent the stop-loss levels below each support level and above each resistance level, with the specified padding.
Labels: Provide clear indications of the price levels and their respective timeframes in white text for visibility.
Identifying Buying and Selling Opportunities:
Buying Opportunities:
Look for the price to approach or bounce off a support level (green line).
Confirm the potential for a reversal by checking if the price is nearing a key support level from multiple timeframes.
Use the stop-loss level (gray dotted line) to set your stop-loss order below the support level to minimize risk.
Selling Opportunities:
Look for the price to approach or get rejected at a resistance level (red line).
Confirm the potential for a reversal by checking if the price is nearing a key resistance level from multiple timeframes.
Use the stop-loss level (gray dotted line) to set your stop-loss order above the resistance level to minimize risk.
Alerts:
Alerts will notify you when the price gets within the specified percentage distance from each support or resistance level.
Use these alerts to stay informed about potential buying and selling opportunities.
Auto Price LevelsMain Function:
This script creates horizontal lines on the chart at the market open price levels for different timeframes (4H, Daily, Weekly, Monthly). It helps traders track the open price levels and analyze their impact on the current price movements.
Unique Features:
Multi-Timeframe Support: The script allows users to display horizontal lines for 4-hour, daily, weekly, and monthly timeframes, providing a comprehensive view of market open prices across different periods.
Customization Options: Users can customize the line color, width, and style (solid, dotted, or dashed) for each timeframe separately, offering flexibility to match their charting preferences.
Sensitivity Setting: The script includes a sensitivity setting to filter lines based on the price movement percentage, allowing traders to focus on significant price levels.
Day Filter: Users can enable a day filter to limit the display of lines to a specific number of days, which helps in reducing chart clutter and focusing on recent price levels.
Automatic Updates: The script automatically updates the lines based on the latest market data, ensuring that traders always have the most relevant information.
Alerts: Integrated alert conditions notify traders when the price crosses above or below the open price on any of the specified timeframes, enabling timely decision-making.
How It Works:
Line Creation: For each selected timeframe, the script calculates the open price and compares it to the close price to determine the level at which the horizontal line should be drawn.
Line Management: The script manages the creation and deletion of lines to ensure only relevant lines are displayed, based on the user-defined sensitivity and day filter settings.
Customization: Through the input settings, traders can personalize the appearance and behavior of the lines to suit their specific trading strategies and preferences.
Alerts: The script sets up alert conditions that trigger notifications when the price crosses the open price levels, helping traders stay informed of critical market movements.
How to Use:
Select Timeframes: Enable or disable the display of lines for 4-hour, daily, weekly, and monthly timeframes as needed.
Customize Lines: Adjust the line color, width, and style for each timeframe using the input settings.
Set Sensitivity: Define the sensitivity percentage to filter lines based on significant price movements.
Enable Day Filter: If desired, enable the day filter and set the number of days to display lines.
Monitor Alerts: Set up alerts to receive notifications when the price crosses the open price levels on any of the chosen timeframes.
This script is designed to enhance traders' ability to monitor key price levels and make informed trading decisions. Its unique features and customization options provide a valuable tool for analyzing market open prices across multiple timeframes.
Advanced MACD [CryptoSea]Advanced MACD (AMACD) enhances the traditional MACD indicator, integrating innovative features for traders aiming for deeper insights into market momentum and sentiment. It's crafted for those seeking to explore nuanced behaviors of the MACD histogram, thus offering a refined perspective on market dynamics.
Divergence moves can offer insight into continuation or potential reversals in structure, the example below is a clear continuation signal.
Key Features
Enhanced Histogram Analysis: Precisely tracks movements of the MACD histogram, identifying growth or decline periods, essential for understanding market momentum.
High/Low Markers: Marks the highest and lowest points of the histogram within a user-defined period, signaling potential shifts in the market.
Dynamic Averages Calculation: Computes average durations of histogram phases, providing a benchmark against historical performance.
Color-Coded Histogram: Dynamically adjusts the histogram's color intensity based on the current streak's duration relative to its average, offering a visual cue of momentum strength.
Customisable MACD Settings: Enables adjustments to MACD parameters, aligning with individual trading strategies.
Interactive Dashboard: Showcases an on-chart table with average durations for each phase, aiding swift decision-making.
Settings & Customisation
MACD Settings: Customise fast length, slow length, and signal smoothing to tailor the MACD calculations to your trading needs.
Reset Period: Determine the number of bars to identify the histogram's significant high and low points.
Histogram High/Lows: Option to display critical high and low levels of the histogram for easy referencing.
Candle Colours: Select between neutral or traditional candle colors to match your analytical preferences.
When in strong trends, you can use the average table to determine when to look to get into a position. This example we are in a strong downtrend, we then see the histogram growing above the average in these conditions which is where we should look to get into a shorting position.
Strategic Applications
The AMACD serves not just as an indicator but as a comprehensive analytical tool for spotting market trends, momentum shifts, and potential reversal points. It's particularly useful for traders to:
Spot Momentum Changes Utilise dynamic coloring and streak tracking to alert shifts in momentum, helping anticipate market movements.
Identify Market Extremes Use high and low markers to spot potential market turning points, aiding in risk management and decision-making.
Alert Conditions
Above Average Movement Alerts: Triggered when the duration of the MACD histogram's growth or decline is unusually long, these alerts signal sustained momentum:
Above Zero: Alerts for both growing and declining movements above zero, indicating either continued bullish trends or potential bearish reversals.
Below Zero: Alerts for growth and decline below zero, pointing to potential bullish reversals or confirmed bearish trends.
High/Low Break Alerts: Activated when the histogram reaches new highs or falls to new lows beyond the set thresholds, these alerts are crucial for identifying shifts in market dynamics:
Break Above Last High: Indicates a potential upward trend as the histogram surpasses recent highs.
Break Below Last Low: Warns of a possible downward trend as the histogram drops below recent lows.
These alert conditions enable traders to automate part of their market monitoring or potential to automate the signals to take action elsewhere.
Adaptive Schaff Trend Cycle (STC) [AlgoAlpha]Introducing the Adaptive Schaff Trend Cycle by AlgoAlpha: Elevate Your Trading Strategies 🚀
Discover precision and adaptability with the Adaptive Schaff Trend Cycle 🎯, meticulously crafted for traders seeking an edge in the markets. This advanced tool integrates sophisticated algorithms to offer clear insights and real-time analytics 📈.
Key Features:
⚙️Adaptive Signal Processing: Utilizes evolving calculations to adjust to market changes, offering highly responsive signals.
🔍Enhanced MACD Analysis: Innovates on the traditional MACD, providing new insights into market dynamics through an adaptive lens.
🎨Customizable Visual Experience: Features customizable up and down colors for tailored chart analysis.
🔔Real-Time Alerts: Stay informed with instant alerts on indicator changes.
Quick Guide to Using the Adaptive STC Indicator
1. 🔧 Adding the Indicator: Search for "Adaptive Schaff Trend Cycle (STC) " within TradingView's Indicators & Strategies and apply it to your chart. Customize the settings according to your trading style for optimum results.
2.👀 Market Analysis: Monitor the STC and Histogram values closely. The indicator's color gradients provide a visual representation of momentum shifts, helping you to identify trends more clearly.
3. 🚨 Set Alerts: Enable alerts for specific conditions like significant moves up or down, or when the histogram crosses zero. This feature ensures you never miss a potential trading opportunity.
How It Works:
The Adaptive Schaff Trend Cycle by AlgoAlpha introduces a dynamic approach to market analysis, refining traditional indicators through adaptive logic to align with fluctuating market conditions. Here's a concise overview of its operation:
🔄 Adaptive MACD Adjustment: The foundation of the indicator is an enhanced MACD calculation, which dynamically adjusts its parameters based on real-time market trends and momentum. This algorithmic adjustment aims to ensure the MACD's responsiveness to market changes, adapting its sensitivity to offer timely insights .
🌟 Integration of Schaff Trend Cycle (STC): After adjusting the MACD, the indicator calculates STC values to provide a smoothed representation of market trends. By normalizing and smoothing the MACD values on a scale from 0 to 100, the STC method helps in identifying market phases with a clear visualization. The smoothing process is designed to mitigate noise and focus on significant market movements .
📊 Visualization and Alerts: To aid in the interpretation of these insights, the Adaptive Schaff Trend Cycle employs color gradients and customizable visual settings to indicate momentum shifts. These visual cues, combined with alert functionalities, are structured to assist traders in monitoring market developments, enabling them to make informed decisions based on the presented data .
🛠️The Adaptive Schaff Trend Cycle thus merges adaptive MACD adjustments with STC methodology, supported by visual and alert features, to create a tool aimed at enhancing market analysis. By focusing on adaptability and current market conditions, it provides a nuanced view of market trends, intended to support traders in their decision-making processes without promising predictive accuracy or reliability .
Expected Intraday MovementThis indicator pretends to represent the "probable" maximum movement of an asset, for the rest of the day.
This indicator should be used "only" in intraday timeframe. You will not be able to see it if you select a longer timeframe.
To calculate the probable maximum movement, the indicator uses the VIX value for each minute.
On the first candle of the day, it also calculates the probable maximum movement for the whole day, and plots it in horizontal lines.
It also allows adding a couple of extra lines (for visual purposes only).
It also allows the creation of alerts, so that when the value of the asset is close to one of the limits, it can send you an alert using the Tradingview alert system.
Summary of parameters:
Intraday bands: allows you to show/hide the bands for each minute.
Intraday first candle projection: allows to show/hide the estimated projection from the first candle of the day.
Enable alert: allows to enable/disable alerts.
Upper and lower band offset: optional offset where alarms will be triggered (e.g. 10 points before the limit is reached).
Intraday Extra Projection: allows to show/hide extra levels (for visual purposes only)
Upper and lower extra: values for extra levels.
As always, no indicator is meant to provide a single, reliable strategy to your trading regimen and no indicator or group of indicators should be relied on solely. Be sure to do your own analysis and assessments of the stock prior to taking any trades.
Safe trades everyone!
Pineconnector Strategy Template (Connect Any Indicator)Hello traders,
If you're tired of manual trading and looking for a solid strategy template to pair with your indicators, look no further.
This Pine Script v5 strategy template is engineered for maximum customization and risk management.
Best part?
It’s optimized for Pineconnector, allowing seamless integration with MetaTrader 4 and 5.
This powerful tool gives a lot of power to those who don't know how to code in Pinescript and are looking to automate their indicators' signals on Metatrader 4/5.
IMPORTANT NOTES
Pineconnector is a trading bot software that forwards TradingView alerts to your Metatrader 4/5 for automating trading.
Many traders don't know how to dynamically create Pineconnector-compatible alerts using the data from their TradingView scripts.
Traders using trading bots want their alerts to reflect the stop-loss/take-profit/trailing-stop/stop-loss to break options from your script and then create the orders accordingly.
This script showcases how to create Pineconnector alerts dynamically.
Pineconnector doesn't support alerts with multiple Take Profits.
As a workaround, for 2 TPs, I had to open two trades.
It's not optimal, as we end up paying more spreads for that extra trade - however, depending on your trading strategy, it may not be a big deal.
TRADINGVIEW ALERTS
1) You'll have to create one alert per asset X timeframe = 1 chart.
Example: 1 alert for EUR/USD on the 5 minutes chart, 1 alert for EUR/USD on the 15-minute chart (assuming you want your bot to trade the EUR/USD on the 5 and 15-minute timeframes)
2) Select the Order fills and alert() function calls condition
3) For each alert, the alert message is pre-configured with the text below
{{strategy.order.alert_message}}
Please leave it as it is.
It's a TradingView native variable that will fetch the alert text messages built by the script.
4) Don't forget to set the Pineconnector webhook URL in the Notifications tab of the TradingView alerts UI.
You’ll find the URL on the Pineconnector documentation website.
EA CONFIGURATION
1) The Pyramiding in the EA on Metatrader must be set to 2 if you want to trade with 2 TPs => as it's opening 2 trades.
If you only want 1 TP, set the EA Pyramiding to 1.
Regarding the other EA settings, please refer to the Pineconnector documentation on their website.
2) In the EA, you can set a risk (= position size type) in %/lots/USD, as in the TradingView backtest settings.
KEY FEATURES
I) Modular Indicator Connection
* plug in your existing indicator into the template.
* Only two lines of code are needed for full compatibility.
Step 1: Create your connector
Adapt your indicator with only 2 lines of code and then connect it to this strategy template.
To do so:
1) Find in your indicator where the conditions print the long/buy and short/sell signals.
2) Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator, whether it's a MACD , ZigZag , Pivots , higher-highs, lower-lows, or whatever indicator with clear buy and sell conditions.
//@version=5
indicator("Supertrend", overlay = true, timeframe = "", timeframe_gaps = true)
atrPeriod = input.int(10, "ATR Length", minval = 1)
factor = input.float(3.0, "Factor", minval = 0.01, step = 0.01)
= ta.supertrend(factor, atrPeriod)
supertrend := barstate.isfirst ? na : supertrend
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style = plot.style_linebr)
downTrend = plot(direction < 0 ? na : supertrend, "Down Trend", color = color.red, style = plot.style_linebr)
fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps = false)
fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps = false)
buy = ta.crossunder(direction, 0)
sell = ta.crossunder(direction, 0)
//////// CONNECTOR SECTION ////////
Signal = buy ? 1 : sell ? -1 : 0
plot(Signal, title = "Signal", display = display.data_window)
//////// CONNECTOR SECTION ////////
Important Notes
🔥 The Strategy Template expects the value to be exactly 1 for the bullish signal and -1 for the bearish signal
Now, you can connect your indicator to the Strategy Template using the method below or that one.
Step 2: Connect the connector
1) Add your updated indicator to a TradingView chart
2) Add the Strategy Template as well to the SAME chart
3) Open the Strategy Template settings, and in the Data Source field, select your 🔌Connector🔌 (which comes from your indicator)
Note it doesn’t have to be named 🔌Connector🔌 - you can name it as you want - however, I recommend an explicit name you can easily remember.
From then, you should start seeing the signals and plenty of other stuff on your chart.
🔥 Note that whenever you update your indicator values, the strategy statistics and visuals on your chart will update in real-time
II) Customizable Risk Management
- Choose between percentage or USD modes for maximum drawdown.
- Set max consecutive losing days and max losing streak length.
- I used the code from my friend @JosKodify for the maximum losing streak. :)
Will halt the EA and backtest orders fill whenever either of the safeguards above are “broken”
III) Intraday Risk Management
- Limit the maximum intraday losses both in percentage or USD.
- Option to set a maximum number of intraday trades.
- If your EA gets halted on an intraday chart, auto-restart it the next day.
IV) Spread and Account Filters
- Trade only if the spread is below a certain pip value.
- Set requirements based on account balance or equity.
V) Order Types and Position Sizing
- Choose between market, limit, or stop orders.
- Set your position size directly in the template.
Please use the position size from the “Inputs” and not the “Properties” tab.
Reason : The template sends the order on the same candle as the entry signals - at those entry signals candles, the position size isn’t computed yet, and the template can’t then send it to Pineconnector.
However, you can use the position size type (USD, contracts, %) from the “Properties” tab for backtesting.
In the EA, you can define the position size type for your orders in USD or lots or %.
VI) Advanced Take-Profit and Stop-Loss Options
- Choose to set your SL/TP in either pips or percentages.
- Option for multiple take-profit levels and trailing stop losses.
- Move your stop loss to break even +/- offset in pips for “risk-free” trades.
VII) Logger
The Pineconnector commands are logged in the TradingView logger.
You'll find more information about it in this TradingView blog post .
WHY YOU MIGHT NEED THIS TEMPLATE
1) Transform your indicator into a Pineconnector trading bot more easily than before
Connect your indicator to the template
Create your alerts
Set your EA settings
2) Save Time
Auto-generated alert messages for Pineconnector.
I tested them all, and I checked with the support team what could/can’t be done
3) Be in Control
Manage your trading risks with advanced features.
4) Customizable
Fits various trading styles and asset classes.
REQUIREMENTS
* Make sure you have your Pineconnector license ID.
* Create your alerts with the Pineconnector webhook URL
* If there is any issue with the template, ask me in the comments section - I’ll answer quickly.
BACKTEST RESULTS FROM THIS POST
1) I connected this strategy template to a dummy Supertrend script.
I could have selected any other indicator or concept for this script post.
I wanted to share an example of how you can quickly upgrade your strategy, making it compatible with Pineconnector.
2) The backtest results aren't relevant for this educational script publication.
I used realistic backtesting data but didn't look too much into optimizing the results, as this isn't the point of why I'm publishing this script.
This strategy is a template to be connected to any indicator - the sky is the limit. :)
3) This template is made to take 1 trade per direction at any given time.
Pyramiding is set to 1 on TradingView.
The strategy default settings are:
* Initial Capital: 100000 USD
* Position Size: 1 contract
* Commission Percent: 0.075%
* Slippage: 1 tick
* No margin/leverage used
WHAT’S COMING NEXT FOR YOU GUYS?
I’ll make the same template for ProfitView, then for AutoView, and then for Alertatron.
All of those are free and open-source.
I have no affiliations with any of those companies - I'm publishing those templates as they will be useful to many of you.
Dave
WAP Maverick - (Dual EMA Smoothed VWAP) - [mutantdog]Short Version:
This here is my take on the popular VWAP indicator with several novel features including:
Dual EMA smoothing.
Arithmetic and Harmonic Mean plots.
Custom Anchor feat. Intraday Session Sizes.
2 Pairs of Bands.
Side Input for Connection to other Indicator.
This can be used 'out of the box' as a replacement VWAP, benefitting from smoother transitions and easy-to-use custom alerts.
By design however, this is intended to be a highly customisable alternative with many adjustable parameters and a pseudo-modular input system to connect with another indicator. Well suited for the tweakers around here and those who like to get a little more creative.
I made this primarily for crypto although it should work for other markets. Default settings are best suited to 15m timeframe - the anchor of 1 week is ideal for crypto which often follows a cyclical nature from Monday through Sunday. In 15m, the default ema length of 21 means that the wap comes to match a standard vwap towards the end of Monday. If using higher chart timeframes, i recommend decreasing the ema length to closely match this principle (suggested: for 1h chart, try length = 8; for 4h chart, length = 2 or 3 should suffice).
Note: the use of harmonic mean calculations will cause problems on any data source incorporating both positive and negative values, it may also return unusable results on extremely low-value charts (eg: low-sat coins in /btc pairs).
Long version:
The development of this project was one driven more by experimentation than a specific end-goal, however i have tried to fine-tune everything into a coherent usable end-product. With that in mind then, this walkthrough will follow something of a development chronology as i dissect the various functions.
DUAL-EMA SMOOTHING
At its core this is based upon / adapted from the standard vwap indicator provided by TradingView although I have modified and changed most of it. The first mod is the dual ema smoothing. Rather than simply applying an ema to the output of the standard vwap function, instead i have incorporated the ema in a manner analogous to the way smas are used within a standard vwma. Sticking for now with the arithmetic mean, the basic vwap calculation is simply sum(source * volume) / sum(volume) across the anchored period. In this case i have simply applied an ema to each of the numerator and denominator values resulting in ema(sum(source * volume)) / ema(sum(volume)) with the ema length independent of the anchor. This results in smoother (albeit slower) transitions than the aforementioned post-vwap method. Furthermore in the case when anchor period is equal to current timeframe, the result is a basic volume-weighted ema.
The example below shows a standard vwap (1week anchor) in blue, a 21-ema applied to the vwap in purple and a dual-21-ema smoothed wap in gold. Notably both ema types come to effectively resemble the standard vwap after around 24 hours into the new anchor session but how they behave in the meantime is very different. The dual-ema transitions quite gradually while the post-vwap ema immediately sets about trying to catch up. Incidentally. a similar and slower variation of the dual-ema can be achieved with dual-rma although i have not included it in this indicator, attempted analogues using sma or wma were far less useful however.
STANDARD DEVIATION AND BANDS
With this updated calculation, a corresponding update to the standard deviation is also required. The vwap has its own anchored volume-weighted st.dev but this cannot be used in combination with the ema smoothing so instead it has been recalculated appropriately. There are two pairs of bands with separate multipliers (stepped to 0.1x) and in both cases high and low bands can be activated or deactivated individually. An example usage for this would be to create different upper and lower bands for profit and stoploss targets. Alerts can be set easily for different crossing conditions, more on this later.
Alongside the bands, i have also added the option to shift ('Deviate') the entire indicator up or down according to a multiple of the corrected st.dev value. This has many potential uses, for example if we want to bias our analysis in one direction it may be useful to move the wap in the opposite. Or if the asset is trading within a narrow range and we are waiting on a breakout, we could shift to the desired level and set alerts accordingly. The 'Deviate' parameter applies to the entire indicator including the bands which will remain centred on the main WAP.
CUSTOM (W)ANCHOR
Ever thought about using a vwap with anchor periods smaller than a day? Here you can do just that. I've removed the Earnings/Dividends/Splits options from the basic vwap and added an 'Intraday' option instead. When selected, a custom anchor length can be created as a multiple of minutes (default steps of 60 mins but can input any value from 0 - 1440). While this may not seem at first like a useful feature for anyone except hi-speed scalpers, this actually offers more interesting potential than it appears.
When set to 0 minutes the current timeframe is always used, turning this into the basic volume-weighted ema mentioned earlier. When using other low time frames the anchor can act as a pre-ema filter creating a stepped effect akin to an adaptive MA. Used in combination with the bands, the result is a kind of volume-weighted adaptive exponential bollinger band; if such a thing does not already exist then this is where you create it. Alternatively, by combining two instances you may find potential interesting crosses between an intraday wap and a standard timeframe wap. Below is an example set to intraday with 480 mins, 2x st.dev bands and ema length 21. Included for comparison in purple is a standard 21 ema.
I'm sure there are many potential uses to be found here, so be creative and please share anything you come up with in the comments.
ARITHMETIC AND HARMONIC MEAN CALCULATIONS
The standard vwap uses the arithmetic mean in its calculation. Indeed, most mean calculations tend to be arithmetic: sma being the most widely used example. When volume weighting is involved though this can lead to a slight bias in favour of upward moves over downward. While the effect of this is minor, over longer anchor periods it can become increasingly significant. The harmonic mean, on the other hand, has the opposite effect which results in a value that is always lower than the arithmetic mean. By viewing both arithmetic and harmonic waps together, the extent to which they diverge from each other can be used as a visual reference of how much price has changed during the anchored period.
Furthermore, the harmonic mean may actually be the more appropriate one to use during downtrends or bearish periods, in principle at least. Consider that a short trade is functionally the same as a long trade on the inverse of the pair (eg: selling BTC/USD is the same as buying USD/BTC). With the harmonic mean being an inverse of the arithmetic then, it makes sense to use it instead. To illustrate this below is a snapshot of LUNA/USDT on the left with its inverse 1/(LUNA/USDT) = USDT/LUNA on the right. On both charts is a wap with identical settings, note the resistance on the left and its corresponding support on the right. It should be easy from this to see that the lower harmonic wap on the left corresponds to the upper arithmetic wap on the right. Thus, it would appear that the harmonic mean should be used in a downtrend. In principle, at least...
In reality though, it is not quite so black and white. Rarely are these values exact in their predictions and the sort of range one should allow for inaccuracies will likely be greater than the difference between these two means. Furthermore, the ema smoothing has already introduced some lag and thus additional inaccuracies. Nevertheless, the symmetry warrants its inclusion.
SIDE INPUT & ALERTS
Finally we move on to the pseudo-modular component here. While TradingView allows some interoperability between indicators, it is limited to just one connection. Any attempt to use multiple source inputs will remove this functionality completely. The workaround here is to instead use custom 'string' input menus for additional sources, preserving this function in the sole 'source' input. In this case, since the wap itself is dependant only price and volume, i have repurposed the full 'source' into the second 'side' input. This allows for a separate indicator to interact with this one that can be used for triggering alerts. You could even use another instance of this one (there is a hidden wap:mid plot intended for this use which is the midpoint between both means). Note that deleting a connected indicator may result in the deletion of those connected to it.
Preset alertconditions are available for crossings of the side input above and below the main wap, alongside several customisable alerts with corresponding visual markers based upon selectable conditions. Alerts for band crossings apply only to those that are active and only crossings of the type specified within the 'crosses' subsection of the indicator settings. The included options make it easy to create buy alerts specific to certain bands with sell alerts specific to other bands. The chart below shows two instances with differing anchor periods, both are connected with buy and sell alerts enabled for visible bands.
Okay... So that just about covers it here, i think. As mentioned earlier this is the product of various experiments while i have been learning my way around PineScript. Some of those experiments have been branched off from this in order to not over-clutter it with functions. The pseudo-modular design and the 'side' input are the result of an attempt to create a connective framework across various projects. Even on its own though, this should offer plenty of tweaking potential for anyone who likes to venture away from the usual standards, all the while still retaining its core purpose as a traders tool.
Thanks for checking this out. I look forward to any feedback below.
Using `varip` variables [PineCoders]█ OVERVIEW
The new varip keyword in Pine can be used to declare variables that escape the rollback process, which is explained in the Pine User Manual's page on the execution model . This publication explains how Pine coders can use variables declared with varip to implement logic that was impossible to code in Pine before, such as timing events during the realtime bar, or keeping track of sequences of events that occur during successive realtime updates. We present code that allows you to calculate for how much time a given condition is true during a realtime bar, and show how this can be used to generate alerts.
█ WARNINGS
1. varip is an advanced feature which should only be used by coders already familiar with Pine's execution model and bar states .
2. Because varip only affects the behavior of your code in the realtime bar, it follows that backtest results on strategies built using logic based on varip will be meaningless,
as varip behavior cannot be simulated on historical bars. This also entails that plots on historical bars will not be able to reproduce the script's behavior in realtime.
3. Authors publishing scripts that behave differently in realtime and on historical bars should imperatively explain this to traders.
█ CONCEPTS
Escaping the rollback process
Whereas scripts only execute once at the close of historical bars, when a script is running in realtime, it executes every time the chart's feed detects a price or volume update. At every realtime update, Pine's runtime normally resets the values of a script's variables to their last committed value, i.e., the value they held when the previous bar closed. This is generally handy, as each realtime script execution starts from a known state, which simplifies script logic.
Sometimes, however, script logic requires code to be able to save states between different executions in the realtime bar. Declaring variables with varip now makes that possible. The "ip" in varip stands for "intrabar persist".
Let's look at the following code, which does not use varip :
//@version=4
study("")
int updateNo = na
if barstate.isnew
updateNo := 1
else
updateNo := updateNo + 1
plot(updateNo, style = plot.style_circles)
On historical bars, barstate.isnew is always true, so the plot shows a value of "1". On realtime bars, barstate.isnew is only true when the script first executes on the bar's opening. The plot will then briefly display "1" until subsequent executions occur. On the next executions during the realtime bar, the second branch of the if statement is executed because barstate.isnew is no longer true. Since `updateNo` is initialized to `na` at each execution, the `updateNo + 1` expression yields `na`, so nothing is plotted on further realtime executions of the script.
If we now use varip to declare the `updateNo` variable, the script behaves very differently:
//@version=4
study("")
varip int updateNo = na
if barstate.isnew
updateNo := 1
else
updateNo := updateNo + 1
plot(updateNo, style = plot.style_circles)
The difference now is that `updateNo` tracks the number of realtime updates that occur on each realtime bar. This can happen because the varip declaration allows the value of `updateNo` to be preserved between realtime updates; it is no longer rolled back at each realtime execution of the script. The test on barstate.isnew allows us to reset the update count when a new realtime bar comes in.
█ OUR SCRIPT
Let's move on to our script. It has three parts:
— Part 1 demonstrates how to generate alerts on timed conditions.
— Part 2 calculates the average of realtime update prices using a varip array.
— Part 3 presents a function to calculate the up/down/neutral volume by looking at price and volume variations between realtime bar updates.
Something we could not do in Pine before varip was to time the duration for which a condition is continuously true in the realtime bar. This was not possible because we could not save the beginning time of the first occurrence of the true condition.
One use case for this is a strategy where the system modeler wants to exit before the end of the realtime bar, but only if the exit condition occurs for a specific amount of time. One can thus design a strategy running on a 1H timeframe but able to exit if the exit condition persists for 15 minutes, for example. REMINDER: Using such logic in strategies will make backtesting their complete logic impossible, and backtest results useless, as historical behavior will not match the strategy's behavior in realtime, just as using `calc_on_every_tick = true` will do. Using `calc_on_every_tick = true` is necessary, by the way, when using varip in a strategy, as you want the strategy to run like a study in realtime, i.e., executing on each price or volume update.
Our script presents an `f_secondsSince(_cond, _resetCond)` function to calculate the time for which a condition is continuously true during, or even across multiple realtime bars. It only works in realtime. The abundant comments in the script hopefully provide enough information to understand the details of what it's doing. If you have questions, feel free to ask in the Comments section.
Features
The script's inputs allow you to:
• Specify the number of seconds the tested conditions must last before an alert is triggered (the default is 20 seconds).
• Determine if you want the duration to reset on new realtime bars.
• Require the direction of alerts (up or down) to alternate, which minimizes the number of alerts the script generates.
The inputs showcase the new `tooltip` parameter, which allows additional information to be displayed for each input by hovering over the "i" icon next to it.
The script only displays useful information on realtime bars. This information includes:
• The MA against which the current price is compared to determine the bull or bear conditions.
• A dash which prints on the chart when the bull or bear condition is true.
• An up or down triangle that prints when an alert is generated. The triangle will only appear on the update where the alert is triggered,
and unless that happens to be on the last execution of the realtime bar, it will not persist on the chart.
• The log of all triggered alerts to the right of the realtime bar.
• A gray square on top of the elapsed realtime bars where one or more alerts were generated. The square's tooltip displays the alert log for that bar.
• A yellow dot corresponding to the average price of all realtime bar updates, which is calculated using a varip array in "Part 2" of the script.
• Various key values in the Data Window for each parts of the script.
Note that the directional volume information calculated in Part 3 of the script is not plotted on the chart—only in the Data Window.
Using the script
You can try running the script on an open market with a 30sec timeframe. Because the default settings reset the duration on new realtime bars and require a 20 second delay, a reasonable amount of alerts will trigger.
Creating an alert on the script
You can create a script alert on the script. Keep in mind that when you create an alert from this script, the duration calculated by the instance of the script running the alert will not necessarily match that of the instance running on your chart, as both started their calculations at different times. Note that we use alert.freq_all in our alert() calls, so that alerts will trigger on all instances where the associated condition is met. If your alert is being paused because it reaches the maximum of 15 triggers in 3 minutes, you can configure the script's inputs so that up/down alerts must alternate. Also keep in mind that alerts run a distinct instance of your script on different servers, so discrepancies between the behavior of scripts running on charts and alerts can occur, especially if they trigger very often.
Challenges
Events detected in realtime using variables declared with varip can be transient and not leave visible traces at the close of the realtime bar, as is the case with our script, which can trigger multiple alerts during the same realtime bar, when the script's inputs allow for this. In such cases, elapsed realtime bars will be of no use in detecting past realtime bar events unless dedicated code is used to save traces of events, as we do with our alert log in this script, which we display as a tooltip on elapsed realtime bars.
█ NOTES
Realtime updates
We have no control over when realtime updates occur. A realtime bar can open, and then no realtime updates can occur until the open of the next realtime bar. The time between updates can vary considerably.
Past values
There is no mechanism to refer to past values of a varip variable across realtime executions in the same bar. Using the history-referencing operator will, as usual, return the variable's committed value on previous bars. If you want to preserve past values of a varip variable, they must be saved in other variables or in an array .
Resetting variables
Because varip variables not only preserve their values across realtime updates, but also across bars, you will typically need to plan conditions that will at some point reset their values to a known state. Testing on barstate.isnew , as we do, is a good way to achieve that.
Repainting
The fact that a script uses varip does not make it necessarily repainting. A script could conceivably use varip to calculate values saved when the realtime bar closes, and then use confirmed values of those calculations from the previous bar to trigger alerts or display plots, avoiding repaint.
timenow resolution
Although the variable is expressed in milliseconds it has an actual resolution of seconds, so it only increments in multiples of 1000 milliseconds.
Warn script users
When using varip to implement logic that cannot be replicated on historical bars, it's really important to explain this to traders in published script descriptions, even if you publish open-source. Remember that most TradingViewers do not know Pine.
New Pine features used in this script
This script uses three new Pine features:
• varip
• The `tooltip` parameter in input() .
• The new += assignment operator. See these also: -= , *= , /= and %= .
Example scripts
These are other scripts by PineCoders that use varip :
• Tick Delta Volume , by RicadoSantos .
• Tick Chart and Volume Info from Lower Time Frames by LonesomeTheBlue .
Thanks
Thanks to the PineCoders who helped improve this publication—especially to bmistiaen .
Look first. Then leap.
Rain On Me IndicatorFinally, we made it :D
Rain On Me Indicator, As the name suggests this indicator will make money rain on you. More seriously, this indicator contains :
This indicator contains:
-Bullish and bearish RSI divergences showing on chart with alerts.
-Parabolic SAR with Labels on chart with buying or selling alerts.
-3 Moving Average (MA 1 : 7, MA 2 : 21 MA 3 HIDDEN : 50 (Cross alerts for Pullback)
-Customizable Bollinger band
-Fibonacci on 10 levels with the level 0 to the middle. This Fibonacci help a lot since it can let you find easily entry/exit point, trend and even where to place your Take Profit and Stop Loss. It have alerts for most important levels (0.382, 0.§, 0.618) for Crossunder and Crossover in Bullish or Bearish trend.
-Fully Customizable Ichimoku Cloud.
-Trend Buy/Sell Labels on chart with buying or selling signal alerts.
-Trend color visible on candles.
If an alert trigger of Buy/Sell Signal with the same alert based on PSAR, so you can be confident to enter in position. Alway checking fibs level that is the key thing with this indicator. the script has been set to have the best possible results on as many market as possible. But.best result for zfter backtesting is on
Forex : EUR/USD, USDJPY, USDCAD.
Indice : S&P500, NASDAQ, DOWJONES
Commodities : OIL, WTI
Everything work on following timeframe :
15MN, 1H, 4H, DAILY, WEEKLY.
So that you can avoid having to set it again, whether it be in minutes, hours, days, months.
So you can easily trade in the mode that suits you best. It works well on everything from indices to forex to commodities etc. I thank all those who allowed me to carry out this project. IF you feelt free to give your ideas, suggestions, for improve it by sending me messages.
This is really a first version sp it may contain bugs / errors that will be fixed over time.
A BIG THANK YOU TO QUANTNOMAD WHO GIVE ME HIS PERMISSION TO USE, MODIFY AND REPUBLISH HIS "Ultimate Pivot Points Alerts" Script Indicator :
Good trade to all !
SPX Weekly Expected Moves# SPX Weekly Expected Moves Indicator
A professional Pine Script indicator for TradingView that displays weekly expected move levels for SPX based on real options data, with integrated Fibonacci retracement analysis and intelligent alerting system.
## Overview
This indicator helps options and equity traders visualize weekly expected move ranges for the S&P 500 Index (SPX) by plotting historical and current week expected move boundaries derived from weekly options pricing. Unlike theoretical volatility calculations, this indicator uses actual market-based expected move data that you provide from options platforms.
## Key Features
### 📈 **Expected Move Visualization**
- **Historical Lines**: Display past weeks' expected moves with configurable history (10, 26, or 52 weeks)
- **Current Week Focus**: Highlighted current week with extended lines to present time
- **Friday Close Reference**: Orange baseline showing the previous Friday's close price
- **Timeframe Independent**: Works consistently across all chart timeframes (1m to 1D)
### 🎯 **Fibonacci Integration**
- **Five Fibonacci Levels**: 23.6%, 38.2%, 50%, 61.8%, 76.4% between Friday close and expected move boundaries
- **Color-Coded Levels**:
- Red: 23.6% & 76.4% (outer levels)
- Blue: 38.2% & 61.8% (golden ratio levels)
- Black: 50% (midpoint - most critical level)
- **Current Week Only**: Fibonacci levels shown only for active trading week to reduce clutter
### 📊 **Real-Time Information Table**
- **Current SPX Price**: Live market price
- **Expected Move**: ±EM value for current week
- **Previous Close**: Friday close price (baseline for calculations)
- **100% EM Levels**: Exact upper and lower boundary prices
- **Current Location**: Real-time position within the EM structure (e.g., "Above 38.2% Fib (upper zone)")
### 🚨 **Intelligent Alert System**
- **Zone-Aware Alerts**: Separate alerts for upper and lower zones
- **Key Level Breaches**: Alerts for 23.6% and 76.4% Fibonacci level crossings
- **Bar Close Based**: Alerts trigger on confirmed bar closes, not tick-by-tick
- **Customizable**: Enable/disable alerts through settings
## How It Works
### Data Input Method
The indicator uses a **manual data entry approach** where you input actual expected move values obtained from options platforms:
```pinescript
// Add entries using the options expiration Friday date
map.put(expected_moves, 20250613, 91.244) // Week ending June 13, 2025
map.put(expected_moves, 20250620, 95.150) // Week ending June 20, 2025
```
### Weekly Structure
- **Monday 9:30 AM ET**: Week begins
- **Friday 4:00 PM ET**: Week ends
- **Lines Extend**: From Monday open to Friday close (historical) or current time + 5 bars (current week)
- **Timezone Handling**: Uses "America/New_York" for proper DST handling
### Calculation Logic
1. **Base Price**: Previous Friday's SPX close price
2. **Expected Move**: Market-derived ±EM value from weekly options
3. **Upper Boundary**: Friday Close + Expected Move
4. **Lower Boundary**: Friday Close - Expected Move
5. **Fibonacci Levels**: Proportional levels between Friday close and EM boundaries
## Setup Instructions
### 1. Data Collection
Obtain weekly expected move values from options platforms such as:
- **ThinkOrSwim**: Use thinkBack feature to look up weekly expected moves
- **Tastyworks**: Check weekly options expected move data
- **CBOE**: Reference SPX weekly options data
- **Manual Calculation**: (ATM Call Premium + ATM Put Premium) × 0.85
### 2. Data Entry
After each Friday close, update the indicator with the next week's expected move:
```pinescript
// Example: On Friday June 7, 2025, add data for week ending June 13
map.put(expected_moves, 20250613, 91.244) // Actual EM value from your platform
```
### 3. Configuration
Customize the indicator through the settings panel:
#### Visual Settings
- **Show Current Week EM**: Toggle current week display
- **Show Past Weeks**: Toggle historical weeks display
- **Max Weeks History**: Choose 10, 26, or 52 weeks of history
- **Show Fibonacci Levels**: Toggle Fibonacci retracement levels
- **Label Controls**: Customize which labels to display
#### Colors
- **Current Week EM**: Default yellow for active week
- **Past Weeks EM**: Default gray for historical weeks
- **Friday Close**: Default orange for baseline
- **Fibonacci Levels**: Customizable colors for each level type
#### Alerts
- **Enable EM Breach Alerts**: Master toggle for all alerts
- **Specific Alerts**: Four alert types for Fibonacci level breaches
## Trading Applications
### Options Trading
- **Straddle/Strangle Positioning**: Visualize breakeven levels for neutral strategies
- **Directional Plays**: Assess probability of reaching target levels
- **Earnings Plays**: Compare actual vs. expected move outcomes
### Equity Trading
- **Support/Resistance**: Use EM boundaries and Fibonacci levels as key levels
- **Breakout Trading**: Monitor for moves beyond expected ranges
- **Mean Reversion**: Look for reversals at extreme Fibonacci levels
### Risk Management
- **Position Sizing**: Gauge likely price ranges for the week
- **Stop Placement**: Use Fibonacci levels for logical stop locations
- **Profit Targets**: Set targets based on EM structure probabilities
## Technical Implementation
### Performance Features
- **Memory Managed**: Configurable history limits prevent memory issues
- **Timeframe Independent**: Uses timestamp-based calculations for consistency
- **Object Management**: Automatic cleanup of drawing objects prevents duplicates
- **Error Handling**: Robust bounds checking and NA value handling
### Pine Script Best Practices
- **v6 Compliance**: Uses latest Pine Script version features
- **User Defined Types**: Structured data management with WeeklyEM type
- **Efficient Drawing**: Smart line/label creation and deletion
- **Professional Standards**: Clean code organization and comprehensive documentation
## Customization Guide
### Adding New Weeks
```pinescript
// Add after market close each Friday
map.put(expected_moves, YYYYMMDD, EM_VALUE)
```
### Color Schemes
Customize colors for different trading styles:
- **Dark Theme**: Use bright colors for visibility
- **Light Theme**: Use contrasting dark colors
- **Minimalist**: Use single color with transparency
### Label Management
Control label density:
- **Show Current Week Labels Only**: Reduce clutter for active trading
- **Show All Labels**: Full information for analysis
- **Selective Display**: Choose specific label types
## Troubleshooting
### Common Issues
1. **No Lines Appearing**: Check that expected move data is entered for current/recent weeks
2. **Wrong Time Display**: Ensure "America/New_York" timezone is properly handled
3. **Duplicate Lines**: Restart indicator if drawing objects appear duplicated
4. **Missing Fibonacci Levels**: Verify "Show Fibonacci Levels" is enabled
### Data Validation
- **Expected Move Format**: Use positive numbers (e.g., 91.244, not ±91.244)
- **Date Format**: Use YYYYMMDD format (e.g., 20250613)
- **Reasonable Values**: Verify EM values are realistic (typically 50-200 for SPX)
## Version History
### Current Version
- **Pine Script v6**: Latest version compatibility
- **Fibonacci Integration**: Five-level retracement analysis
- **Zone-Aware Alerts**: Upper/lower zone differentiation
- **Dynamic Line Management**: Smart current week extension
- **Professional UI**: Comprehensive information table
### Future Enhancements
- **Multiple Symbols**: Extend beyond SPX to other indices
- **Automated Data**: Integration with options data APIs
- **Statistical Analysis**: Success rate tracking for EM predictions
- **Additional Levels**: Custom percentage levels beyond Fibonacci
## License & Usage
This indicator is designed for educational and trading purposes. Users are responsible for:
- **Data Accuracy**: Ensuring correct expected move values
- **Risk Management**: Proper position sizing and risk controls
- **Market Understanding**: Comprehending options-based expected move concepts
## Support
For questions, issues, or feature requests related to this indicator, please refer to the code comments and documentation within the Pine Script file.
---
**Disclaimer**: This indicator is for informational purposes only. Trading involves substantial risk of loss and is not suitable for all investors. Past performance does not guarantee future results.
Advanced MACD Pro (WhiteStone_Ibrahim) - T3 Themed✨ Advanced MACD Pro (WhiteStone_Ibrahim) - T3 Themed ✨
Take your MACD analysis to the next level with the Advanced MACD Pro - T3 Themed indicator by WhiteStone_Ibrahim! This isn't just another MACD; it's a comprehensive toolkit packed with advanced features, unique T3 integration, and extensive customization options to provide deeper market insights.
Whether you're a seasoned trader or just starting, this indicator offers a versatile and powerful way to analyze momentum, identify trends, and spot potential reversals.
Key Features:
Core MACD Functionality:
Classic MACD Line: Calculated from customizable Fast and Slow EMAs using your chosen source (Close, Open, HLC3, etc.).
Standard Signal Line: EMA of the MACD line, with adjustable length.
Dynamic MACD Line Coloring: Automatically changes color based on whether it's above or below the zero line (positive/negative).
Zero Line: Clearly plotted for reference.
Enhanced MACD Histogram:
Sophisticated Color Coding: The histogram isn't just positive or negative. It intelligently colors based on momentum strength and direction:
Strong Bullish: MACD above signal, histogram increasing.
Weakening Bullish: MACD above signal, histogram decreasing.
Strong Bearish: MACD below signal, histogram decreasing.
Weakening Bearish: MACD below signal, histogram increasing.
Neutral: Default color for other conditions.
Optional Histogram Smoothing: Smooth out the histogram noise using one of five different moving average types: SMA, EMA, WMA, RMA, or the advanced T3 (Tilson T3). Customize smoothing length and T3 vFactor.
🌟 Unique T3 Integration (T3 Themed):
Extra T3 Signal Line (on MACD): An additional, fast-reacting T3 moving average calculated directly from the MACD line. This provides an alternative and often quicker signal.
Customizable T3 length and vFactor.
Dynamic Coloring: The T3 Signal Line changes color (bullish/bearish) based on its crossover with the MACD line, offering clear visual cues.
T3 is also available as a smoothing option for the main histogram (see above).
🔍 Disagreement & Divergence Detection:
Bar/Price Disagreement Markers:
Highlights instances where the price bar's direction (e.g., a bullish candle) contradicts the current MACD momentum (e.g., MACD below its signal line).
Visual markers (circles) appear above/below bars to draw attention to these potential early warnings or confirmations.
Histogram Color Change on Disagreement: Optionally, the histogram can adopt distinct alternative colors during these bar/price disagreements for even clearer visual alerts.
Classic Bullish & Bearish Divergence Detection:
Automatically identifies regular divergences between price action (Higher Highs/Lower Lows) and the MACD line (Lower Highs/Higher Lows).
Customizable pivot lookback periods (left and right bars) for divergence sensitivity.
Plots clear "Bull" and "Bear" labels on the price chart where divergences occur.
🎨 Extensive Customization & Visuals:
Multiple Color Themes: Choose from pre-set themes like 'Dark Mode', 'Light Mode', 'Neon Night', or use 'Default (Current Settings)' to fine-tune every color yourself.
Granular Control (Default Theme): Individually customize colors and thickness for:
MACD Line (positive/negative)
Standard Signal Line
Extra T3 Signal Line (bullish/bearish)
Histogram (all four momentum states + neutral)
Disagreement Markers & Histogram Alt Colors
Divergence Lines/Labels
Zero Line
Toggle Visibility: Easily show or hide the Standard Signal Line and the Extra T3 Signal Line as needed.
🔔 Comprehensive Alert System:
Stay informed of key market events with a wide array of configurable alerts:
MACD Line / Standard Signal Line Crossover
Histogram / Zero Line Crossover
MACD Line / Zero Line Crossover
Bullish Divergence Detected
Bearish Divergence Detected
Bar/Price Disagreement (Bullish & Bearish)
MACD Line / Extra T3 Signal Line Crossover
Each alert can be individually enabled or disabled.
The Advanced MACD Pro - T3 Themed indicator is designed to be your go-to tool for momentum analysis. Its rich feature set empowers you to tailor it to your specific trading style and gain a more nuanced understanding of market dynamics.
Add it to your charts today and experience the difference!
(Developed by WhiteStone_Ibrahim)
[blackcat] L1 Multi-Component CCIOVERVIEW
The " L1 Multi-Component CCI" is a sophisticated technical indicator designed to analyze market trends and momentum using multiple components of the Commodity Channel Index (CCI). This script calculates and combines various CCI-related metrics to provide a comprehensive view of price action, offering traders deeper insights into market dynamics. By integrating smoothed deviations, normalized ranges, and standard CCI values, this tool aims to enhance decision-making processes. It is particularly useful for identifying potential reversal points and confirming trend strength. 📈
FEATURES
Multi-Component CCI Calculation: Combines smoothed deviation, normalized range, percent above low, and standard CCI for a holistic analysis, providing a multifaceted view of market conditions.
Threshold Lines: Overbought (200), oversold (-200), bullish (100), and bearish (-100) thresholds are plotted for easy reference, helping traders quickly identify extreme market conditions.
Visual Indicators: Each component is plotted with distinct colors and line styles for clear differentiation, making it easier to interpret the data at a glance.
Customizable Alerts: The script includes commented-out buy and sell signal logic that can be enabled for automated trading notifications, allowing traders to set up alerts based on specific conditions. 🚀
Advanced Calculations: Utilizes a combination of simple moving averages (SMA) and exponential moving averages (EMA) to smooth out price data, enhancing the reliability of the indicator.
HOW TO USE
Apply the Script: Add the script to your chart on TradingView by searching for " L1 Multi-Component CCI" in the indicators section.
Observe the Plotted Lines: Pay close attention to the smoothed deviation, normalized range, percent above low, and standard CCI lines to identify potential overbought or oversold conditions.
Use Threshold Levels: Refer to the overbought, oversold, bullish, and bearish threshold lines to gauge extreme market conditions and potential reversal points.
Confirm Trends: Use the standard CCI line to confirm trend direction and momentum shifts, providing additional confirmation for your trading decisions.
Enable Alerts: If desired, uncomment the buy and sell signal logic to receive automated alerts when specific conditions are met, helping you stay informed even when not actively monitoring the chart. ⚠️
LIMITATIONS
Fixed Threshold Levels: The script uses fixed threshold levels (200, -200, 100, -100), which may need adjustment based on specific market conditions or asset volatility.
No Default Signals: The buy and sell signal logic is currently commented out, requiring manual activation if you wish to use automated alerts.
Complexity: The multi-component approach, while powerful, may be complex for novice traders to interpret, requiring a solid understanding of technical analysis concepts. 📉
Not for Isolation Use: This indicator is not designed for use in isolation; it is recommended to combine it with other tools and indicators for confirmation and a more robust analysis.
NOTES
Smoothing Techniques: The script uses a combination of simple moving averages (SMA) and exponential moving averages (EMA) for smoothing calculations, which helps in reducing noise and enhancing signal clarity.
Multi-Component Approach: The multi-component approach aims to provide a more nuanced view of market conditions compared to traditional CCI, offering a more comprehensive analysis.
Customization Potential: Traders can customize the script further by adjusting the parameters of the moving averages and other components to better suit their trading style and preferences. ✨
THANKS
Thanks to the TradingView community for their support and feedback on this script! Special thanks to those who contributed ideas and improvements, making this tool more robust and user-friendly. 🙏
VWAP + Engulfing CandlesHere’s a clear breakdown of what your merged Pine Script does:
---
### 📌 **Indicator Name: VWAP + Engulfing Candles**
* This custom TradingView indicator **plots VWAP (Volume Weighted Average Price)** along with **up to 3 dynamic bands** around it.
* It also **detects Bullish and Bearish Engulfing Candlestick Patterns**, displaying visual markers and triggering alerts.
---
## 🔹 **1. VWAP Section**
### ➤ **Main Features:**
* Calculates VWAP anchored to a **customizable time period**:
* Options: Session, Week, Month, Quarter, Year, Decade, Century, Earnings, Dividends, Splits.
* Optional **hiding of VWAP on Daily/Weekly/Monthly charts** to reduce clutter.
### ➤ **Bands Around VWAP:**
* Up to **3 bands** can be plotted above and below the VWAP.
* Bands can be based on either:
* **Standard Deviation** of the price from VWAP (volatility-based), or
* **Percentage** deviation from VWAP (fixed range).
* You can control:
* Whether each band is shown
* Band width via multiplier (e.g., 1x, 2x, 3x)
### ➤ **Plot Colors:**
* VWAP: Blue
* Bands: Green (1x), Olive (2x), Teal (3x)
* Band fill areas are semi-transparent.
---
## 🔹 **2. Engulfing Candlestick Pattern Detector**
### ➤ **Bullish Engulfing Criteria:**
* Current candle opens **below** or **equal to** the close of the previous candle.
* Current candle opens **below** the previous candle's open.
* Current candle closes **above** the previous candle’s open.
### ➤ **Bearish Engulfing Criteria:**
* Current candle opens **above** or **equal to** the close of the previous candle.
* Current candle opens **above** the previous candle’s open.
* Current candle closes **below** the previous candle’s open.
### ➤ **Visual Signals:**
* 🔼 Green triangle **below bar** for **Bullish Engulfing**
* 🔽 Red triangle **above bar** for **Bearish Engulfing**
### ➤ **Alerts:**
* The script includes two alert conditions:
* One for Bullish Engulfing
* One for Bearish Engulfing
These alerts can be used to automate notifications for potential reversal points.
---
## 🛠️ **Use Cases**
* **Trend following or reversal spotting**: VWAP helps identify the average trading price; engulfing patterns often signal reversals.
* **Intraday and swing trading**: Works best on timeframes like 5m, 15m, 1h for intraday, or 4h, 1D for swing.
* **Mean reversion strategies**: Bands help spot overbought/oversold areas relative to VWAP.