[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.
Cari dalam skrip untuk "100年黄金价格走势"
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.
Normalized Close IndicatorThe central aspect of this indicator is the computation of a normalized close price. The normalized close price is computed by first determining the highest and lowest closing prices over a specified historical period. This highest and lowest value form the boundaries of the historical price range.
Once these bounds are established, the current closing price's position within this range is calculated. This is done by subtracting the lowest close from the current close and dividing the result by the range (the highest close minus the lowest close). This yields a value between 0 and 1, which is then multiplied by 100 to provide a percentage. This is not calculating percentile rank, but often it overlaps.
This percentage represents where the current close price stands relative to the historical price range. If the value is near 0, it indicates that the current close price is near the historical low, potentially signaling an oversold condition. Conversely, if the value is near 100, it suggests that the current close price is near the historical high, possibly indicating an overbought condition.
By using this approach, the indicator helps identify points at which the price may be considered relatively high (overbought) or low (oversold) compared to its recent historical range.
Additionally alerts are to switch from long to short and vice versa, for the most part, my strategy that incorporates this indicator is either long or short, sometimes though, the opposite bounds (high level for longs and low level for shorts) are not reached, then stop loss and take profit levels are needed.
I discovered it works fine on markets that spend most of time in a range like BTC/USD, adjustment needs to be done in user inputs and in Pine Script (length) for different exchanges, in current configuration works fine for me on Deribit Perpetuals (BTCUSD.P and ETHUSD.P), on 5 minute and 3 minute timeframes with a stop loss of 1.5% and take profit of 4.5% for BTCUSD.P and 1.7% and 5.1% for ETHUSD.P.
Swing Action PriceEnglish:
**Description of "Swing Action Price" TradingView Script**
"Swing Action Price" is a custom technical indicator designed to identify swing highs and swing lows in a financial market. The script calculates and plots various lines on the chart to visualize these swing points. Swing highs are points where the price has made a local peak, while swing lows are points where the price has made a local trough.
The indicator displays the following lines on the chart:
1. Dotted lines representing each individual swing high and swing low identified on different timeframes (10, 30, 60, 100, 150, 200, 700, and 1000 bars).
2. Dotted lines representing the most recent swing high and swing low for the current bar.
How the indicator works:
1. The script uses historical price data to calculate swing highs and swing lows based on specific conditions.
2. For each of the mentioned timeframes, the indicator identifies the highest high and lowest low within a defined number of bars (10, 30, 60, etc.).
3. Once a new swing high or swing low is identified, the corresponding dotted lines are drawn on the chart, extending from the previous swing point to the current one.
The "Swing Action Price" indicator can be used by traders to visually identify key support and resistance levels in the market. It helps them recognize potential trend reversals or continuation points, which may be valuable for making trading decisions.
Please note that trading indicators should always be used in conjunction with other technical and fundamental analysis tools to make informed trading choices. The "Swing Action Price" indicator is offered under the Mozilla Public License 2.0, and the developer's username is "damianjorgeportillo."
Remember that past performance is not indicative of future results, and it's essential to exercise caution and apply risk management strategies when trading financial markets.
/******************************/
Spanish:
**Descripción del Script "Swing Action Price" en TradingView**
"Swing Action Price" es un indicador técnico personalizado diseñado para identificar máximos y mínimos en un mercado financiero. El script calcula y muestra diversas líneas en el gráfico para visualizar estos puntos de inflexión. Los máximos se producen cuando el precio alcanza un pico local, mientras que los mínimos ocurren cuando el precio alcanza un valle local.
El indicador muestra las siguientes líneas en el gráfico:
1. Líneas punteadas que representan cada máximo y mínimo individual identificado en diferentes marcos de tiempo (10, 30, 60, 100, 150, 200, 700 y 1000 barras).
2. Líneas punteadas que representan el máximo y mínimo más reciente para la barra actual.
Cómo funciona el indicador:
1. El script utiliza datos históricos de precios para calcular los máximos y mínimos en función de ciertas condiciones.
2. Para cada uno de los marcos de tiempo mencionados, el indicador identifica el máximo más alto y el mínimo más bajo dentro de un número específico de barras (10, 30, 60, etc.).
3. Una vez que se identifica un nuevo máximo o mínimo, se dibujan las líneas punteadas correspondientes en el gráfico, extendiéndose desde el punto de inflexión anterior hasta el actual.
El indicador "Swing Action Price" puede ser utilizado por traders para identificar visualmente niveles clave de soporte y resistencia en el mercado. Ayuda a reconocer posibles puntos de inversión o continuación de tendencia, lo que puede ser valioso para tomar decisiones comerciales.
Por favor, ten en cuenta que los indicadores de trading siempre deben utilizarse junto con otras herramientas de análisis técnico y fundamental para tomar decisiones comerciales informadas. El indicador "Swing Action Price" se ofrece bajo la Licencia Pública de Mozilla 2.0, y el nombre de usuario del desarrollador es "damianjorgeportillo".
Recuerda que el rendimiento pasado no garantiza resultados futuros, y es esencial ser cauteloso y aplicar estrategias de gestión de riesgos al operar en los mercados financieros.
Risk to Reward - FIXED SL BacktesterDon't know how to code? No problem! TradingView is an excellent platform for you. ✅ ✅
If you have an indicator that you want to backtest using a risk-to-reward ratio or fixed take profit/stop loss levels, then the Risk to Reward - FIXED SL Backtester script is the perfect solution for you.
introducing Risk to Reward - FIXED SL Backtester Script which will allow you to test any indicator / Signal with RR or Fixed SL system
How does it work ?!
Once you connect the script to your indicator, it will analyze your entry points and perform calculations based on them. It will then open trades for you according to the specified inputs in the script settings.
HOW TO CONNECT IT to your indicator?
simply open your indicator code and add the below line of code to it
plot(Signal ? 100 : 0,"Signal",display = display.data_window)
Replace Signal with the long condition from your own indicator. You can also modify the value 100 to any number you prefer. After that, open the settings.
Once the script is connected to your indicator, you can choose from two options:
Risk To Reward Ratio System
Fixed TP/ SL System
🔸if you select the Risk to Reward System ⤵️
The Risk-to-Reward System requires the calculation of a stop loss. That's why I have included three different types of stop-loss calculations for you to choose from:
ATR Based SL
Pivot Low SL
VWAP Based SL
Your stop loss and take profit levels will be automatically calculated based on the selected stop loss method and your risk-to-reward ratio.
You can also adjust their values to match your desired risk level. The trades will be displayed on the chart.
with the ability to change their values to match your risk.
once this is done, trades will be displayed on the chart
🔸if you select the Fixed system ⤵️
You have 2 inputs, which are FIXED TP & Fixed SL
input the values you want, and trades will be on your chart...
I have also added a Breakeven feature for you.
with this Breakeven feature the trade will not just move SL to Entry ?! NO NO, it will place it above entry by a % you input yourself, so you always win! 🚀
Here is an example
Enjoy, and have fun, if you have any questions do not hesitate to ask