Prometheus StochasticThe Stochastic indicator is a popular indicator developed in the 1950s. It is designed to identify overbought and oversold scenarios on different assets. A value above 80 is considered overbought and a value below 20 is considered oversold.
The formula is as follows:
%k = ((Close - Low_i) / (High_i / Low_i)) * 100
Low_i and High_i represent the lowest low and highest high of the selected period.
The Prometheus version takes a slightly different approach:
%k = ((High - Lowest_Close_i) / (High_i / Low_i)) * 100
Using the Current High minus the Lowest Close provides us with a more robust range that can be slightly more sensitive to moves and provide a different perspective.
Code:
stoch_func(src_close, src_high, src_low, length) =>
100 * (src_high - ta.lowest(src_close, length)) / (ta.highest(src_high, length) - ta.lowest(src_low, length))
This is the function that returns our Stochastic indicator.
What period do we use for the calculation? Let Prometheus handle that, we utilize a Sum of Squared Error calculation to find what lookback values can be most useful for a trader. How we do it is we calculate a Simple Moving Average or SMA and the indicator using a lot of different bars back values. Then if there is an event, characterized by the indicator crossing above 80 or below 20, we subtract the close by the SMA and square it. If there is no event we return a big value, we want the error to be as small as possible. Because we loop over every value for bars back, we get the value with the smallest error. We also do this for the smoothing values.
// Function to calculate SSE for a given combination of N, K, and D
sse_calc(_N, _K, _D) =>
SMA = ta.sma(close, _N)
sf = stoch_func(close, high, low, _N)
k = ta.sma(sf, _K)
d = ta.sma(k, _D)
var float error = na
if ta.crossover(d, 80) or ta.crossunder(d, 20)
error := math.pow(close - SMA, 2)
else
error := 999999999999999999999999999999999999999
error
var int best_N = na
var int best_K = na
var int best_D = na
var float min_SSE = na
// Loop through all combinations of N, K, and D
for N in N_range
for K in K_range
for D in D_range
sse = sse_calc(N, K, D)
if (na(min_SSE) or sse < min_SSE)
min_SSE := sse
best_N := N
best_K := K
best_D := D
int N_opt = na
int K_opt = na
int D_opt = na
if c_lkb_bool == false
N_opt := best_N
K_opt := best_K
D_opt := best_D
This is the section where the best lookback values are calculated.
We provide the option to use this self optimizer or to use your own lookback values.
Here is an example on the daily AMEX:SPY chart. The top Stochastic is the value with the SSE calculation, the bottom is with a fixed 14, 1, 3 input values. We see in the candles with boxes where some potential differences and trades may be.
This is another comparison of the SSE functionality and the fixed lookbacks on the NYSE:PLTR 1 day chart.
Differences may be more apparent on lower time frame charts.
We encourage traders to not follow indicators blindly, none are 100% accurate. SSE does not guarantee that the values generated will be the best for a given moment in time. Please comment on any desired updates, all criticism is welcome!
Komut dosyalarını "摩根纳斯达克100基金风险大吗" için ara
Theta Shield | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Theta Shield indicator! Theta is the options risk factor concerning how fast there is a decline in the value of an option over time. This indicator aims to help the trader avoid sideways market phases in the current ticker, to minimize the risk of theta decay. For more information, please check the "How Does It Work" section.
Features of the new Theta Shield Indicator :
Foresight Of Accumulation Zones
Decrease Risk Of Theta Decay
Clear "Valid" & "Non-Valid" Signals
Validness Trail
Alerts
📌 HOW DOES IT WORK ?
In options trading, theta is defined as the rate of decline in the value of an option due to the passage of time. Traders want to avoid this kind of decay in the value of an option. One of the best ways to avoid it is not holding an option contract when the market is going sideways. This indicator uses a stochastic oscillator to try to get a foresight of sideways markets, warning the trader to not hold an option contract while the price is in a range.
The indicator starts by calculating the stochastic value using close, high & low prices of the candlesticks. Then a stoch threshold & a theta length are determined depending on the option contract type defined by the user in the settings of the indicator. Each candlestick that falls above or below the stoch threshold value is counted, and a "theta valid strength" is calculated using the counted candlesticks, which has a value between -100 & 100. Here is the formula of the "theta valid strength" value :
f_lin_interpolate(float x0, float x1, float y0, float y1, float x) =>
y0 + (x - x0) * (y1 - y0) / (x1 - x0)
thetaValid = Total Candlesticks That Fall Above & Below The Threshold In Last "Theta Length" bars.
thetaValidStrength = f_lin_interpolate(0, thetaLength, -100, 100, thetaValid)
Then a trail is rendered, and "Valid" & "Non-Valid" signals are given using this freshly calculated strength value. Valid means that the indicator currently thinks that no accumulation will happen in the near future, so the option positions in the current ticker are protected from the theta decay. Non-Valid means that the indicator thinks the ticker has entered the accumulation phase, so holding any option position is not recommended, as they may be affected by the theta decay.
🚩 UNIQUENESS
This indicator offers a unique way to avoid theta decay in options trading. It uses a stochastic oscillator and thresholds to calculate a "theta strength" value, which is used for rendering validness signals and a trail. Traders can follow the valid & non-valid signals when deciding to hold their options position or not. The indicator also has an alerts feature, so you can get notified when a ticker is about to enter a range, or when it's about to get out of it.
⚙️ SETTINGS
1. General Configuration
Contract Type -> You can set the option contract type here. The indicator will adjust itself to get a better foresight depending on the contract length.
2. Style
Fill Validness -> Will render a trail based on "theta strength" value.
Support line based on RSIThis indicator builds a support line using the stock price and RSI.
Inputs:
1. Time window for the RSI:
the time window the RSI is calculated with, usually it's 14 but in here I recommend 30.
2. offset by percentage:
just adding or subtructing some percentage of the result, some stocks need a bit of offset to work
3. stability:
the higher it is the less the RSI effects the graph. for realy high stability the indicator the the stock price will be realy close.
formula: (close*(100-newRSI)/50)*(100+offset)/100
when:
newRSI = (RSI + (50 * stability1))/(stability+1)
recommended usage:
Usually, if the indicator becomes higher than the price, (the price lowers). the stock will go up again to around the last price where they met.
so, for example, if the stock price was 20 and going down. while the indicator was 18 and going up, then they met at 19 and later the indicator became 20 while the stock fell to 18. most chances are that the stock will come back to 19 where they met and at the same time the indicator will also get to 19.
In stocks that are unstable, like NVDA. this indicator can be used to see the trend and avoid the unstability of the stock.
Risk On/Risk Off Williams %RThe Risk On/Risk Off Williams %R indicator is a technical analysis tool designed to gauge market sentiment by comparing the performance of risk-on and risk-off assets. This indicator combines the Williams %R, a momentum oscillator, with a composite index derived from various financial assets to determine the prevailing market risk sentiment.
Components:
Risk-On Assets: These are typically more volatile and are expected to perform well during bullish market conditions. The indicator uses the following risk-on assets:
SPY (S&P 500 ETF)
QQQ (Nasdaq-100 ETF)
HYG (High-Yield Corporate Bond ETF)
XLF (Financial Select Sector SPDR Fund)
XLK (Technology Select Sector SPDR Fund)
Risk-Off Assets: These are generally considered safer investments and are expected to outperform during bearish market conditions. The indicator includes:
TLT (iShares 20+ Year Treasury Bond ETF)
GLD (SPDR Gold Trust)
DXY (U.S. Dollar Index)
IEF (iShares 7-10 Year Treasury Bond ETF)
XLU (Utilities Select Sector SPDR Fund)
Calculation:
Risk-On Index: The average closing price of the risk-on assets.
Risk-Off Index: The average closing price of the risk-off assets.
The composite index is computed as:
Composite Index=Risk On Index−Risk Off Index
Composite Index=Risk On Index−Risk Off Index
Williams %R: This momentum oscillator measures the current price relative to the high-low range over a specified period. It is calculated as:
\text{Williams %R} = \frac{\text{Highest High} - \text{Composite Index}}{\text{Highest High} - \text{Lowest Low}} \times -100
where "Highest High" and "Lowest Low" are the highest and lowest values of the composite index over the lookback period.
Usage:
Williams %R: A momentum oscillator that ranges from -100 to 0. Values above -50 suggest bullish conditions, while values below -50 indicate bearish conditions.
Background Color: The background color of the chart changes based on the Williams %R relative to a predefined threshold level:
Green background: When Williams %R is above the threshold level, indicating a bullish sentiment.
Red background: When Williams %R is below the threshold level, indicating a bearish sentiment.
Purpose:
The indicator is designed to provide a visual representation of market sentiment by comparing the performance of risk-on versus risk-off assets. It helps traders and investors understand whether the market is leaning towards higher risk (risk-on) or safety (risk-off) based on the relative performance of these asset classes. By incorporating the Williams %R, the indicator adds a momentum-based dimension to this analysis, allowing for better decision-making in response to shifting market conditions.
CNN Fear and Greed Index JD modified from minusminusCNN Fear and Greed Index - www.cnn.com
Modified from minusminus -
See Documentation from CNN's website
CNN's Fear and Greed index is an attempt to quantitatively score the Fear and Greed in the SPX using 7 factors:
Market Momentum- S&P 500 (SPX) and its 125-day moving average
Stock Price Strength -Net new 52-week highs and lows on the NYSE
Stock Price Breadth - McClellan Volume Summation Index
Put and Call options - 5-day average put/call ratio
Market Volatility - VIX and its 50-day moving average
Safe Haven Demand - Difference in 20-day stock and bond returns
Junk Bond Demand - Yield spread: junk bonds vs. investment grade
Each Factor has a weight input for the final calculation initially set to a weight of 1. The final calculation of the index is a weighted average of each factor.
3 Factors have separate functions for calculation : See Code for Clarity
SPX Momentum : difference between the Daily CBOE:SPX index value and it's 125 Day Simple moving average.
Stock Price Strength : Net New 52-week highs and lows on the NYSE.
Function calculates a measure of Net New 52-week highs by:
NYSE 52-week highs (INDEX:MAHN) - all new NYSE Highs (INDEX:HIGH)
measure of Net New 52-week lows by:
NYSE 52-week lows (INDEX:MALN) - all new NYSE Lows (INDEX:LOWN)
Then calculate a ratio of Net New 52-week Highs and Lows over Total Highs and Lows then takes a 5-day moving average of that ratio-See Code
Stock Price Breadth is the McClellan Volume Summation Index :
First Calculate the McClellan Oscillator
Second Calculate the Summation Index
4 Factors are Straight data requests
5 Day Simple Moving Average of the Put-Call Ratio on SPY
50 Day Simple Moving Average of the SPX VIX
Difference between 20 Day Simple Moving Average of SPX Daily Close and 20 Day Simple Moving Average of 10Y Constant Maturity US Treasury Note
Yield Spread between ICE BofA US High Yield Index and ICE BofA US Investment Grade Corporate Yield Index
The Fear and Greed Index is a weighted average of these factors - which is then normalized to scale from 0 to 100 using the past 25 values - length parameter.
3 Zones are Shaded: Red for Extreme Fear, Grey for normal jitters, Green for Extreme Greed.
Disclaimer: This is not financial advice. These are just my ideas, and I am not an investment advisor or investment professional. This code is for informational purposes only and do your own analysis before making any investment decisions. This is an attempt to replicate in spirt an index CNN publishes on their website and in no way shape or form infringes on their content, calculations or proprietary information.
From CNN: www.cnn.com
FEAR & GREED INDEX FAQs
What is the CNN Business Fear & Greed Index?
The Fear & Greed Index is a way to gauge stock market movements and whether stocks are fairly priced. The theory is based on the logic that excessive fear tends to drive down share prices, and too much greed tends to have the opposite effect.
How is Fear & Greed Calculated?
The Fear & Greed Index is a compilation of seven different indicators that measure some aspect of stock market behavior. They are market momentum, stock price strength, stock price breadth, put and call options, junk bond demand, market volatility, and safe haven demand. The index tracks how much these individual indicators deviate from their averages compared to how much they normally diverge. The index gives each indicator equal weighting in calculating a score from 0 to 100, with 100 representing maximum greediness and 0 signaling maximum fear.
How often is the Fear & Greed Index calculated?
Every component and the Index are calculated as soon as new data becomes available.
How to use Fear & Greed Index?
The Fear & Greed Index is used to gauge the mood of the market. Many investors are emotional and reactionary, and fear and greed sentiment indicators can alert investors to their own emotions and biases that can influence their decisions. When combined with fundamentals and other analytical tools, the Index can be a helpful way to assess market sentiment.
Jurik Price Bands and Range Box [BigBeluga]Jurik Price Bands and Range Box
The Jurik Price Bands and Range Box - BigBeluga indicator is an advanced technical analysis tool that combines Jurik Moving Average (JMA) based price bands with a dynamic range box. This versatile indicator is designed to help traders identify trends, potential reversal points, and price ranges over a specified period.
🔵 KEY FEATURES
● Jurik Price Bands
Utilizes Jurik Moving Average for smoother, more responsive bands
//@function Calculates Jurik Moving Average
//@param src (float) Source series
//@param len (int) Length parameter
//@param ph (int) Phase parameter
//@returns (float) Jurik Moving Average value
jma(src, len, ph) =>
var float jma = na
var float e0 = 0.0
var float e1 = 0.0
var float e2 = 0.0
phaseRatio = ph < -100 ? 0.5 : ph > 100 ? 2.5 : ph / 100 + 1.5
beta = 0.45 * (len - 1) / (0.45 * (len - 1) + 2)
alpha = math.pow(beta, phaseRatio)
e0 := (1 - alpha) * src + alpha * nz(e0 )
e1 := (src - e0) * (1 - beta) + beta * nz(e1 )
e2 := (e0 + phaseRatio * e1 - nz(jma )) * math.pow(1 - alpha, 2) + math.pow(alpha, 2) * nz(e2 )
jma := e2 + nz(jma )
jma
Consists of an upper band, lower band, and a smooth price line
Bands adapt to market volatility using Jurik MA on ATR
Helps identify potential trend reversal points and overextended market conditions
● Dynamic Range Box
Displays a box representing the price range over a specified period
Calculates high, low, and mid-range prices
Option for adaptive mid-range calculation based on average price
Provides visual representation of recent price action and volatility
● Price Position Indicator
Shows current price position relative to the mid-range
Displays percentage difference from mid-range
Color-coded for quick trend identification
● Dashboard
Displays key information including current price, range high, mid, and low
Shows trend direction based on price position relative to mid-range
Provides at-a-glance market context
🔵 HOW TO USE
● Trend Identification
Use the middle of the Range Box as the primary trend reference point
Price above the middle of the Range Box indicates an uptrend
Price below the middle of the Range Box indicates a downtrend
The bar on the right shows the percentage distance of the close from the middle of the box
This percentage indicates both trend direction and strength
Refer to the dashboard for quick trend direction confirmation
● Potential Reversal Points
Upper and lower Jurik Bands can indicate potential trend reversal points
Price reaching or exceeding these bands may suggest overextended conditions
Watch for price reaction at these levels for possible trend shifts or pullbacks
Range Box high and low can serve as additional reference points for price action
● Range Analysis
Use Range Box to gauge recent price volatility and trading range
Mid-range line can act as a pivot point for short-term price movements
Percentage difference from mid-range helps quantify price position strength
🔵 CUSTOMIZATION
The Jurik Price Bands and Range Box indicator offers several customization options:
Adjust Range Box length for different timeframe analysis
Toggle between standard and adaptive mid-range calculation
Standard:
Adaptive:
Modify Jurik MA length and deviation for band calculation
Toggle visibility of Jurik Bands
By fine-tuning these settings, traders can adapt the indicator to various market conditions and personal trading strategies.
The Jurik Price Bands and Range Box indicator provides a multi-faceted approach to market analysis, combining trend identification, potential reversal point detection, and range analysis in one comprehensive tool. The use of Jurik Moving Average offers a smoother, more responsive alternative to traditional moving averages, potentially providing more accurate signals.
This indicator can be particularly useful for traders looking to understand market context quickly, identify potential reversal points, and assess current market volatility. The combination of dynamic bands, range analysis, and the informative dashboard provides traders with a rich set of data points to inform their trading decisions.
As with all technical indicators, it's recommended to use the Jurik Price Bands and Range Box in conjunction with other forms of analysis and within the context of a well-defined trading strategy. While this indicator provides valuable insights, it should be considered alongside other factors such as overall market conditions, volume, and fundamental analysis when making trading decisions.
Multi-Step Vegas SuperTrend - strategy [presentTrading]Long time no see! I am back : ) Please allow me to gain some warm-up.
█ Introduction and How it is Different
The "Vegas SuperTrend Strategy" is an enhanced trading strategy that leverages both the Vegas Channel and SuperTrend indicators to generate buy and sell signals.
What sets this strategy apart from others is its dynamic adjustment to market volatility and its multi-step take profit mechanism. Unlike traditional single-step profit-taking approaches, this strategy allows traders to systematically scale out of positions at predefined profit levels, thereby optimizing their risk-reward ratio and maximizing potential gains.
BTCUSD 6hr performance
█ Strategy, How it Works: Detailed Explanation
The Vegas SuperTrend Strategy combines the strengths of the Vegas Channel and SuperTrend indicators to identify market trends and generate trade signals. The following subsections delve into the details of how each component works and how they are integrated.
🔶 Vegas Channel Calculation
The Vegas Channel is based on a simple moving average (SMA) and the standard deviation (STD) of the closing prices over a specified period. The channel is defined by upper and lower bounds that are dynamically adjusted based on market volatility.
Simple Moving Average (SMA):
SMA_vegas = (1/N) * Σ(Close_i) for i = 0 to N-1
where N is the length of the Vegas Window.
Standard Deviation (STD):
STD_vegas = sqrt((1/N) * Σ(Close_i - SMA_vegas)^2) for i = 0 to N-1
Vegas Channel Upper and Lower Bounds:
VegasChannelUpper = SMA_vegas + STD_vegas
VegasChannelLower = SMA_vegas - STD_vegas
The details are here:
🔶 Trend Detection and Trade Signals
The strategy determines the current market trend based on the closing price relative to the SuperTrend bounds:
Market Trend:
MarketTrend = 1 if Close > SuperTrendPrevLower
-1 if Close < SuperTrendPrevUpper
Previous Trend otherwise
Trade signals are generated when there is a shift in the market trend:
Bullish Signal: When the market trend shifts from -1 to 1.
Bearish Signal: When the market trend shifts from 1 to -1.
🔶 Multi-Step Take Profit Mechanism
The strategy incorporates a multi-step take profit mechanism that allows for partial exits at predefined profit levels. This helps in locking in profits gradually and reducing exposure to market reversals.
Take Profit Levels:
The take profit levels are calculated as percentages of the entry price:
TakeProfitLevel_i = EntryPrice * (1 + TakeProfitPercent_i/100) for long positions
TakeProfitLevel_i = EntryPrice * (1 - TakeProfitPercent_i/100) for short positions
Multi-steps take profit local picture:
█ Trade Direction
The trade direction can be customized based on the user's preference:
Long: The strategy only takes long positions.
Short: The strategy only takes short positions.
Both: The strategy can take both long and short positions based on the market trend.
█ Usage
To use the Vegas SuperTrend Strategy, follow these steps:
Configure Input Settings:
- Set the ATR period, Vegas Window length, SuperTrend Multiplier, and Volatility Adjustment Factor.
- Choose the desired trade direction (Long, Short, Both).
- Enable or disable the take profit mechanism and set the take profit percentages and amounts for each step.
█ Default Settings
The default settings of the strategy are designed to provide a balanced approach to trading. Below is an explanation of each setting and its effect on the strategy's performance:
ATR Period (10): This setting determines the length of the ATR used in the SuperTrend calculation. A longer period smoothens the ATR, making the SuperTrend less sensitive to short-term volatility. A shorter period makes the SuperTrend more responsive to recent price movements.
Vegas Window Length (100): This setting defines the period for the Vegas Channel's moving average. A longer window provides a broader view of the market trend, while a shorter window makes the channel more responsive to recent price changes.
SuperTrend Multiplier (5): This base multiplier adjusts the sensitivity of the SuperTrend to the ATR. A higher multiplier makes the SuperTrend less sensitive, reducing the frequency of trade signals. A lower multiplier increases sensitivity, generating more signals.
Volatility Adjustment Factor (5): This factor dynamically adjusts the SuperTrend multiplier based on the width of the Vegas Channel. A higher factor increases the sensitivity of the SuperTrend to changes in market volatility, while a lower factor reduces it.
Take Profit Percentages (3.0%, 6.0%, 12.0%, 21.0%): These settings define the profit levels at which portions of the trade are exited. They help in locking in profits progressively as the trade moves in favor.
Take Profit Amounts (25%, 20%, 10%, 15%): These settings determine the percentage of the position to exit at each take profit level. They are distributed to ensure that significant portions of the trade are closed as the price reaches the set levels, reducing exposure to reversals.
Adjusting these settings can significantly impact the strategy's performance. For instance, increasing the ATR period or the SuperTrend multiplier can reduce the number of trades, potentially improving the win rate but also missing out on some profitable opportunities. Conversely, lowering these values can increase trade frequency, capturing more short-term movements but also increasing the risk of false signals.
Prometheus IQR bandsThis indicator is a tool that uses market data to plot bands along with a price chart.
This tool uses interquartile range (IQR) instead of Standard Deviation (STD) because market returns are not normally distributed. There is also no way to tell if the pocket of the market you are looking at is normally distributed. So using methods that work better with non-normal data minimizes risk more than using a different process.
Calculation
Code for helper functions:
// Function to calculate the percentile value
percentile(arr, p) =>
index = math.floor(p * (array.size(arr) - 1) + 0.5)
array.get(arr, index)
manual_iqr(data, lower_percentile, upper_percentile)=>
// Sort the data
data_arr = array.new()
for i = 0 to lkb_
data_arr.push(close )
array.sort(data_arr)
sorted_data = data_arr.copy()
n = array.size(data_arr)
// Calculate the specified percentiles
Q1 = percentile(sorted_data, lower_percentile)
Q3 = percentile(sorted_data, upper_percentile)
// Calculate IQR
IQR = Q3 - Q1
// Return the IQR
IQR
IQRB(lkb_, sens)=>
sens_l = sens/100
sens_h = (100-sens)/100
val = manual_iqr(close, sens_l, sens_h)
sma = ta.sma(close, int(lkb_))
upper = sma + val
lower = sma - val
Percentile Calculation (percentile function):
Calculates the percentile value of an array (arr) at a given percentile (p).
Uses linear interpolation to find the exact percentile value in a sorted array.
Manual IQR Calculation (manual_iqr function):
Converts the input data into an array (data_arr) and sorts it.
Computes the lower and upper quartiles (Q1 and Q3) using the specified percentiles (lower_percentile and upper_percentile).
Computes the Interquartile Range (IQR) as IQR = Q3 - Q1.
Returns the computed IQR.
IQRB Function Calculation (IQRB function):
Converts the sensitivity percentage (sens) into decimal values (sens_l for lower percentile and sens_h for upper percentile).
Calls manual_iqr with the closing prices (close) and the lower and upper percentiles.
Calculates the Simple Moving Average (SMA) of the closing prices (close) over a specified period (lkb_).
Computes the upper and lower bands of the IQR using the SMA and the calculated IQR (val).
Returns an array containing the upper band, lower band, and SMA values.
After the IQR is calculated at the specified sensitivity it is added to and subtracted from a SMA of the specified period.
This provides us with bands of the IQR sensitivity we want.
Trade Examples
Step 1: Price quickly and strongly breaks below the bottom band and continues there for some bars.
Step 2: Price re-enters the bottom band and has a strong reversal.
Step 1: Price strongly breaks above the top band and continues higher.
Step 2: Price breaks below the top band and reverses to the downside.
Step 3: Price breaks below the bottom band after our previous reversal.
Step 4: Price regains that bottom band and reverses to the upside.
Step 5: Price continues moving higher and does not break above the top band or reverse.
Step 1: Price strongly breaks above the top band and continues higher.
Step 2: Price breaks below the top band and reverses to the downside.
Step 3: Price breaks below the bottom band after our previous reversal.
Step 4: Price regains that bottom band and reverses to the upside.
Step 5: Price strongly breaks above the top band after the previous reversal.
Step 6: Price breaks below the top band and reverses down.
Step 7: Price strongly breaks above the top band and continues moving higher.
Step 8: Price breaks below the top band and reverses down.
Step 9: Price strongly breaks above the top band and continues moving higher.
Step 10: Price breaks below the top band and reverses down.
Step 1: Price breaks above the top band.
Step 2: Price drops below the top band and chops slightly, without a large reversal from that break.
Step 3: Price breaks below the bottom band.
Step 4: Price re-enters the bottom band and just chops, no large reversal.
Step 5: Price breaks below the bottom band.
Step 6: Price retakes the bottom band and strongly reverses.
This tool can be uses to spot reversals and see when trends may continue as the stay inside the bands. No indicator is 100% accurate, we encourage traders to not follow them blindly and use them as tools.
High & Low Of Custom Session - Breakout True Open [cognyto]This indicator is based on the High & Low Of Custom Session - OpeningRange Breakout (Expo) created by Zeiierman.
It adds new functionality and enhances existing settings, targeting ES, NQ, and YM:
Manages session defaults to 12:00 to 13:00
New true opening fully customizable (default 13:00)
Manages timeframe visualization (default 15m and below)
Manages session draw length until the end of the current session (default NY)
Manages previous sessions, allowing the to be hidden
Improves timezone selection (default NY)
Following the strategy called Paradox detailed by DayTradingRauf, it works with indices like ES, NQ, and YM.
The rules consider three possible profiles:
First
AM session as consolidation (08:00-12:00)
Lunch hour range as consolidation (less than 100 points)
PM session breaking either side of the session range
Second
AM session trending lower (08:00-12:00)
Lunch hour range as consolidation (less than 100 points)
PM session trending higher
Third
AM session trending higher (08:00-12:00)
Lunch hour range as consolidation (less than 100 points)
PM session trending lower
After the session ends, the opening price at 13:00 is automatically drawn as it is a key point for the entry strategy.
The strategy can be monitored using a 5-minute or 15-minute timeframe as follows:
- Wait for a liquidity hunt (either the high or low of the lunch session range or AM is taken).
- If liquidity is taken, switch to the 1-minute timeframe and wait for a CISD (change in the state of delivery), where the price closes below an OB, or consider a breaker block or iFVG to enter the trade.
- Bullish entries should happen below the opening price at 13:00, and bearish entries should happen above.
- Consider a 1:2 reward ratio. However, runners can target the opposite side of the range that was not yet taken.
This indicator is for informational purposes only and you should not rely on any information it provides as legal, tax, investment, financial or other advice. Nothing provided by this indicator constitutes a solicitation, recommendation, endorsement or offer by cognyto or any third party service provider to buy or sell any securities or other financial instruments in this or any other jurisdiction in which such solicitation or offer would be unlawful under the securities laws of such jurisdiction.
[SGM Volatility Lvl]Choppiness Index (CI)
The Choppiness Index is a technical analysis tool used to determine whether a market is trending or consolidating. CI values range between 0 and 100:
- Higher values (close to 100) indicate a choppy market (i.e., the market is consolidating and not trending strongly).
- Lower values (close to 0) signify a trending market (either up or down).
In this script:
- CI values above 62 are considered to represent high volatility.
- CI values below 28 are viewed as representing lower volatility or consolidation.
How the Indicator Works
Choppiness Index Calculation
The CI is calculated using the average true range (ATR) and the high-low range over the specified length:
ci = 100 * math.log10(math.sum(ta.atr(1), length_line) / (ta.highest(length_line) - ta.lowest(length_line))) / math.log10(length_line)
Volatility Determination
The script determines the market's volatility state based on CI:
if ci >= 62
ischarge := 2
if ci <= 28
ischarge := 0
- ischarge = 2 indicates high volatility.
- ischarge = 0 indicates consolidation.
Line Setup
Lines are set on the chart based on the market's volatility:
- If CI increases and indicates high volatility, a line (colored with `volcolor`) is drawn at the close price of the bar.
- If CI decreases and indicates consolidation, a line (colored with `conColor`) is drawn at the close price of the bar.
Line Extension
The lines are automatically extended to the next indicator update or bar:
for i = 0 to array.size(ray) - 1
if i < array.size(ray) - 1
current_line = array.get(ray, i)
next_line = array.get(ray, i + 1)
if not na(current_line) and not na(next_line)
line.set_x2(current_line, line.get_x1(next_line))
else
line.set_x2(current_line, bar_index)
Relevance
Identifying Key Levels
The indicator helps traders identify key levels as follows:
- High Volatility : Lines indicating high volatility suggest strong trending movements. These levels can signify breakout points or areas where the price has made significant moves.
- Consolidation : Lines indicating consolidation suggest the market is ranging. These levels can be used to identify sideways movements, areas of accumulation or distribution, and potential breakout zones.
Potential Future Points of Interest
- High Volatility Lines: Can serve as resistance or support levels if the market revisits these areas.
- Consolidation Lines: Highlight potential zones for price breakouts or reversals when the market transitions from consolidation to a trending phase.
In summary, this indicator can be particularly useful for traders looking to identify periods of high volatility and consolidation. By marking such periods on the chart, traders can better understand market behavior and spot potential trading opportunities.
Slow Volume Strength Index (SVSI)The Slow Volume Strength Index (SVSI), introduced by Vitali Apirine in Stocks & Commodities (Volume 33, Chapter 6, Page 28-31), is a momentum oscillator inspired by the Relative Strength Index (RSI). It gauges buying and selling pressure by analyzing the disparity between average volume on up days and down days, relative to the underlying price trend. Positive volume signifies closes above the exponential moving average (EMA), while negative volume indicates closes below. Flat closes register zero volume. The SVSI then applies a smoothing technique to this data and transforms it into an oscillator with values ranging from 0 to 100.
Traders can leverage the SVSI in several ways:
1. Overbought/Oversold Levels: Standard thresholds of 80 and 20 define overbought and oversold zones, respectively.
2. Centerline Crossovers and Divergences: Signals can be generated by the indicator line crossing a midline or by divergences from price movements.
3. Confirmation for Slow RSI: The SVSI can be used to confirm signals generated by the Slow Relative Strength Index (SRSI), another oscillator developed by Apirine.
🔹 Algorithm
In the original article, the SVSI is calculated using the following formula:
SVSI = 100 - (100 / (1 + SVS))
where:
SVS = Average Positive Volume / Average Negative Volume
* Volume is considered positive when the closing price is higher than the six-day EMA.
* Volume is considered negative when the closing price is lower than the six-day EMA.
* Negative volume values are expressed as absolute values (positive).
* If the closing price equals the six-day EMA, volume is considered zero (no change).
* When calculating the average volume, the indicator utilizes Wilder's smoothing technique, as described in his book "New Concepts In Technical Trading Systems."
Note that this indicator, the formula has been simplified to be
SVSI = 100 * Average Positive Volume / (Average Positive Volume + Average Negative Volume)
This formula achieves the same result as the original article's proposal, but in a more concise way and without the need for special handling of division by zero
🔹 Parameters
The SVSI calculation offers configurable parameters that can be adjusted to suit individual trading styles and goals. While the default lookback periods are 6 for the EMA and 14 for volume smoothing, alternative values can be explored. Additionally, the standard overbought and oversold thresholds of 80 and 20 can be adapted to better align with the specific security being analyzed.
RSI, STOCHASTIC RSI AND MFI COMBOCombining the Relative Strength Index (RSI), Stochastic RSI (StochRSI), and Money Flow Index (MFI) can provide traders with a comprehensive approach to analyze market momentum, overbought/oversold conditions, and money flow. Each indicator offers unique insights, and their combination can help confirm trading signals and filter out false signals. Let's delve into each indicator and then discuss how they can be used together:
Relative Strength Index (RSI) 14: DA BLUE LINE
The RSI is a momentum oscillator that measures the speed and change of price movements. It oscillates between 0 and 100 and is typically used to identify overbought (>70) and oversold (<30) conditions. A reading above 70 may indicate that an asset is overbought and could be due for a pullback, while a reading below 30 may suggest that an asset is oversold and could be due for a bounce.
Stochastic RSI (StochRSI) 14: DA RED LINE
The StochRSI is an oscillator that combines the features of both the Stochastic Oscillator and RSI. It measures the relative position of the RSI within its range over a specific period (e.g., 14 periods). Like the RSI, the StochRSI oscillates between 0 and 100 and is used to identify overbought and oversold conditions. Typically:
A StochRSI above 0.8 may suggest overbought conditions.
A StochRSI below 0.2 may indicate oversold conditions.
Money Flow Index (MFI) 14: DA PURPLE LINE
The MFI is a momentum oscillator that measures the inflow and outflow of money into an asset over a specific period (e.g., 14 periods). It oscillates between 0 and 100 and is used to identify overbought and oversold conditions based on both price and volume. Generally:
An MFI above 80 may indicate overbought conditions.
An MFI below 20 may suggest oversold conditions.
Combining RSI, StochRSI, and MFI:
When combining RSI, StochRSI, and MFI, traders can use the following approach to analyze the market:
Identify Overbought/Oversold Conditions:
Look for confluence between RSI, StochRSI, and MFI readings to identify overbought and oversold conditions.
For example, if RSI > 70, StochRSI > 0.8, and MFI > 80, it may suggest a strong overbought condition, potentially indicating a reversal or pullback.
Confirm Trend Strength:
Use the RSI, StochRSI, and MFI to confirm the strength of a trend.
A rising trend with RSI, StochRSI, and MFI above 50 may suggest strong bullish momentum, while a falling trend with readings below 50 may indicate strong bearish momentum.
Divergence Analysis:
Look for divergences between price and RSI, StochRSI, or MFI to identify potential trend reversals.
For example, if the price makes a higher high, but RSI, StochRSI, or MFI makes a lower high (bearish divergence), it may suggest weakening bullish momentum and potential downside.
Combining RSI, StochRSI, and MFI can offer traders a more holistic view of market momentum, overbought/oversold conditions, and money flow. Backtest it let me know your success.
Yeong RRGThe code outlines a trading strategy that leverages Relative Strength (RS) and Rate of Change (RoC) to make trading decisions. Here's a detailed breakdown of the tactic described by the code:
Ticker and Period Selection: The strategy begins by selecting a stock ticker symbol and defining a period (len) for the calculations, which defaults to 14 but can be adjusted by the user.
Stock and Index Data Retrieval: It fetches the closing price (stock_close) of the chosen stock and calculates its 25-period exponential moving average (stock_ema). Additionally, it retrieves the closing price of the S&P 500 Index (index_close), used as a benchmark for calculating Relative Strength.
Relative Strength Calculation: The Relative Strength (rs) is computed by dividing the stock's closing price by the index's closing price, then multiplying by 100 to scale the result. This metric is used to assess the stock's performance relative to the broader market.
Moving RS Ratio and Rate of Change: The strategy calculates a Simple Moving Average (sma) of the RS over the specified period to get the RS Ratio (rs_ratio). It then computes the Rate of Change (roc) of this RS Ratio over the same period to get the RM Ratio (rm_ratio).
Normalization: The RS Ratio and RM Ratio are normalized using a formula that adjusts their values based on the mean and standard deviation of their respective series over the specified window. This normalization process helps in standardizing the indicators, making them easier to interpret and compare.
Indicator Plotting: The normalized RS Ratio (jdk_rs_ratio) and RM Ratio (jdk_rm_ratio) are plotted on the chart with different colors for visual analysis. A horizontal line (hline) at 100 serves as a reference point, indicating a neutral level for the indicators.
State Color Logic: The script includes a logic to determine the state color (statecolor) based on the previous state color and the current values of jdk_rs_ratio and jdk_rm_ratio. This color coding is intended to visually represent different market states: green for bullish, red for bearish, yellow for hold, and blue for watch conditions.
Signal Generation: The strategy generates buy, sell, hold, and watch signals based on the state color and the indicators' values relative to 100. For example, a buy signal is generated when both jdk_rs_ratio and jdk_rm_ratio are above 100, and the background color is set to green to reflect this bullish condition.
Trade Execution: Finally, the strategy executes trades based on the generated signals. A "BUY" trade is entered when a buy signal is present, and it is closed when a sell signal occurs.
Overall, the strategy uses a combination of RS and RoC indicators, normalized for better comparison, to identify potential buy and sell opportunities based on the stock's performance relative to the market and its momentum.
Historical Price Projection [LuxAlgo]The Historical Price Projection tool aims to project future price behavior based on historical price behavior plus a user defined growth factor.
The main feature of this tool is to plot a future price forecast with a surrounding area that exactly matches the price behavior of the selected period, with or without added drift.
Other features of the tool include:
User-selected period up to 500 bars anywhere on the chart within 5000 bars
User selected growth factor from 0 (no growth) to 100, this is the percentage of drift to be used in the forecast.
User selected area wide
Show/hide forecast area
🔶 USAGE
This tool generates a price projection with exactly the same price behavior over the period selected by the user, plus a growth factor .
The user must confirm the selection of the anchor point in order for the tool to be executed; this can be done directly on the chart by clicking on any bar, or via the date field in the settings panel.
As we can see on this chart, the four phases of the market cycle are clearly defined and marked, so we choose the distribution phase as our anchor point because in our analysis, we want to see how the market would behave if we were currently at the same point in the cycle.
In the image above, the growth factor parameter is set to 0 so that the projection matches the selection. The tool will use up to 500 bars after the selection point.
The growth factor is defined as the percentage of drift that the tool will use.
Drift is defined as follows:
For periods with a positive return: average negative return within the period
For negative return periods: average positive return within the period
On the chart above, we have selected the same period but added a growth factor of 10, so that the tool uses a 10% drift in its calculations of future prices.
As the return in the selected period is negative, the added drift will make the projection more bearish than the prices from the selection.
On this chart we have changed the selected period, we have chosen the accumulation phase of the last cycle as the anchor point, again with a growth factor of 10%.
As we can see, prices explode higher, making the projection very bullish, as the added effect of both the bullish selected period and the 10% drift is taken into account.
This last chart is a long-term chart, a quarterly chart of the Dow, and it will serve as a review exercise.
What if... everything goes south and the crash of '29 is repeated?
The answer is in the chart, and it is not for the faint of heart
In this case we have chosen a growth factor of 0 to see exactly the same price behaviour projected into the future.
🔶 SETTINGS
🔹 Data Gathering
Anchor point: Starting point for data collection, up to 500 bars will be used.
🔹 Data Transformation
Growth Factor: Values from 0 to 100, is the amount of drift used to calculate the next price in the series.
Area Width: Values from 0 to 100, controls the width of the area around the forecast as an increment/decrement of the growth factor.
🔹 Style
Price line width: Size of the price line.
Bullish color
Bearish color
Show Area: Show forecast area.
Area color
PresentTrend RMI Synergy - Strategy [presentTrading] █ Introduction and How it is Different
The "PresentTrend RMI Synergy Strategy" is the combined power of the Relative Momentum Index (RMI) and a custom presentTrend indicator. This strategy introduces a multifaceted approach, integrating momentum analysis with trend direction to offer traders a more nuanced and responsive trading mechanism.
BTCUSD 6h L/S Performance
Local
█ Strategy, How It Works: Detailed Explanation
The "PresentTrend RMI Synergy Strategy" intricately combines the Relative Momentum Index (RMI) and a custom SuperTrend indicator to create a powerful tool for traders.
🔶 Relative Momentum Index (RMI)
The RMI is a variation of the Relative Strength Index (RSI), but instead of using price closes against itself, it measures the momentum of up and down movements in price relative to previous prices over a given period. The RMI for a period length `N` is calculated as follows:
RMI = 100 - 100/ (1 + U/D)
where:
- `U` is the average upward price change over `N` periods,
- `D` is the average downward price change over `N` periods.
The RMI oscillates between 0 and 100, with higher values indicating stronger upward momentum and lower values suggesting stronger downward momentum.
RMI = 21
RMI = 42
For more information - RMI Trend Sync - Strategy :
🔶 presentTrend Indicator
The presentTrend indicator combines the Average True Range (ATR) with a moving average to determine trend direction and dynamic support or resistance levels. The presentTrend for a period length `M` and a multiplier `F` is defined as:
- Upper Band: MA + (ATR x F)
- Lower Band: MA - (ATR x F)
where:
- `MA` is the moving average of the close price over `M` periods,
- `ATR` is the Average True Range over the same period,
- `F` is the multiplier to adjust the sensitivity.
The trend direction switches when the price crosses the presentTrend bands, signaling potential entry or exit points.
presentTrend length = 3
presentTrend length = 10
For more information - PresentTrend - Strategy :
🔶 Strategy Logic
Entry Conditions:
- Long Entry: Triggered when the RMI exceeds a threshold, say 60, indicating a strong bullish momentum, and when the price is above the presentTrend, confirming an uptrend.
- Short Entry: Occurs when the RMI drops below a threshold, say 40, showing strong bearish momentum, and the price is below the present trend, indicating a downtrend.
Exit Conditions with Dynamic Trailing Stop:
- Long Exit: Initiated when the price crosses below the lower presentTrend band or when the RMI falls back towards a neutral level, suggesting a weakening of the bullish momentum.
- Short Exit: Executed when the price crosses above the upper presentTrend band or when the RMI rises towards a neutral level, indicating a reduction in bearish momentum.
Equations for Dynamic Trailing Stop:
- For Long Positions: The exit price is set at the lower SuperTrend band once the entry condition is met.
- For Short Positions: The exit price is determined by the upper SuperTrend band post-entry.
These dynamic trailing stops adjust as the market moves, providing a method to lock in profits while allowing room for the position to grow.
This strategy's strength lies in its dual analysis approach, leveraging RMI for momentum insights and presentTrend for trend direction and dynamic stops. This combination offers traders a robust framework to navigate various market conditions, aiming to capture trends early and exit positions strategically to maximize gains and minimize losses.
█ Trade Direction
The strategy provides flexibility in trade direction selection, offering "Long," "Short," or "Both" options to cater to different market conditions and trader preferences. This adaptability ensures that traders can align the strategy with their market outlook, risk tolerance, and trading goals.
█ Usage
To utilize the "PresentTrend RMI Synergy Strategy," traders should input their preferred settings in the Pine Script™ and apply the strategy to their charts. Monitoring RMI for momentum shifts and adjusting positions based on SuperTrend signals can optimize entry and exit points, enhancing potential returns while managing risk.
█ Default Settings
1. RMI Length: 21
The 21-period RMI length strikes a balance between capturing momentum and filtering out market noise, offering a medium-term outlook on market trends.
2. Super Trend Length: 7
A SuperTrend length of 7 periods is chosen for its responsiveness to price movements, providing a dynamic framework for trend identification without excessive sensitivity.
3. Super Trend Multiplier: 4.0
The multiplier of 4.0 for the SuperTrend indicator widens the trend bands, focusing on significant market moves and reducing the impact of minor fluctuations.
---
The "PresentTrend RMI Synergy Strategy" represents a significant step forward in trading strategy development, blending momentum and trend analysis in a unique way. By providing a detailed framework for understanding market dynamics, this strategy empowers traders to make more informed decisions.
Rocket RSI from John EhlersWhat is Rocket RSI
Welles Wilder's original description of the relative strength index (RSI) in his 1978 New Concepts In Technical Trading Systems specified a calculation period of 14 days. This requirement led him on a 40-year quest to find the right length of data for calculating indicators and trading strategy rules. Many technicians touched on RSI and explained its applications. In this study we will obtain a more flexible and easier to interpret formulation (of the indicator). We will also estimate the algorithm to properly handle a statistical approach to technical analysis. Start with RSI Here is the original definition of the RSI indicator:
RSI = 100 - 100 / (1 + RS)
RS = Average gain from downtime over the specified time period / Average loss from downtime over the specified time period My first observation is that the factor of 100 is insignificant. Second, there is no need for averages because we take the ratio of closes (CU) to closes (CD) and if we accumulate the wins and losses independently, the averages emerge. Therefore We will only accumulate CU and CD. He can then write the RSI equation as:
RSI = 1 – 1 / (1 + CU / CD)
If he use a little algebra to put everything on a common denominator on the right side of the equation, the indicator equation becomes:
RSI = CU / (CU + CD)
In this formulation, if CU accumulation is zero, the RSI value is zero, and if CD accumulation is zero, the RSI value is 1. If you reduce the price action to its primitive level as a sine wave, it is easy to see that this RSI only has CU going from valley to peak and only CD going from peak to valley. This RSI follows the shape of the sine wave between these two limits. However, the sine wave oscillates between -1 and +1, not between 0 and +1. If we multiply the above equation by 2 and then subtract 1, we can make the RSI have the same swing limits as the sine wave. the product is as follows:
RSI = 2*CU / (CU + CD) – 1
Again, using a little algebra to put the right-hand side of the equation on a common denominator, the equation develops like this:
MyRSI = (CU – CD) / (CU + CD)
Again, the vertical scale of the RocketRSI indicator is in standard deviations. For example, -2 means it is two standard deviations below the mean. Since exceeding two standard deviations in the Gaussian probability distribution occurs in only 2.4% of the results
Because we are using the momentum of the dominant cycle period, the spike where the indicator falls below -2 provides a surgically precise timing signal to enter a long position. Similarly, exceeding the +2 standard deviation level is a timing signal to exit a long position or return to a short position. Therefore using the RocketRSI indicator is relatively intuitive. The only concern is whether a dominant cycle is present in the data, setting the indicator to half the dominant cycle period, and whether smoothing causes lag.
DETERMINING CYCLICAL TURNING POINTS
When you insert the chart you see an example of what the RocketRSI indicator looks like. Here you see that RocketRSI precisely displays cyclical turning points as statistical events. Cator can be applied. I used RS Length 10 because according to Ehlers, stocks and stock indexes usually have a more or less monthly cycle (about 20 bars). A cursory examination of Figure 2 shows that negative increases in the indicator correspond to excellent buying opportunities, while positive increases correspond to excellent selling opportunities. Exceeding +/- 2 on the indicator scale indicates that a cyclical reversal is a high probability event.
Stochastic Levels on Chart [MisterMoTA]The values of the Stochastic Levels on Chart indicator are calculated using Reverse Engineering calculations starting from default Stochastic formula : 100 * (close - lowest(low, length)) / (highest(high, length) - lowest(low, length)).
I added options for users to define the Extreme Overbought and Oversold values, also simple Oversold and Overbought values of the stochastic, default Extreme Overbought at 100, Extreme Oversold at 0, the 20 for Oversold and 80 as Overbought, plus the middle stochastic level = 50.
The script has included a color coded 20 SMA that will turn red when the 20 SMA is falling and green when it is rising, also there are bollinger bands using 2 standard deviation plus an extra top and bottom bollinger bands with a 2.5 standard deviation.
The users can use Stochastic Levels on Chart along with a simple Stochastic or a Stochastic Rsi indicator, when the price on chart touching extreme levels and Stochastic or Stochastic Rsi K line crossing above or bellow D line users can see on chart the levels where price need to close for getting stochastic overbought or oversold.
In the demo chart we can see at daily stochastic crossed down and the price crossed down all the levels displayed on chart, and same before stochastic was crossing up from oversold and price crossed up the stochastic levels displayed on chart.
In strong bullish moves the Extreme level 100 of the stochastic will be pushed higher, same in a strong bearish move the Extreme Oversold 0 level will be pushed lower, so users need to wait for confirmation of a crossover between K and D lines of stochastic that will signalize a pullback or a reverse of the trend.
For better results you will need to add a dmi or an adx or other indicator that will show you trend strength.
If you have any questions or suggestions to improve the script please send me a PM.
Market Average TrendThis indicator aims to be complimentary to SPDR Tracker , but I've adjusted the name as I've been able to utilize the "INDEX" data provider to support essentially every US market.
This is a breadth market internal indicator that allows quick review of strength given the 5, 20, 50, 100, 150 and 200 simple moving averages. Each can be toggled to build whatever combinations are desired, I recommend reviewing classic combinations such as 5 & 20 as well as 50 & 200.
It's entirely possible that I've missed some markets that "INDEX" provides data for, if you find any feel free to drop a comment and I'll add support for them in an update.
Markets currently supported:
S&P 100
S&P 500
S&P ENERGIES
S&P INFO TECH
S&P MATERIALS
S&P UTILITIES
S&P FINANCIALS
S&P REAL ESTATE
S&P CON STAPLES
S&P HEALTH CARE
S&P INDUSTRIALS
S&P TELECOM SRVS
S&P CONSUMER DISC
S&P GROWTH
NAS 100
NAS COMP
DOW INDUSTRIAL
DOW COMP
DOW UTILITIES
DOW TRANSPORTATION
RUSSELL 1000
RUSSELL 2000
RUSSELL 3000
You can utilize this to watch stocks for dip buys or potential trend continuation entries, short entries, swing exits or numerous other portfolio management strategies.
If using it with stocks, it's advisable to ensure the stock often follows the index, otherwise obviously it's great to use with major indexes and determine holdings sentiment.
Important!
The "INDEX" data provider only supplies updates to all of the various data feeds at the end of day, I've noticed quite some delays even after market close and not taken time to review their actual update schedule (if even published). Therefore, it's strongly recommended to mostly ignore the last value in the series until it's the day after.
Only works on daily timeframes and above, please don't comment that it's not working if on other timeframes lower than daily :)
Feedback and suggestions are always welcome, enjoy!
Blockunity Excess Index (BEI)Identify excess zones resulting in market reversals by visualizing price deviations from an average.
The Excess Index (BEI) is designed to identify excess zones resulting in reversals, based on price deviations from a moving average. This moving average is fully customizable (type, period to be taken into account, etc.). This indicator also multiplies the moving average with a configurable coefficient, to give dynamic support and resistance levels. Finally, the BEI also provides reversal signals to alert you to any risk of trend change, on any asset.
The Idea
The goal is to provide the community with a visual and customizable tool for analyzing large price deviations from an average.
How to Use
Very simple to use, this indicator plots colored zones according to the price's deviation from the moving average. Moving average extensions also provide dynamic support and resistance. Finally, signals alert you to potential reversal points.
Elements
The Moving Average
The Moving Average, which defaults to a gray line over 200 periods, serves as a stable reference point. It is accompanied by an Index, whose color varies from yellow to orange to red, offering an overview of market conditions.
Extensions
These dynamic lines can be used to determine effective supports and resistances.
Signals
Green and red triangles serve as clear indicators for buy and sell signals.
Settings
Mainly, the type of moving average is configurable. The default is an SMA.
A Simple Moving Average (SMA) calculates the average of a selected range of prices by the number of periods in that range.
But you can also, for example, switch the mode to EMA.
The Exponential Moving Average (EMA) is a moving average that places a greater weight and significance on the most recent data points:
You also have WMA.
A Weighted Moving Average (WMA) gives more weight on recent data and less on past data:
And finally, the possibility of having a PCMA.
PCMA takes into account the highest and lowest points in the lookback period and divides this by two to obtain an average:
You can change other parameters such as lookback periods, as well as the coefficient used to define extension lines.
You can refer to the tooltips directly in the indicator parameters.
For those who prefer a minimalist display, you can activate a "Bar Color" in the settings (You must also uncheck "Borders" and "Wick" in your Chart Settings), and deactivate all other elements as you wish:
Finally, you can customize all the different colors, as well as the parameters of the table that indicates the Index value and the asset trend.
How it Works
The Index is calculated using the following method:
abs_distance = math.abs(close - base_ma)
bei = (abs_distance - ta.lowest(abs_distance, lookback_norm)) / (ta.highest(abs_distance, lookback_norm) - ta.lowest(abs_distance, lookback_norm)) * 100
Signals are triggered according to the following conditions:
A Long (buy) signal is triggered when the Index falls below 100, when the closing price is lower than 5 periods ago, and when the price is under the moving average.
A Short (sell) signal is triggered when the Index falls below 100, when the closing price is greater than 5 periods ago, and when the price is above the moving average.
Margin/Leverage CalculationMargin
This library calculates margin liquidation prices and quantities for long and short positions in your strategies.
Usage example
// ############################################################
// # INVESTMENT SETTINGS / INPUT
// ############################################################
// Get the investment capital from the properties tab of the strategy settings.
investment_capital = strategy.initial_capital
// Get the leverage from the properties tab of the strategy settings.
// The leverage is calculated from the order size for example: (300% = x3 leverage)
investment_leverage = margin.leverage()
// The maintainance rate and amount.
investment_leverage_maintenance_rate = input.float(title='Maintanance Rate (%)', defval=default_investment_leverage_maintenance_rate, minval=0, maxval=100, step=0.1, tooltip=tt_investment_leverage_maintenance_rate, group='MARGIN') / 100
investment_leverage_maintenance_amount = input.float(title='Maintanance Amount (%)', defval=default_investment_leverage_maintenance_amount, minval=0, maxval=100, step=0.1, tooltip=tt_investment_leverage_maintenance_amount, group='MARGIN')
// ############################################################
// # LIQUIDATION PRICES
// ############################################################
leverage_liquidation_price_long = 0.0
leverage_liquidation_price_long := na(leverage_liquidation_price_long ) ? na : leverage_liquidation_price_long
leverage_liquidation_price_short = 0.0
leverage_liquidation_price_short := na(leverage_liquidation_price_short ) ? na : leverage_liquidation_price_short
leverage_liquidation_price_long := margin.liquidation_price_long(investment_capital, strategy.position_avg_price, investment_leverage, investment_leverage_maintenance_rate, investment_leverage_maintenance_amount)
leverage_liquidation_price_short := margin.liquidation_price_short(investment_capital, strategy.position_avg_price, investment_leverage, investment_leverage_maintenance_rate, investment_leverage_maintenance_amount)
Get the qty for margin long or short position.
margin.qty_long(investment_capital, strategy.position_avg_price, investment_leverage, investment_leverage_maintenance_rate, investment_leverage_maintenance_amount)
margin.qty_short(investment_capital, strategy.position_avg_price, investment_leverage, investment_leverage_maintenance_rate, investment_leverage_maintenance_amount)
Get the price and qty for margin long or short position.
= margin.qty_long(investment_capital, strategy.position_avg_price, investment_leverage, investment_leverage_maintenance_rate, investment_leverage_maintenance_amount)
= margin.qty_short(investment_capital, strategy.position_avg_price, investment_leverage, investment_leverage_maintenance_rate, investment_leverage_maintenance_amount)
Fear & Greed Index (Zeiierman)█ Overview
The Fear & Greed Index is an indicator that provides a comprehensive view of market sentiment. By analyzing various market factors such as market momentum, stock price strength, stock price breadth, put and call options, junk bond demand, market volatility, and safe haven demand, the Index can depict the overall emotions driving market behavior, categorizing them into two main sentiments: Fear and Greed.
Fear: Indicates a market scenario where investors are scared, possibly leading to a sell-off or a stagnant market. In such conditions, the indicator helps in identifying potential buying opportunities as assets may be undervalued.
Greed: Represents a state where investors are overly confident and buying aggressively, which can lead to inflated asset prices. The indicator in such cases can signal overbought conditions, advising caution or potential short opportunities.
█ How It Works
The Fear & Greed Index is an aggregate of seven distinct indicators, each gauging a specific dimension of stock market activity. These indicators include market momentum, stock price strength, stock price breadth, put and call options, junk bond demand, market volatility, and safe haven demand. The Index assesses the deviation of each individual indicator from its average, in relation to its typical fluctuations. In compiling the final score, which ranges from 0 to 100, the Index assigns equal weight to each indicator. A score of 100 denotes the highest level of Greed, while a score of 0 represents the utmost level of fear.
S&P 500's Momentum: The Index monitors the S&P 500's position relative to its 125-day moving average. Positive momentum (price above the average) signals growing confidence among investors (Greed), while negative momentum (price below the average) indicates rising fear.
Stock Price Strength: By comparing the number of stocks hitting 52-week highs to those at 52-week lows on the NYSE, the Index gauges market breadth. An extreme number of highs indicates Greed, whereas an extreme number of lows suggests Fear.
Stock Price Breadth (Market Volume): Using the McClellan Volume Summation Index, which considers the volume of advancing versus declining stocks, the Index assesses whether the market is broadly participating in a trend, or if a smaller subset of stocks is driving it.
Put and Call Options: The put/call ratio helps gauge investor sentiment. A rising ratio, particularly above 1, indicates increasing fear, as more investors are buying puts to protect against a decline. A falling ratio suggests growing confidence.
Market Volatility (VIX): The VIX measures expected market volatility. Higher values generally indicate Fear, while lower values point to Greed. The Fear & Greed Index compares the VIX to its 50-day moving average to understand its trend.
Safe Haven Demand: The performance of stocks versus bonds over a 20-day period helps understand where investors are putting their money. Bonds outperforming stocks is a sign of Fear, while the opposite suggests Greed.
Junk Bond Demand: By comparing the yields on junk bonds to safer investment-grade bonds, the Index gauges risk appetite. A narrower yield spread suggests Greed (investors are taking more risk), while a wider spread indicates Fear.
The Fear & Greed Index combines these components, scales, and averages them to produce a single value between 0 (Extreme Fear) and 100 (Extreme Greed).
█ How to Use
The Fear & Greed Index serves as a tool to evaluate the prevailing sentiments in the market. Investors, often driven by emotions, can react impulsively, and sentiment indicators like the Fear & Greed Index aim to highlight these emotional states, helping investors recognize personal biases that might impact their investment choices. When integrated with fundamental analysis and additional analytical instruments, the Index becomes a valuable resource for understanding and interpreting market moods and tendencies.
The Fear & Greed Index operates on the principle that excessive fear can result in stocks trading well below their intrinsic values,
while uncontrolled Greed can push prices above what they should be.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
[blackcat] L3 Inverted VixFix Indicator with RSI ScalingThis pine script that creates a custom indicator called the Inverted VixFix Indicator with RSI Scaling. This indicator combines two well-known technical indicators - the VixFix and the RSI - to create a more comprehensive view of market conditions.
The VixFix is a technical indicator that helps identify market trends and volatility. It is based on the highest close of the past 22 bars and the lowest low of the same period. The VixFix is calculated as 100 times the difference between the highest close and the current low divided by the highest close. The indicator is inverted, meaning that high values indicate low volatility and low values indicate high volatility.
The RSI (Relative Strength Index) is a momentum indicator that measures the strength of price action in a given period. It is calculated based on the closing prices of the selected asset. The RSI is scaled to a range between 0 and 100, with values above 70 indicating overbought conditions and values below 30 indicating oversold conditions.
The Inverted VixFix Indicator with RSI Scaling combines these two indicators to give a more comprehensive view of market conditions. The RSI is first scaled to a range between 0 and 100 using the RSI Length, RSI Overbought, and RSI Oversold inputs. The Inverted VixFix is then scaled to the same range as the RSI using the RSI Overbought and RSI Oversold inputs. The two indicators are then combined to create the Inverted VixFix Indicator with RSI Scaling.
To smooth out the RSI, the script also uses the ALMA (Arnaud Legoux Moving Average) function. This function is a type of moving average that uses a variable smoothing factor to give more weight to recent price action. In this script, the ALMA is applied to the scaled RSI with a length of 3, a offset of 0.58, and a sigma of 6.
To help visualize the indicator, the script also creates visual elements such as threshold lines and fills. The Bull Threshold line is drawn at the RSI Overbought level and the Bear Threshold line is drawn at the RSI Oversold level. A fill is then created between these two lines using the color purple and opacity set to 70%.
Overall, the Inverted VixFix Indicator with RSI Scaling is a useful tool for traders looking for a more comprehensive view of market conditions. By combining the VixFix and RSI indicators, this script provides a more nuanced view of market trends and volatility.
Median of Means Estimator Median of Means (MoM) is a measure of central tendency like mean (average) and median. However, it could be a better and robust estimator of central tendency when the data is not normal, asymmetric, have fat tails (like stock price data) and have outliers. The MoM can be used as a robust trend following tool and in other derived indicators.
Median of means (MoM) is calculated as follows, the MoM estimator shuffles the "n" data points and then splits them into k groups of m data points (n= k*m). It then computes the Arithmetic Mean of each group (k). Finally, it calculate the median over the resulting k Arithmetic Means. This technique diminishes the effect that outliers have on the final estimation by splitting the data and only considering the median of the resulting sub-estimations. This preserves the overall trend despite the data shuffle.
Below is an example to illustrate the advantages of MoM
Set A Set B Set C
3 4 4
3 4 4
3 5 5
3 5 5
4 5 5
4 5 5
5 5 5
5 5 5
6 6 8
6 6 8
7 7 10
7 7 15
8 8 40
9 9 50
10 100 100
Median 5 5 5
Mean 5.5 12.1 17.9
MoM 5.7 6.0 17.3
For all three sets the median is the same, though set A and B are the same except for one outlier in set B (100) it skews the mean but the median is resilient. However, in set C the group has several high values despite that the median is not responsive and still give 5 as the central tendency of the group, but the median of means is a value of 17.3 which is very close to the group mean 17.9. In all three cases (set A, B and C) the MoM provides a better snapshot of the central tendency of the group. Note: The MoM is dependent on the way we split the data initially and the value might slightly vary when the randomization is done sevral time and the resulting value can give the confidence interval of the MoM estimator.