AI InfinityAI Infinity – Multidimensional Market Analysis
Overview
The AI Infinity indicator combines multiple analysis tools into a single solution. Alongside dynamic candle coloring based on MACD and Stochastic signals, it features Alligator lines, several RSI lines (including glow effects), and optionally enabled EMAs (20/50, 100, and 200). Every module is individually configurable, allowing traders to tailor the indicator to their personal style and strategy.
Important Note (Disclaimer)
This indicator is provided for educational and informational purposes only.
It does not constitute financial or investment advice and offers no guarantee of profit.
Each trader is responsible for their own trading decisions.
Past performance does not guarantee future results.
Please review the settings thoroughly and adjust them to your personal risk profile; consider supplementary analyses or professional guidance where appropriate.
Functionality & Components
1. Candle Coloring (MACD & Stochastic)
Objective: Provide an immediate visual snapshot of the market’s condition.
Details:
MACD Signal: Used to identify bullish and bearish momentum.
Stochastic: Detects overbought and oversold zones.
Color Modes: Offers both a simple (two-color) mode and a gradient mode.
2. Alligator Lines
Objective: Assist with trend analysis and determining the market’s current phase.
Details:
Dynamic SMMA Lines (Jaw, Teeth, Lips) that adjust based on volatility and market conditions.
Multiple Lengths: Each element uses a separate smoothing period (13, 8, 5).
Transparency: You can show or hide each line independently.
3. RSI Lines & Glow Effects
Objective: Display the RSI values directly on the price chart so critical levels (e.g., 20, 50, 80) remain visible at a glance.
Details:
RSI Scaling: The RSI is plotted in the chart window, eliminating the need to switch panels.
Dynamic Transparency: A pulse effect indicates when the RSI is near critical thresholds.
Glow Mode: Choose between “Direct Glow” or “Dynamic Transparency” (based on ATR distance).
Custom RSI Length: Freely adjustable (default is 14).
4. Optional EMAs (20/50, 100, 200)
Objective: Utilize moving averages for trend assessment and identifying potential support/resistance areas.
Details:
20/50 EMA: Select which one to display via a dropdown menu.
100 EMA & 200 EMA: Independently enabled.
Color Logic: Automatically green (price > EMA) or red (price < EMA). Each EMA’s up/down color is customizable.
Configuration Options
Candle Coloring:
Choose between Gradient or Simple mode.
Adjust the color scheme for bullish/bearish candles.
Transparency is dynamically based on candle body size and Stochastic state.
Alligator Lines:
Toggle each line (Jaw/Teeth/Lips) on or off.
Select individual colors for each line.
RSI Section:
RSI Length can be set as desired.
RSI lines (0, 20, 50, 80, 100) with user-defined colors and transparency (pulse effect).
Additional lines (e.g., RSI 40/60) are also available.
Glow Effects:
Switch between “Dynamic Transparency” (ATR-based) and “Direct Glow”.
Independently applied to the RSI 100 and RSI 0 lines.
EMAs (20/50, 100, 200):
Activate each one as needed.
Each EMA’s up/down color can be customized.
Example Use Cases
Trend Identification:
Enable Alligator lines to gauge general trend direction through SMMA signals.
Timing:
Watch the Candle Colors to spot potential overbought or oversold conditions.
Fine-Tuning:
Utilize the RSI lines to closely monitor important thresholds (50 as a trend barometer, 80/20 as possible reversal zones).
Filtering:
Enable a 50 EMA to quickly see if the market is trading above (bullish) or below (bearish) it.
在腳本中搜尋"情绪指数板块+约200只股票+选股规则"
OHLC MeansNote: This indicator works only on daily timeframes.
The indicator calculates the OHLC averages for days corresponding to the day of the last displayed candlestick. For instance, if the last candlestick displayed is Monday, it calculates the OHLC average for all Mondays; if Tuesday, it does the same for all Tuesdays.
Customizable period: The indicator allows you to select the number of candlesticks to analyze, with a default value of 1000. This means it will consider the last 1000 candlesticks before the final displayed one. Assuming there are only five trading days per week, this corresponds to about 200 days. (not true for cryptos, you need to devide by 7)
Example scenario:
Today is Tuesday and we analyse NQ
By default, the indicator analyzes the last 1000 candlesticks (modifiable parameter).
Since there are five trading days in a week,
1000 ÷ 5 = 200
The indicator calculates the OHLC averages for the last 200 Tuesdays, corresponding to the past seven years. Of course it is not exactly 200 becauses the may be one tuesday where the market is closed (if christmas is on tuesday for instance)
Output:
Displays four daily averages as four lines with their levels as labels :
High and Low averages are displayed at the extremes.
Open and Close averages are displayed at the center.
Color coding:
Red indicates bearish movement.
Green indicates bullish movement.
Usage recommendations:
Best suited for assets with a significant historical dataset.
Only functional on daily timeframes.
MAD Ratio with Buy/Sell SignalsThis code creates an indicator that generates Buy and Sell signals based on the Moving Average Distance (MAD) Ratio and the crossover/crossunder of two Simple Moving Averages (SMA). Here's a breakdown of what it does:
What the Indicator Shows:
Moving Averages:
21-day SMA (shortMA): Plotted in blue.
200-day SMA (longMA): Plotted in red.
These lines visually represent short-term and long-term trends in price.
Horizontal Reference Line:
A gray horizontal line at Ratio = 1 marks when the 21-day SMA and 200-day SMA are equal. This is the neutral point for the MAD ratio.
Buy and Sell Signals:
Buy Signal (Green Label):
Triggered when:
MAD Ratio > 1 (shortMA is greater than longMA, indicating upward momentum).
The 21-day SMA crosses above the 200-day SMA.
Displays a green "BUY" label below the price chart.
Sell Signal (Red Label):
Triggered when:
MAD Ratio < 1 (shortMA is less than longMA, indicating downward momentum).
The 21-day SMA crosses below the 200-day SMA.
Displays a red "SELL" label above the price chart.
Multi SMA EMA VWAP1. Moving Average Crossover
This is one of the most common strategies with moving averages, and it involves observing crossovers between EMAs and SMAs to determine buy or sell signals.
Buy signal: When a faster EMA (like a short-term EMA) crosses above a slower SMA, it can indicate a potential upward movement.
Sell signal: When a faster EMA crosses below a slower SMA, it can indicate a potential downward movement.
With 4 EMAs and 5 SMAs, you can set up crossovers between different combinations, such as:
EMA(9) crosses above SMA(50) → buy.
EMA(9) crosses below SMA(50) → sell.
2. Divergence Confirmation Between EMAs and SMAs
Divergence between the EMAs and SMAs can offer additional confirmation. If the EMAs are pointing in one direction and the SMAs are still in the opposite direction, it is a sign that the movement could be stronger and continue in the same direction.
Positive divergence: If the EMAs are making new highs while the SMAs are still below, it could be a sign that the market is in a strong trend.
Negative divergence: If the EMAs are making new lows and the SMAs are still above, you might consider that the market is in a downtrend or correction.
3. Using EMAs as Dynamic Support and Resistance
EMAs can act as dynamic support and resistance in strong trends. If the price approaches a faster EMA from above and doesn’t break it, it could be a good entry point for a long position (buy). If the price approaches a slower EMA from below and doesn't break it, it could be a good point to sell (short).
Buy: If the price is above all EMAs and approaches the fastest EMA (e.g., EMA(9)), it could be a good buy point if the price bounces upward.
Sell: If the price is below all EMAs and approaches the fastest EMA, it could be a good sell point if the price bounces downward.
4. Combining SMAs and EMAs to Filter Signals
SMAs can serve as a trend filter to avoid trading in sideways markets. For example:
Bullish trend condition: If the longer-term SMAs (such as SMA(100) or SMA(200)) are below the price, and the shorter EMAs are aligned upward, you can look for buy signals.
Bearish trend condition: If the longer-term SMAs are above the price and the shorter EMAs are aligned downward, you can look for sell signals.
5. Consolidation Zone Between EMAs and SMAs
When the price moves between EMAs and SMAs without a clear trend (consolidation zone), you can expect a breakout. In this case, you can use the EMAs and SMAs to identify the direction of the breakout:
If the price is in a narrow range between the EMAs and SMAs and then breaks above the fastest EMA, it’s a sign that an upward trend may begin.
If the price breaks below the fastest EMA, it could indicate a potential downward trend.
6. "Golden Cross" and "Death Cross" Strategy
These are classic strategies based on crossovers between moving averages of different periods.
Golden Cross: Occurs when a faster EMA (e.g., EMA(50)) crosses above a slower SMA (e.g., SMA(200)), which suggests a potential bullish trend.
Death Cross: Occurs when a faster EMA crosses below a slower SMA, which suggests a potential bearish trend.
Additional Recommendations:
Combining with other indicators: You can combine EMA and SMA signals with other indicators like the RSI (Relative Strength Index) or MACD (Moving Average Convergence/Divergence) for confirmation and to avoid false signals.
Risk management: Always use stop-loss and take-profit orders to protect your capital. Moving averages are trend-following indicators but don’t guarantee that the price will move in the same direction.
Timeframe analysis: It’s recommended to use different timeframes to confirm the trend (e.g., use EMAs on hourly charts along with SMAs on daily charts).
VWAP
1. VWAP + EMAs for Trend Confirmation
VWAP can act as a trend filter, confirming the direction provided by the EMAs.
Buy Signal: If the price is above the VWAP and the EMAs are aligned in an uptrend (e.g., short-term EMAs are above longer-term EMAs), this indicates that the trend is bullish and you can look for buy opportunities.
Sell Signal: If the price is below the VWAP and the EMAs are aligned in a downtrend (e.g., short-term EMAs are below longer-term EMAs), this suggests a bearish trend and you can look for sell opportunities.
In this case, VWAP is used to confirm the overall trend. For example:
Bullish: Price above VWAP, EMAs aligned to the upside (e.g., EMA(9) > EMA(50) > EMA(200)), buy.
Bearish: Price below VWAP, EMAs aligned to the downside (e.g., EMA(9) < EMA(50) < EMA(200)), sell.
2. VWAP as Dynamic Support and Resistance
VWAP can act as a dynamic support or resistance level during the day. Combining this with EMAs and SMAs helps you refine your entry and exit points.
Support: If the price is above VWAP and starts pulling back to VWAP, it could act as support. If the price bounces off the VWAP and aligns with bullish EMAs (e.g., EMA(9) crossing above EMA(50)), you can consider entering a buy position.
Resistance: If the price is below VWAP and approaches VWAP from below, it can act as resistance. If the price fails to break through VWAP and aligns with bearish EMAs (e.g., EMA(9) crossing below EMA(50)), it could be a good signal for a sell.
Blue Sniper V.1Overview
This Pine Script indicator is designed to generate Buy and Sell signals based on proximity to the 50 EMA, stochastic oscillator levels, retracement conditions, and EMA slopes. It is tailored for trending market conditions, making it ideal for identifying high-probability entry points during strong bullish or bearish trends.
Key Features:
Filters out signals in non-trending conditions.
Focuses on retracements near the 50 EMA for precise entries.
Supports alert notifications for Buy and Sell signals.
Includes a cooldown mechanism to prevent signal spamming.
Allows time-based filtering to restrict signals to a specific trading window.
How It Works
Trending Market Conditions
The indicator is most effective when the market exhibits a clear trend. It uses two exponential moving averages (50 EMA and 200 EMA) to determine the overall market trend:
Bullish Trend: 50 EMA is above the 200 EMA, and both EMAs have upward slopes.
Bearish Trend: 50 EMA is below the 200 EMA, and both EMAs have downward slopes.
Buy and Sell Conditions
Buy Signal:
The market is in a bullish trend.
Stochastic oscillator is in the oversold zone.
Price retraces upwards, breaking away from the recent low by more than 1.5 ATR.
Price is near the 50 EMA (within the defined proximity percentage).
Sell Signal:
The market is in a bearish trend.
Stochastic oscillator is in the overbought zone.
Price retraces downwards, breaking away from the recent high by more than 1.5 ATR.
Price is near the 50 EMA.
Outputs
Signals:
Buy Signal: Green "BUY" label below the price bar.
Sell Signal: Red "SELL" label above the price bar.
Alerts:
Alerts are triggered for Buy and Sell signals if conditions are met within the specified time window (if enabled).
EMA Visualization:
50 EMA (blue line).
200 EMA (red line).
Limitations
Not Suitable for Non-Trending Markets: This script is designed for trending conditions. Sideways or choppy markets may produce false signals.
Proximity Tolerance: Adjust the proximityPercent to prevent signals from triggering too frequently during minor oscillations around the 50 EMA.
No Guarantee of Accuracy: As with any technical indicator, it should be used in conjunction with other tools and analysis.
Supertrend and MACD strategyThe Supertrend and MACD Strategy is a comprehensive trading approach designed to capitalize on market trends by using a combination of the Supertrend indicator, the Exponential Moving Average (EMA), and the Moving Average Convergence Divergence (MACD). This strategy aims to identify optimal entry and exit points for both long and short trades, while incorporating strict risk management rules.
Indicators Used:
Supertrend: This indicator is used to identify the overall trend direction. It provides clear signals for trend reversals, helping traders to enter trades in the direction of the prevailing trend.
200-period EMA: This long-term moving average is used to determine the primary trend direction. The strategy only takes long trades when the price is above the 200 EMA and short trades when the price is below it.
MACD: The MACD is used to gauge the momentum and confirm the signals provided by the Supertrend and EMA. It consists of the MACD line, the signal line, and the histogram.
Entry Conditions:
Long Entry:
The Supertrend indicator shows an uptrend (direction > 0).
The MACD line is above the signal line (macd > signal).
The price is above the 200-period EMA (close > ema200).
Short Entry:
The Supertrend indicator shows a downtrend (direction < 0).
The MACD line is below the signal line (macd < signal).
The price is below the 200-period EMA (close < ema200).
Exit Conditions:
Long Exit:
Exit the long position when the MACD line crosses below the signal line (ta.crossunder(macd, signal)).
Set a stop loss (SL) below the lowest low of the last 10 periods (lowestLow - 1).
Short Exit:
Exit the short position when the MACD line crosses above the signal line (ta.crossover(macd, signal)).
Set a stop loss (SL) above the highest high of the last 10 periods (highestHigh + 1).
Risk Management:
The strategy ensures that no new positions are opened if there is already an open trade, preventing overexposure in the market.
Alerts:
Alerts are set to notify traders when the MACD crosses the signal line, providing timely updates for potential exit points.
RSI-EMA Signal by stock shooter## Strategy Description: 200 EMA Crossover with RSI, Green/Red Candles, Volume, and Exit Conditions
This strategy combines several technical indicators to identify potential long and short entry opportunities in a trading instrument. Here's a breakdown of its components:
1. 200-period Exponential Moving Average (EMA):
* The 200-period EMA acts as a long-term trend indicator.
* The strategy looks for entries when the price is above (long) or below (short) the 200 EMA.
2. Relative Strength Index (RSI):
* The RSI measures the momentum of price movements and helps identify overbought and oversold conditions.
* The strategy looks for entries when the RSI is below 40 (oversold) for long positions and above 60 (overbought) for short positions.
3. Green/Red Candles:
* This indicator filters out potential entries based on the current candle's closing price relative to its opening price.
* The strategy only considers long entries on green candles (closing price higher than opening) and short entries on red candles (closing price lower than opening).
4. Volume:
* This indicator adds a volume filter to the entry conditions.
* The strategy only considers entries when the current candle's volume is higher than the average volume of the previous 20 candles, aiming for stronger signals.
Overall:
This strategy aims to capture long opportunities during potential uptrends and short opportunities during downtrends, based on a combination of price action, momentum, and volume confirmation.
Important Notes:
Backtesting is crucial to evaluate the historical performance of this strategy before deploying it with real capital.
Consider incorporating additional risk management techniques like stop-loss orders.
This strategy is just a starting point and can be further customized based on your trading goals and risk tolerance.
Simple RSI stock Strategy [1D] The "Simple RSI Stock Strategy " is designed to long-term traders. Strategy uses a daily time frame to capitalize on signals generated by the Relative Strength Index (RSI) and the Simple Moving Average (SMA). This strategy is suitable for low-leverage trading environments and focuses on identifying potential buy opportunities when the market is oversold, while incorporating strong risk management with both dynamic and static Stop Loss mechanisms.
This strategy is recommended for use with a relatively small amount of capital and is best applied by diversifying across multiple stocks in a strong uptrend, particularly in the S&P 500 stock market. It is specifically designed for equities, and may not perform well in other markets such as commodities, forex, or cryptocurrencies, where different market dynamics and volatility patterns apply.
Indicators Used in the Strategy:
1. RSI (Relative Strength Index):
- The RSI is a momentum oscillator used to identify overbought and oversold conditions in the market.
- This strategy enters long positions when the RSI drops below the oversold level (default: 30), indicating a potential buying opportunity.
- It focuses on oversold conditions but uses a filter (SMA 200) to ensure trades are only made in the context of an overall uptrend.
2. SMA 200 (Simple Moving Average):
- The 200-period SMA serves as a trend filter, ensuring that trades are only executed when the price is above the SMA, signaling a bullish market.
- This filter helps to avoid entering trades in a downtrend, thereby reducing the risk of holding positions in a declining market.
3. ATR (Average True Range):
- The ATR is used to measure market volatility and is instrumental in setting the Stop Loss.
- By multiplying the ATR value by a custom multiplier (default: 1.5), the strategy dynamically adjusts the Stop Loss level based on market volatility, allowing for flexibility in risk management.
How the Strategy Works:
Entry Signals:
The strategy opens long positions when RSI indicates that the market is oversold (below 30), and the price is above the 200-period SMA. This ensures that the strategy buys into potential market bottoms within the context of a long-term uptrend.
Take Profit Levels:
The strategy defines three distinct Take Profit (TP) levels:
TP 1: A 5% from the entry price.
TP 2: A 10% from the entry price.
TP 3: A 15% from the entry price.
As each TP level is reached, the strategy closes portions of the position to secure profits: 33% of the position is closed at TP 1, 66% at TP 2, and 100% at TP 3.
Visualizing Target Points:
The strategy provides visual feedback by plotting plotshapes at each Take Profit level (TP 1, TP 2, TP 3). This allows traders to easily see the target profit levels on the chart, making it easier to monitor and manage positions as they approach key profit-taking areas.
Stop Loss Mechanism:
The strategy uses a dual Stop Loss system to effectively manage risk:
ATR Trailing Stop: This dynamic Stop Loss adjusts based on the ATR value and trails the price as the position moves in the trader’s favor. If a price reversal occurs and the market begins to trend downward, the trailing stop closes the position, locking in gains or minimizing losses.
Basic Stop Loss: Additionally, a fixed Stop Loss is set at 25%, limiting potential losses. This basic Stop Loss serves as a safeguard, automatically closing the position if the price drops 25% from the entry point. This higher Stop Loss is designed specifically for low-leverage trading, allowing more room for market fluctuations without prematurely closing positions.
to determine the level of stop loss and target point I used a piece of code by RafaelZioni, here is the script from which a piece of code was taken
Together, these mechanisms ensure that the strategy dynamically manages risk while offering robust protection against significant losses in case of sharp market downturns.
The position size has been estimated by me at 75% of the total capital. For optimal capital allocation, a recommended value based on the Kelly Criterion, which is calculated to be 59.13% of the total capital per trade, can also be considered.
Enjoy !
Overnight Positioning w EMA - Strategy [presentTrading]I've recently started researching Market Timing strategies, and it’s proving to be quite an interesting area of study. The idea of predicting optimal times to enter and exit the market, based on historical data and various indicators, brings a dynamic edge to trading. Additionally, it is integrated with the 3commas bot for automated trade execution.
I'm still working on it. Welcome to share your point of view.
█ Introduction and How it is Different
The "Overnight Positioning with EMA " is designed to capitalize on market inefficiencies during the overnight trading period. This strategy takes a position shortly before the market closes and exits shortly after it opens the following day. What sets this strategy apart is the integration of an optional Exponential Moving Average (EMA) filter, which ensures that trades are aligned with the underlying trend. The strategy provides flexibility by allowing users to select between different global market sessions, such as the US, Asia, and Europe.
It is integrated with the 3commas bot for automated trade execution and has a built-in mechanism to avoid holding positions over the weekend by force-closing positions on Fridays before the market closes.
BTCUSD 20 mins Performance
█ Strategy, How it Works: Detailed Explanation
The core logic of this strategy is simple: enter trades before market close and exit them after market open, taking advantage of potential price movements during the overnight period. Here’s how it works in more detail:
🔶 Market Timing
The strategy determines the local market open and close times based on the selected market (US, Asia, Europe) and adjusts entry and exit points accordingly. The entry is triggered a specific number of minutes before market close, and the exit is triggered a specific number of minutes after market open.
🔶 EMA Filter
The strategy includes an optional EMA filter to help ensure that trades are taken in the direction of the prevailing trend. The EMA is calculated over a user-defined timeframe and length. The entry is only allowed if the closing price is above the EMA (for long positions), which helps to filter out trades that might go against the trend.
The EMA formula:
```
EMA(t) = +
```
Where:
- EMA(t) is the current EMA value
- Close(t) is the current closing price
- n is the length of the EMA
- EMA(t-1) is the previous period's EMA value
🔶 Entry Logic
The strategy monitors the market time in the selected timezone. Once the current time reaches the defined entry period (e.g., 20 minutes before market close), and the EMA condition is satisfied, a long position is entered.
- Entry time calculation:
```
entryTime = marketCloseTime - entryMinutesBeforeClose * 60 * 1000
```
🔶 Exit Logic
Exits are triggered based on a specified time after the market opens. The strategy checks if the current time is within the defined exit period (e.g., 20 minutes after market open) and closes any open long positions.
- Exit time calculation:
exitTime = marketOpenTime + exitMinutesAfterOpen * 60 * 1000
🔶 Force Close on Fridays
To avoid the risk of holding positions over the weekend, the strategy force-closes any open positions 5 minutes before the market close on Fridays.
- Force close logic:
isFriday = (dayofweek(currentTime, marketTimezone) == dayofweek.friday)
█ Trade Direction
This strategy is designed exclusively for long trades. It enters a long position before market close and exits the position after market open. There is no shorting involved in this strategy, and it focuses on capturing upward momentum during the overnight session.
█ Usage
This strategy is suitable for traders who want to take advantage of price movements that occur during the overnight period without holding positions for extended periods. It automates entry and exit times, ensuring that trades are placed at the appropriate times based on the market session selected by the user. The 3commas bot integration also allows for automated execution, making it ideal for traders who wish to set it and forget it. The strategy is flexible enough to work across various global markets, depending on the trader's preference.
█ Default Settings
1. entryMinutesBeforeClose (Default = 20 minutes):
This setting determines how many minutes before the market close the strategy will enter a long position. A shorter duration could mean missing out on potential movements, while a longer duration could expose the position to greater price fluctuations before the market closes.
2. exitMinutesAfterOpen (Default = 20 minutes):
This setting controls how many minutes after the market opens the position will be exited. A shorter exit time minimizes exposure to market volatility at the open, while a longer exit time could capture more of the overnight price movement.
3. emaLength (Default = 100):
The length of the EMA affects how the strategy filters trades. A shorter EMA (e.g., 50) reacts more quickly to price changes, allowing more frequent entries, while a longer EMA (e.g., 200) smooths out price action and only allows entries when there is a stronger underlying trend.
The effect of using a longer EMA (e.g., 200) would be:
```
EMA(t) = +
```
4. emaTimeframe (Default = 240):
This is the timeframe used for calculating the EMA. A higher timeframe (e.g., 360) would base entries on longer-term trends, while a shorter timeframe (e.g., 60) would respond more quickly to price movements, potentially allowing more frequent trades.
5. useEMA (Default = true):
This toggle enables or disables the EMA filter. When enabled, trades are only taken when the price is above the EMA. Disabling the EMA allows the strategy to enter trades without any trend validation, which could increase the number of trades but also increase risk.
6. Market Selection (Default = US):
This setting determines which global market's open and close times the strategy will use. The selection of the market affects the timing of entries and exits and should be chosen based on the user's preference or geographic focus.
Enhanced Economic Composite with Dynamic WeightEnhanced Economic Composite with Dynamic Weight
Overview of the Indicator :
The "Enhanced Economic Composite with Dynamic Weight" is a comprehensive tool that combines multiple economic indicators, technical signals, and dynamic weighting to provide insights into market and economic health. It adjusts based on current volatility and recession risk, offering a detailed view of market conditions.
What This Indicator Does :
Tracks Economic Health: Uses key economic and market indicators to assess overall market conditions.
Dynamic Weighting: Adjusts the importance of components like stock indices, gold, and bonds based on volatility (VIX) and yield curve inversion.
Technical Signals: Identifies market momentum shifts through key crossovers like the Golden Cross, Death Cross, Silver Cross, and Hospice Cross.
Recession Shading: Marks known recessions for historical context.
Economic Factors Considered :
TIP (Treasury Inflation-Protected Securities): Reflects inflation expectations.
Gold: A safe-haven asset, increases in weight during volatility or rising momentum.
US Dollar Index (DXY): Measures USD strength, fixed weight of 10%, smoothed with EMA.
Commodities (DBC): Indicates global demand; weight increases with momentum or volatility.
Volatility Index (VIX): Reflects market risk, inversely related to market confidence.
Stock Indices (S&P 500, DJIA, NASDAQ, Russell 2000): Represent market performance, with weights reduced during high volatility or negative yield spread.
Yield Spread (10Y - 2Y Treasuries): Predicts recessions; negative spread reduces stock weighting.
Credit Spread (HYG - TLT): Indicates market risk through corporate vs. government bond yields.
How and Why Factors are Weighted:
Stock Indices get more weight in stable markets (low VIX, positive yield spread), while safe-haven assets like gold and bonds gain weight in volatile markets or during yield curve inversions. This dynamic adjustment ensures the composite reflects current market sentiment.
Technical Signals:
Golden Cross: 50 EMA crossing above 200 SMA, signaling bullish momentum.
Death Cross: 50 EMA below 200 SMA, indicating bearish momentum.
Silver Cross: 21 EMA crossing above 50 EMA, plotted only if below the 200-day SMA, signaling potential upside in downtrend conditions.
Hospice Cross: 50 EMA crosses below 21 EMA, plotted only if 21 EMA is below 200 SMA, a leading bearish signal.
Recession Shading:
Recession periods like the Great Recession, Early 2000s Recession, and COVID-19 Recession are shaded to provide historical context.
Benefits of Using This Indicator:
Comprehensive Analysis: Combines economic fundamentals and technical analysis for a full market view.
Dynamic Risk Adjustment: Weights shift between growth and safe-haven assets based on volatility and recession risk.
Early Signals: The Silver Cross and Hospice Cross provide early warnings of potential market shifts.
Recession Forecasting: Helps predict downturns through the yield curve and recession indicators.
Who Can Benefit:
Traders: Identify market momentum shifts early through crossovers.
Long-term Investors: Use recession warnings and dynamic adjustments to protect portfolios.
Analysts: A holistic tool for analyzing both economic trends and market movements.
This indicator helps users navigate varying market conditions by dynamically adjusting based on economic factors and providing early technical signals for market momentum shifts.
Trend Forecasting - The Quant Science🌏 Trend Forecasting | ENG 🌏
This plug-in acts as a statistical filter, adding new information to your chart that will allow you to quickly verify the direction of a trend and the probability with which the price will be above or below the average in the future, helping you to uncover probable market inefficiencies.
🧠 Model calculation
The model calculates the arithmetic mean in relation to positive and negative events within the available sample for the selected time series. Where a positive event is defined as a closing price greater than the average, and a negative event as a closing price less than the average. Once all events have been calculated, the probabilities are extrapolated by relating each event.
Example
Positive event A: 70
Negative event B: 30
Total events: 100
Probabilities A: (100 / 70) x 100 = 70%
Probabilities B: (100 / 30) x 100 = 30%
Event A has a 70% probability of occurring compared to Event B which has a 30% probability.
🔍 Information Filter
The data on the graph show the future probabilities of prices being above average (default in green) and the probabilities of prices being below average (default in red).
The information that can be quickly retrieved from this indicator is:
1. Trend: Above-average prices together with a constant of data in green greater than 50% + 1 indicate that the observed historical series shows a bullish trend. The probability is correlated proportionally to the value of the data; the higher and increasing the expected value, the greater the observed bullish trend. On the other hand, a below-average price together with a red-coloured data constant show quantitative data regarding the presence of a bearish trend.
2. Future Probability: By analysing the data, it is possible to find the probability with which the price will be above or below the average in the future. In green are classified the probabilities that the price will be higher than the average, in red are classified the probabilities that the price will be lower than the average.
🔫 Operational Filter .
The indicator can be used operationally in the search for investment or trading opportunities given its ability to identify an inefficiency within the observed data sample.
⬆ Bullish forecast
For bullish trades, the inefficiency will appear as a historical series with a bullish trend, with high probability of a bullish trend in the future that is currently below the average.
⬇ Bearish forecast
For short trades, the inefficiency will appear as a historical series with a bearish trend, with a high probability of a bearish trend in the future that is currently above the average.
📚 Settings
Input: via the Input user interface, it is possible to adjust the periods (1 to 500) with which the average is to be calculated. By default the periods are set to 200, which means that the average is calculated by taking the last 200 periods.
Style: via the Style user interface it is possible to adjust the colour and switch a specific output on or off.
🇮🇹Previsione Della Tendenza Futura | ITA 🇮🇹
Questo plug-in funge da filtro statistico, aggiungendo nuove informazioni al tuo grafico che ti permetteranno di verificare rapidamente tendenza di un trend, probabilità con la quale il prezzo si troverà sopra o sotto la media in futuro aiutandoti a scovare probabili inefficienze di mercato.
🧠 Calcolo del modello
Il modello calcola la media aritmetica in relazione con gli eventi positivi e negativi all'intero del campione disponibile per la serie storica selezionata. Dove per evento positivo si intende un prezzo alla chiusura maggiore della media, mentre per evento negativo si intende un prezzo alla chiusura minore della media. Calcolata la totalità degli eventi le probabilità vengono estrapolate rapportando ciascun evento.
Esempio
Evento positivo A: 70
Evento negativo B: 30
Totale eventi : 100
Formula A: (100 / 70) x 100 = 70%
Formula B: (100 / 30) x 100 = 30%
Evento A ha una probabilità del 70% di realizzarsi rispetto all' Evento B che ha una probabilità pari al 30%.
🔍 Filtro informativo
I dati sul grafico mostrano le probabilità future che i prezzi siano sopra la media (di default in verde) e le probabilità che i prezzi siano sotto la media (di default in rosso).
Le informazioni che si possono rapidamente reperire da questo indicatore sono:
1. Trend: I prezzi sopra la media insieme ad una costante di dati in verde maggiori al 50% + 1 indicano che la serie storica osservata presenta un trend rialzista. La probabilità è correlata proporzionalmente al valore del dato; tanto più sarà alto e crescente il valore atteso e maggiore sarà la tendenza rialzista osservata. Viceversa, un prezzo sotto la media insieme ad una costante di dati classificati in colore rosso mostrano dati quantitativi riguardo la presenza di una tendenza ribassista.
2. Probabilità future: analizzando i dati è possibile reperire la probabilità con cui il prezzo si troverà sopra o sotto la media in futuro. In verde vengono classificate le probabilità che il prezzo sarà maggiore alla media, in rosso vengono classificate le probabilità che il prezzo sarà minore della media.
🔫 Filtro operativo
L' indicatore può essere utilizzato a livello operativo nella ricerca di opportunità di investimento o di trading vista la capacità di identificare un inefficienza all'interno del campione di dati osservato.
⬆ Previsione rialzista
Per operatività di tipo rialzista l'inefficienza apparirà come una serie storica a tendenza rialzista, con alte probabilità di tendenza rialzista in futuro che attualmente si trova al di sotto della media.
⬇ Previsione ribassista
Per operatività di tipo short l'inefficienza apparirà come una serie storica a tendenza ribassista, con alte probabilità di tendenza ribassista in futuro che si trova attualmente sopra la media.
📚 Impostazioni
Input: tramite l'interfaccia utente Input è possibile regolare i periodi (da 1 a 500) con cui calcolare la media. Di default i periodi sono impostati sul valore di 200, questo significa che la media viene calcolata prendendo gli ultimi 200 periodi.
Style: tramite l'interfaccia utente Style è possibile regolare il colore e attivare o disattivare un specifico output.
FVG Positioning Average with 200EMA Auto Trading [Pakun]Description
Strategy Name and Purpose
FVG Positioning Average with 200EMA Auto Trading
This strategy uses Fair Value Gaps (FVG) combined with a 200-period Exponential Moving Average (EMA) and Average True Range (ATR) to generate trend-based trading signals. It is designed to help traders identify high-probability entry points by leveraging the gaps between fair value prices and current market prices.
Originality and Usefulness
This script combines multiple indicators to create a cohesive trading strategy that is greater than the sum of its parts. While FVG is a powerful tool on its own, combining it with the EMA and ATR adds layers of confirmation and risk management, enhancing its effectiveness. Here’s how the components work together:
Fair Value Gap (FVG): Identifies gaps in the market where price action has not fully filled, indicating potential reversal or continuation points.
200-period Exponential Moving Average (EMA): Acts as a trend filter to ensure trades are taken in the direction of the overall trend, improving the probability of success.
Average True Range (ATR): Used to filter out insignificant gaps and set dynamic stop-loss levels based on market volatility, enhancing risk management.
Entry Conditions
Long Entry
The close price crosses above the downtrend FVG.
The close price, FVG up average, and down average are all above the 200 EMA, indicating a strong bullish trend.
Short Entry
The close price crosses below the uptrend FVG.
The close price, FVG up average, and down average are all below the 200 EMA, indicating a strong bearish trend.
Exit Conditions
For long positions, the stop loss is set at the recent low, and the take profit is set at a point with a risk-reward ratio of 1:1.5.
For short positions, the stop loss is set at the recent high, and the take profit is set at a point with a risk-reward ratio of 1:1.5.
Risk Management
Account Size: 1,000,000 yen
Commission and Slippage: 2 pips commission and 1 pip slippage per trade
Risk per Trade: 10% of account equity
The stop loss is based on the recent low or recent high, ensuring trades are exited when the market moves against the position.
Settings Options
FVG Lookback: Set the lookback period for calculating FVGs.
Lookback Type: Choose the type of lookback (Bar Count or FVG Count).
ATR Multiplier: Set the multiplier for ATR to filter significant gaps.
EMA Period: Set the period for the EMA to adjust the trend filter sensitivity.
Show FVGs on Chart: Choose whether to display FVGs on the chart for visual confirmation.
Bullish/Bearish Color: Set the color for bullish and bearish FVGs to distinguish them easily.
Show Gradient Areas: Choose whether to display gradient areas to highlight the zones of interest.
Sufficient Sample Size
The strategy has been backtested with 113 trades, providing a sufficient sample size to evaluate its performance.
Notes
This strategy is based on historical data and does not guarantee future results.
Thoroughly backtest and validate results before using in live trading.
Market volatility and other external factors can affect performance and may not yield expected results.
Acknowledgment
This strategy uses the FVG Positioning Average Strategy indicator. Thanks to for their contribution.
Clean Chart Explanation
The script is published with a clean chart to ensure that its output is readily identifiable and easy to understand. No other scripts are included on the chart, and any drawings or images used are specifically to illustrate how the script works.
Shadow Increase SignalThis indicator Calculates the average upper shadow of the previous 200 candles for issuing SELL signals.
And calculates the average lower shadow of the previous 200 candles for issuing BUY signals.
If the upper shadow of the new candle is %1000 greater than the average upper shadow of the previous 200 candles, a SELL signal is issued and a red arrow appears above the candle.
If the lower shadow of the new candle is %1000 greater than the average lower shadow of the previous 200 candles, a BUY signal is issued and a green arrow appears below the candle.
Push and Exhaustion Strategy with VWAP and Moving AveragesOverview:
The Push and Exhaustion Strategy Indicator is a custom technical analysis tool designed to help traders identify potential market turning points by highlighting significant price movements (pushes) and subsequent periods of reduced momentum (exhaustion). This indicator also incorporates key moving averages (50-period and 200-period) and the Volume Weighted Average Price (VWAP) to provide additional context for trading decisions.
Components:
Push and Exhaustion Thresholds:
Push Threshold: Set at 1.5 by default. This means the price must increase by 50% or more compared to the previous close to signal a push.
Exhaustion Threshold: Set at 0.7 by default. This means the price must decrease by 30% or more compared to the previous close to signal exhaustion.
VWAP (Volume Weighted Average Price):
VWAP is plotted on the chart to provide an average price weighted by volume, giving insight into the true average price paid for an asset.
Moving Averages:
50-period Moving Average (MA): Plotted in blue, it helps identify the short-to-mid-term trend direction.
200-period Moving Average (MA): Plotted in orange, it helps identify the long-term trend direction.
How It Works:
Push Condition:
A push signal is generated when the current closing price is at least 1.5 times the previous closing price (pushThreshold).
Additionally, the closing price must be above the VWAP, indicating strong upward momentum.
When these conditions are met, a green triangle is plotted above the price bar.
Exhaustion Condition:
An exhaustion signal is generated when the current closing price is at most 0.7 times the previous closing price (exhaustionThreshold).
Additionally, the closing price must be below the VWAP, indicating weakened momentum and potential reversal.
When these conditions are met, a red triangle is plotted below the price bar.
Visualization:
The indicator plots green triangles above bars to indicate a push signal and red triangles below bars to indicate an exhaustion signal.
It also plots the 50-period and 200-period moving averages as blue and orange lines, respectively.
The VWAP is plotted as a purple line, showing the average price considering the trading volume.
Alerts:
The indicator includes optional alerts that notify the trader when a push or exhaustion signal is detected.
Usage:
Push Signals: Traders might use push signals to enter trades in the direction of strong momentum, typically buying in an uptrend.
Exhaustion Signals: Traders might use exhaustion signals to anticipate potential reversals, considering exiting positions or entering counter-trend trades.
Moving Averages: The 50-period and 200-period moving averages help provide context to the overall trend, aiding in decision-making.
VWAP: Being above or below the VWAP helps validate the strength of the price movement.
This indicator provides a comprehensive view of market momentum, aiding traders in making informed decisions by highlighting significant price moves and potential reversals within the context of prevailing trends.
Golden Cross VWMA & EMA 4h PinescriptlabsThis strategy combines the 50-period Volume-Weighted Moving Average (VWMA) on the current timeframe with a 200-period Simple Moving Average (SMA) on the 4-hour timeframe. This combination of indicators with different characteristics and time horizons aims to identify strong and sustained trends across multiple timeframes.
The VWMA is a variant of the moving average that assigns greater weight to periods of higher volatility, helping to avoid misleading signals. On the other hand, the 4-hour SMA is used as an additional trend filter in a shorter-term horizon. By combining these two indicators, the strategy can leverage the strength of the VWMA to capture the main trend, but only when confirmed by the SMA in the lower timeframe.
Buy signals are generated when the VWMA crosses above the 4-hour SMA, indicating a potential bullish trend aligned in both timeframes. Sell signals occur on a bearish cross, suggesting a possible reversal of the main trend.
The default parameters are a 50-period VWMA and a 200-period 4-hour SMA. It is recommended to adjust these lengths according to the traded instrument and the desired timeframe. It is also crucial to use stop losses and profit targets to properly manage risk.
By combining indicators of different types and timeframes, this strategy aims to provide a more comprehensive view of trend strength.
Español:
Esta estrategia combina la Volume-Weighted Moving Average (VWMA) de 50 períodos en el timeframe actual con una Simple Moving Average (SMA) de 200 períodos en el timeframe de 4 horas. Esta combinación de indicadores de distinta naturaleza y horizontes temporales busca identificar tendencias fuertes y sostenidas en múltiples timeframes.
La VWMA es una variante de la media móvil que asigna mayor ponderación a los períodos de mayor volatilidad, lo que ayuda a evitar señales engañosas. Por otro lado, la SMA de 4 horas se utiliza como un filtro adicional de tendencia en un horizonte de corto plazo. Al combinar estos dos indicadores, la estrategia puede aprovechar la fortaleza de la VWMA para capturar la tendencia principal, pero sólo cuando es confirmada por la SMA en el timeframe menor.
Las señales de compra se generan cuando la VWMA cruza al alza la SMA de 4 horas, indicando una potencial tendencia alcista alineada en ambos horizontes temporales. Las señales de venta ocurren en el cruce bajista, sugiriendo una posible reversión de la tendencia principal.
Los parámetros predeterminados son: VWMA de 50 períodos y SMA de 4 horas de 200 períodos. Se recomienda ajustar estas longitudes según el instrumento operado y el horizonte temporal deseado. También es crucial utilizar stops y objetivos de ganancias para controlar adecuadamente el riesgo.
Al combinar indicadores de diferentes tipos y timeframes, esta estrategia busca brindar una visión más completa de la fuerza de la tendencia.
20,200SMA,PDHL,15 minute ORBSimple Moving Averages (SMAs):
The script calculates three SMAs: SMA 20 High, SMA 20 Low, and SMA 200 Close. These moving averages are widely used in technical analysis to smooth out price data and identify trends.
The SMA for the high price (SMA 20 High) is calculated based on the 20-period moving average of the high prices.
Similarly, the SMA for the low price (SMA 20 Low) is calculated based on the 20-period moving average of the low prices.
The SMA for the close price (SMA 200 Close) is calculated based on the 200-period moving average of the closing prices.
Each SMA is plotted on the chart, and their colors are determined based on whether the current close price is above or below each respective SMA.
Conditional Coloring:
The script employs conditional coloring to visually highlight whether the close price is above or below each SMA.
If the close price is below the SMA 20 High, it's plotted in red; otherwise, it's plotted in green.
Similarly, the SMA 20 Low and SMA 200 Close are plotted with conditional colors based on the relationship between the close price and each respective SMA.
Previous Day's Data:
The script retrieves and plots the high, low, and close prices of the previous trading day.
This provides traders with valuable information about the previous day's market behavior, which can influence trading decisions.
Opening 15-minute Range Breakout:
The script calculates the high and low prices during the first 15 minutes of each trading day.
These prices represent the opening range for the day.
It then determines whether the current close price is above or below this opening range and plots it accordingly.
This breakout strategy helps traders identify potential trading opportunities based on early price movements.
By integrating these components, the script offers traders a comprehensive analysis of market trends, previous day's performance, and potential breakout opportunities. Its originality lies in the combination of these features into a single, easy-to-use indicator, providing valuable insights for trading decisions.
Range Average Retest Model [LuxAlgo]The Range Average Retest Model tool highlights setups from the range average retest entry model, a model using the retest of the average between two opposite swing points as an entry.
This tool uses long-term volatility coupled with user-defined multipliers to filter out swing areas and set take profit and stop loss levels for all trades.
Key features include:
Draw up to 165 swing areas and their associated trades
Filter out swing areas using Pivot Length , Selection Mode and Threshold parameters
Filter out trades with Maximum Distance and Minimum Distance parameters
Enable or disable swing areas and select default colors
Enable or disable overlapping trades and change the default colors for Take Profit and Stop Loss zones
🔶 USAGE
The "Range Average Retest Model" is an entry model that enters a position when the price retests the average made between two swing points. Users can determine the period of the detected swing points from the "Pivot Length" setting.
The conditions for long or short trades, regardless of whether the swing area is bullish or bearish, are as follows:
Long positions: the current bar close is below the swing area average and the last bar close was above it.
Short positions: the current bar close is above the swing area average price and the last bar close was below it.
Each trade is displayed on the chart with a line connecting it to its swing area highlighting the range average, a green area for the take profit, and a red area for the stop loss.
Both the Take Profit and Stop Loss levels are calculated by applying your own multiplier in the settings panel to the long-term volatility measure, in this case, the average true range over the last 200 bars.
Trades will remain open until they reach either the Stop Loss or Take Profit price levels.
🔹 Filtering Swing Areas
The daily chart of the Nasdaq-100 futures (NQ) with pivot length 2 and bullish selection mode: it only detects bullish swing areas, but they are smaller and more numerous.
Traders can manipulate the behavior of the swing areas from the settings panel.
The Selection mode will filter areas by bias: it will detect bullish areas, bearish areas, or both.
The Threshold parameter is applied to the long-term volatility to filter out areas where the average prices are too close together; the higher the value, the greater the difference between the average prices must be.
🔹 Trades
3-minute chart of the Nasdaq-100 futures (NQ) with pivot length 5, bearish selection mode maximum distance 4, and stop loss 2: many trades detected with very asymmetric risk/reward.
The behavior of the trades is also manipulated from the settings panel.
The maximum and minimum distance parameters specify the number of bars a trade must be away from a swing area.
The Take Profit and Stop Loss parameters are applied to the long-term volatility to obtain their respective price levels.
🔹 Overlapping Trades
Same chart as before, but with overlapping trades: messy, right?
By default the tool does not show overlapping trades, this allows for a cleaner chart.
In the settings panel traders can enable overlapping mode, in which case the tool will show all available trades.
Traders must be aware that the chart can be very crowded.
🔶 SETTINGS
🔹 Swings
Pivot Length: How many bars are used to confirm a swing point. The larger this parameter is, the larger and fewer swing areas will be detected.
Selection Mode: Swing area detection mode, detect only bullish swings, only bearish swings, or both.
Threshold: Swing area comparator. This threshold is multiplied by a measure of volatility (average true range over the last 200 bars), for a new swing area to be detected it must have an average level that is sufficiently distant from the average level of any untouched swing area, this parameter controls that distance.
🔹 Trades
Maximum distance: Maximum distance allowed between a swing area and a trade.
Minimum distance: Minimum distance allowed between a swing area and a trade.
Take profit: The size of the take profit - this threshold is multiplied by a measure of volatility (the average true range over the last 200 bars).
Stop loss: The size of the stop-loss: this threshold is multiplied by a measure of volatility (the average true range over the last 200 bars).
Momentum spotter(FogWalkerTrader) This a trend following indicator using simple moving averages and price close,high and low of recent candles to plot a buy or sell signal.
IMPORTANT - this indicator does not repaint.Traders need to wait untill the the closing of the candle though as the signal is dependant of the close of the period.
Buy Signal: Price closes above the 20, 50, and 200 simple moving averages (SMAs), with the 50 SMA above the 200 SMA, indicating a strong uptrend. The last 4 prices had their lows below the 5 SMA and highs above it.Plus, the current close is higher than the high from 4 periods ago, further suggesting a bullish move.
BUY = blue labelup plotted below candlestick
Sell Signal: Price closes below the 20, 50, and 200 SMAs, with the 50 SMA below the 200 SMA, signaling a strong downtrend. The last 4 prices had their highs above the 5 SMA and lows below it Plus, the current close is lower than the low from 4 periods ago, further suggesting a bearish move.
SELL = red labeldown plotted above candlestick.
IMPORTANT
It’s important to note that, like any trading tool, this isn't foolproof. The market can be unpredictable, leading to false signals. The logic behind these signals is sound, but due to the complexity and volatility of the market, there are times when the signals may not lead to the expected outcome. It's a useful tool, but it's wise to use it alongside other analyses to make more informed decisions.
SMA Custom Volume BandsThe "SMA Custom Volume Bands" indicator is a custom technical analysis tool designed for use on the TradingView platform. This indicator allows users to analyze and visualize key aspects of a stock's volume within the context of its 200-period Simple Moving Average (SMA). It features the following components:
Volume Bars: The indicator displays the volume of a selected financial instrument using colored bars. Green bars represent days when the trading volume is higher than the previous day, while red bars represent days when the trading volume is lower.
200 SMA of Volume: A blue line on the chart represents the 200-period Simple Moving Average of the trading volume, providing insight into the longer-term volume trend.
Customizable Percentage Line: Users have the flexibility to set a custom percentage value above or below the 200 SMA of trading volume. This line is plotted as a blue line on the chart, allowing traders to identify when volume meets their preferred percentage threshold.
The "SMA Custom Volume Bands" indicator is a simple tool for traders, aiding in the assessment of volume trends and potential price reversals in the context of moving averages. It offers customization options, enhancing its adaptability to individual trading strategies and preferences.
ottlibLibrary "ottlib"
█ OVERVIEW
This library contains functions for the calculation of the OTT (Optimized Trend Tracker) and its variants, originally created by Anıl Özekşi (Anil_Ozeksi). Special thanks to him for the concept and to Kıvanç Özbilgiç (KivancOzbilgic) and dg_factor (dg_factor) for adapting them to Pine Script.
█ WHAT IS "OTT"
The OTT (Optimized Trend Tracker) is a highly customizable and very effective trend-following indicator that relies on moving averages and a trailing stop at its core. Moving averages help reduce noise by smoothing out sudden price movements in the markets, while trailing stops assist in detecting trend reversals with precision. Initially developed as a noise-free trailing stop, the current variants of OTT range from rapid trend reversal detection to long-term trend confirmation, thanks to its extensive customizability.
It's well-known variants are:
OTT (Optimized Trend Tracker).
TOTT (Twin OTT).
OTT Channels.
RISOTTO (RSI OTT).
SOTT (Stochastic OTT).
HOTT & LOTT (Highest & Lowest OTT)
ROTT (Relative OTT)
FT (Original name is Fırsatçı Trend in Turkish which translates to Opportunist Trend)
█ LIBRARY FEATURES
This library has been prepared in accordance with the style, coding, and annotation standards of Pine Script version 5. As a result, explanations and examples will appear when users hover over functions or enter function parameters in the editor.
█ USAGE
Usage of this library is very simple. Just import it to your script with the code below and use its functions.
import ismailcarlik/ottlib/1 as ottlib
█ FUNCTIONS
• f_vidya(source, length, cmoLength)
Short Definition: Chande's Variable Index Dynamic Average (VIDYA).
Details: This function computes Chande's Variable Index Dynamic Average (VIDYA), which serves as the original moving average for OTT. The 'length' parameter determines the number of bars used to calculate the average of the given source. Lower values result in less smoothing of prices, while higher values lead to greater smoothing. While primarily used internally in this library, it has been made available for users who wish to utilize it as a moving average or use in custom OTT implementations.
Parameters:
source (float) : (series float) Series of values to process.
length (simple int) : (simple int) Number of bars to lookback.
cmoLength (simple int) : (simple int) Number of bars to lookback for calculating CMO. Default value is `9`.
Returns: (float) Calculated average of `source` for `length` bars back.
Example:
vidyaValue = ottlib.f_vidya(source = close, length = 20)
plot(vidyaValue, color = color.blue)
• f_mostTrail(source, multiplier)
Short Definition: Calculates trailing stop value.
Details: This function calculates the trailing stop value for a given source and the percentage. The 'multiplier' parameter defines the percentage of the trailing stop. Lower values are beneficial for catching short-term reversals, while higher values aid in identifying long-term trends. Although only used once internally in this library, it has been made available for users who wish to utilize it as a traditional trailing stop or use in custom OTT implementations.
Parameters:
source (float) : (series int/float) Series of values to process.
multiplier (simple float) : (simple float) Percent of trailing stop.
Returns: (float) Calculated value of trailing stop.
Example:
emaValue = ta.ema(source = close, length = 14)
mostValue = ottlib.f_mostTrail(source = emaValue, multiplier = 2.0)
plot(mostValue, color = emaValue >= mostValue ? color.green : color.red)
• f_ottTrail(source, multiplier)
Short Definition: Calculates OTT-specific trailing stop value.
Details: This function calculates the trailing stop value for a given source in the manner used in OTT. Unlike a traditional trailing stop, this function modifies the traditional trailing stop value from two bars prior by adjusting it further with half the specified percentage. The 'multiplier' parameter defines the percentage of the trailing stop. Lower values are beneficial for catching short-term reversals, while higher values aid in identifying long-term trends. Although primarily used internally in this library, it has been made available for users who wish to utilize it as a trailing stop or use in custom OTT implementations.
Parameters:
source (float) : (series int/float) Series of values to process.
multiplier (simple float) : (simple float) Percent of trailing stop.
Returns: (float) Calculated value of OTT-specific trailing stop.
Example:
vidyaValue = ottlib.f_vidya(source = close, length = 20)
ottValue = ottlib.f_ottTrail(source = vidyaValue, multiplier = 1.5)
plot(ottValue, color = vidyaValue >= ottValue ? color.green : color.red)
• ott(source, length, multiplier)
Short Definition: Calculates OTT (Optimized Trend Tracker).
Details: The OTT consists of two lines. The first, known as the "Support Line", is the VIDYA of the given source. The second, called the "OTT Line", is the trailing stop based on the Support Line. The market is considered to be in an uptrend when the Support Line is above the OTT Line, and in a downtrend when it is below.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `2`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `1.4`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `ottLine`.
Example:
= ottlib.ott(source = close, length = 2, multiplier = 1.4)
longCondition = ta.crossover(supportLine, ottLine)
shortCondition = ta.crossunder(supportLine, ottLine)
• tott(source, length, multiplier, bandsMultiplier)
Short Definition: Calculates TOTT (Twin OTT).
Details: TOTT consists of three lines: the "Support Line," which is the VIDYA of the given source; the "Upper Line," a trailing stop of the Support Line adjusted with an added multiplier; and the "Lower Line," another trailing stop of the Support Line, adjusted with a reduced multiplier. The market is considered in an uptrend if the Support Line is above the Upper Line and in a downtrend if it is below the Lower Line.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `40`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.6`.
bandsMultiplier (simple float) : Multiplier for bands. Default value is `0.0006`.
Returns: ( [ float, float, float ]) Tuple of `supportLine`, `upperLine` and `lowerLine`.
Example:
= ottlib.tott(source = close, length = 40, multiplier = 0.6, bandsMultiplier = 0.0006)
longCondition = ta.crossover(supportLine, upperLine)
shortCondition = ta.crossunder(supportLine, lowerLine)
• ott_channel(source, length, multiplier, ulMultiplier, llMultiplier)
Short Definition: Calculates OTT Channels.
Details: OTT Channels comprise nine lines. The central line, known as the "Mid Line," is the OTT of the given source's VIDYA. The remaining lines are positioned above and below the Mid Line, shifted by specified multipliers.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`
length (simple int) : (simple int) Number of bars to lookback. Default value is `2`
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `1.4`
ulMultiplier (simple float) : (simple float) Multiplier for upper line. Default value is `0.01`
llMultiplier (simple float) : (simple float) Multiplier for lower line. Default value is `0.01`
Returns: ( [ float, float, float, float, float, float, float, float, float ]) Tuple of `ul4`, `ul3`, `ul2`, `ul1`, `midLine`, `ll1`, `ll2`, `ll3`, `ll4`.
Example:
= ottlib.ott_channel(source = close, length = 2, multiplier = 1.4, ulMultiplier = 0.01, llMultiplier = 0.01)
• risotto(source, length, rsiLength, multiplier)
Short Definition: Calculates RISOTTO (RSI OTT).
Details: RISOTTO comprised of two lines: the "Support Line," which is the VIDYA of the given source's RSI value, calculated based on the length parameter, and the "RISOTTO Line," a trailing stop of the Support Line. The market is considered in an uptrend when the Support Line is above the RISOTTO Line, and in a downtrend if it is below.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `50`.
rsiLength (simple int) : (simple int) Number of bars used for RSI calculation. Default value is `100`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.2`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `risottoLine`.
Example:
= ottlib.risotto(source = close, length = 50, rsiLength = 100, multiplier = 0.2)
longCondition = ta.crossover(supportLine, risottoLine)
shortCondition = ta.crossunder(supportLine, risottoLine)
• sott(source, kLength, dLength, multiplier)
Short Definition: Calculates SOTT (Stochastic OTT).
Details: SOTT is comprised of two lines: the "Support Line," which is the VIDYA of the given source's Stochastic value, based on the %K and %D lengths, and the "SOTT Line," serving as the trailing stop of the Support Line. The market is considered in an uptrend when the Support Line is above the SOTT Line, and in a downtrend when it is below.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
kLength (simple int) : (simple int) Stochastic %K length. Default value is `500`.
dLength (simple int) : (simple int) Stochastic %D length. Default value is `200`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.5`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `sottLine`.
Example:
= ottlib.sott(source = close, kLength = 500, dLength = 200, multiplier = 0.5)
longCondition = ta.crossover(supportLine, sottLine)
shortCondition = ta.crossunder(supportLine, sottLine)
• hottlott(length, multiplier)
Short Definition: Calculates HOTT & LOTT (Highest & Lowest OTT).
Details: HOTT & LOTT are composed of two lines: the "HOTT Line", which is the OTT of the highest price's VIDYA, and the "LOTT Line", the OTT of the lowest price's VIDYA. A high price surpassing the HOTT Line can be considered a long signal, while a low price dropping below the LOTT Line may indicate a short signal.
Parameters:
length (simple int) : (simple int) Number of bars to lookback. Default value is `20`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.6`.
Returns: ( [ float, float ]) Tuple of `hottLine` and `lottLine`.
Example:
= ottlib.hottlott(length = 20, multiplier = 0.6)
longCondition = ta.crossover(high, hottLine)
shortCondition = ta.crossunder(low, lottLine)
• rott(source, length, multiplier)
Short Definition: Calculates ROTT (Relative OTT).
Details: ROTT comprises two lines: the "Support Line", which is the VIDYA of the given source, and the "ROTT Line", the OTT of the Support Line's VIDYA. The market is considered in an uptrend if the Support Line is above the ROTT Line, and in a downtrend if it is below. ROTT is similar to OTT, but the key difference is that the ROTT Line is derived from the VIDYA of two bars of Support Line, not directly from it.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `200`.
multiplier (simple float) : (simple float) Percent of trailing stop. Default value is `0.1`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `rottLine`.
Example:
= ottlib.rott(source = close, length = 200, multiplier = 0.1)
isUpTrend = supportLine > rottLine
isDownTrend = supportLine < rottLine
• ft(source, length, majorMultiplier, minorMultiplier)
Short Definition: Calculates Fırsatçı Trend (Opportunist Trend).
Details: FT is comprised of two lines: the "Support Line", which is the VIDYA of the given source, and the "FT Line", a trailing stop of the Support Line calculated using both minor and major trend values. The market is considered in an uptrend when the Support Line is above the FT Line, and in a downtrend when it is below.
Parameters:
source (float) : (series float) Series of values to process. Default value is `close`.
length (simple int) : (simple int) Number of bars to lookback. Default value is `30`.
majorMultiplier (simple float) : (simple float) Percent of major trend. Default value is `3.6`.
minorMultiplier (simple float) : (simple float) Percent of minor trend. Default value is `1.8`.
Returns: ( [ float, float ]) Tuple of `supportLine` and `ftLine`.
Example:
= ottlib.ft(source = close, length = 30, majorMultiplier = 3.6, minorMultiplier = 1.8)
longCondition = ta.crossover(supportLine, ftLine)
shortCondition = ta.crossunder(supportLine, ftLine)
█ CUSTOM OTT CREATION
Users can create custom OTT implementations using f_ottTrail function in this library. The example code which uses EMA of 7 period as moving average and calculates OTT based of it is below.
Source Code:
//@version=5
indicator("Custom OTT", shorttitle = "COTT", overlay = true)
import ismailcarlik/ottlib/1 as ottlib
src = input.source(close, title = "Source")
length = input.int(7, title = "Length", minval = 1)
multiplier = input.float(2.0, title = "Multiplier", minval = 0.1)
support = ta.ema(source = src, length = length)
ott = ottlib.f_ottTrail(source = support, multiplier = multiplier)
pSupport = plot(support, title = "Moving Average Line (Support)", color = color.blue)
pOtt = plot(ott, title = "Custom OTT Line", color = color.orange)
fillColor = support >= ott ? color.new(color.green, 60) : color.new(color.red, 60)
fill(pSupport, pOtt, color = fillColor, title = "Direction")
Result:
█ DISCLAIMER
Trading is risky and most of the day traders lose money eventually. This library and its functions are only for educational purposes and should not be construed as financial advice. Past performances does not guarantee future results.
Minervini Stage 2 AnalysisHandbook for Minervini Stage 2 Analysis Indicator
Introduction
This handbook provides detailed instructions and guidelines for using the Minervini Stage 2 Analysis Indicator based on Mark Minervini's swing trading methodology. This indicator is designed for traders focusing on US stocks, aiming to capture gains in medium to short-term uptrends (swing trading).
Understanding Stage 2
Stage 2 represents a bullish uptrend in a stock's price. Mark Minervini emphasizes entering long positions during this phase. The stage is identified using four key criteria related to moving averages (MAs).
Indicator Criteria
Stock Price Above MA 150 and 200: Indicates an overall uptrend.
MA 150 Above MA 200: Signals a stronger medium-term trend compared to the long-term trend.
MA 200 Trending Up for At Least 1 Month (22 Days): Confirms a stable uptrend.
MA 50 Above Both MA 150 and 200: Shows short-term strength and momentum.
Using the Indicator
Entering Trades: Consider long positions when all four criteria are met. This signifies that the stock is in a Stage 2 uptrend.
Monitoring Trades: Regularly check if the stock continues to meet these criteria. The indicator provides a clear visual and textual representation for ease of monitoring.
Alarm Signals and Exit Strategy
One Criterion Not Met: This serves as an alarm signal. Increased vigilance is required, and traders should prepare for a potential exit.
Two Criteria Not Met: Strong indication to close the trade. This suggests the stock may be transitioning out of Stage 2, increasing the risk of holding the position.
Risk Management
Stop-Loss Orders: Consider setting a trailing stop-loss to protect profits and minimize losses.
Position Sizing: Adjust position sizes according to your risk tolerance and portfolio strategy.
Volume and Relative Strength Analysis
Volume Analysis: Look for increased trading volume as confirmation when the stock price moves above key MAs.
Relative Strength (RS) Rating: Compare the stock's performance to the broader market to gauge its strength.
Limitations and Considerations
Market Conditions: The indicator's effectiveness may vary with market conditions. It is more reliable in a bullish market environment.
Supplementary Analysis: Combine this indicator with other analysis methods (fundamental, technical) for a holistic approach.
Continuous Learning: Stay updated with market trends and adjust your strategy accordingly.
Conclusion
The Minervini Stage 2 Analysis Indicator is a powerful tool for identifying potential long positions in uptrending stocks. Its reliance on specific criteria aligns with Mark Minervini's proven swing trading strategy. However, always exercise due diligence and risk management in your trading decisions.
SPTS_StatsPakLibFinally getting around to releasing the library component to the SPTS indicator!
This library is packed with a ton of great statistics functions to supplement SPTS, these functions add to the capabilities of SPTS including a forecast function.
The library includes the following functions
1. Linear Regression (single independent and single dependent)
2. Multiple Regression (2 independent variables, 1 dependent)
3. Standard Error of Residual Assessment
4. Z-Score
5. Effect Size
6. Confidence Interval
7. Paired Sample Test
8. Two Tailed T-Test
9. Qualitative assessment of T-Test
10. T-test table and p value assigner
11. Correlation of two arrays
12. Quadratic correlation (curvlinear)
13. R Squared value of 2 arrays
14. R Squared value of 2 floats
15. Test of normality
16. Forecast function which will push the desired forecasted variables into an array.
One of the biggest added functionalities of this library is the forecasting function.
This function provides an autoregressive, trainable model that will export forecasted values to 3 arrays, one contains the autoregressed forecasted results, the other two contain the upper confidence forecast and the lower confidence forecast.
Hope you enjoy and find use for this!
Library "SPTS_StatsPakLib"
f_linear_regression(independent, dependent, len, variable)
TODO: creates a simple linear regression model between two variables.
Parameters:
independent (float)
dependent (float)
len (int)
variable (float)
Returns: TODO: returns 6 float variables
result: The result of the regression model
pear_cor: The pearson correlation of the regresion model
rsqrd: the R2 of the regression model
std_err: the error of residuals
slope: the slope of the model (coefficient)
intercept: the intercept of the model (y = mx + b is y = slope x + intercept)
f_multiple_regression(y, x1, x2, input1, input2, len)
TODO: creates a multiple regression model between two independent variables and 1 dependent variable.
Parameters:
y (float)
x1 (float)
x2 (float)
input1 (float)
input2 (float)
len (int)
Returns: TODO: returns 7 float variables
result: The result of the regression model
pear_cor: The pearson correlation of the regresion model
rsqrd: the R2 of the regression model
std_err: the error of residuals
b1 & b2: the slopes of the model (coefficients)
intercept: the intercept of the model (y = mx + b is y = b1 x + b2 x + intercept)
f_stanard_error(result, dependent, length)
x TODO: performs an assessment on the error of residuals, can be used with any variable in which there are residual values (such as moving averages or more comlpex models)
param x TODO: result is the output, for example, if you are calculating the residuals of a 200 EMA, the result would be the 200 EMA
dependent: is the dependent variable. In the above example with the 200 EMA, your dependent would be the source for your 200 EMA
Parameters:
result (float)
dependent (float)
length (int)
Returns: x TODO: the standard error of the residual, which can then be multiplied by standard deviations or used as is.
f_zscore(variable, length)
TODO: Calculates the z-score
Parameters:
variable (float)
length (int)
Returns: TODO: returns float z-score
f_effect_size(array1, array2)
TODO: Calculates the effect size between two arrays of equal scale.
Parameters:
array1 (float )
array2 (float )
Returns: TODO: returns the effect size (float)
f_confidence_interval(array1, array2, ci_input)
TODO: Calculates the confidence interval between two arrays
Parameters:
array1 (float )
array2 (float )
ci_input (float)
Returns: TODO: returns the upper_bound and lower_bound cofidence interval as float values
paired_sample_t(src1, src2, len)
TODO: Performs a paired sample t-test
Parameters:
src1 (float)
src2 (float)
len (int)
Returns: TODO: Returns the t-statistic and degrees of freedom of a paired sample t-test
two_tail_t_test(array1, array2)
TODO: Perofrms a two tailed t-test
Parameters:
array1 (float )
array2 (float )
Returns: TODO: Returns the t-statistic and degrees of freedom of a two_tail_t_test sample t-test
t_table_analysis(t_stat, df)
TODO: This is to make a qualitative assessment of your paired and single sample t-test
Parameters:
t_stat (float)
df (float)
Returns: TODO: the function will return 2 string variables and 1 colour variable. The 2 string variables indicate whether the results are significant or not and the colour will
output red for insigificant and green for significant
t_table_p_value(df, t_stat)
TODO: This performs a quantaitive assessment on your t-tests to determine the statistical significance p value
Parameters:
df (float)
t_stat (float)
Returns: TODO: The function will return 1 float variable, the p value of the t-test.
cor_of_array(array1, array2)
TODO: This performs a pearson correlation assessment of two arrays. They need to be of equal size!
Parameters:
array1 (float )
array2 (float )
Returns: TODO: The function will return the pearson correlation.
quadratic_correlation(src1, src2, len)
TODO: This performs a quadratic (curvlinear) pearson correlation between two values.
Parameters:
src1 (float)
src2 (float)
len (int)
Returns: TODO: The function will return the pearson correlation (quadratic based).
f_r2_array(array1, array2)
TODO: Calculates the r2 of two arrays
Parameters:
array1 (float )
array2 (float )
Returns: TODO: returns the R2 value
f_rsqrd(src1, src2, len)
TODO: Calculates the r2 of two float variables
Parameters:
src1 (float)
src2 (float)
len (int)
Returns: TODO: returns the R2 value
test_of_normality(array, src)
TODO: tests the normal distribution hypothesis
Parameters:
array (float )
src (float)
Returns: TODO: returns 4 variables, 2 float and 2 string
Skew: the skewness of the dataset
Kurt: the kurtosis of the dataset
dist = the distribution type (recognizes 7 different distribution types)
implication = a string assessment of the implication of the distribution (qualitative)
f_forecast(output, input, train_len, forecast_length, output_array, upper_array, lower_array)
TODO: This performs a simple forecast function on a single dependent variable. It will autoregress this based on the train time, to the desired length of output,
then it will push the forecasted values to 3 float arrays, one that contains the forecasted result, 1 that contains the Upper Confidence Result and one with the lower confidence
result.
Parameters:
output (float)
input (float)
train_len (int)
forecast_length (int)
output_array (float )
upper_array (float )
lower_array (float )
Returns: TODO: Will return 3 arrays, one with the forecasted results, one with the upper confidence results, and a final with the lower confidence results. Example is given below.
Triple EMA By Ozy
**Triple EMA By Ozy**
The "Triple EMA By Ozy" is a visual indicator that offers traders a clear and concise view of three exponential moving averages (EMAs) at a glance. This tool combines three common EMAs (20, 50, and 200) and additionally calculates and displays the slope angle of each EMA, allowing for a more precise identification of the current trend's direction and strength.
**Key Features:**
1. **Three EMAs in One Indicator:** The 20, 50, and 200-period EMAs are popular among traders and are crucial for identifying short, medium, and long-term trends.
2. **Slope Angle:** The indicator calculates the slope angle for each EMA, which can be indicative of the trend's strength. A positive angle suggests bullish momentum, while a negative angle indicates bearish momentum.
3. **Clear Visual Indication:** The indicator uses colors to easily distinguish between EMAs and also to identify the direction of the slope angle (green for positive, red for negative).
**How to Use:**
- An increasing angle in the EMA20 may indicate the beginning of a new short-term upward trend.
- A decreasing angle in the EMA200 might signal a long-term downtrend gaining strength.
- Crosses between the EMAs can also be points of interest, like the golden cross (EMA50 crossing above the EMA200) or the death cross (EMA50 crossing below the EMA200).
**Triple EMA By Ozy**
El "Triple EMA By Ozy" es un indicador visual que proporciona a los traders una visión clara y concisa de tres medias móviles exponenciales (EMAs) en un solo vistazo. Esta herramienta combina tres EMAs comunes (20, 50 y 200) y, además, calcula y muestra el ángulo de inclinación de cada EMA para identificar con mayor precisión la dirección y la fuerza de la tendencia actual.
**Características principales:**
1. **Tres EMAs en un solo indicador:** Las EMAs de 20, 50 y 200 períodos son populares entre los traders y son esenciales para identificar tendencias a corto, mediano y largo plazo.
2. **Ángulo de inclinación:** El indicador calcula el ángulo de inclinación de cada EMA, que puede ser un indicativo de la fuerza de la tendencia. Un ángulo positivo sugiere un impulso alcista, mientras que un ángulo negativo indica un impulso bajista.
3. **Indicación visual clara:** El indicador utiliza colores para distinguir fácilmente entre EMAs y también para identificar la dirección del ángulo de inclinación (verde para positivo, rojo para negativo).
**Cómo usar:**
- Un ángulo creciente en la EMA20 puede indicar el comienzo de una nueva tendencia al alza a corto plazo.
- Un ángulo decreciente en la EMA200 puede ser una señal de una tendencia bajista a largo plazo que está ganando fuerza.
- Los cruces entre las EMAs también pueden ser puntos de interés, como el cruce dorado (EMA50 cruza por encima de la EMA200) o el cruce de la muerte (EMA50 cruza por debajo de la EMA200).