Multi-Timeframe MACD, Signal & Histogram TableThis Pine Script is designed for the TradingView platform to create a multi-timeframe MACD (Moving Average Convergence Divergence), Signal, and Histogram table that displays values for different timeframes. The script uses the MACD indicator to assess market trends across various timeframes and display the results in a table format on the chart. Here's a breakdown of its components and functionality:
1. User Inputs for Timeframes:
The script allows the user to input five different timeframes for the analysis. These are configured using input.string, which enables the user to select from a list of timeframes (from seconds to months).
tf1 to tf5 represent the different timeframes (for example, 5 minutes, 15 minutes, 60 minutes, 240 minutes, and daily).
2. MACD Settings:
The script provides adjustable settings for the MACD calculation:
macdShortLength (default 12): The length of the short-term moving average for the MACD.
macdLongLength (default 26): The length of the long-term moving average for the MACD.
macdSignalLength (default 9): The length of the signal line, which is an EMA (Exponential Moving Average) of the MACD line.
3. MACD Calculation Function (calc_macd):
This function calculates the MACD, Signal, and Histogram values:
MACD Line: Difference between the fast and slow exponential moving averages.
Signal Line: EMA of the MACD line.
Histogram: Difference between the MACD line and Signal line.
4. Requesting Multi-Timeframe Data:
The script calculates the MACD, Signal, and Histogram for the selected timeframes (tf1 to tf5) using request.security, which retrieves data for those timeframes:
macd_tf1, signal_tf1, hist_tf1 for Timeframe 1 (and similar variables for the other timeframes).
5. Rounding Values:
A helper function roundDecimal is used to round MACD, Signal, and Histogram values to two decimal places for readability.
6. Color Assignment Based on Value:
The colors of the values in the table cells are dynamically set based on whether the value is positive or negative:
MACD, Signal, and Histogram: The script uses conditional color assignments (green for positive values, red for negative values).
For example, if the MACD value is greater than or equal to 0, it is colored green, otherwise red. The same logic applies to the Signal and Histogram values.
7. Populating the Table:
For each timeframe (tf1 to tf5), the script populates the table with the following data:
Timeframe (e.g., "5 min")
Rounded MACD value
Rounded Signal value
Rounded Histogram value
The respective color is applied to each value based on whether it is positive or negative.
8. Table Update:
The table is updated dynamically with new data on each new bar. Each timeframe’s values are populated into the table starting from row 1 through row 5.
Поиск скриптов по запросу "跨境通12月4日地天板"
[Stuppieeeeeee] - Multiple vertical timeframes linesEnhance your trading experience with this intuitive indicator that displays vertical lines on your chart to mark the start of new bars in higher timeframes. Whether you're analyzing on a 5-minute chart or any other lower timeframe, this tool helps you visualize when significant periods begin on larger scales like hourly, daily, or even monthly charts.
Key Features:
Multiple Timeframes Supported: Choose from 5 minutes, 15 minutes, 1 hour, 4 hours, 12 hours, daily, weekly, and monthly timeframes to display vertical lines.
Customizable Appearance: Personalize each set of lines by adjusting their colors, including transparency levels, line styles (solid, dashed, dotted), and widths to suit your preferences and enhance visibility.
Automatic Visibility Management: The indicator intelligently hides lines for timeframes that are equal to or lower than your current chart timeframe, keeping your chart clean and focused.
Future Projection: Not only does it mark the start of current higher timeframe bars, but it also projects lines into the near future. This feature allows you to anticipate upcoming significant time intervals, aiding in better planning and decision-making.
Layer Control: You have the ability to control which lines appear above others. By adjusting the drawing order and using transparency settings, you ensure that all important lines are visible without cluttering your chart.
Benefits:
Enhanced Multi-Timeframe Analysis: Quickly identify when higher timeframe bars start while analyzing lower timeframe charts, helping you align your trades with significant market movements.
Improved Market Structure Understanding: Visual cues from the vertical lines aid in recognizing patterns and trends that span across different timeframes.
Strategic Planning: Anticipate key time intervals with future projection lines, allowing you to prepare for potential market shifts.
How to Use:
Apply the Indicator:
Add the indicator to your TradingView chart as you would with any other tool.
It's most effective when used on lower timeframe charts (like 5-minute or 15-minute charts) to display lines from higher timeframes.
Customize Settings:
Open the indicator's settings panel.
For each timeframe, adjust the line color, style, width, and transparency to your liking.
Set the transparency to allow underlying lines to show through if desired.
Interpret the Lines:
Vertical lines will appear at the start of new bars for the higher timeframes you've selected.
Use these visual markers to inform your entry and exit points, aligning them with larger market movements.
Pay attention to future lines to anticipate upcoming periods of interest.
Notes:
Performance Considerations: Displaying a large number of lines may impact chart performance. If you notice any lag, consider reducing the number of active timeframes or increasing line transparency.
TradingView Limitations: Be aware that TradingView limits the number of drawing objects on a chart. The indicator is designed to manage this, but extremely long timeframes or high bar counts might affect its operation.
BoS yellow candleThe "BoS Yellow Candle" indicator identifies and highlights the first candle that breaks a Break of Structure (BoS) in a given look-back period. A BoS occurs when the price either breaks above the highest high or below the lowest low within a user-defined look-back range (default set between 7 and 12 candles).
Bullish Break of Structure: The first candle to break above the previous high is marked with a yellow body.
Bearish Break of Structure: The first candle to break below the previous low is also marked with a yellow body.
This visual aid helps traders quickly identify potential structural breakouts for further analysis or strategy development.
Galagtic Radar Grid - AYNETFeatures:
Concentric Circles:
Drawn using points (•) placed around a center.
The number of circles and their spacing are customizable.
Radial Lines:
Straight lines radiate outward from the center.
You can customize the number of lines (e.g., 12 for 30° intervals).
Highlight Marker:
An orange marker is placed at a specific angle (customizable) on the outermost circle.
Key Customization Inputs:
Circle Count: Number of concentric circles.
Circle Spacing: Distance between circles.
Line Count: Number of radial lines.
Highlight Angle: Position of the orange marker in degrees.
Colors: Customize grid and marker colors.
Core Logic:
Circles and radial lines are calculated using trigonometric functions (math.cos and math.sin).
The x-coordinates are tied to bar_index (integer), ensuring compatibility with TradingView's requirements.
This script is ideal for creating a visual radar-like grid on TradingView charts. Let me know if you'd like further enhancements! 😊
Last Freemans Ver1This script is a technical indicator for TradingView that combines three popular tools for analyzing price movements:
Relative Strength Index (RSI): This measures the momentum of recent price changes and indicates potential overbought or oversold conditions. The script allows you to adjust the RSI length (default 14) and define overbought (default 70) and oversold (default 30) levels.
Moving Average Convergence Divergence (MACD): This indicator helps identify trend direction and potential turning points. It uses two moving averages (fast and slow) and a signal line. The script lets you customize the lengths of the MACD lines (fast: 12, slow: 26, signal: 9).
Exponential Moving Average (EMA): This is a smoothing indicator used to identify the underlying trend by filtering out price noise. You can adjust the EMA length (default 200) in the script.
Additionally, the script generates Buy/Sell signals based on the following conditions:
Buy Signal:
MACD line crosses above the signal line (indicating a potential uptrend).
RSI is below the oversold level (suggesting room for price increase).
Closing price is below the EMA (potentially indicating a price pullback before an upswing).
Sell Signal:
MACD line crosses below the signal line (indicating a potential downtrend).
RSI is above the overbought level (suggesting potential for a price decrease).
Closing price is above the EMA (potentially indicating a price breakout before a decline).
Visualization:
The script plots the following on the chart:
RSI line (blue) with overbought and oversold levels as dashed lines (red and green, respectively).
MACD line (red) and signal line (blue).
EMA line (orange).
Green triangle up (below the bar) for Buy signals.
Red triangle down (above the bar) for Sell signals.
Important Note:
This script provides trading signals based on technical indicators, but keep in mind that these are not guaranteed predictions of future price movements. Always conduct your own research and consider other factors before making trading decisions.
Key Prices & LevelsThis indicator is designed to visualize key price levels & areas for NY trading sessions based on the price action from previous day, pre-market activity and key areas from NY session itself. The purpose is to unify all key levels into a single indicator, while allowing a user to control which levels they want to visualize and how.
The indicator identifies the following:
Asia Range High/Lows, along with ability to visualize with a box
London Range High/Lows, along with ability to visualize with a box
Previous Day PM Session High/Lows
Current Day Lunch Session High/Lows, starts appearing after 12pm EST once the lunch session starts
New York Open (8:30am EST) price
9:53 Open (root candle) price
New York Midnight (12:00am EST) price
Previous Day High/Lows
First 1m FVG after NY Session Start (after 9:30am), with the ability to configure minimum FVG size.
Opening Range Gap, showing regular market hours close price (previous day 16:15pm EST close), new session open price (9:30am EST open) and optionally the mid-point between the two
Asia Range 50% along with 2, 2.5, 4 and 4.5 deviations of the Asia range in both directions
Configurability:
Each price level can be turned off
Styles in terms of line type, color
Ability to turn on/off labels for price levels and highlighting of prices on price scale
Ability to control label text for price levels
How is it different:
Identifies novel concepts such as 9:53 open, root candle that can be used as a bounce/resistance area during AM/PM sessions as well as confirmation of direction once closed over/under to indicate price's willingness to continue moving in the same direction.
It also shows 1st 1m FVG after New York Session open, that can be used to determine direction of the price action depending on PA's reaction to that area. While both 9:53 and 1m FVG are 1m based markers, these levels are visualized by the indicator on all timeframes from 15s to 1h.
Additionally the indicator is able to both highlight key prices in the price scale pane as well as combine labels to minimize clutter when multiple levels have the same price.
Lastly for in-session ranges such as Lunch High/Low the indicator updates the range in real-time as opposed to waiting for the lunch session to be over.
Multi-Timeframe Moving Averages by Skyito"Hope everyone likes this and finds it useful! This multi-timeframe moving average indicator provides a comprehensive view of moving averages from various timeframes directly on one chart. It’s designed to help traders analyze market trends and levels more effectively without constantly switching between charts.
Script Explanation: This indicator supports a range of moving average types, including SMA, EMA, HMA, WMA, VWMA, RMA, SSMA, and DEMA, allowing for flexibility in analysis. Each moving average is fully customizable by length and type for each timeframe, giving you control over how trends are represented.
The indicator includes timeframes such as 15 minutes, 1 hour, 4 hours, 6 hours, 8 hours, 12 hours, 1 day, 3 days, 5 days, 1 week, 3 weeks, and 1 month. Each moving average is displayed as a line with a small dashed extension, showing a label that contains the moving average’s timeframe, type, and current price level. The dark blue labels are slightly enlarged to enhance readability on the chart, making it easier to track important levels at a glance.
Use Case: This tool is ideal for traders looking to stay aware of trend levels across multiple timeframes on one chart. Adjusting the moving averages’ lengths and types enables customization for any strategy, while the label information provides an immediate understanding of the timeframe and trend context.
Enjoy the streamlined view and the added insights from multi-timeframe analysis!"
Enhanced Pressure MTF ScreenerEnhanced Pressure Multi-Timeframe (MTF) Screener Indicator
Overview
The Enhanced Pressure MTF Screener is an add-on that extends the capabilities of the Enhanced Buy/Sell Pressure, Volume, and Trend Bar Analysis . It provides a clear and consolidated view of buy/sell pressure across multiple timeframes. This indicator allows traders to determine when different timeframes are synchronized in the same trend direction, which is particularly useful for making high-confidence trading decisions.
Image below: is the Enhanced Buy/Sell Pressure, Volume, and Trend Bar Analysis with the Enhanced Pressure MTF Screener indicator both active together.
Key Features
1.Multi-Timeframe Analysis
The indicator screens various predefined timeframes (from 1 week down to 10 minutes).
It offers a table view that shows buy or sell ratings for each timeframe, making it easy to see which timeframes are aligned.
Traders can choose which timeframes to include based on their trading strategies (e.g., higher timeframes for position trading, lower timeframes for scalping).
2.Pressure and Trend Calculation
Uses Buy and Sell Pressure calculations from the Enhanced Buy/Sell Pressure indicator to determine whether buying or selling is dominant in each timeframe.
By analyzing pressures on multiple timeframes, the indicator gives a comprehensive perspective of the current market sentiment.
The indicator calculates whether a move is strong based on user-defined thresholds, which are displayed in the form of additional signals.
3.Heikin Ashi Option
The Heikin Ashi candle type can be toggled on or off. Using Heikin Ashi helps smooth out market noise and provides a clearer indication of trend direction.
This is particularly helpful for traders who want to filter out market noise and focus on the primary trend.
4.Table Customization
Table Positioning: The table showing timeframe data can be positioned at different locations on the chart—top, middle, or bottom.
Text and Alignment: The alignment and text size of the table can be customized for better visual clarity.
Color Settings: Users can choose specific colors to indicate buying and selling pressure across timeframes, making it easy to interpret.
5.Strong Movement Indicators
The screener provides an additional visual cue (🔥) for timeframes where the movement is deemed strong, based on a user-defined threshold.
This helps highlight timeframes where significant buying or selling pressure is present, which could signal potential trading opportunities.
How the Screener Works
1.Pressure Calculation
For each selected timeframe, the indicator retrieves the Open, High, Low, and Close (OHLC) values.
It calculates buy pressure (the range between high and low when the closing price is higher than the opening) and sell pressure (the range between high and low when the closing price is equal to or lower than the opening).
The screener computes the pressure ratio, which represents the difference between buying and selling pressure, to determine which side is dominant.
2.Trend Rating and Signal Generation
Based on the calculated pressure, the screener determines a trend rating for each timeframe: "Buy," "Sell," or "Neutral." (▲ ,▼ or •)
Additionally, it generates a signal (▲ or ▼) to indicate the current trend direction and whether the move is strong (based on the user-defined threshold).
If the movement is strong, a fire icon (🔥) is added to indicate that there is significant pressure on that timeframe, signaling a higher confidence in the trend.
3.Customizable Strong Move Thresholds
Strong Move Threshold: The screener uses this value to decide whether a trend is significantly strong. A higher value makes it more selective in determining strong moves.
Strong Movement Threshold: Helps determine when an additional strong signal should be displayed, offering further insight into the strength of market movement.
Inputs and Customization
The Enhanced Pressure MTF Screener is highly customizable to fit the needs of individual traders:
General Settings:
Use Heikin Ashi: Toggle this setting to use Heikin Ashi for a smoother trend representation.
Strong Move Threshold: Defines how strong a move should be to be considered significant.
Strong Movement Threshold: Specifies the level of pressure required to highlight a move with the fire icon.
Table Settings:
Position: Choose the vertical position of the screener table (top, middle, or bottom of the chart).
Alignment: Align the table (left, center, or right) to best suit your chart layout.
Text Size: Adjust the text size in the table for better readability.
Table Color Settings:
Users can set different colors to represent buying and selling signals for better visual clarity, particularly when scanning multiple timeframes.
Timeframe Settings:
The screener provides options to include up to ten different timeframes. Traders can select and customize each timeframe to match their strategy.
Examples of available timeframes include 1 Week, 1 Day, 12 Hours, down to 10 Minutes, allowing for both broad and detailed analysis.
Practical Use Case
Identifying Trend Alignment Across Timeframes:
Imagine you are about to take a long trade but want to make sure that the trend direction is aligned across multiple timeframes.
The screener displays "Buy" ratings across the 4H, 1H, 30M, and 10M timeframes, while higher timeframes (like 1W and 1D) also show "Buy" with strong signals (🔥). This indicates that buying pressure is strong across the board, adding confidence to your trade.
Spotting Reversal Opportunities:
If a downtrend is evident across most timeframes but suddenly a higher timeframe, such as 12H, changes to "Buy" while showing a strong move (🔥), this could indicate a potential reversal.
The screener allows you to spot these discrepancies and consider taking early action.
Benefits for Traders
1.Synchronization Across Timeframes:
One of the main strengths of this screener is its ability to show synchronized buy/sell signals across different timeframes. This makes it easy to confirm the strength and consistency of a trend.
For example, if you see that all the selected timeframes display "Buy," this implies that both short-term and long-term traders are favoring the upside, giving additional confidence to go long.
2.Quick and Visual Trend Overview:
The table offers an at-a-glance summary, reducing the time required to manually inspect each timeframe.
This makes it particularly useful for traders who want to make quick decisions, such as day traders or scalpers.
3.Strong Move Indicator:
The use of fire icons (🔥) provides an easy way to identify significant movements. This is particularly helpful for traders looking for breakouts or strong market conditions that could lead to high probability trades.
To put it short or to summarize
The Enhanced Pressure MTF Screener is a powerful add-on for traders looking to understand how buy and sell pressure aligns across multiple timeframes. It offers:
A clear summary of buying or selling pressure across different timeframes.
Heikin Ashi smoothing, providing an option to reduce market noise.
Strong movement signals to highlight significant trading opportunities.
Customizable settings to fit any trading strategy or style.
The screener and the main indicator are best used together, as the screener provides the multi-timeframe overview, while the main indicator provides an in-depth look at each individual bar and trend.
I hope my indicator helps with your trading, if you guys have any ideas or questions there is the comment section :D
Dynamic Market Correlation Analyzer (DMCA) v1.0Description
The Dynamic Market Correlation Analyzer (DMCA) is an advanced TradingView indicator designed to provide real-time correlation analysis between multiple assets. It offers a comprehensive view of market relationships through correlation coefficients, technical indicators, and visual representations.
Key Features
- Multi-asset correlation tracking (up to 5 symbols)
- Dynamic correlation strength categorization
- Integrated technical indicators (RSI, MACD, DX)
- Customizable visualization options
- Real-time price change monitoring
- Flexible timeframe selection
## Use Cases
1. **Portfolio Diversification**
- Identify highly correlated assets to avoid concentration risk
- Find negatively correlated assets for hedging strategies
- Monitor correlation changes during market events
2. Pairs Trading
- Detect correlation breakdowns for potential trading opportunities
- Track correlation strength for pair selection
- Monitor technical indicators for trade timing
3. Risk Management
- Assess portfolio correlation risk in real-time
- Monitor correlation shifts during market stress
- Identify potential portfolio vulnerabilities
4. **Market Analysis**
- Study sector relationships and rotations
- Analyze cross-asset correlations (e.g., stocks vs. commodities)
- Track market regime changes through correlation patterns
Components
Input Parameters
- **Timeframe**: Custom timeframe selection for analysis
- **Length**: Correlation calculation period (default: 20)
- **Source**: Price data source selection
- **Symbol Selection**: Up to 5 customizable symbols
- **Display Options**: Table position, text color, and size settings
Technical Indicators
1. **Correlation Coefficient**
- Range: -1 to +1
- Strength categories: Strong/Moderate/Weak (Positive/Negative)
2. **RSI (Relative Strength Index)**
- 14-period default setting
- Momentum comparison across assets
3. **MACD (Moving Average Convergence Divergence)**
- Standard settings (12, 26, 9)
- Trend direction indicator
4. **DX (Directional Index)**
- Trend strength measurement
- Based on DMI calculations
Visual Components
1. **Correlation Table**
- Symbol identifiers
- Correlation coefficients
- Correlation strength descriptions
- Price change percentages
- Technical indicator values
2. **Correlation Plot**
- Real-time correlation visualization
- Multiple correlation lines
- Reference levels at -1, 0, and +1
- Color-coded for easy identification
Installation and Setup
1. Load the indicator on TradingView
2. Configure desired symbols (up to 5)
3. Adjust timeframe and calculation length
4. Customize display settings
5. Enable/disable desired components (table, plot, RSI)
Best Practices
1. **Symbol Selection**
- Choose related but distinct assets
- Include a mix of asset classes
- Consider market cap and liquidity
2. **Timeframe Selection**
- Match timeframe to trading strategy
- Consider longer timeframes for strategic analysis
- Use shorter timeframes for tactical decisions
3. **Interpretation**
- Monitor correlation changes over time
- Consider multiple timeframes
- Combine with other technical analysis tools
- Account for market conditions and volatility
Performance Notes
- Calculations update in real-time
- Resource usage scales with number of active symbols
- Historical data availability may affect initial calculations
Version History
- v1.0: Initial release with core functionality
- Multi-symbol correlation analysis
- Technical indicator integration
- Customizable display options
Future Enhancements (Planned)
- Additional technical indicators
- Advanced correlation algorithms
- Enhanced visualization options
- Custom alert conditions
- Statistical significance testing
Dual Momentum StrategyThis Pine Script™ strategy implements the "Dual Momentum" approach developed by Gary Antonacci, as presented in his book Dual Momentum Investing: An Innovative Strategy for Higher Returns with Lower Risk (McGraw Hill Professional, 2014). Dual momentum investing combines relative momentum and absolute momentum to maximize returns while minimizing risk. Relative momentum involves selecting the asset with the highest recent performance between two options (a risky asset and a safe asset), while absolute momentum considers whether the chosen asset has a positive return over a specified lookback period.
In this strategy:
Risky Asset (SPY): Represents a stock index fund, typically more volatile but with higher potential returns.
Safe Asset (TLT): Represents a bond index fund, which generally has lower volatility and acts as a hedge during market downturns.
Monthly Momentum Calculation: The momentum for each asset is calculated based on its price change over the last 12 months. Only assets with a positive momentum (absolute momentum) are considered for investment.
Decision Rules:
Invest in the risky asset if its momentum is positive and greater than that of the safe asset.
If the risky asset’s momentum is negative or lower than the safe asset's, the strategy shifts the allocation to the safe asset.
Scientific Reference
Antonacci's work on dual momentum investing has shown the strategy's ability to outperform traditional buy-and-hold methods while reducing downside risk. This approach has been reviewed and discussed in both academic and investment publications, highlighting its strong risk-adjusted returns (Antonacci, 2014).
Reference: Antonacci, G. (2014). Dual Momentum Investing: An Innovative Strategy for Higher Returns with Lower Risk. McGraw Hill Professional.
Trend Momentum Indicator with MACD ConfirmationTrend Momentum Indicator with MACD Confirmation
Overview: The Trend Momentum Indicator with MACD Confirmation is a versatile trading tool designed to help traders identify potential buy and sell signals in the market based on the interaction between price action, a Simple Moving Average (SMA), and the Moving Average Convergence Divergence (MACD) indicator. This strategy aims to enhance trading decisions by waiting for MACD confirmation before executing trades, thereby reducing false signals.
Components:
Simple Moving Average (SMA):
The SMA is calculated over a user-defined period (default: 20 bars) and serves as a trend indicator. It provides a smoothed representation of price action and helps traders identify the overall market direction.
MACD:
The MACD is calculated using standard parameters (12 for fast length, 26 for slow length, and 9 for signal length) but can be adjusted to suit individual trading preferences. The MACD consists of two lines:
MACD Line: The difference between the fast and slow EMAs.
Signal Line: An EMA of the MACD Line, which helps indicate buy and sell conditions.
Buy and Sell Signals:
Buy Signal: A buy signal is triggered when the price crosses above the SMA, coupled with the MACD line crossing above the signal line, indicating a bullish momentum.
Sell Signal: A sell signal occurs when the price crosses below the SMA, alongside the MACD line crossing below the signal line, indicating a bearish momentum.
Visual Features:
The SMA is plotted on the main price chart, allowing traders to easily visualize trend direction.
Buy signals are indicated by green triangle shapes below the price bars, while sell signals are shown by red triangle shapes above the price bars.
Optionally, a MACD histogram can be plotted to visualize the difference between the MACD line and the signal line, helping to confirm trade signals visually.
Usage:
This indicator is suitable for various trading styles, including day trading, swing trading, and trend-following strategies. It can be applied to any financial instrument, including stocks, forex, and cryptocurrencies.
Traders should consider combining this indicator with additional tools and analysis to enhance decision-making and manage risk effectively.
Monthly EMA Touches CounterKey Features of This Script:
Touch Threshold: The script checks if the price is within a specified percentage of each EMA.
Monthly Touch Counters: Separate counters (touchCountEMA12, touchCountEMA26, touchCountEMA50) are used to count touches for each EMA.
Reset Logic: All counters reset at the start of a new month using if ta.change(time("M")).
Increment Logic: Each counter increments whenever the corresponding EMA is touched during a bar.
Label Management: Labels are created to display each count above the bars at the end of each month.
Alert Conditions: Alerts are set up for when the price touches any of the EMAs.
Usage:
Copy and paste this script into TradingView's Pine Script editor.
Add it to your chart to see how many times the price has touched each of the EMAs (12, 26, and 50) on a monthly basis.
Adjust the Touch Threshold (%) input as needed for sensitivity.
This implementation will allow you to effectively track and visualize how often price touches each of these EMAs on a monthly basis. If you have further modifications or additional features you'd like to explore, feel free to ask
S&P 100 Option Expiration Week StrategyThe Option Expiration Week Strategy aims to capitalize on increased volatility and trading volume that often occur during the week leading up to the expiration of options on stocks in the S&P 100 index. This period, known as the option expiration week, culminates on the third Friday of each month when stock options typically expire in the U.S. During this week, investors in this strategy take a long position in S&P 100 stocks or an equivalent ETF from the Monday preceding the third Friday, holding until Friday. The strategy capitalizes on potential upward price pressures caused by increased option-related trading activity, rebalancing, and hedging practices.
The phenomenon leveraged by this strategy is well-documented in finance literature. Studies demonstrate that options expiration dates have a significant impact on stock returns, trading volume, and volatility. This effect is driven by various market dynamics, including portfolio rebalancing, delta hedging by option market makers, and the unwinding of positions by institutional investors (Stoll & Whaley, 1987; Ni, Pearson, & Poteshman, 2005). These market activities intensify near option expiration, causing price adjustments that may create short-term profitable opportunities for those aware of these patterns (Roll, Schwartz, & Subrahmanyam, 2009).
The paper by Johnson and So (2013), Returns and Option Activity over the Option-Expiration Week for S&P 100 Stocks, provides empirical evidence supporting this strategy. The study analyzes the impact of option expiration on S&P 100 stocks, showing that these stocks tend to exhibit abnormal returns and increased volume during the expiration week. The authors attribute these patterns to intensified option trading activity, where demand for hedging and arbitrage around options expiration causes temporary price adjustments.
Scientific Explanation
Research has found that option expiration weeks are marked by predictable increases in stock returns and volatility, largely due to the role of options market makers and institutional investors. Option market makers often use delta hedging to manage exposure, which requires frequent buying or selling of the underlying stock to maintain a hedged position. As expiration approaches, their activity can amplify price fluctuations. Additionally, institutional investors often roll over or unwind positions during expiration weeks, creating further demand for underlying stocks (Stoll & Whaley, 1987). This increased demand around expiration week typically leads to temporary stock price increases, offering profitable opportunities for short-term strategies.
Key Research and Bibliography
Johnson, T. C., & So, E. C. (2013). Returns and Option Activity over the Option-Expiration Week for S&P 100 Stocks. Journal of Banking and Finance, 37(11), 4226-4240.
This study specifically examines the S&P 100 stocks and demonstrates that option expiration weeks are associated with abnormal returns and trading volume due to increased activity in the options market.
Stoll, H. R., & Whaley, R. E. (1987). Program Trading and Expiration-Day Effects. Financial Analysts Journal, 43(2), 16-28.
Stoll and Whaley analyze how program trading and portfolio insurance strategies around expiration days impact stock prices, leading to temporary volatility and increased trading volume.
Ni, S. X., Pearson, N. D., & Poteshman, A. M. (2005). Stock Price Clustering on Option Expiration Dates. Journal of Financial Economics, 78(1), 49-87.
This paper investigates how option expiration dates affect stock price clustering and volume, driven by delta hedging and other option-related trading activities.
Roll, R., Schwartz, E., & Subrahmanyam, A. (2009). Options Trading Activity and Firm Valuation. Journal of Financial Markets, 12(3), 519-534.
The authors explore how options trading activity influences firm valuation, finding that higher options volume around expiration dates can lead to temporary price movements in underlying stocks.
Cao, C., & Wei, J. (2010). Option Market Liquidity and Stock Return Volatility. Journal of Financial and Quantitative Analysis, 45(2), 481-507.
This study examines the relationship between options market liquidity and stock return volatility, finding that increased liquidity needs during expiration weeks can heighten volatility, impacting stock returns.
Summary
The Option Expiration Week Strategy utilizes well-researched financial market phenomena related to option expiration. By positioning long in S&P 100 stocks or ETFs during this period, traders can potentially capture abnormal returns driven by option market dynamics. The literature suggests that options-related activities—such as delta hedging, position rollovers, and portfolio adjustments—intensify demand for underlying assets, creating short-term profit opportunities around these key dates.
XAUUSD 10-Minute StrategyThis XAUUSD 10-Minute Strategy is designed for trading Gold vs. USD on a 10-minute timeframe. By combining multiple technical indicators (MACD, RSI, Bollinger Bands, and ATR), the strategy effectively captures both trend-following and reversal opportunities, with adaptive risk management for varying market volatility. This approach balances high-probability entries with robust volatility management, making it suitable for traders seeking to optimise entries during significant price movements and reversals.
Key Components and Logic:
MACD (12, 26, 9):
Generates buy signals on MACD Line crossovers above the Signal Line and sell signals on crossovers below the Signal Line, helping to capture momentum shifts.
RSI (14):
Utilizes oversold (below 35) and overbought (above 65) levels as a secondary filter to validate entries and avoid overextended price zones.
Bollinger Bands (20, 2):
Uses upper and lower Bollinger Bands to identify potential overbought and oversold conditions, aiming to enter long trades near the lower band and short trades near the upper band.
ATR-Based Stop Loss and Take Profit:
Stop Loss and Take Profit levels are dynamically set as multiples of ATR (3x for stop loss, 5x for take profit), ensuring flexibility with market volatility to optimise exit points.
Entry & Exit Conditions:
Buy Entry: T riggered when any of the following conditions are met:
MACD Line crosses above the Signal Line
RSI is oversold
Price drops below the lower Bollinger Band
Sell Entry: Triggered when any of the following conditions are met:
MACD Line crosses below the Signal Line
RSI is overbought
Price moves above the upper Bollinger Band
Exit Strategy: Trades are closed based on opposing entry signals, with adaptive spread adjustments for realistic exit points.
Backtesting Configuration & Results:
Backtesting Period: July 21, 2024, to October 30, 2024
Symbol Info: XAUUSD, 10-minute timeframe, OANDA data source
Backtesting Capital: Initial capital of $700, with each trade set to 10 contracts (equivalent to approximately 0.1 lots based on the broker’s contract size for gold).
Users should confirm their broker's contract size for gold, as this may differ. This script uses 10 contracts for backtesting purposes, aligned with 0.1 lots on brokers offering a 100-contract specification.
Key Backtesting Performance Metrics:
Net Profit: $4,733.90 USD (676.27% increase)
Total Closed Trades: 526
Win Rate: 53.99%
Profit Factor: 1.44 (1.96 for Long trades, 1.14 for Short trades)
Max Drawdown: $819.75 USD (56.33% of equity)
Sharpe Ratio: 1.726
Average Trade: $9.00 USD (0.04% of equity per trade)
This backtest reflects realistic conditions, with a spread adjustment of 38 points and no slippage or commission applied. The settings aim to simulate typical retail trading conditions. However, please adjust the initial capital, contract size, and other settings based on your account specifics for best results.
Usage:
This strategy is tuned specifically for XAUUSD on a 10-minute timeframe, ideal for both trend-following and reversal trades. The ATR-based stop loss and take profit levels adapt dynamically to market volatility, optimising entries and exits in varied conditions. To backtest this script accurately, ensure your broker’s contract specifications for gold align with the parameters used in this strategy.
Performance Summary and Shading (Offset Version)Modified "Recession and Crisis Shading" Indicator by @haribotagada (Original Link: )
The updated indicator accepts a days offset (positive or negative) to calculate performance between the offset date and the input date.
Potential uses include identifying performance one week after company earnings or an FOMC meeting.
This feature simplifies input by enabling standardized offset dates, while still allowing flexibility to adjust ranges by overriding inputs as needed.
Summary of added features and indicator notes:
Inputs both positive and negative offset.
By default, the script calculates performance from the close of the input date to the close of the date at (input date + offset) for positive offsets, and from the close of (input date - offset) to the close of the input date for negative offsets. For example, with an input date of November 1, 2024, an offset of 7 calculates performance from the close on November 1 to the close on November 8, while an offset of -7 calculates from the close on October 25 to the close on November 1.
Allows user to perform the calculation using the open price on the input date instead of close price
The input format has been modified to allow overrides for the default duration, while retaining the original capabilities of the indicator.
The calculation shows both the average change and the average annualized change. For bar-wise calculations, annualization assumes 252 trading days per year. For date-wise calculations, it assumes 365 days for annualization.
Carries over all previous inputs to retain functionality of the previous script. Changes a few small settings:
Calculates start to end date performance by default instead of peak to trough performance.
Updates visuals of label text to make it easier to read and less transparent.
Changed stat box color scheme to make the text easier to read
Updated default input data to new format of input with offsets
Changed default duration statistic to number of days instead of number of bars with an option to select number of bars.
Potential Features to Add:
Import dataset from CSV files or by plugging into TradingView calendar
Example Input Datasets:
Recessions:
2020-02-01,COVID-19,59
2007-12-01,Subprime mortgages,547
2001-03-01,Dot-com,243
1990-07-01,Oil shock,243
1981-07-01,US unemployment,788
1980-01-01,Volker,182
1973-11-01,OPEC,485
Japan Revolving Door Elections
2006-09-26, Shinzo Abe
2007-09-26, Yasuo Fukuda
2008-09-24, Taro Aso
2009-09-16, Yukio Hatoyama
2010-07-08, Naoto Kan
2011-09-02, Yoshihiko Noda
Hope you find the modified indicator useful and let me know if you would like any features to be added!
Z-Score Weighted Trend System I [InvestorUnknown]The Z-Score Weighted Trend System I is an advanced and experimental trading indicator designed to utilize a combination of slow and fast indicators for a comprehensive analysis of market trends. The system is designed to identify stable trends using slower indicators while capturing rapid market shifts through dynamically weighted fast indicators. The core of this indicator is the dynamic weighting mechanism that utilizes the Z-score of price , allowing the system to respond effectively to significant market movements.
Dynamic Z-Score-Based Weighting System
The Z-Score Weighted Trend System I utilizes the Z-score of price to assign weights dynamically to fast indicators. This mechanism is designed to capture rapid market shifts at potential turning points, providing timely entry and exit signals.
Traders can choose from two primary weighting mechanisms:
Threshold-Based Weighting: The fast indicators are given weight only when the absolute Z-score exceeds a user-defined threshold. Below this threshold, fast indicators have no impact on the final signal.
Continuous Weighting: By setting the threshold to zero, fast indicators always contribute to the final signal, regardless of Z-score levels. However, this increases the likelihood of false signals during ranging or low-volatility markets
// Calculate weight for Fast Indicators based on Z-Score (Slow Indicator weight is kept to 1 for simplicity)
f_zscore_weights(series float z, simple float weight_thre) =>
float fast_weight = na
float slow_weight = na
if weight_thre > 0
if math.abs(z) <= weight_thre
fast_weight := 0
slow_weight := 1
else
fast_weight := 0 + math.sqrt(math.abs(z))
slow_weight := 1
else
fast_weight := 0 + math.sqrt(math.abs(z))
slow_weight := 1
Choice of Z-Score Normalization
Traders have the flexibility to select different Z-score processing methods to better suit their trading preferences:
Raw Z-Score or Moving Average: Traders can opt for either the raw Z-score or a moving average of the Z-score to smooth out fluctuations.
Normalized Z-Score (ranging from -1 to 1) or Z-Score Percentile: The normalized Z-score is simply the raw Z-score divided by 3, while the Z-score percentile utilizes a normal distribution for transformation.
f_zscore_perc(series float zscore_src, simple int zscore_len, simple string zscore_a, simple string zscore_b, simple string ma_type, simple int ma_len) =>
z = (zscore_src - ta.sma(zscore_src, zscore_len)) / ta.stdev(zscore_src, zscore_len)
zscore = switch zscore_a
"Z-Score" => z
"Z-Score MA" => ma_type == "EMA" ? (ta.ema(z, ma_len)) : (ta.sma(z, ma_len))
output = switch zscore_b
"Normalized Z-Score" => (zscore / 3) > 1 ? 1 : (zscore / 3) < -1 ? -1 : (zscore / 3)
"Z-Score Percentile" => (f_percentileFromZScore(zscore) - 0.5) * 2
output
Slow and Fast Indicators
The indicator uses a combination of slow and fast indicators:
Slow Indicators (constant weight) for stable trend identification: DMI (Directional Movement Index), CCI (Commodity Channel Index), Aroon
Fast Indicators (dynamic weight) to identify rapid trend shifts: ZLEMA (Zero-Lag Exponential Moving Average), IIRF (Infinite Impulse Response Filter)
Each indicator is calculated using for-loop methods to provide a smoothed and averaged view of price data over varying lengths, ensuring stability for slow indicators and responsiveness for fast indicators.
Signal Calculation
The final trading signal is determined by a weighted combination of both slow and fast indicators. The slow indicators provide a stable view of the trend, while the fast indicators offer agile responses to rapid market movements. The signal calculation takes into account the dynamic weighting of fast indicators based on the Z-score:
// Calculate Signal (as weighted average)
float sig = math.round(((DMI*slow_w) + (CCI*slow_w) + (Aroon*slow_w) + (ZLEMA*fast_w) + (IIRF*fast_w)) / (3*slow_w + 2*fast_w), 2)
Backtest Mode and Performance Metrics
The indicator features a detailed backtesting mode, allowing traders to compare the effectiveness of their selected settings against a traditional Buy & Hold strategy. The backtesting provides:
Equity calculation based on signals generated by the indicator.
Performance metrics comparing Buy & Hold metrics with the system’s signals, including: Mean, positive, and negative return percentages, Standard deviations, Sharpe, Sortino, and Omega Ratios
// Calculate Performance Metrics
f_PerformanceMetrics(series float base, int Lookback, simple float startDate, bool Annualize = true) =>
// Initialize variables for positive and negative returns
pos_sum = 0.0
neg_sum = 0.0
pos_count = 0
neg_count = 0
returns_sum = 0.0
returns_squared_sum = 0.0
pos_returns_squared_sum = 0.0
neg_returns_squared_sum = 0.0
// Loop through the past 'Lookback' bars to calculate sums and counts
if (time >= startDate)
for i = 0 to Lookback - 1
r = (base - base ) / base
returns_sum += r
returns_squared_sum += r * r
if r > 0
pos_sum += r
pos_count += 1
pos_returns_squared_sum += r * r
if r < 0
neg_sum += r
neg_count += 1
neg_returns_squared_sum += r * r
float export_array = array.new_float(12)
// Calculate means
mean_all = math.round((returns_sum / Lookback), 4)
mean_pos = math.round((pos_count != 0 ? pos_sum / pos_count : na), 4)
mean_neg = math.round((neg_count != 0 ? neg_sum / neg_count : na), 4)
// Calculate standard deviations
stddev_all = math.round((math.sqrt((returns_squared_sum - (returns_sum * returns_sum) / Lookback) / Lookback)) * 100, 2)
stddev_pos = math.round((pos_count != 0 ? math.sqrt((pos_returns_squared_sum - (pos_sum * pos_sum) / pos_count) / pos_count) : na) * 100, 2)
stddev_neg = math.round((neg_count != 0 ? math.sqrt((neg_returns_squared_sum - (neg_sum * neg_sum) / neg_count) / neg_count) : na) * 100, 2)
// Calculate probabilities
prob_pos = math.round((pos_count / Lookback) * 100, 2)
prob_neg = math.round((neg_count / Lookback) * 100, 2)
prob_neu = math.round(((Lookback - pos_count - neg_count) / Lookback) * 100, 2)
// Calculate ratios
sharpe_ratio = math.round((mean_all / stddev_all * (Annualize ? math.sqrt(Lookback) : 1))* 100, 2)
sortino_ratio = math.round((mean_all / stddev_neg * (Annualize ? math.sqrt(Lookback) : 1))* 100, 2)
omega_ratio = math.round(pos_sum / math.abs(neg_sum), 2)
// Set values in the array
array.set(export_array, 0, mean_all), array.set(export_array, 1, mean_pos), array.set(export_array, 2, mean_neg),
array.set(export_array, 3, stddev_all), array.set(export_array, 4, stddev_pos), array.set(export_array, 5, stddev_neg),
array.set(export_array, 6, prob_pos), array.set(export_array, 7, prob_neu), array.set(export_array, 8, prob_neg),
array.set(export_array, 9, sharpe_ratio), array.set(export_array, 10, sortino_ratio), array.set(export_array, 11, omega_ratio)
// Export the array
export_array
//}
Calibration Mode
A Calibration Mode is included for traders to focus on individual indicators, helping them fine-tune their settings without the influence of other components. In Calibration Mode, the user can visualize each indicator separately, making it easier to adjust parameters.
Alerts
The indicator includes alerts for long and short signals when the indicator changes direction, allowing traders to set automated notifications for key market events.
// Alert Conditions
alertcondition(long_alert, "LONG (Z-Score Weighted Trend System)", "Z-Score Weighted Trend System flipped ⬆LONG⬆")
alertcondition(short_alert, "SHORT (Z-Score Weighted Trend System)", "Z-Score Weighted Trend System flipped ⬇Short⬇")
Important Note:
The default settings of this indicator are not optimized for any particular market condition. They are generic starting points for experimentation. Traders are encouraged to use the calibration tools and backtesting features to adjust the system to their specific trading needs.
The results generated from the backtest are purely historical and are not indicative of future results. Market conditions can change, and the performance of this system may differ under different circumstances. Traders and investors should exercise caution and conduct their own research before using this indicator for any trading decisions.
Supertrend StrategyThe Supertrend Strategy was created based on the Supertrend and Relative Strength Index (RSI) indicators, widely respected tools in technical analysis. This strategy combines these two indicators to capture market trends with precision and reliability, looking for optimizing exit levels at oversold or overbought price levels.
The Supertrend indicator identifies trend direction based on price and volatility by using the Average True Range (ATR). The ATR measures market volatility by calculating the average range between an asset’s high and low prices over a set period. It provides insight into price fluctuations, with higher ATR values indicating increased volatility and lower values suggesting stability. The Supertrend Indicator plots a line above or below the price, signaling potential buy or sell opportunities: when the price closes above the Supertrend line, an uptrend is indicated, while a close below the line suggests a downtrend. This line shifts as price movements and volatility levels change, acting as both a trailing stop loss and trend confirmation.
To enhance the Supertrend strategy, the Relative Strength Index (RSI) has been added as an exit criterion. As a momentum oscillator, the RSI indicates overbought (usually above 70) or oversold (usually below 30) conditions. This integration allows trades to close when the asset is overbought or oversold, capturing gains before a possible reversal, even if the percentage take profit level has not been reached. This mechanism aims to prevent losses due to market reversals before the Supertrend signal changes.
### Key Features
1. **Entry criteria**:
- The strategy uses the Supertrend indicator calculated by adding or subtracting a multiple of the ATR from the closing price, depending on the trend direction.
- When the price crosses above the Supertrend line, the strategy signals a long (buy) entry. Conversely, when the price crosses below, it signals a short (sell) entry.
- The strategy performs a reversal if there is an open position and a change in the direction of the supertrend occurs
2. **Exit criteria**:
- Take profit of 30% (default) on the average position price.
- Oversold (≤ 5) or overbought (≥ 95) RSI
- Reversal when there is a change in direction of the Supertrend
3. **No Repainting**:
- This strategy is not subject to repainting, as long as the timeframe configured on your chart is the same as the supertrend timeframe .
4. **Position Sizing by Equity and risk management**:
- This strategy has a default configuration to operate with 35% of the equity. At the time of opening the position, the supertrend line is typically positioned at about 12 to 16% of the entry price. This way, the strategy is putting at risk about 16% of 35% of equity, that is, around 5.6% of equity for each trade. The percentage of equity can be adjusted by the user according to their risk management.
5. **Backtest results**:
- This strategy was subjected to deep backtesting and operations in replay mode, including transaction fees of 0.12%, and slippage of 5 ticks.
- The past results in deep backtest and replay mode were compatible and profitable (Variable results depending on the take profit used, supertrend and RSI parameters). However, it should be noted that few operations were evaluated, since the currency in question has been created for a short time and the frequency of operations is relatively small.
- Past results are no guarantee of future results. The strategy's backtest results may even be due to overfitting with past data.
Default Settings
Chart timeframe: 2h
Supertrend Factor: 3.42
ATR period: 14
Supertrend timeframe: 2 h
RSI timeframe: 15 min
RSI Lenght: 5 min
RSI Upper limit: 95
RSI Lower Limit: 5
Take Profit: 30%
BYBIT:1000000MOGUSDT.P
Market Bias IndicatorOverview
This Pine Script™ code generates a "Market Sentiment Dashboard" on TradingView, providing a visual summary of market sentiment across multiple timeframes. This tool aids traders in making informed decisions by displaying real-time sentiment analysis based on Exponential Moving Averages (EMA).
Key Features
Panel Positioning:
Custom Placement: Traders can position the dashboard at the top, middle, or bottom of the chart and align it to the left, centre, or right, ensuring optimal integration with other chart elements.
Customizable Colours:
Sentiment Colours: Users can define colours for bullish, bearish, and neutral market conditions, enhancing the dashboard's readability.
Text Colour: Customizable text colour ensures clarity against various background colours.
Label Size:
Scalable Labels: Adjustable label sizes (from very small to very large) ensure readability across different screen sizes and resolutions.
Market Sentiment Calculation:
EMA-Based Sentiment: The dashboard calculates sentiment using a 9-period EMA. If the EMA is higher than two bars ago, the sentiment is bullish; if lower, it's bearish; otherwise, it's neutral.
Multiple Timeframes: Sentiment is calculated for several timeframes: 30 minute, 1 hour, 4 hour, 6 hour, 8 hour, 12 hour, 1 day, and 1 week. This broad analysis provides a comprehensive view of market conditions.
Dynamic Table:
Structured Display: The dashboard uses a table to organize and display sentiment data clearly.
Real-Time Updates: The table updates in real-time, providing traders with up-to-date market information.
How It Works
EMA Calculation: The script requests EMA(9) values for each specified timeframe and compares the current EMA with the EMA from two bars ago to determine market sentiment.
Colour Coding: Depending on the sentiment (Bullish, Bearish, or Neutral), the corresponding cell in the table is color-coded using predefined colours.
Table Display: The table displays the timeframe and corresponding sentiment, allowing traders to quickly assess market trends.
Benefits to Traders
Quick Assessment: Traders can quickly evaluate market sentiment across multiple timeframes without switching charts or manually calculating indicators.
Enhanced Visualization: The color-coded sentiment display makes it easy to identify trends at a glance.
Multi-Timeframe Analysis: Provides a broad view of short-term and long-term market trends, helping traders confirm trends and avoid false signals.
This dashboard enhances the overall trading experience by providing a comprehensive, customizable, and easy-to-read summary of market sentiment.
Usage Instructions
Add the Script to Your Chart: Apply the "Market Sentiment Dashboard" indicator to your TradingView chart.
Customize Settings: Adjust the panel position, colours, and label sizes to fit your preferences.
Interpret Sentiment: Use the color-coded table to quickly understand the market sentiment across different timeframes and make informed trading decisions.
RSI Weighted Trend System I [InvestorUnknown]The RSI Weighted Trend System I is an experimental indicator designed to combine both slow-moving trend indicators for stable trend identification and fast-moving indicators to capture potential major turning points in the market. The novelty of this system lies in the dynamic weighting mechanism, where fast indicators receive weight based on the current Relative Strength Index (RSI) value, thus providing a flexible tool for traders seeking to adapt their strategies to varying market conditions.
Dynamic RSI-Based Weighting System
The core of the indicator is the dynamic weighting of fast indicators based on the value of the RSI. In essence, the higher the absolute value of the RSI (whether positive or negative), the higher the weight assigned to the fast indicators. This enables the system to capture rapid price movements around potential turning points.
Users can choose between a threshold-based or continuous weight system:
Threshold-Based Weighting: Fast indicators are activated only when the absolute RSI value exceeds a user-defined threshold. Below this threshold, fast indicators receive no weight.
Continuous Weighting: By setting the weight threshold to zero, the fast indicators always receive some weight, although this can result in more false signals in ranging markets.
// Calculate weight for Fast Indicators based on RSI (Slow Indicator weight is kept to 1 for simplicity)
f_RSI_Weight_System(series float rsi, simple float weight_thre) =>
float fast_weight = na
float slow_weight = na
if weight_thre > 0
if math.abs(rsi) <= weight_thre
fast_weight := 0
slow_weight := 1
else
fast_weight := 0 + math.sqrt(math.abs(rsi))
slow_weight := 1
else
fast_weight := 0 + math.sqrt(math.abs(rsi))
slow_weight := 1
Slow and Fast Indicators
Slow Indicators are designed to identify stable trends, remaining constant in weight. These include:
DMI (Directional Movement Index) For Loop
CCI (Commodity Channel Index) For Loop
Aroon For Loop
Fast Indicators are more responsive and designed to spot rapid trend shifts:
ZLEMA (Zero-Lag Exponential Moving Average) For Loop
IIRF (Infinite Impulse Response Filter) For Loop
Each of these indicators is calculated using a for-loop method to generate a moving average, which captures the trend of a given length range.
RSI Normalization
To facilitate the weighting system, the RSI is normalized from its usual 0-100 range to a -1 to 1 range. This allows for easy scaling when calculating weights and helps the system adjust to rapidly changing market conditions.
// Normalize RSI (1 to -1)
f_RSI(series float rsi_src, simple int rsi_len, simple string rsi_wb, simple string ma_type, simple int ma_len) =>
output = switch rsi_wb
"RAW RSI" => ta.rsi(rsi_src, rsi_len)
"RSI MA" => ma_type == "EMA" ? (ta.ema(ta.rsi(rsi_src, rsi_len), ma_len)) : (ta.sma(ta.rsi(rsi_src, rsi_len), ma_len))
Signal Calculation
The final trading signal is a weighted average of both the slow and fast indicators, depending on the calculated weights from the RSI. This ensures a balanced approach, where slow indicators maintain overall trend guidance, while fast indicators provide timely entries and exits.
// Calculate Signal (as weighted average)
sig = math.round(((DMI*slow_w) + (CCI*slow_w) + (Aroon*slow_w) + (ZLEMA*fast_w) + (IIRF*fast_w)) / (3*slow_w + 2*fast_w), 2)
Backtest Mode and Performance Metrics
This version of the RSI Weighted Trend System includes a comprehensive backtesting mode, allowing users to evaluate the performance of their selected settings against a Buy & Hold strategy. The backtesting includes:
Equity calculation based on the signals generated by the indicator.
Performance metrics table comparing Buy & Hold strategy metrics with the system’s signals, including: Mean, positive, and negative return percentages, Standard deviations (of all, positive and negative returns), Sharpe Ratio, Sortino Ratio, and Omega Ratio
f_PerformanceMetrics(series float base, int Lookback, simple float startDate, bool Annualize = true) =>
// Initialize variables for positive and negative returns
pos_sum = 0.0
neg_sum = 0.0
pos_count = 0
neg_count = 0
returns_sum = 0.0
returns_squared_sum = 0.0
pos_returns_squared_sum = 0.0
neg_returns_squared_sum = 0.0
// Loop through the past 'Lookback' bars to calculate sums and counts
if (time >= startDate)
for i = 0 to Lookback - 1
r = (base - base ) / base
returns_sum += r
returns_squared_sum += r * r
if r > 0
pos_sum += r
pos_count += 1
pos_returns_squared_sum += r * r
if r < 0
neg_sum += r
neg_count += 1
neg_returns_squared_sum += r * r
float export_array = array.new_float(12)
// Calculate means
mean_all = math.round((returns_sum / Lookback) * 100, 2)
mean_pos = math.round((pos_count != 0 ? pos_sum / pos_count : na) * 100, 2)
mean_neg = math.round((neg_count != 0 ? neg_sum / neg_count : na) * 100, 2)
// Calculate standard deviations
stddev_all = math.round((math.sqrt((returns_squared_sum - (returns_sum * returns_sum) / Lookback) / Lookback)) * 100, 2)
stddev_pos = math.round((pos_count != 0 ? math.sqrt((pos_returns_squared_sum - (pos_sum * pos_sum) / pos_count) / pos_count) : na) * 100, 2)
stddev_neg = math.round((neg_count != 0 ? math.sqrt((neg_returns_squared_sum - (neg_sum * neg_sum) / neg_count) / neg_count) : na) * 100, 2)
// Calculate probabilities
prob_pos = math.round((pos_count / Lookback) * 100, 2)
prob_neg = math.round((neg_count / Lookback) * 100, 2)
prob_neu = math.round(((Lookback - pos_count - neg_count) / Lookback) * 100, 2)
// Calculate ratios
sharpe_ratio = math.round(mean_all / stddev_all * (Annualize ? math.sqrt(Lookback) : 1), 2)
sortino_ratio = math.round(mean_all / stddev_neg * (Annualize ? math.sqrt(Lookback) : 1), 2)
omega_ratio = math.round(pos_sum / math.abs(neg_sum), 2)
// Set values in the array
array.set(export_array, 0, mean_all), array.set(export_array, 1, mean_pos), array.set(export_array, 2, mean_neg),
array.set(export_array, 3, stddev_all), array.set(export_array, 4, stddev_pos), array.set(export_array, 5, stddev_neg),
array.set(export_array, 6, prob_pos), array.set(export_array, 7, prob_neu), array.set(export_array, 8, prob_neg),
array.set(export_array, 9, sharpe_ratio), array.set(export_array, 10, sortino_ratio), array.set(export_array, 11, omega_ratio)
// Export the array
export_array
The metrics help traders assess the effectiveness of their strategy over time and can be used to optimize their settings.
Calibration Mode
A calibration mode is included to assist users in tuning the indicator to their specific needs. In this mode, traders can focus on a specific indicator (e.g., DMI, CCI, Aroon, ZLEMA, IIRF, or RSI) and fine-tune it without interference from other signals.
The calibration plot visualizes the chosen indicator's performance against a zero line, making it easy to see how changes in the indicator’s settings affect its trend detection.
Customization and Default Settings
Important Note: The default settings provided are not optimized for any particular market or asset. They serve as a starting point for experimentation. Traders are encouraged to calibrate the system to suit their own trading strategies and preferences.
The indicator allows deep customization, from selecting which indicators to use, adjusting the lengths of each indicator, smoothing parameters, and the RSI weight system.
Alerts
Traders can set alerts for both long and short signals when the indicator flips, allowing for automated monitoring of potential trading opportunities.
Normalized Linear Regression (LSMA) OscillatorNormalized Linear Regression (LSMA) Oscillator
By Nathan Farmer
The Normalized LSMA Oscillator is a trend-following indicator that enhances the classic Linear Regression (LSMA) by applying a range of normalization techniques. This indicator allows traders to smooth out and normalize LSMA signals for better trend detection and dynamic market adaptation.
Key Features:
Configurable Normalization Methods:
This indicator offers several normalization techniques, such as Z-Score, Min-Max, Mean Normalization, Robust Scaler, Logistic Function, and Quantile Transformation. Each method helps in refining LSMA outputs to improve clarity in both trending and ranging market conditions.
Smoothing Options:
Smoothing can be applied after normalization, helping to reduce noise in the signals, thus making trend-following strategies that use this indicator more effective.
Recommended Settings:
Logistic Function Normalization: Recommended length of around 12, based on my preferred signal frequency.
Z-Score Normalization: Medium period (close to the default of 50), based on my preferred signal frequency.
Min-Max Normalization: Medium period, based on my preferred signal frequency.
Mean Normalization: Medium period, based on my preferred signal frequency.
Robust Scaler: Medium period, based on my preferred signal frequency.
Quantile Transformation: Medium period, based on my preferred signal frequency.
Usage:
Designed primarily for trend-following strategies, this indicator adapts well to varying market conditions. Traders can experiment with the various normalization and smoothing settings to match the indicator to their specific needs and market preferences.
Recommendation before usage:
Always backtest the indicator for yourself with respect to how you intend to use it. Modify the parameters to suit your needs, over your preferred time frame, on your preferred asset. My preferences are for the assets I happened to be looking at when I made this indicator. Odds are, you're looking at something else, over a different time frame, in a different market environment than what my settings are tailored for.
[3Commas] Signal BuilderSignal Builder is a tool designed to help traders create custom buy and sell signals by combining multiple technical indicators. Its flexibility allows traders to set conditions based on their specific strategy, whether they’re into scalping, swing trading, or long-term investing. Additionally, its integration with 3Commas bots makes it a powerful choice for those looking to automate their trades, though it’s also ideal for traders who prefer receiving alerts and making manual decisions.
🔵 How does Signal Builder work?
Signal Builder allows users to define custom conditions using popular technical indicators, which, when met, generate clear buy or sell signals. These signals can be used to trigger TradingView alerts, ensuring that you never miss a market opportunity. Additionally, all conditions are evaluated using "AND" logic, meaning signals are only activated when all user-defined conditions are met. This increases precision and helps avoid false signals.
🔵 Available indicators and recommended settings:
Signal Builder provides access to a wide range of technical indicators, each customizable to popular settings that maximize effectiveness:
RSI (Relative Strength Index): An oscillator that measures the relative strength of price over a specific period. Traders typically configure it with 14 periods, using levels of 30 (oversold) and 70 (overbought) to identify potential reversals.
MACD (Moving Average Convergence Divergence): A key indicator tracking the crossover between two moving averages. Common settings include 12 and 26 periods for the moving averages, with a 9-period signal line to detect trend changes.
Ultimate Oscillator: Combines three different time frames to offer a comprehensive view of buying and selling pressure. Popular settings are 7, 14, and 28 periods.
Bollinger Bands %B: Provides insight into where the price is relative to its upper and lower bands. Standard settings include a 20-period moving average and a standard deviation of 2.
ADX (Average Directional Index): Measures the strength of a trend. Values above 25 typically indicate a strong trend, while values below suggest weak or sideways movement.
Stochastic Oscillator: A momentum indicator comparing the closing price to its range over a defined period. Popular configurations include 14 periods for %K and 3 for %D smoothing.
Parabolic SAR: Ideal for identifying trend reversals and entry/exit points. Commonly configured with a 0.02 step and a 0.2 maximum.
Money Flow Index (MFI): Similar to RSI but incorporates volume into the calculation. Standard settings use 14 periods, with levels of 20 and 80 as oversold and overbought thresholds.
Commodity Channel Index (CCI): Measures the deviation of price from its average. Traders often use a 20-period setting with levels of +100 and -100 to identify extreme overbought or oversold conditions.
Heikin Ashi Candles: These candles smooth out price fluctuations to show clearer trends. Commonly used in trend-following strategies to filter market noise.
🔵 How to use Signal Builder:
Configure indicators: Select the indicators that best fit your strategy and adjust their settings as needed. You can combine multiple indicators to define precise entry and exit conditions.
Define custom signals: Create buy or sell conditions that trigger when your selected indicators meet the criteria you’ve set. For example, configure a buy signal when RSI crosses above 30 and MACD confirms with a bullish crossover.
TradingView alerts: Set up alerts in TradingView to receive real-time notifications when the conditions you’ve defined are met, allowing you to react quickly to market opportunities without constantly monitoring charts.
Monitor with the panel: Signal Builder includes a visual panel that shows active conditions for each indicator in real time, helping you keep track of signals without manually checking each indicator.
🔵 3Commas integration:
In addition to being a valuable tool for any trader, Signal Builder is optimized to work seamlessly with 3Commas bots through Webhooks. This allows you to automate your trades based on the signals you’ve configured, ensuring that no opportunity is missed when your defined conditions are met. If you prefer automation, Signal Builder can send buy or sell signals to your 3Commas bots, enhancing your trading process and helping you manage multiple trades more efficiently.
🔵 Example of use:
Imagine you trade in volatile markets and want to trigger a sell signal when:
Stochastic Oscillator indicates overbought conditions with the %K value crossing below 80.
Bollinger Bands %B shows the price has surpassed the upper band, suggesting a potential reversal.
ADX is below 20, indicating that the trend is weak and could be about to change.
With Signal Builder , you can configure these conditions to trigger a sell signal only when all are met simultaneously. Then, you can set up a TradingView alert to notify you as soon as the signal is activated, giving you the opportunity to react quickly and adjust your strategy accordingly.
👨🏻💻💭 If this tool helps your trading strategy, don’t forget to give it a boost! Feel free to share in the comments how you're using it or if you have any questions.
_________________________________________________________________
The information and publications within the 3Commas TradingView account are not meant to be and do not constitute financial, investment, trading, or other types of advice or recommendations supplied or endorsed by 3Commas and any of the parties acting on behalf of 3Commas, including its employees, contractors, ambassadors, etc.
Volume Performance Table (Weekdays Only)This is a volume performance table that compares the volume from the previous trading day to the average daily volume from the previous week, month, 3-month, 6-month, and 12-month period in order to show where the rate of change of volume is contributing to the price trend.
For example, if the price trend is bullish and volume is accelerating, that is a bullish confirmation.
If the price is bearish and volume is accelerating, that is a bearish confirmation.
If the price is bullish and volume is decelerating, that is a bearish divergence.
If the price is bearish and volume is decelerating, that is a bullish divergence.
This does not include weekend trading when applied to digital assets such as cryptocurrencies.
Trend Following Moron TFM 10% System
Trend Following Moron TFM 10% System
The TFM 10% Market Timing System
The Trend Following Moron TFM 10% System is a powerful trading tool designed using Pine Script™, following the principles outlined by Dave S. Landry. This script helps traders identify optimal entry and exit points based on moving averages and market trends.
What the Script Does:
Visual representation of trend strength.
As long as it is trending in green band, trend is very strong and price is contained within 5% of the high.
As price drops to yellow band, strength is weakening and caution is advised. Price is between 5% to 10% away from52 week high.
As price drops in red band, it is to be avoided as trend is rolling over. Price is more than 10% way from 52 week high.
Moving Averages Calculation:
Users can choose between Simple Moving Average (SMA) and Exponential Moving Average (EMA) for daily, weekly, and monthly periods. The script calculates the moving averages to provide trend direction.
Trend Color Coding:
Moving averages are displayed in different colors based on market conditions: green indicates an uptrend, red for a downtrend, and gray for neutral conditions.
Highs Calculation:
The script calculates the 52-week and 12-month closing highs, which are crucial for identifying potential breakout points.
Level Definition:
Traders can set levels based on either Average True Range (ATR) or percentage changes from these highs, allowing for flexible risk management strategies.
Buy and Sell Conditions:
The script defines specific buy conditions: when the price is within 10% of the highest close and trading above the moving averages, and sell conditions: when the price falls below these thresholds.
Visual Indicators:
Buy and sell signals are visually represented on the chart with arrows, making it easy for traders to see potential trading opportunities at a glance.
Performance Labels:
The script includes performance labels that track the number of bars above or below the moving averages and the percentage change from the moving average, providing users with key metrics to evaluate their trades.
Interactive Table:
A table summarizing the buy and sell rules is displayed on the chart, ensuring that traders have quick access to the system’s trading logic.
Benefits of Using the TFM 10% System:
Streamlined Decision Making:
The script simplifies the trading process by clearly outlining buy and sell signals, making it accessible even for novice traders.
Customizable Parameters:
Users can tailor the script to their preferences by adjusting moving average types and lengths, ATR levels, and percentage thresholds. Bands are interchange able for ATR and Percent below 52 week high for volatility looks. But buy and sell are fixed in 10% threshold.
Risk Management:
By utilizing ATR and percentage levels, traders can effectively manage their risk, making the trading process more systematic.
Comprehensive Market Analysis:
The combination of multiple time frames (daily, weekly, monthly) allows for a well-rounded analysis of market trends, enhancing trading accuracy.