savitzkyGolay, KAMA, HPOverview
This trading indicator integrates three distinct analytical tools: the Savitzky-Golay Filter, Kaufman Adaptive Moving Average (KAMA), and Hodrick-Prescott (HP) Filter. It is designed to provide a comprehensive analysis of market trends and potential trading signals.
Components
Hodrick-Prescott (HP) Filter
Purpose: Smooths out the price data to identify the underlying trend.
Parameters: Lambda: Controls the smoothness. Range: 50 to 1600.
Impact of Parameters:
Increasing Lambda: This makes the trend line more responsive to short-term market fluctuations, suitable for short-term analysis. A higher Lambda value decreases the degree of smoothing, making the trend line follow recent market movements more closely.
Decreasing Lambda: A lower Lambda value makes the trend line smoother and less responsive to short-term market fluctuations, ideal for longer-term trend analysis. Decreasing Lambda increases the degree of smoothing, thereby filtering out minor market movements and focusing more on the long-term trend.
Kaufman Adaptive Moving Average (KAMA):
Purpose: An adaptive moving average that adjusts to price volatility.
Parameters: Length, Fast Length, Slow Length: Define the sensitivity and adaptiveness of KAMA.
Impact of Parameters:
Adjusting Length affects the base period for efficiency ratio, altering the overall sensitivity.
Fast Length and Slow Length control the speed of KAMA’s adaptation. A smaller Fast Length makes KAMA more sensitive to price changes, while a larger Slow Length makes it less sensitive.
Savitzky-Golay Filter:
Purpose: Smooths the price data using polynomial regression.
Parameters: Window Size: Determines the size of the moving window (7, 9, 11, 15, 21).
Impact of Parameters:
A larger Window Size results in a smoother curve, which is more effective for identifying long-term trends but can delay reaction to recent market changes.
A smaller Window Size makes the curve more responsive to short-term price movements, suitable for short-term trading strategies.
General Impact of Parameters
Adjusting these parameters can significantly alter the signals generated by the indicator. Users should fine-tune these settings based on their trading style, the characteristics of the traded asset, and market conditions to optimize the indicator's performance.
Signal Logic
Buy Signal: The trend from the HP filter is below both the KAMA and the Savitzky-Golay SMA, and none of these indicators are flat.
Sell Signal: The trend from the HP filter is above both the KAMA and the Savitzky-Golay SMA, and none of these indicators are flat.
Usage
Due to the combination of smoothing algorithms and adaptability, this indicator is highly effective at identifying emerging trends for both initiating long and short positions.
IMPORTANT : Although the code and user settings incorporate measures to limit false signals due to lateral (sideways) movement, they do not completely eliminate such occurrences. Users are strongly advised to avoid signals that emerge during simultaneous lateral movements of all three indicators.
Despite the indicator's success in historical data analysis using its signals alone, it is highly recommended to use this code in combination with other indicators, patterns, and zones. This is particularly important for determining exit points from positions, which can significantly enhance trading results.
Limitations and Recommendations
The indicator has shown excellent performance on the weekly time frame (TF) with the following settings:
Savitzky-Golay (SG): 11
Hodrick-Prescott (HP): 100
Kaufman Adaptive Moving Average (KAMA): 20, 2, 30
For the monthly TF, the recommended settings are:
SG: 15
HP: 100
KAMA: 30, 2, 35
Note: The monthly TF is quite variable. With these settings, there may be fewer signals, but they tend to be more relevant for long-term investors. Based on a sample of 40 different stocks from various countries and sectors, most exhibited an average trade return in the thousands of percent.
It's important to note that while these settings have been successful in past performance, market conditions vary and past performance is not indicative of future results. Users are encouraged to experiment with these settings and adjust them according to their individual needs and market analysis.
As this is my first developed trading indicator, I am very open to and appreciative of any suggestions or comments. Your feedback is invaluable in helping me refine and improve this tool. Please feel free to share your experiences, insights, or any recommendations you may have.
Cari dalam skrip untuk "想象图:箱线图+折线组合,横轴为国家,纵轴为响应指数(0-100),箱线显示均值±标准差,叠加红色虚线标注各国确诊高峰时间点"
Klinger Oscillator AdvancedThe Klinger Oscillator is not fully implemented in Tradeview. While the description at de.tradingview.com is complete, the implementation is limited to the pure current volume movement. This results in no difference compared to the On Balance Volume indicator.
However, Klinger's goal was to incorporate the trend as volume force in its strength and duration into the calculation. The expression ((V x x T x 100)) for volume force only makes sense as an absolute value, which should probably be expressed as ((V x abs(2 x ((dm/cm) - 1)) x T x 100)). Additionally, there is a need to handle the theoretical possibility of cm == 0.
Since, in general, significantly more trading volume occurs at the closing price than during the day, an additional parameter for weighting the closing price is implemented. In intraday charts, considering the closing price, in my opinion, does not make sense.
The TradeView implementation is displayed on the chart for comparison. Particularly in the analysis of divergence, significant deviations become apparent.
[KVA]K Stochastic IndicatorOriginal Stochastic Oscillator Formula:
%K=(C−Lowest Low)/(Highest High−Lowest Low)×100
Lowest Low refers to the lowest low of the past n periods.
Highest High refers to the highest high of the past n periods.
K Stochastic Indicator Formula:
%K=(Source−Lowest Source)/(Highest Source−Lowest Source)×100
Lowest Source refers to the lowest value of the chosen source over the past length periods.
Highest Source refers to the highest value of the chosen source over the past length periods.
Key Difference :
The original formula calculates %K using the absolute highest high and lowest low of the price over the past n periods.
The K Stochastic formula calculates %K using the highest and lowest values of a chosen source (which could be the close, open, high, or low) over the specified length periods.
So, if _src is set to something other than the high for the Highest Source or something other than the low for the Lowest Source, the K Stochastic will yield different results compared to the original formula which strictly uses the highest high and the lowest low of the price.
Impact on Traders :
Flexibility in Price Source :
By allowing the source (_src) to be customizable, traders can apply the Stochastic calculation to different price points (e.g., open, high, low, close, or even an average of these). This could provide a different perspective on market momentum and potentially offer signals that are more aligned with a trader's specific strategy.
Sensitivity to Price Action :
Changing the source from high/low to potentially less extreme values (like close or open) could result in a less volatile oscillator, smoothing out some of the extreme peaks and troughs and possibly offering a more filtered view of market conditions.
Customization of Periods :
The ability to adjust the length period offers traders the opportunity to fine-tune the sensitivity of the indicator to match their trading horizon. Shorter periods may provide earlier signals, while longer periods could filter out market noise.
Possibility of Applying the Indicator on Other Indicators :
Layered Technical Analysis :
The K Stochastic can be applied to other indicators, not just price. For example, it could be applied to a moving average to analyze its momentum or to indicators like RSI or MACD, offering a meta-analysis that studies the oscillator's behavior of other technical tools.
Creation of Composite Indicator s:
By applying the K Stochastic logic to other indicators, traders could create composite indicators that blend the characteristics of multiple indicators, potentially leading to unique signals that could offer an edge in certain market conditions.
Enhanced Signal Interpretation :
When applied to other indicators, the K Stochastic can help in identifying overbought or oversold conditions within those indicators, offering a different dimension to the interpretation of their output.
Overall Implications :
The KStochastic Indicator's modifications could lead to a more tailored application, giving traders the ability to adapt the tool to their specific trading style and analysis preferences.
By being applicable to other indicators, it broadens the scope of stochastic analysis beyond price action, potentially offering innovative ways to interpret data and make trading decisions.
The changes might also influence the trading signals, either by smoothing the oscillator's output to reduce noise or by altering the sensitivity to generate more or fewer signal
Including the additional %F line, which is unique to the K Stochastic Indicator, further expands the potential impacts and applications for traders:
Impact on Traders with the %F Line:
Triple Smoothing :
The %F line introduces a third level of smoothing, which could help in identifying longer-term trends and filtering out short-term fluctuations. This could be particularly useful for traders looking to avoid whipsaws and focus on more sustained movements.
Potential for Enhanced Confirmation :
The %F line might be used as a confirmation signal. For instance, if all three lines (%K, %D, and %F) are in agreement, a trader might consider this as a stronger signal to buy or sell, as opposed to when only the traditional two lines (%K and %D) are used.
Risk Management:
The additional line could be utilized for more sophisticated risk management strategies, where a trader might decide to scale in or out of positions based on the convergence or divergence of these lines.
Possibility of Applying the Indicator on Other Indicators with the %F Line:
Depth of Analysis :
When applied to other indicators, the %F line can provide an even deeper layer of analysis, perhaps identifying macro trends within the indicator it is applied to, which could go unnoticed with just the traditional two-line approach.
Refined Signal Strength Assessment :
The strength of signals from other indicators could be assessed by the position and direction of the %F line, providing an additional filter to evaluate the robustness of buy or sell signals.
Overall Implications with the %F Line :
The inclusion of the %F line in the K Stochastic Indicator enhances its utility as a tool for trend analysis and signal confirmation. It allows traders to potentially identify and act on more reliable trading opportunities.
This feature can enrich the trader's toolkit by providing a nuanced view of momentum and trend strength, which can be particularly valuable in volatile or choppy markets.
For those applying the K Stochastic to other indicators, the %F line could be integral in creating a multi-tiered analysis strategy, potentially leading to more sophisticated interpretations and decisions.
The presence of the %F line adds a dimension of depth to the analysis possible with the K Stochastic Indicator, making it a versatile tool that could be tailored to a variety of trading styles and objectives. However, as with any indicator, the additional complexity requires careful study and back-testing to ensure its signals are understood and actionable within the context of a comprehensive trading plan.
Liquidations Meter [LuxAlgo]The Liquidation Meter aims to gauge the momentum of the bar, identify the strength of the bulls and bears, and more importantly identify probable exhaustion/reversals by measuring probable liquidations.
🔶 USAGE
This tool includes many features related to the concept of liquidation. The two core ones are the liquidation meter and liquidation price calculator, highlighted below.
🔹 Liquidation Meter
The liquidation meter presents liquidations on the price chart by measuring the highest leverage value of longs and shorts that have been potentially liquidated on the last chart bar, hence allowing traders to:
gauge the momentum of the bar.
identify the strength of the bulls and bears.
identify probable reversal/exhaustion points.
Liquidation of low-leveraged positions can be indicative of exhaustion.
🔹 Liquidation Price Calculator
A liquidation price calculator might come in handy when you need to calculate at what price level your leveraged position in Crypto, Forex, Stocks, or any other asset class gets liquidated to add a protective stop to mitigate risk. Monitoring an open position gets easier if the trader can calculate the total risk in order for them to choose the right amount of margin and leverage.
Liquidation price is the distance from the trader's entry price to the price where trader's leveraged position gets liquidated due to a loss. As the leverage is increased, the distance from trader's entry price to the liquidation price shrinks.
While you have one or several trades open you can quickly check their liquidation levels and determine which one of the trades is closest to their liquidation price.
If you are a day trader that uses leverage and you want to know which trade has the best outlook you can calculate the liquidation price to see which one of the trades looks best.
🔹 Dashboard
The bar statistics option enables measuring and presenting trading activity, volatility, and probable liquidations for the last chart bar.
🔶 DETAILS
It's important to note that liquidation price calculator tool uses a formula to calculate the liquidation price based on the entry price + leverage ratio.
Other factors such as leveraged fees, position size, and other interest payments have been excluded since they are variables that don’t directly affect the level of liquidation of a leveraged position.
The calculator also assumes that traders are using an isolated margin for one single position and does not take into consideration the additional margin they might have in their account.
🔹Liquidation price formula
the liquidation distance in percentage = 100 / leverage ratio
the liquidation distance in price = current asset price x the liquidation distance in percentage
the liquidation price (longs) = current asset price – the liquidation distance in price
the liquidation price (shorts) = current asset price + the liquidation distance in price
or simply
the liquidation price (longs) = entry price * (1 – 1 / leverage ratio)
the liquidation price (shorts) = entry price * (1 + 1 / leverage ratio)
Example:
Let’s say that you are trading a leverage ratio of 1:20. The first step is to calculate the distance to your liquidation point in percentage.
the liquidation distance in percentage = 100 / 20 = 5%
Now you know that your liquidation price is 5% away from your entry price. Let's calculate 5% below and above the entry price of the asset you are currently trading. As an example, we assume that you are trading bitcoin which is currently priced at $35000.
the liquidation distance in price = $35000 x 0.05 = $1750
Finally, calculate liquidation prices.
the liquidation price (longs) = $35000 – $1750 = $33250
the liquidation price (short) = $35000 + $1750 = $36750
In this example, short liquidation price is $36750 and long liquidation price is $33250.
🔹How leverage ratio affects the liquidation price
The entry price is the starting point of the calculation and it is from here that the liquidation price is calculated, where the leverage ratio has a direct impact on the liquidation price since the more you borrow the less “wiggle-room” your trade has.
An increase in leverage will subsequently reduce the distance to full liquidation. On the contrary, choosing a lower leverage ratio will give the position more room to move on.
🔶 SETTINGS
🔹Liquidations Meter
Base Price: The option where to set the reference/base price.
🔹Liquidation Price Calculator
Liquidation Price Calculator: Toggles the visibility of the calculator. Details and assumptions made during the calculations are stated in the tooltip of the option.
Entry Price: The option where to set the entry price, a value of 0 will use the current closing price. Details are given in the tooltip of the option.
Leverage: The option where to set the leverage value.
Show Calculated Liquidation Prices on the Chart: Toggles the visibility of the liquidation prices on the price chart.
🔹Dashboard
Show Bar Statistics: Toggles the visibility of the last bar statistics.
🔹Others
Liquidations Meter Text Size: Liquidations Meter text size.
Liquidations Meter Offset: Liquidations Meter offset.
Dashboard/Calculator Placement: Dashboard/calculator position on the chart.
Dashboard/Calculator Text Size: Dashboard text size.
🔶 RELATED SCRIPTS
Here are some of the scripts that are related to the liquidation and liquidity concept, for more and other conceptual scripts you are kindly invited to visit LuxAlgo-Scripts .
Liquidation-Levels
Liquidations-Real-Time
Buyside-Sellside-Liquidity
Cryptocurrency Cointegration Matrix (SpiritualHealer117)This indicator plots a cointegration matrix for the pairings of 100 cryptocurrencies. The matrix is populated with ADF t-stats (from an ADF-test with 1 lag). An ADF-test (Augmented Dickey-Fuller test) tests the null hypothesis that an AR process has a unit root. If rejected, the alternative hypothesis is usually that the AR process is either stationary or trend-stationary. This model extends upon Lejmer's Cointegration Matrix for forex by enabling the indicator to use cryptocurrency pairs and allows for significantly more pairs to be analyzed using the group selection feature. This indicator arose from collaboration with TradingView user CryptoJuju.
This indicator runs an ADF-test on the residuals (spread) of each pairing (i.e. a cointegration test). It tests if there is a unit root in the spread between the two assets of a pairing. If there is a unit root in the spread, it means the spread varies randomly over time, and any mean reversion in the spread is very hard to predict. By contrast, if a unit root does not exist, the spread (distance between the assets) should remain more or less constant over time, or rise/fall in close to the same rate over time. The more negative the number from an ADF-test, the stronger the rejection of the idea that the spread has a unit root. In statistics, there are different levels which correspond with the confidence level of the test. For this indicator, -3.238 equals a confidence level of 90%, -3.589 equals a confidence level of 95% and -4.375 equals a confidence level of 99% that there is not a unit root. So the colors are based on the confidence level of the test statistic (the t-stat, i.e. the number of the pairing in the matrix). So if the number is greater than -3.238 it is green, if it's between -3.238 and -3.589 it's yellow, if it's between -3.589 and -4.375 it's orange, and if its lower than -4.375 it's red.
There are multiple ways to interpret the results. A strong rejection of the presence of a unit root (i.e. a value of -4.375 or below) is not a guarantee that there is no unit root, or that any of the two alternative hypotheses (that the spread is stationary or trend-stationary) are correct. It only means that in 99% of the cases, if the spread is an AR process, the test is right, and there is no unit root in the spread. Therefore, the results of this test is no guarantee that the result proves one of the alternative solutions. Green therefore means that a unit root cannot be ruled out (which can be interpreted as "the two cryptocurrencies probably don't move together over time"), and red means that a unit root is likely not present (which can be interpreted as "the two cryptocurrencies may move together over time").
One possible way to use this indicator is to make sure you don't trade two pairs that move together at the same time. So basically the idea is that if you already have a trade open in one of the currency pairs of the pairing, only enter a trade in the other currency pair of that pairing if the color is green, or you may be doubling your risk. Alternatively, you could implement this indicator into a pairs trading system, such as a simple strategy where you buy the spread between two cryptocurrencies with a red result when the spread's value drops one standard deviation away from its moving average, and conversely sell when it moves up one standard deviation above the moving average. However, this strategy is not guaranteed to work, since historical data does not guarantee the future.
Specific to this indicator, there are 100 different cryptocurrency tickers which are included in the matrix, and the cointegration matrices between all the tickers can be checked by switching asset group 1 and asset group 2 to different asset groups. The ADF test is computed using a specified length, and if there is insufficient data for the length, the test produces a grayed out box.
NOTE: The indicator can take a while to load since it computes the value of 400 ADF tests each time it is run.
Statistics TableStrategy Statistics
This library will add a table with statistics from your strategy. With this library, you won't have to switch to your strategy tester tab to view your results and positions.
Usage:
You can choose whether to set the table by input fields by adding the below code to your strategy or replace the parameters with the ones you would like to use manually.
// Statistics table options.
statistics_table_enabled = input.string(title='Show a table with statistics', defval='YES', options= , group='STATISTICS')
statistics_table_position = input.string(title='Position', defval='RIGHT', options= , group='STATISTICS')
statistics_table_margin = input.int(title='Table Margin', defval=10, minval=0, maxval=100, step=1, group='STATISTICS')
statistics_table_transparency = input.int(title='Cell Transparency', defval=20, minval=1, maxval=100, step=1, group='STATISTICS')
statistics_table_text_color = input.color(title='Text Color', defval=color.new(color.white, 0), group='STATISTICS')
statistics_table_title_cell_color = input.color(title='Title Cell Color', defval=color.new(color.gray, 80), group='STATISTICS')
statistics_table_cell_color = input.color(title='Cell Color', defval=color.new(color.purple, 0), group='STATISTICS')
// Statistics table init.
statistics.table(strategy.initial_capital, close, statistics_table_enabled, statistics_table_position, statistics_table_margin, statistics_table_transparency, statistics_table_text_color, statistics_table_title_cell_color, statistics_table_cell_color)
Sample:
If you are interested in the strategy used for this statistics table, you can browse the strategies on my profile.
Oscillator Volume Profile [Trendoscope®]The Oscillator Volume Profile indicator is designed to construct a volume profile based on predefined oscillator levels. It integrates volume data with oscillator readings to offer a unique perspective on market dynamics.
🎲 Selectable Oscillators:
Users can select from an array of oscillator options for the basis of the volume profile, including:
Relative Strength Index (RSI)
Chande Momentum Oscillator (CMO)
Center of Gravity (COG)
Money Flow Index (MFI)
Rate of Change (ROC)
Commodity Channel Index (CCI)
Stochastic Oscillator (Stoch)
True Strength Index (TSI)
Williams %R (WPR)
The length parameters - Length, Fast Length, Slow Length allows users to define the period over which the chosen oscillator is calculated, tailoring the sensitivity of the indicator to their trading strategy.
🎲 Dynamic Overbought/Oversold Ranges:
This indicator enhances traditional concepts by introducing dynamic overbought and oversold levels. These adaptable thresholds are calculated using various methods, including:
🎯 Highest/Lowest Range Method : This method establishes the range based on the highest and lowest values of the oscillator within the last N bars.
🎯 Moving Average Range Method : The range is derived from a moving average of the oscillator, providing a smoothed threshold that reflects more recent market conditions.
In addition to these methods, the indicator incorporates a unique 'Sticky Border' feature:
🎯 Sticky Border: With this option enabled, the dynamic ranges maintain their levels until the oscillator breaks out of the range. Once a breakout occurs, the levels are recalculated and updated. This mechanism ensures that the borders remain consistent and relevant, only adjusting to significant market movements that warrant a recalculation.
Users can select their preferred method for determining dynamic ranges, allowing for a customized approach that aligns with their analysis and trading strategy. The sticky border feature further refines this functionality, offering continuity until a decisive market move occurs.
🎲 Volume Profile Calculation Parameters:
🎯 Trend Filter: The indicator provides a versatile trend filter with four selectable options:
Uptrend: The volume profile is calculated when the oscillator indicates an uptrend.
Downtrend: The volume profile is calculated when the oscillator indicates a downtrend.
Any: The volume profile is calculated regardless of the trend.
External: Users can input values from an external indicator. The volume profile is then calculated only when the external indicator's value is non-zero, integrating external analysis into the volume profile construction.
🎯 Precision: Users have the option to define the precision for calculating the volume profile, which is crucial due to the varying scales of different oscillators (e.g., some oscillators range from 0 to 100, while others from -1 to 1). Selecting an appropriate precision ensures that the volume profile is accurately aligned with the minimal price range significant to the chosen oscillator. This setting requires user intervention for optimal configuration, as automatic calculation is not feasible due to the diverse nature of oscillator ranges.
🎯 Number of Bars: Users can select a specific number of bars for volume profile calculation, or opt to include all available historical bars for a comprehensive profile.
🎲 Selecting the right precision:
Users must select the right precision based on their choice of indicator. For example, RSI values range from 0-100. Hence, the default precision of 1 work fine on RSI as the volume profiles are plotted from 0 to 100 at the interval of 0.1
But, the default precision of 1 will not be ok on TSI because TSI values range from -1 to 1. Hence, using 1 as precision will result in very less volume profile lines as shown below.
Due to this, it is necessary to increase the precision for oscillators such as TSI where the range between highest and lowest value is far less. Once we set the precision to 2, we can see more appropriate volume profile division.
🎲 Note of thanks:
This publication uses polyline feature for drawing volume profiles. The advantage of using polyline is that we can overcome max 500 lines issue that we face by using the regular line objects. More details of polyline can be found in the tradingview blog post
Further, using polyline for display of volume profiles is inspired by the publications of fikira and KioseffTrading
MA + MACD alert TrendsThis is a strategy/combination of warning indicators using 6MA+MACD.
The strategy details are as follows: This is a simple warning strategy created so that we don't have to monitor the candlestick chart too often.
Note: This isn't an entry strategy; it's a signaling strategy for upcoming trends. For maximum efficiency, we should incorporate more formulas into the command. In the case below, I use Fibonacci to enter the command.
This strategy setting works for a 15-minute time frame, but it can still work for different time frames.
It has been working well with Gold and USOIL for the last two years, as well as with currency pairs like EURUSD and many others.
Components:
EMA100 + EMA200 + MA400 + MA800
MACD (timeframe greater than 1 timeframe)
Fibonacci retreat.
Uptrend alert:
Candles on both EMAs (100-200) + 2 SMAs (400-800)
In the previous 80 candles:
EMA100 cross up to EMA200
At the same time, the MACD cross up 0.
The uptrend warning will trigger when EMA6 cuts down to MA10. That's when the price creates the top and we'll wait for the market to go back to the Fibonacci threshold of 0.618 and start buying (or wait for markets to break up the trendline to buy).
Downtrend alert:
Candles are below both EMAs ( 100-200 ) + 2 SMAs ( 400-800 )
In the previous 80 candles:
EMA100 cross down to EMA200
At the same time, the MACD cross down zero.
The downtrend warning will trigger when EMA6 cuts to MA10. That's when the price creates a bottom and we'll wait for the market to go back to the Fibonacci threshold of 0.618 and start selling (or wait for the market to break down the trendline to sell).
Recommended RR: 1:1
If you have any questions please let me know!
Fiboborsa+BistTitle: "Fiboborsa+Bist Indicator for TradingView"
Description: The "Fiboborsa+Bist" indicator is a powerful tool designed for TradingView users. This indicator offers a comprehensive set of technical indicators to assist you in your technical analysis and trading decisions.
Features:
Simple Moving Averages (SMA): You can enable or disable SMA with different periods (20, 50, 100, 200) to observe different timeframes and trends.
SMA Strategy: Use SMA crossovers to determine trends. Watch for the 20-period SMA crossing above the 50-period SMA for a bullish signal. For a bearish signal, observe the 50-period SMA crossing below the 100-period SMA.
Exponential Moving Averages (EMA): Similar to SMA, you can enable or disable EMA with different periods (5, 8, 14, 21, 34, 55, 89, 144, 233) for more precise trend analysis.
EMA Strategy: Use EMA crossovers and crossunders for short-term trend changes. A buy signal may occur when the 5-period EMA crosses above the 14-period EMA, while a crossunder suggests a selling opportunity.
Weighted Moving Averages (WMA): Customize WMA settings with various periods (5, 13, 21, 34, 89, 144, 233, 377, 610, 987) to suit your trading style.
WMA Strategy: Use WMA crossovers to verify trends. When the 13-period WMA crosses above the 34-period WMA, it may indicate an uptrend.
Buy and Sell Signals: The indicator provides buy and sell signals based on EMA crossovers and crossunders. Strong signals are also highlighted.
EMA Buy and Sell Strategy: Make informed trading decisions using buy and sell signals generated by EMA crossovers and crossunders.
Ichimoku Cloud: You can enable the Ichimoku Cloud for a clear visual representation of support and resistance levels.
Ichimoku Strategy: Use the Ichimoku Cloud to determine trend direction. Entering long positions is common when the price is above the cloud and considering short positions when it's below the cloud. Verify the trend with the Chikou Span.
Bollinger Bands: Easily visualize price volatility by enabling the Bollinger Bands feature.
Bollinger Bands Strategy: Bollinger Bands help you visualize price volatility. Look for potential reversal points when the price touches or crosses the upper or lower bands.
Use the "Fiboborsa+Bist" indicator to enhance your trading strategies and make informed decisions in the dynamic world of financial markets.
Additional Information:
Bollinger Bands: Bollinger Bands are a technical analysis tool used to monitor price volatility and determine overbought or oversold conditions. This indicator consists of three components:
Middle Moving Average (SMA): Typically, a 20-day SMA is used.
Upper Band: Calculated by adding two times the standard deviation to the SMA.
Lower Band: Calculated by subtracting two times the standard deviation from the SMA.
As the price moves between these two bands, it becomes possible to identify potential buying or selling points by comparing its height or low with these bands.
Ichimoku Cloud: The Ichimoku Cloud is a comprehensive indicator used for trend identification, defining support and resistance levels, and measuring trend strength. The Ichimoku Cloud comprises five key components:
Tenkan Sen (Conversion Line): Used to identify short-term trends.
Kijun Sen (Base Line): Used to identify medium-term trends.
Senkou Span A (Leading Span A): Calculated as (Tenkan Sen + Kijun Sen) / 2 and shows future support and resistance levels.
Senkou Span B (Leading Span B): Calculated as (highest high + lowest low) / 2 and indicates future support and resistance levels.
Chikou Span (Lagging Line): Enables tracking the price backward.
The Ichimoku Cloud interprets a price above the cloud as an uptrend and below the cloud as a downtrend. The Chikou Span assists in verifying the current trend.
ADDITIONAL STRATEGY WITH RSI AND MACD INDICATORS
**Strategy: Two-Stage Trading Strategy Using RSI, MACD, and Fiboborsa+Bist Indicators**
**Stage 1: Determining the Trend and Selecting the Trading Direction**
1. **Trend Identification with Fiboborsa+Bist Indicator:**
- Analyze the simple moving averages (SMA), exponential moving averages (EMA), and weighted moving averages (WMA) used with the Fiboborsa+Bist indicator. These indicators will provide information about the direction of the market trend.
2. **Identifying Overbought and Oversold Conditions with RSI:**
- Use the RSI indicator to identify overbought (70 and above) and oversold (30 and below) conditions. This helps in measuring the strength of the trend. If RSI enters the overbought zone, a downward correction is likely. If RSI enters the oversold zone, an upward correction is probable.
3. **Evaluating Momentum with MACD:**
- Examine price momentum using the MACD indicator. When the MACD line crosses above the signal line, it may indicate an increasing upward momentum. Conversely, a downward cross can suggest an increasing downward momentum.
**Stage 2: Generating Buy and Sell Signals**
4. **Combining RSI, MACD, and Fiboborsa+Bist Indicators:**
- To generate a buy signal, wait for RSI to move out of the oversold region into an uptrend and for the MACD line to cross above the signal line.
- To generate a sell signal, wait for RSI to move out of the overbought region into a downtrend and for the MACD line to cross below the signal line.
5. **Confirmation with Fiboborsa+Bist Indicator:**
- When you receive a buy or sell signal, use the Fiboborsa+Bist indicator to confirm the market trend. Confirming the trend can strengthen your trade signals.
6. **Setting Stop-Loss and Take-Profit Levels:**
- Remember to manage risk when opening buy or sell positions. Set stop-loss and take-profit levels to limit your risk.
7. **Monitor and Adjust Your Trades:**
- Continuously monitor your trade positions and adjust your strategy as per market conditions.
This two-stage trading strategy offers the ability to determine trends and generate trade signals using different indicators. However, every trading strategy involves risks, so risk management and practical application are essential. Also, it's recommended to test this strategy in a demo account before using it in a real trading account.
Ichimoku Oscillator With Divergences [ChartPrime]The Ichimoku Oscillator is a trading indicator designed to streamline the interpretation of Ichimoku clouds. It aims to refine and condense the complexities of the Chikou (the lag line), presenting its implications in real-time through an oscillator format, beneficial for those familiar with Ichimoku components but to have a new interpretation of their indicators.
The basics of an Ichimoku:
Conversion Line (Tenkan-Sen): It represents a midpoint of the highest and lowest prices over a specific period, usually 9 periods, reflecting short-term price movements.
Base Line (Kijun-Sen): It acts similarly to the Conversion Line but over a longer period, typically 26 periods, representing medium-term price movements.
Leading Span A & B (Kumo): Span A is the average of the Conversion Line and Base Line, and Span B is the midpoint of the highest and lowest prices over a usually longer period, typically 52 periods. Their interaction denotes trend direction, and the cloud color changes depending on whether Span A is above or below Span B, indicating bullish or bearish market conditions, respectively.
Lagging Span (Chikou Span): It is the current closing price plotted 26 periods behind, assisting in confirming the trend direction and potential momentum.
Advantage of an Oscillator:
Utilizing the oscillator format allows traders to interpret market dynamics more efficiently by visualizing the momentum and trend strength in a bounded range, enabling quick assessments of overbought or oversold conditions. Creating this oscillator provides multiple advantageous; particularly in sideway markets, helping to identify potential reversal points and offering insights on market entries and exits. When building this oscillator we've put a focus on unique interpretations such as overbought and sold areas and divergences; otherwise not found in traditional Ichimoku techniques. It is important to note these divergences are naturally not 100% real time.
When the oscillator turns green; the market is in an uptrend, red for downtrend and yellow for a transitioning market. The center line and the inner most cloud represent a balanced market state.
Key Features & Input Parameters:
Signal Source: Allows the selection of the price data source for signal generation, such as closing prices, and it’s the foundational parameter upon which the oscillator functions.
Normalization Settings: Users can select the normalization mode (“All”, “Window”, or “Disabled”), influencing how the oscillator scales its values. When enabled, it will scale from 100 to -100, allowing the user to understand better the relative positioning of price data.
Smoothing: This indicator offers advanced smoothing features, with options for additional smoothing, allowing traders to adjust the signal's sensitivity to price movements.
Kumo & Chikou Visibility: Traders can customize the visibility settings of Kumo and Chikou, tailoring the display of each component to their preference, enabling a cleaner and more intuitive view of market conditions.
Color Coding: Each component and condition, like bullish or bearish states, can be color-coded, providing visual cues to enhance the interpretability of market trends and states.
Color on Conversion: The oscillator provides an option to color the signal based on the crossover of the conversion and base lines.
Divergence: The oscillator can detect and highlight regular and hidden bullish and bearish divergences between the signal and price, aiding traders in identifying potential trend reversals or continuations.
Alerts:
The list of inbuilt alerts are provided below:
Inside Cloud: The signal line is inside the cloud.
Up Out of Cloud: The signal line crossed above the cloud.
Down Out of Cloud: The signal line crossed below the cloud.
Future Kumo Cross Bullish: The future Kumo lines have crossed in a bullish manner.
Future Kumo Cross Bearish: The future Kumo lines have crossed in a bearish manner.
Current Kumo Cross Bullish: The current Kumo lines have crossed in a bullish manner.
Current Kumo Cross Bearish: The current Kumo lines have crossed in a bearish manner.
Conversion Base Bullish: The conversion line crossed above the base line.
Conversion Base Bearish: The conversion line crossed below the base line.
Signal Bullish on Conversion Base: The signal line crossed above the maximum of conversion and base lines.
Signal Bearish on Conversion Base: The signal line crossed below the minimum of conversion and base lines.
Chikou Bullish: The Chikou line crossed above zero.
Chikou Bearish: The Chikou line crossed below zero.
Signal Over Max: The signal line crossed above the max level.
Signal Over High: The signal line crossed above the high level.
Signal Under Min: The signal line crossed below the min level.
Signal Under Low: The signal line crossed below the low level.
Chikou Over Max: The Chikou line crossed above the max level.
Chikou Over High: The Chikou line crossed above the high level.
Chikou Under Min: The Chikou line crossed below the min level.
Chikou Under Low: The Chikou line crossed below the low level.
Signal Crossover MA: The signal line crossed over the moving average.
Signal Crossunder MA: The signal line crossed under the moving average.
Regular Bullish Divergence: Regular bullish divergence detected.
Hidden Bullish Divergence: Hidden bullish divergence detected.
Regular Bearish Divergence: Regular bearish divergence detected.
Hidden Bearish Divergence: Hidden bearish divergence detected.
Bounce off of Kumo Up: Bullish Bounce off of Kumo.
Bounce off of Kumo Down: Bearish Bounce off of Kumo.
By providing a cohesive visualization of the Ichimoku elements and market momentum within a bounded range, this oscillator is a unique tool and insight into markets.
[blackcat] L3 CCI-RSI ComboCCI-RSI Combo indicator is a combination indicator that includes CCI and RSI. It uses some parameters to calculate the values of CCI and RSI, and generates corresponding charts based on these values. On the chart, when CCI exceeds 100 or falls below -100, yellow or magenta filling areas are displayed. Additionally, gradient colors are used on the RSI chart to represent different value ranges. Based on the values of CCI and RSI, buying or selling signals can be identified and "B" or "S" labels are displayed at the corresponding positions. It utilizes some technical indicators and logic to generate buying and selling signals, and displays the corresponding labels on the chart.
Here are the main parts of the code:
1. Definition of some variables:
- `N`, `M`, `N1`: Parameters used to calculate CCI and RSI.
- `xcn(cond, len)` and `xex(cond, len)`: Two functions used to calculate the number of times a condition is met.
2. Calculation of CCI (Commodity Channel Index):
- Calculate the CCI value based on the formula `(TYP - ta.sma(TYP, M)) / (0.015 * ta.stdev(TYP, M))`.
- Use the `plot()` function to plot CCI on the chart and set the color based on its value.
3. Calculation of RSI (Relative Strength Index):
- First calculate RSI1 by taking the average of positive differences between closing prices and the average of all absolute differences, and then multiplying by 100.
- Then use the ALMA function to transform RSI1 into a smoother curve.
- Use the `plot()` function to plot RSI on the chart and select gradient colors for shading based on its value.
4. Setting up the gradient color array:
- Create a color array using `array.new_color()` and add a series of color values to it.
5. Generating buying and selling signals based on conditions:
- Use logical operators and technical indicator functions to determine the conditions for buying and selling.
- Use the `label.new()` function to draw the corresponding labels on the chart to represent buying or selling signals.
Histogram-based price zonesThis indicator provides a new approach to creating price zones that can be used as support and resistance. The approach does not use pivot points or Fibonacci levels. Instead, it uses the frequency of occurence of local maxima and minima to determine zones of interest where price often changed direction.
The algorithm is as follows:
- Gather price data from the last Lookback trading periods
- Calculate rolling minima and rolling maxima along the price points with window size Window size
- Build a histogram from the rolling extrema which are binned into different zones. The number of bins and therefore the width of a zone can be adjusted with the parameter Zone width factor
- Select only the top fullest bins. The number of bins selected for plotting can be controlled with Zone multiplier
The result are a number of boxes that appear on the chart which mark levels of interest to watch for. You can combine multiple instances of this indicator on different settings to find zones that are very relevant.
Shown as an example is the Nasdaq 100 futures ( NQ1! ) on the D timeframe with levels built from the last 100 periods with default settings. The boxes are the only output of the indicator, no signals are created.
Blockchain FundamentalThis indicator is made for traders to harness fundamental blockchain data for better decision-making. Unlike traditional tools, this indicator doesn't depend on standard technical indicators. It offers a novel perspective by focusing on core blockchain metrics like capitalization, miner activity, and other intrinsic data elements. I've designed a distinct scoring logic, exclusive to BF, ensuring it's user-friendly and provides actionable insights for traders at all levels.
Mainly created for Bitcoin , but can be applied to any other crypto assets in cost of losing some metrics in the analysis.
Ethereum chart:
Features:
Customizable Moving Averages:
Choose from an array of moving averages, with the flexibility to adjust the length for a tailored analysis, aiding in pinpointing asset trends.
Blockchain Metrics Integration:
Incorporates a range of blockchain metrics such as Market Cap to Realised Cap ratio, Spent Output Profit Ratio, ATH Drawdown, and more.
Blockchain Metrics Evaluation:
Each metric can be toggled on/off to customize the analysis. Using default settings, traders can use all of the metrics combined.
Every metric is essentially evaluated on a scale from -100 to 100 and then combined with others. If any metric is uncertain about its direction (equals to 0), then the score of it is not accounted in a final calculation.
Kalman Filter:
This indicator offers the option to apply a Kalman filter to the signals, enhancing the smoothness and accuracy of the indicator’s output. This is my approach to mitigate the noise in the final output.
Signal Oscillator:
Displays the aggregated score of all selected blockchain metrics.
Offers visual signals with adjustable upper and lower bounds for easy interpretation based on particular asset observation.
Visual Elements:
Signal Oscillator:
A visual representation of the aggregated blockchain fundamental score.
(White line for a raw calculation, orange line for kalman-filtered one)
Signal Counter:
Displays the count of metrics currently being considered in the fundamental score calculation. (grey line at the middle of an indicator)
Buy/Sell Signal Coloring:
The background color changes to indicate potential buying or selling opportunities based on user-defined bounds.
Usage:
Analysis:
Use the signal oscillator to identify potential market tops and bottoms based on blockchain fundamental data.
Adjust the bounds to customize the sensitivity of buy/sell signals.
Customization:
Enable/disable specific blockchain metrics to tailor the indicator to your analytical needs.
Adjust the moving average type and length for better analysis.
Integration:
Combine with other technical indicators to create a comprehensive trading strategy.
Utilize in conjunction with volume and price action analysis for enhanced decision-making. Every output could be used in traders custom strategies and indicators.
ZWAP (ZigZag Anchored VWAP) [Kioseff Trading]Hello!
Quick script showcasing the new polyline function for Pine Script!
Features
Up to 100 high/low pivot points auto anchored VWAP
Visible range auto anchored VWAP
Curved ZigZag (Adjustable!)
With the new polyline function, auto-anchored VWAP at specific price points is more viable.
When using line.new() only 500 lines can exist on the chart concurrently and, since VWAP is calculated on every update, a "proper" VWAP drawn using line.new() can extend 500 bars at most, to which no additional VWAP lines can be drawn after.
Of course, when using the plot() function a VWAP line will draw on every bar; however, this method isn't highly compatible with auto-anchoring VWAP lines.
However!
A polyline, from beginning to end irrespective of the number of coordinates used, constitutes 1 polyline; 100 can exist simultaneously with 10,000 xy coordinates per line.
The image above shows an attempt to draw the same auto-anchored VWAP lines using the line.new() function. Not an ideal outcome!
The image above shows the same attempt using the polyline.new() function!
Very nice (:
The image above shows the indicator auto anchoring to zig zag turning points.
Subsequent to a new anchoring, VWAP is calculated for the following bars - up to the current bar.
Thank you for checking this out; if you have any ideas to spice it up feel free to comment!
IU Probability CalculatorHow This Script Works:
1. This script calculate the probability of price reaching a user-defined price level within one candle with the help Normal Distribution Probability Table.
2. Normal Distribution Probability Table is use for calculating probability of events, it's very powerful for calculation of probability and this script is fully based on that table.
3. It takes the Average True Range value or Standard Deviation value of past user-defined length bar.
4. After that it take this formula z = ( price_level - close ) / (ATR or Standard Deviation) and return the value for z, for the bearish side it take z = (close - price level) / (ATR or Standard Deviation ) formula.
5. Once we have the z it look into Normal Distribution Probability Table and match the value.
6. Now the value of z is multiple buy 100 in order to make it look in percentage term.
7. After that this script subtract the final value with 100 because probability always comes under 100%
8. finally we plot the probability at the bottom of the chart the red line indicates "The probability of price not reaching that price level", While the green line indicates "Probability of price Reaching that level " .
9. This script will work fine for both of the directions
How This Is Useful For The User:
1. With this script user can know the probability of price reaching the certain level within one candle for both Directions .
2. This is useful while creating options hedging strategies
3. This can be helpful for deciding stop loss level.
4. It's useful for scalpers for managing their traders and it can be use by binary option traders.
NSDT Average 6This is a pretty simple concept that we were asked to put together. It uses 6 Moving Averages, and takes the average of each one, then averages them all together.
If you don't want to use 6, and only 3 for example, then just enter the same length in two of the input fields as pairs.
Example:
For 6, you could use 10, 20, 30, 40, 50, 60
For 3, you could use 10, 10, 50, 50, 100, 100
It doesn't ploy 6 MA's, it only plots one - the result of the average of an average of an average, etc..
Publishing open source so other can modify as needed.
Trend_Trader_WMA (Momentum)<---> Caution! This is first test version of indicator. I am ready to get more ideas+feedback to develop it more. <--->
The "Momentum_Trader_WMA" indicator is a versatile technical analysis tool designed to help traders identify potential trend changes and momentum shifts in the market. It combines multiple indicators and moving averages to provide a comprehensive view of price action and momentum.
Key Features:
Weighted Moving Averages (WMAs): The indicator calculates two different WMAs with user-defined lengths, providing a smoothed representation of price data.
Average True Range (ATR) Bands: ATR is used to calculate dynamic bands around the WMA Average. These bands can help traders gauge market volatility and potential breakout points. The color of the ATR bands can be seen as an early signal of trends or the continuation of current trends.
Commodity Channel Index (CCI): CCI is a momentum oscillator that measures the relative strength of price changes. The indicator calculates CCI values based on a user-defined period.
Exponential Moving Average (EMA) of CCI: An EMA of CCI is plotted to help identify trends and momentum shifts.
Color-Coded Bands: The ATR bands change colors based on CCI conditions, providing visual cues for potential trading opportunities. When ATR bands transition from narrow (indicating low volatility) to wide (indicating increased volatility), it can be seen as an early signal of a potential trend change or the continuation of the current trend.
Buy and Sell Signals: The indicator generates buy and sell signals based on crossovers of WMAs and CCI thresholds, making it easier for traders to identify entry and exit points.
Customizable Moving Averages: Traders can enable or disable different moving averages (e.g., SMA, EMA, WMA, RMA, VWMA, HMA) with various periods and colors to adapt the indicator to their trading preferences.
CCI Dot Alerts: Dots are displayed at the bottom of the chart based on CCI values, helping traders spot extreme CCI conditions.
How to Use:
Trend Identification: The WMAs and ATR bands can help identify the current trend direction and its strength. When the WMAs are in an uptrend (green) and the ATR bands widen, it may indicate a strong bullish trend. Conversely, when the WMAs are in a downtrend (red) and the ATR bands narrow, it may suggest a weakening bearish trend.
Momentum Confirmation: The CCI and its EMA provide insights into market momentum. Look for CCI crossovers above 100 for potential bullish momentum and below -100 for potential bearish momentum.
Buy and Sell Signals: Pay attention to the buy and sell signals generated by the indicator. Buy when the WMAs cross over and CCI crosses above 100. Sell when the WMAs cross under and CCI crosses below -100.
ATR Bands as Early Signals: The color changes in the ATR bands can be seen as early signals of trends or the continuation of current trends. Wide ATR bands may indicate increased volatility and potential trend changes, while narrow ATR bands suggest reduced volatility and potential trend continuation.
Moving Averages: Customize the indicator by enabling or disabling specific moving averages according to your preferred trading strategy.
CCI Dots: Use the CCI dots to identify extreme CCI conditions, which may indicate overbought or oversold market conditions.
PS:
Recommended to use Indicator with price action conecpts(eg. support and resistance) as they play important role in any market.
Buy and sell signals are not really accurate. I would personally look for trend shift in WMA middle line and confirmation from CCI dots at bottom. For example. If middle line turns green and within recent 3-4 candles (or next 3-4 candles) dots tunrns green also, that means momentum has been rised in the direction of bulls.
pls, take s/r concepts first when working. I am thinking to add more precise buy sell signal method to make it easier to trade.
Good luck with your trades :)
ATR Based EMA Price Targets [SS]As requested...
This is a spinoff of my EMA 9/21 cross indicator with price targets.
A few of you asked for a simple EMA crossover version and that is what this is.
I have, of course, added a bit of extra functionality to it, assuming you would want to transition from another EMA indicator to this one, I tried to leave it somewhat customizable so you can get the same type of functionality as any other EMA based indicator just with the added advantage of having an ATR based assessment added on. So lets get into the details:
What it does:
Same as my EMA 9/21, simply performs a basic ATR range analysis on a ticker, calculating the average move it does on a bullish or bearish cross.
How to use it:
So there are quite a few functions of this indicator. I am going to break them down one by one, from most basic to the more complex.
Plot functions:
EMA is Customizable: The EMA is customizable. If you want the 200, 100, 50, 31, 9, whatever you want, you just have to add the desired EMA timeframe in the settings menu.
Standard Deviation Bands are an option: If you like to have standard deviation bands added to your EMA's, you can select to show the standard deviation band. It will plot the standard deviation for the desired EMA timeframe (so if it is the EMA 200, it will plot the Standard Deviation on the EMA 200).
Plotting Crossovers: You can have the indicator plot green arrows for bullish crosses and red arrows for bearish crosses. I have smoothed out this function slightly by only having it signal a crossover when it breaks and holds. I pulled this over to the alert condition functions as well, so you are not constantly being alerted when it is bouncing over and below an EMA. Only once it chooses a direction, holds and moves up or down, will it alert to a true crossover.
Plotting labels: The indicator will default to plotting the price target labels and the EMA label. You can toggle these on and off in the EMA settings menu.
Trend Assessment Settings:
In addition to plotting the EMA itself and signaling the ATR ranges, the EMA will provide you will demographic information about the trend and price action behaviour around the EMA. You can see an example in the image below:
This will provide you with a breakdown of the statistics on the EMA over the designated lookback period, such as the number of crosses, the time above and below the EMA and the amount the EMA has remained within its standard deviation bands.
Where this is important is the proportion assessment. And what the proportion assessment is doing is its measuring the amount of time the ticker is spending either above or below the EMA.
Ideally, you should have relatively equal and uniform durations above and below. This would be a proportion of between 0.5 and 1.5 Above to Below. Now, you don't have to remember this because you can ask the indicator to do the assessment for you. It will be displayed at the bottom of your chart in a table that you can toggle on and off:
Example of a Uniform Assessment:
Example of a biased assessment:
Keep in mind, if you are using those very laggy EMAs (like the 50, 200, 100 etc.) on the daily timeframe, you aren't going to get uniformity in the data. This is because, stocks are technically already biased to the upside over time. Thus, when you are looking at the big picture, the bull bias thesis of the stock market is in play.
But for the smaller and moderate timeframes, owning to the randomness of price action, you can generally get uniformity in data representation by simply adjusting your lookback period.
To adjust your lookback period, you simply need to change the timeframe for the ATR lookback length. I suggest no less than 500 and probably no more than 1,500 candles, and work within this range. But you can use what the indicator indicates is appropriate.
Of course, all of these charts can be turned off and you are left with a clean looking EMA indicator:
And an example with the standard deviation bands toggled on:
And that, my friends, is the indicator.
Hopefully this is what you wanted, let me know if you have any suggestions.
Enjoy and safe trades!
[blackcat] L1 Reverse Choppiness IndexThe Choppiness Index is a technical indicator that is used to measure market volatility and trendiness. It is designed to help traders identify when the market is trending and when it is choppy, meaning that it is moving sideways with no clear direction. The Choppiness Index was first introduced by Australian commodity trader E.W. Dreiss in the late 1990s, and it has since become a popular tool among traders.
Today, I created a reverse version of choppiness index indicator, which uses upward direction as indicating strong trend rather than a traditional downward direction. Also, it max values are exceeding 100 compared to a traditional one. I use red color to indicate a strong trend, while yellow as sideways. Fuchsia zone are also incorporated as an indicator of sideways. One thing that you need to know: different time frames may need optimize parameters of this indicator. Finally, I'd be happy to explain more about this piece of code.
The code begins by defining two input variables: `len` and `atrLen`. `len` sets the length of the lookback period for the highest high and lowest low, while `atrLen` sets the length of the lookback period for the ATR calculation.
The `atr()` function is then used to calculate the ATR, which is a measure of volatility based on the range of price movement over a certain period of time. The `highest()` and `lowest()` functions are used to calculate the highest high and lowest low over the lookback period specified by `len`.
The `range`, `up`, and `down` variables are then calculated based on the highest high, lowest low, and closing price. The `sum()` function is used to calculate the sum of ranges over the lookback period.
Finally, the Choppiness Index is calculated using the ATR and the sum of ranges over the lookback period. The `log10()` function is used to take the logarithm of the sum divided by the lookback period, and the result is multiplied by 100 to get a percentage. The Choppiness Index is then plotted on the chart using the `plot()` function.
This code can be used directly in TradingView to plot the Choppiness Index on a chart. It can also be incorporated into custom trading strategies to help traders make more informed decisions based on market volatility and trendiness.
I hope this explanation helps! Let me know if you have any further questions.
CCI RSI Trading SignalThe "CCI RSI Trading Signal" indicator combines the Commodity Channel Index (CCI) and Relative Strength Index (RSI) to provide buy and sell signals for trading. The CCI identifies potential trend reversals, while the RSI helps confirm overbought and oversold conditions.
How It Works:
The indicator generates a buy signal when the CCI crosses above -100 (indicating a potential bullish reversal) and the RSI is below the specified oversold level. On the other hand, a sell signal is produced when the CCI crosses below 100 (indicating a potential bearish reversal) and the RSI is above the specified overbought level.
Customization:
Traders can adjust the RSI and CCI periods, RSI oversold and overbought levels, as well as take profit, stop loss, and lot size settings to suit their trading preferences.
Usage:
The "CCI RSI Trading Signal" indicator can be used on various timeframes and markets to aid in decision-making, providing potential entry and exit points based on the combined analysis of CCI and RSI.
Rectified BB% for option tradingThis indicator shows the bollinger bands against the price all expressed in percentage of the mean BB value. With one sight you can see the amplitude of BB and the variation of the price, evaluate a reenter of the price in the BB.
The relative price is visualized as a candle with open/high/low/close value exspressed as percentage deviation from the BB mean
The indicator include a modified RSI, remapped from 0/100 to -100/100.
You can choose the BB parameters (length, standard deviation multiplier) and the RSI parameter (length, overbougth threshold, ovrsold threshold)
You can exclude/include the candles and the RSI line.
The indicator can be used to sell options when the volatility is high (the bollinger band is wide) and the price is reentering inside the bands.
If the price is forming a supply or demand area it can be a good opportunity to sell a bull put or a bear call
The RSI can be used as confirm of the supply/demand formation
If the bollinger band is narrow and the RSI is overbought/oversold it indicate a better opportunity to buy options
the indicator is designed to work with daily timeframe and default parameters.
imlibLibrary "imlib"
Description
The library allows you to display images in your scripts utilising the objects. You can change the image size and screen aspect ratio (the ratio of width to height which you can change if the image is too wide / tall). The library has "example()" function which you can use to see how it works. It also has a handy "logo()" function which you can use to quickly display an image by passing the "Image data string", table position, image size and aspect ratio. And of course you can use it in your own custom way by taking the "logo()" function as an example and modifying the code to your needs.
Since tables in Pinescript are limited to 100 by 100 cells, the limit for image's size is also 100x100 px. All the necessary data to display an image is passed as a string variable, and since Pinescript has a limit of 4096 characters for variables of type, that string can have a maximum length of 4096 characters, which is enough to display a 64x64px image (but can be enough to display a 100x100 image, depending on the image itself).
Below you can find the definitions of functions for this library.
_decompress(data)
: Decompresses string with data image
Parameters:
data (string)
Returns: : Array of with decompressed data
load(data)
: Splits the string with image data into components and builds an object
Parameters:
data (string)
Returns: : An object
show(imgdata, table_id, image_size, screen_ratio)
: Displays an image in a table
Parameters:
imgdata (ImgData)
table_id (table)
image_size (float)
screen_ratio (string)
Returns: : nothing
example()
: Use it as an example of how this library works and how to use it in your own scripts
Returns: : nothing
logo(imgdata, position, image_size, screen_ratio)
: Displays logo using image data string
Parameters:
imgdata (string)
position (string)
image_size (float)
screen_ratio (string)
Returns: : nothing
ImgData
Fields:
w (series__integer)
h (series__integer)
s (series__string)
pal (series__string)
data (array__string)
CCI+EMA Strategy with Percentage or ATR TP/SL [Alifer]This is a momentum strategy based on the Commodity Channel Index (CCI), with the aim of entering long trades in oversold conditions and short trades in overbought conditions.
Optionally, you can enable an Exponential Moving Average (EMA) to only allow trading in the direction of the larger trend. Please note that the strategy will not plot the EMA. If you want, for visual confirmation, you can add to the chart an Exponential Moving Average as a second indicator, with the same settings used in the strategy’s built-in EMA.
The strategy also allows you to set internal Stop Loss and Take Profit levels, with the option to choose between Percentage-based TP/SL or ATR-based TP/SL.
The strategy can be adapted to multiple assets and timeframes:
Pick an asset and a timeframe
Zoom back as far as possible to identify meaningful positive and negative peaks of the CCI
Set Overbought and Oversold at a rough average of the peaks you identified
Adjust TP/SL according to your risk management strategy
Like the strategy? Give it a boost!
Have any questions? Leave a comment or drop me a message.
CAUTIONARY WARNING
Please note that this is a complex trading strategy that involves several inputs and conditions. Before using it in live trading, it is highly recommended to thoroughly test it on historical data and use risk management techniques to safeguard your capital. After backtesting, it's also highly recommended to perform a first live test with a small amount. Additionally, it's essential to have a good understanding of the strategy's behavior and potential risks. Only risk what you can afford to lose .
USED INDICATORS
1 — COMMODITY CHANNEL INDEX (CCI)
The Commodity Channel Index (CCI) is a technical analysis indicator used to measure the momentum of an asset. It was developed by Donald Lambert and first published in Commodities magazine (now Futures) in 1980. Despite its name, the CCI can be used in any market and is not just for commodities. The CCI compares current price to average price over a specific time period. The indicator fluctuates above or below zero, moving into positive or negative territory. While most values, approximately 75%, fall between -100 and +100, about 25% of the values fall outside this range, indicating a lot of weakness or strength in the price movement.
The CCI was originally developed to spot long-term trend changes but has been adapted by traders for use on all markets or timeframes. Trading with multiple timeframes provides more buy or sell signals for active traders. Traders often use the CCI on the longer-term chart to establish the dominant trend and on the shorter-term chart to isolate pullbacks and generate trade signals.
CCI is calculated with the following formula:
(Typical Price - Simple Moving Average) / (0.015 x Mean Deviation)
Some trading strategies based on CCI can produce multiple false signals or losing trades when conditions turn choppy. Implementing a stop-loss strategy can help cap risk, and testing the CCI strategy for profitability on your market and timeframe is a worthy first step before initiating trades.
2 — AVERAGE TRUE RANGE (ATR)
The Average True Range (ATR) is a technical analysis indicator that measures market volatility by calculating the average range of price movements in a financial asset over a specific period of time. The ATR was developed by J. Welles Wilder Jr. and introduced in his book “New Concepts in Technical Trading Systems” in 1978.
The ATR is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The ATR can be used to set stop-loss orders. One way to use ATR for stop-loss orders is to multiply the ATR by a factor (such as 2 or 3) and subtract it from the entry price for long positions or add it to the entry price for short positions. This can help traders set stop-loss orders that are more adaptive to market volatility.
3 — EXPONENTIAL MOVING AVERAGE (EMA)
The Exponential Moving Average (EMA) is a type of moving average (MA) that places a greater weight and significance on the most recent data points.
The EMA is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The EMA can be used by traders to produce buy and sell signals based on crossovers and divergences from the historical average. Traders often use several different EMA lengths, such as 10-day, 50-day, and 200-day moving averages.
The formula for calculating EMA is as follows:
Compute the Simple Moving Average (SMA).
Calculate the multiplier for weighting the EMA.
Calculate the current EMA using the following formula:
EMA = Closing price x multiplier + EMA (previous day) x (1-multiplier)
STRATEGY EXPLANATION
1 — INPUTS AND PARAMETERS
The strategy uses the Commodity Channel Index (CCI) with additional options for an Exponential Moving Average (EMA), Take Profit (TP) and Stop Loss (SL).
length : The period length for the CCI calculation.
overbought : The overbought level for the CCI. When CCI crosses above this level, it may signal a potential short entry.
oversold : The oversold level for the CCI. When CCI crosses below this level, it may signal a potential long entry.
useEMA : A boolean input to enable or disable the use of Exponential Moving Average (EMA) as a filter for long and short entries.
emaLength : The period length for the EMA if it is used.
2 — CCI CALCULATION
The CCI indicator is calculated using the following formula:
(src - ma) / (0.015 * ta.dev(src, length))
src is the typical price (average of high, low, and close) and ma is the Simple Moving Average (SMA) of src over the specified length.
3 — EMA CALCULATION
If the useEMA option is enabled, an EMA is calculated with the given emaLength .
4 — TAKE PROFIT AND STOP LOSS METHODS
The strategy offers two methods for TP and SL calculations: percentage-based and ATR-based.
tpSlMethod_percentage : A boolean input to choose the percentage-based method.
tpSlMethod_atr : A boolean input to choose the ATR-based method.
5 — PERCENTAGE-BASED TP AND SL
If tpSlMethod_percentage is chosen, the strategy calculates the TP and SL levels based on a percentage of the average entry price.
tp_percentage : The percentage value for Take Profit.
sl_percentage : The percentage value for Stop Loss.
6 — ATR-BASED TP AND SL
If tpSlMethod_atr is chosen, the strategy calculates the TP and SL levels based on Average True Range (ATR).
atrLength : The period length for the ATR calculation.
atrMultiplier : A multiplier applied to the ATR to set the SL level.
riskRewardRatio : The risk-reward ratio used to calculate the TP level.
7 — ENTRY CONDITIONS
The strategy defines two conditions for entering long and short positions based on CCI and, optionally, EMA.
Long Entry: CCI crosses below the oversold level, and if useEMA is enabled, the closing price should be above the EMA.
Short Entry: CCI crosses above the overbought level, and if useEMA is enabled, the closing price should be below the EMA.
8 — TP AND SL LEVELS
The strategy calculates the TP and SL levels based on the chosen method and updates them dynamically.
For the percentage-based method, the TP and SL levels are calculated as a percentage of the average entry price.
For the ATR-based method, the TP and SL levels are calculated using the ATR value and the specified multipliers.
9 — EXIT CONDITIONS
The strategy defines exit conditions for both long and short positions.
If there is a long position, it will be closed either at TP or SL levels based on the chosen method.
If there is a short position, it will be closed either at TP or SL levels based on the chosen method.
Additionally, positions will be closed if CCI crosses back above oversold in long positions or below overbought in short positions.
10 — PLOTTING
The script plots the CCI line along with overbought and oversold levels as horizontal lines.
The CCI line is colored red when above the overbought level, green when below the oversold level, and white otherwise.
The shaded region between the overbought and oversold levels is plotted as well.