Multi-Sector Trend AnalysisThis script, titled "Multi-Sector Trend Analysis: Track Sector Momentum and Trends," is designed to assist traders and investors in monitoring multiple sectors of the stock market simultaneously. It leverages technical analysis by incorporating trend detection and momentum indicators like moving averages and the Relative Strength Index (RSI) to offer insights into the price action of various market sectors.
Core Features:
1. Sector-Based Analysis: The script covers 20 major sectors from the NSE (National Stock Exchange) such as Auto, Banking, Energy, FMCG, IT, Pharma, and others. Users can customize which sectors they wish to analyze using the available input fields.
Technical Indicators: The script uses two core technical indicators to detect trends and momentum:
2. Moving Averages: The script calculates both fast and slow exponential moving averages (EMAs). These are critical for identifying short- and long-term price trends and crossovers, helping detect shifts in momentum.
3. Relative Strength Index (RSI): A well-known momentum indicator that shows whether a stock is overbought or oversold. This script uses a 14-period RSI to gauge the strength of each sector.
4. Trend Detection: The script identifies whether the current market trend is "Up" or "Down" based on the relationship between the fast and slow EMAs (i.e., whether the fast EMA is above or below the slow EMA). It highlights this trend visually in a table format, allowing quick and easy trend recognition.
5. Gain/Loss Tracking: This feature calculates the percentage gain or loss since the last EMA crossover (a key point in trend change), giving users a sense of how much the price has moved since the trend shifted.
6. Customizable Table for Display: The script displays the analyzed data in a table format, where users can view each sector's:
Symbol
Trend (Up or Down)
RSI Value
Gain/Loss Since the Last EMA Crossover
This table is customizable in terms of size and color theme (dark or light), providing flexibility in presentation for different charting styles.
How It Works:
Sector Selection: Users can input up to 20 different sector symbols for analysis.
Moving Averages: Users can define the period lengths for both the fast and slow EMAs to suit their trading strategies.
Table Options: Choose between different table sizes and opt for a dark theme to enhance the visual appearance on charts.
How to Use:
Select the symbols (sectors) that you want to track. The script includes pre-configured symbols for major sectors on the NSE, but you can modify these to suit your needs.
Adjust the fast and slow EMA lengths to your preference. A common setting would be 3 for the fast EMA and 4 for the slow EMA, but more conservative traders might opt for higher values.
Customize the table size and theme based on your preference, whether you want a compact table or a larger one for easier readability.
Why Use This Script:
This script is ideal for traders looking to:
Monitor multiple market sectors simultaneously.
Identify key trends across sectors quickly.
Understand momentum and detect potential reversals through RSI and EMA crossovers.
Stay informed on sector performance using a clear visual table that tracks gains or losses.
By using this script, traders can gain better insights into sector-based trading strategies, improve their sector rotation tactics, and stay informed about the broader market environment. It provides a powerful yet easy-to-use tool for both beginner and advanced traders.
Pesquisar nos scripts por "the script"
[TR] Engulf Patterns by SM
Engulf Pattern by SM
Overview:
The " Engulf Pattern by SM" script is designed to identify bullish and bearish engulfing candlestick patterns on TradingView charts. Engulfing patterns are significant in technical analysis as they often indicate potential reversals in market trends.
Features:
- Bullish Engulfing Pattern Detection: The script identifies bullish engulfing patterns, which occur when a larger bullish candle completely engulfs the body of the previous smaller bearish candle.
- Bearish Engulfing Pattern Detection: Similarly, it detects bearish engulfing patterns, where a larger bearish candle engulfs the body of the preceding smaller bullish candle.
- Body Size Filtering: The script includes a feature to filter patterns based on the size of the candle bodies, allowing for more precise marking of significant patterns.
- Visual Markers: The script plots visual markers on the chart to highlight the detected engulfing patterns, making it easy for traders to spot them.
How It Works:
1. Bullish Engulfing Pattern:
- The script checks for a smaller bearish candle followed by a larger bullish candle.
- The body of the bullish candle must completely cover the body of the bearish candle.
- The size of the bullish candle's body must meet a specified threshold to be considered significant.
2. Bearish Engulfing Pattern:
- The script looks for a smaller bullish candle followed by a larger bearish candle.
- The body of the bearish candle must completely engulf the body of the bullish candle.
- The size of the bearish candle's body must meet a specified threshold to be considered significant.
Usage:
- Add the Script: Apply the " Engulf Pattern by SM" script to your TradingView chart.
- Configure Settings: Customize the script settings to suit your trading strategy, including visual marker styles and body size thresholds.
- Monitor Visual Markers: Keep an eye on the visual markers to identify potential trading opportunities based on engulfing patterns.
Disclaimer:
This script is not intended to be used as a direct entry signal. It should be used as a confluence in your overall trading plan. Always conduct your own analysis and consider multiple factors before making any trading decisions.
Feel free to customize this writeup further to match your specific needs! If you have any other requests or need additional details, just let me know.
MSS-FVG Fusion by Tren10xMSS-FVG Fusion Script by Tren10x
What the Script Does:
The MSS-FVG Fusion Script by Tren10x combines Market Structure Shifts (MSS) and Fair Value Gaps (FVG) to provide traders with strategic entry points, customizable features, and a comprehensive tool for trading analysis. It identifies shifts and breaks in market structure while pinpointing significant fair value gaps.
How the Script Works:
Strategic Entry Points:
The script's logic detects fair value gaps formed prior to a market structure shift and uses these gaps as optimal entry points, integrating the precision of MSS with the significance of FVGs
Accurate and Timely Entry Points:
By combining MSS and FVG, the script aims to offer more precise and timely entry points, enhancing the overall trading strategy.
Dynamic Features for Cleaner Approach:
Users can toggle between box fair value gaps and bar fair value gaps, providing a cleaner and more customizable approach to analyzing price action.
Display of Untested FVGs:
The script is designed to display only untested fair value gaps based on how they are filled. It differentiates between gaps filled by the body of a candle and those filled by the wick, ensuring that only gaps that have not been fully tested are highlighted.
Delete Wick Filled FVG highlights that the FVG should be deleted if the price only wicks through the FVG but does not close outside it, indicating that the gap has been tested but not fully filled.
Whereas Delete Body Filled FVG focuses on the scenario where the price action closes outside of the FVG, indicating that the gap has been fully filled. So in this screenshot above, there is a large wick through the FVG but no close below. Therefore, this FVG will remain until there is a close in the other direction.
Or choose both! Enabling both options will remove both body filled and wick filled FVGs from your chart, leaving only FVGs that are still fully or partially untested, such as the image above.
Features:
Market Structure Shifts (MSS):
Detects shifts in market structure to help anticipate potential trend reversals and capitalize on new trading opportunities.
Market Structure Breaks (MSB):
Highlights breaks in market structure, signaling potential continuation or reversal points in the market.
Fair Value Gaps (FVG):
Identifies gaps in price where the market has moved rapidly, pinpointing potential areas of support and resistance. Includes a 50% line of the FVG, which often acts as a key level.
Customization Options:
Text Customization: Add personalized text and customize aspects such as color, line style, text size, border color and style, and FVG bar width.
FVG Handling: Options to delete FVGs where the price has wicked through but did not close inside the box, or delete FVGs when the price has closed outside the box.
FVG Display Options: Choose between traditional FVG boxes or a cleaner FVG bar look.
Input Options: Set the number of FVGs and market structure indicators displayed on the chart.
How to Use the Script:
Add to Chart:
Load the MSS-FVG Fusion Script onto your TradingView chart.
Customize Settings:
Adjust text, colors, line styles, and other settings to fit your trading preferences.
Analyze the Chart:
Observe the highlighted MSS, MSB, and FVGs to identify potential entry and exit points.
Use the dynamic features to toggle between different FVG display options and focus on untested gaps.
Leverage the 50% lines of FVGs and other key levels to make informed trading decisions.
What Makes This Script Original:
This script is original because it integrates the strategic fusion of Market Structure Shifts (MSS) and Fair Value Gaps (FVG) for entry points, offers dynamic customization between box and bar FVGs, and highlights only untested gaps based on how they are filled, providing a tailored and actionable analysis.
The Flip by Tren10xWhat the Script Does:
"The Flip" is a simple trading script designed to enhance market analysis and trading decisions by detecting key price levels and timeframe shifts. It identifies when timeframes switch from bullish to bearish or vice versa and displays this information using the 50% levels and the Full Time Frame Continuity (FTFC) table.
How the Script Works:
Detection of Key Levels:
50% Level of the Previous Candle: The script calculates and displays the midpoint of the previous candle, helping traders quickly identify potential reversal points and key support or resistance levels.
Opening Print Levels: The script tracks the opening prices for various timeframes (Day, Week, Month, Quarter, and Year), indicating whether the current price is above or below these levels to understand market sentiment and trends.
High/Low Levels: It monitors and displays the Previous Day High/Low, Week High/Low, Month High/Low, Quarter High/Low, and Year High/Low, highlighting significant price levels and potential breakout or breakdown points.
Full Time Frame Continuity Table:
The script provides a visual table showing the alignment of different timeframes (bullish or bearish), allowing traders to make informed decisions based on the overall market structure.
How to Use the Script:
Add to Chart:
Load "The Flip" script onto your TradingView chart.
Customize Settings:
Adjust the appearance and display settings to fit your trading preferences.
Analyze the Chart:
Use the 50% level of the previous candle to identify potential reversal points.
Track the opening print levels for various timeframes to gauge market sentiment.
Monitor the high/low levels to spot significant price levels and potential breakout or breakdown points.
Refer to the FTFC table to see the alignment of different timeframes and make decisions based on the overall market structure.
What Makes This Script Original:
Integration with "The Strat"
Inspired by "The Strat" created by Rob Smith, "The Flip" focuses on the critical moment when timeframes switch from bullish to bearish or vice versa, providing a unique perspective on market movements.
Comprehensive Market View:
By displaying the 50% level of the previous candle, opening print levels, high/low levels, and a full time frame continuity table, the script offers a holistic view of the market, helping traders make more informed decisions.
User-Friendly Visualization:
The script's visual indicators and FTFC table make it easy to quickly assess market conditions and potential trading opportunities, enhancing both the efficiency and effectiveness of market analysis.
When Full Time-Frame Continuity is bullish, you will see a green check mark ✔️, indicating all major timeframes (Daily, Weekly, Month, Quarter, and Year) are aligned.
When Full Time-Frame Continuity is bearish, you will see a red drop 🩸, indicating all major timeframes (Daily, Weekly, Month, Quarter, and Year) are aligned.
Otherwise, you will see mixed timeframes.
Swing High/Low & EMA Cross AlertScript Description:
This script on TradingView combines the detection of Swing High/Low points with exponential moving average (EMA) crossovers to provide buy and sell alerts and to mark swing points on the chart.
What the Script Does:
Swing High/Low Detection:
Uses the ta.pivothigh function to detect significant high points and the ta.pivotlow function to detect significant low points.
For each detected point, the script checks if it is a new higher high (HH) or lower high (LH) for the highs, and a new lower low (LL) or higher low (HL) for the lows.
Creates visual labels to identify these points on the chart, helping traders to visualize potential reversal points.
EMA Crossover:
Calculates two EMAs: a fast EMA (fastEMA) with a default period of 50 and a slow EMA (slowEMA) with a default period of 200.
Detects bullish crossovers (when fastEMA crosses above slowEMA) and bearish crossunders (when fastEMA crosses below slowEMA).
Generates buy and sell alerts based on these crossovers.
How the Script Works:
EMA Calculation: EMAs are calculated using the closing prices and user-defined periods.
Swing High/Low Detection: Uses the high and low values from the previous length bars to determine the swing points.
Alert Generation: Alerts are triggered when crossovers between the EMAs occur.
How to Use the Script:
Add to Chart: Insert the script into TradingView and apply it to the desired chart.
Configure Parameters:
Adjust the detection period for swing points (length).
Configure the periods for the EMAs (fastLen and slowLen).
Customize the colors for the swing point labels as per your preference.
Monitor Alerts: Use the EMA crossover alerts to make buy or sell decisions. Observe the swing point labels to identify potential trend reversals.
Justification for the Combination:
EMAs: Widely used to identify trend direction. Combining a fast EMA with a slow EMA helps capture both short-term and long-term trend changes.
Swing High/Low: Identifies reversal points in price, which are crucial for determining potential entry and exit points in trades.
Combination:
Combining EMAs and Swing High/Low provides a comprehensive view of price behavior, helping traders to effectively identify trends and reversal points.
This script is useful for traders who want to combine trend analysis (via EMAs) with the identification of reversal points (Swing High/Low), providing a more complete view of price behavior on the chart.
3rd WaveHello All,
In Elliott Wave Theory, 3rd wave is not the shortest one in the waves 1/3/5 and it's usually longest one. so if we can catch it then we may get good opportunities to trade. This script finds 3rd wave experimentally. it can be also the 3rd waves in the waves 1, 3, 5, A and C. the 3rd wave should have greater volume than other waves, the script can check its volume and compare with the volumes of the waves 1 and 2 optionally.
Pine Team released Pine version 5! This script was developed in v5 and it uses Library feature of Pine v5 for the zigzag functions. This script is also an example for the Pine developers who learn Pine v5 and Libraries.
Options:
Zigzag Period: is the length that is used to calculate highest/lowest and the zigzag waves
Min/Max Retracements: is the retracement rates to check the wave 2 according to wave 1. for example; if min/max values are 0.500-0.618 then wave 2 must be minimum 0.500 of wave 1 and maximum 0.618 of wave 1.
Check Volume Support: is an option to compare the volumes of1. 2. and . waves. if you enable this option then the script checks their volume and 3rd wave volume must be greater then 1 and 2
there are 4 options for the targets. you can enable/disable and change their levels. targets are calculated using length of wave 1.
Options to show breakout zone, zigzag, wave 1 and 2.
and some options for the colors.
The Library that is used in this script:
P.S. This is an experimental work and can be improved. So do not hesitate to drop your comments under the script ;)
Enjoy!
ATR5 Gerchik&CoThis script is designed to calculate and display the Average True Range (ATR) based on the last 5 bars on a daily (D1) chart. The ATR is a key indicator used to measure market volatility by decomposing the entire range of an asset price for that period. Additionally, the script provides a visual representation of the percentage of the current day's range relative to the calculated ATR.
How It Works
Calculation of ATR:
The script calculates the ATR by taking the high and low of each of the last 5 daily bars, computing the range for each bar, and then averaging these values.
The ATR value is then dynamically formatted based on the decimal places relevant to the asset's tick size.
Percentage of Current Day's Range:
The script also calculates the percentage of the current day's range compared to the ATR. This helps traders quickly assess how much of the average range has been covered today.
Visual Display:
The ATR value and the percentage of the current day's range are displayed in the top-right corner of the chart for easy reference.
Usage
Identifying Volatility: The ATR is a widely used indicator to identify periods of high and low volatility in the market. Traders can use this to adjust their strategies accordingly, such as widening or tightening stop-loss levels.
Entry and Exit Points: Knowing the ATR can help traders decide on optimal entry and exit points based on expected market movements.
Risk Management: By understanding the market volatility, traders can better manage their risk by adjusting position sizes and stop-loss levels.
Example
The script shows the ATR calculated over the last 5 days, formatted to match the asset's decimal places.
It also displays the current day's range as a percentage of the ATR, providing immediate insight into the day's volatility relative to the recent average.
How to Use
Apply the Script: Add the script to your TradingView chart.
Analyze the Display: Observe the ATR value and the percentage of the current day's range displayed in the top-right corner.
Make Informed Decisions: Use the information to make informed trading decisions based on the volatility and range of the asset.
Code Explanation
The script uses Pine Script v5 and includes functions to calculate the range of bars, average these ranges, and format the output appropriately. The ATR value and percentage are displayed using the table functionality to ensure clear and precise placement on the chart.
This description should provide users with a clear understanding of what the script does, how it can be used, and the concepts behind its calculations. Let me know if you need any further adjustments or additional details!
OptiRange | FractalystWhat’s the purpose of this indicator?
This indicator is designed to integrate probabilities with liquidity levels, while also providing a mechanical method for identifying market structure by using Fractals by Williams.
----
How does this indicator identify market structure?
This script identifies breaks of market structure by analyzing candle closures above or below swing levels.
As soon as a candle has closed above or below the initial swing on your charts, the script validates that there is at least one swing preceding the break before confirming it as a structural break.
Once a break is occured then it assigns a numeric ID to the break starting from 1 and draws two extremities: one as liquidity and the other as invalidation (LIQ/INV).
----
What do the extremities show us on the charts?
you'll see two clear extremities on your charts:
1. The first extremity represents the structural liquidity level. (LIQ)
2. The other extremity indicates the level that, if price breaks through it, results in a structural shift to the opposite side. (INV)
----
How does it calculate probabilities?
Each break of market structure, denoted as X, is assigned a unique ID, starting from X1 for the first break, X2 for the second, and so on.
The probabilities are calculated based on breaks holding, meaning price closing through the liquidity level, rather than invalidation. This probability is then divided by the total count of similar numeric breaks.
For example, if 75 out of 100 bullish X1s become X2, then the probability of X1 becoming X2 on your charts will be displayed as 80% in the following format: ⬆ 75%
----
What are the Fractal blocks?
Fractal blocks refer to the most extreme swing candle within the latest break. They can serve as significant levels for price rejection and may guide movements toward the next break, often in confluence with probability analysis for added confirmation.
If the price retraces back to a bullish fractal block, we aim to look for buy/long positions. Conversely, if the price retraces back to a bearish fractal block, we aim to look for sell/short positions.
----
What are mitigations?
Mitigations refer to specific price action occurrences identified by the script:
1- When the price reaches the most recent fractal block and confirms a swing candle, the script automatically draws a line from the swing to the fractal block bar and labels it with a checkmark.
1- If the price wicks through the invalidation level and then retraces back to the fractal block while forming a swing candle, the script labels this as a double mitigation on the chart.
This level will serve as the next potential invalidation level if a break occurs in the same direction.
----
What does the bottom table display?
The bottom table presents numeric breaks across multiple timeframes, with the text color indicating the trend direction. Enabling traders to assess the higher timeframes market trend without needing to switch between timeframes manually.
----
How to use the indicator?
1. Add "OptiRange | Fractalyst" to your TradingView chart.
2. Choose the pair you want to analyze or trade.
3. Start with the 12-month timeframe.
4. Use the table bias with the maximal settings to find the lowest timeframe that’s showing you the mitigation (✓)
5. Confirm that the probability of the current liquidity is higher than 50%.
6. Place your limit order at the Fibonacci level of 0.618 of the mitigation candle.
7. Set your stop-loss at the mitigation level.
8. Determine your take profit based on the liquidity of the current timeframe, or if possible, the liquidity of a higher timeframe in the same direction; otherwise, use the liquidity of the current timeframe.
9. Risk adjustment and Trade management based on your personal preferences.
Example:
----
User-input settings and customizations
----
What makes this indicator original?
- This script leverages Fractals, a fundamental concept in many trading methodologies.
- For a break to be considered valid, price must have at least two swings:
a swing high followed by a swing low for bullish breaks and a swing low follow by a swing high for bearish breaks.
- This means that each swing point is confirmed by the formation of two candles on its left and two candles on its right, totaling 5 candles for each swing high and swing low, thus requiring 10 candles overall. (This strict rule ensures a thorough assessment of market structure before confirming a break.)
- The script assigns a unique numerical ID to each break of structure, starting from 1.
This numbering system enables the script to calculate the probability of the most recent break becoming the next break, while also factoring in the trend direction.
- Additionally, this script provides insights into higher timeframes' break IDs in the bottom/top centre table, keeping traders informed about the overall higher timeframe picture.
- By integrating these methodologies, the script introduces a unique and systematic method for identifying market structure, thereby enhancing its originality in guiding trading decisions.
Terms and Conditions | Disclaimer
Our charting tools are provided for informational and educational purposes only and should not be construed as financial, investment, or trading advice. They are not intended to forecast market movements or offer specific recommendations. Users should understand that past performance does not guarantee future results and should not base financial decisions solely on historical data. By utilizing our charting tools, the buyer acknowledges that neither the seller nor the creator assumes responsibility for decisions made using the information provided. The buyer assumes full responsibility and liability for any actions taken and their consequences, including potential financial losses. Therefore, by purchasing these charting tools, the customer acknowledges that neither the seller nor the creator is liable for any unfavorable outcomes resulting from the development, sale, or use of the products.
The buyer is responsible for canceling their subscription if they no longer wish to continue at the full retail price. Our policy does not include reimbursement, refunds, or chargebacks once the Terms and Conditions are accepted before purchase.
By continuing to use our charting tools, the user acknowledges and accepts the Terms and Conditions outlined in this legal disclaimer.
IU Support and Resistance How this script works :
1. This script is an indicator script which calculates the support and resistance based on pivot high and pivot low and plot them as zone onto the chart.
2. The first user input is minimum number of touches which indicates how many time pivot high or pivot low should be tested in order to be a valid support or resistance level.
3.The second user input "Set Buffer" check if the user wants to use a custom buffer or not if it's unchanged then the default is 50% of the 1000 period ATR value .
4. If "Set Buffer" is checked meaning if it's set to true then only the third user input will be execute which is the "buffer" which indicates how much price range user wants his zone to have.
5. After the user input part this script create two arrays to store the pivot high and pivot low values every time he have a new value.
6. This script also creates two arrays to store the bar index of the bar where the new pivot high or pivot low is detected those bar index will be later use while creating the support and resistance zones.
7. Then the script creates four more arrays to store the final support and resistance values and their respective bar index which will be use for creating the support and resistance zones.
8. After this the script check that we are at the last bar of our chart if we are then we sort the support and resistance indices by descending order and store them into an new variable after that we sort the support and resistance arrays by descending order, then we loop through the arrays elements and we check if the previous element comes under the zone of the current element if so we increase the "minimum touch" variable by 1, once we have 5 or more count in our variable and we no longer have a valid zone then we store the element value and the sorted index of the element into our final arrays.
9. Finally the script will loop through the final support and resistance arrays and it will create a box for each support and resistance with respect to extending it on both directions.
10.The green zones are the support and the red zones are the resistance.
How user can benifits from this script:
1. User can automatically identify support and resistance zones and he can plan his trade as per that.
2. User can test how different markets reacts with support and resistance zones.
3. User can plan breakout trade on the break of the support or resistance level.
4. User can adjust he stop loss and take profit as per the support and resistance zones.
Linear Reg CandlesThe provided Pine Script is a TradingView script for creating a technical analysis indicator called "Humble LinReg Candles." This script includes features such as linear regression for open, high, low, and close prices, signal smoothing with simple or exponential moving averages, and a trailing stop based on Average True Range (ATR). Additionally, the script contains a screener section to display signals for a list of specified symbols.
Here is a breakdown of the script:
Indicator Settings:
It defines various input parameters such as signal smoothing length, linear regression settings, and options for using simple moving averages.
Linear regression is applied to open, high, low, and close prices based on user-defined settings.
ATR Trailing Stop:
It calculates the Average True Range (ATR) and uses it to determine a trailing stop for buy and sell signals.
Signals are generated based on whether the close price is above or below the ATR trailing stop.
Plotting:
The script plots the calculated signal on the chart using the plot function.
Buy and Sell Conditions:
Buy and sell conditions are defined based on the relationship between the close price and the ATR trailing stop.
Plot shapes and bar colors are used to visually represent buy and sell signals on the chart.
Alerts:
Alerts are triggered when buy or sell conditions are met.
Screener Section:
The script defines a screener section to display a watchlist of symbols with long and short signals.
The watchlist includes a set of predefined symbols with corresponding long and short signals.
Table Theme Settings:
The script allows customization of the table theme, including background color, frame color, and text color.
The size and location of the table on the chart can also be customized.
Screener Function:
A function getSignal is defined to determine long and short signals for each symbol in the watchlist.
The getSym function is used to extract the symbol name from the symbol string.
Dashboard Creation:
The script creates a table (dashboard) to display long and short signals for the symbols in the watchlist.
The table includes headers for "Long Signal" and "Short Signal" and lists the symbols with corresponding signals.
Overall, the script combines technical analysis indicators and a screener to help traders identify potential buy and sell signals for a set of specified symbols.
Kiss Of DeathThis Pine Script code is designed to create a technical indicator on a TradingView chart known as the "Kiss of Death" signal. Here's a description of the script:
The script begins by specifying that it is intended for use with Pine Script version 5 (//@version=5) and sets the indicator's title to "Kiss of Death Signal" with indicator(title="Kiss of Death Signal", overlay=true).
The code calculates a 21-period Exponential Moving Average (EMA) of the closing prices (ema21 = ta.ema(close, 21)). The EMA is a commonly used trend-following indicator.
It also determines the lowest low of the previous two periods (prev_low = ta.lowest(low, 2)). This variable will be used in the signal condition.
The script then defines the signal condition for the "Kiss of Death" pattern. This pattern occurs when:
The current closing price is below the 21-period EMA (close < ema21).
The previous closing price is above or equal to the 21-period EMA (close >= ema21).
The current low is below the lowest low of the previous two periods (low < prev_low).
Next, it uses plot to display the 21-period EMA on the chart (plot(ema21, color=color.blue, title="21 EMA")), using a blue color.
Finally, the script utilizes plotshape to mark the points on the chart where the "Kiss of Death" signal condition is met. It places a red, downward-pointing triangle above the corresponding bars
In summary, this script provides a visual representation of the "Kiss of Death" signal on a TradingView chart, helping traders identify potential bearish reversal points based on the defined conditions. The 21-period EMA is also displayed to provide additional context.
What makes this script unique is that it specifically identifies and visualizes a specific technical pattern known as the "Kiss of Death". The "Kiss of Death" is a bearish reversal pattern that occurs when the current price falls below a specific moving average (in this case, a 21-period Exponential Moving Average or EMA) after previously being above it, and when the current low is below the lowest low of the previous two periods.
This script stands out because it provides a clear and visual representation of this particular pattern on a TradingView chart. By using a red, downward-pointing triangle above the bars, it helps traders quickly identify potential bearish reversal points based on the defined conditions.
The combination of a specific pattern, in this case the "Kiss of Death", along with a visual indicator, sets this script apart and makes it a useful tool for traders looking to identify potential bearish reversal points in their technical analysis.
IU Average move How The Script Works :
1. This script calculate the average movement of the price in a user defined custom session and plot the data in a table from on top left corner of the chart.
2. The script takes highest and lowest value of that custom session and store their difference into an array.
3. Then the script average the array thus gets the average price.
4. Addition to that the script converter the price pip change into percentage in order to calculate the value in percentage form.
5. This script is pure price action based the script only take price value and doesn't take any indicator for calculation.
6. The script works on every type of market.
7. If the session is invalid it returns nothing
8. The background color, text color and transparency is changeable.
How User Can Benefit From This Script:
1. User can understand the volatility of any session that he/she wish to trade.
2. It can be helpful for understanding the average price moment of any tradeble asset.
3. It will give the average price movement both in percentage and points bases.
4. By understanding the volatility user can adjust his stop loss or take profit with respect his risk management.
Naresh CE with 13 62 crossThank you to Lauris, for sharing knowledge and logic for the EMA cross-over (13/62).
The provided Pine Script is a custom script, which is designed to display Chandelier Exit levels on the price chart and generate buy and sell labels based on specific conditions.
Here's a breakdown of the key components and logic of the Pine Script:
Exponential Moving Averages (EMAs):
ema1: The 13-period Exponential Moving Average (EMA) of the closing price.
ema2: The 62-period Exponential Moving Average (EMA) of the closing price.
EMA Plotting:
The script plots the ema1 (13 EMA) and ema2 (62 EMA) lines on the price chart using the plot() function.
Chandelier Exit Calculation:
The Chandelier Exit values are calculated using the Average True Range (ATR).
The script calculates the atr (Average True Range) using the atr() function with the given length.
longStop is calculated as the highest price of the specified length minus the ATR, and shortStop is calculated as the lowest price plus the ATR.
Directional Indicator (dir):
The dir variable is used to determine the direction of the Chandelier Exit based on the comparison of the current close price with the previous long and short stops.
Buy and Sell Signals:
The script generates buy signals when the Chandelier Exit direction changes from short to long (buySignal).
Similarly, sell signals are generated when the Chandelier Exit direction changes from long to short (sellSignal).
The conditions for buy and sell signals are based on the value of dir and its previous value.
Buy and Sell Labels:
Buy and sell labels are plotted on the chart using plotshape() based on the generated buy and sell signals.
The showLabels input parameter controls whether to display the buy and sell labels.
Highlighting States:
The script fills the chart area with color (green for long, red for short) based on the direction of the Chandelier Exit values.
The highlightState input parameter controls whether to apply this highlighting.
Alerts:
The script includes alert conditions based on the direction change (changeCond), buy signal (buySignal), and sell signal (sellSignal) using the alertcondition() function.
The script aims to help traders identify potential buy and sell signals based on the Chandelier Exit levels derived from the 13 EMA and 62 EMA crossovers. The Chandelier Exit values can serve as dynamic stop-loss levels for long and short positions.
Auto Fibonacci TP Levels [WJ]This script automatically draws Fibonacci levels on a trading chart which are popular tools for traders seeking to identify potential areas of support and resistance.
Here are the features and benefits of this script:
1. Versatility in Sourcing Trade Entries:
Trade source can be customized to either longs (buying trades) or shorts (selling trades). The user has the flexibility to adjust their entry points based on their trading strategy.
Up to 2 sources can be used, expand if you wish.
As it is coded now, the source you have to pick from has to have a 'plot' that sends a (long) or (short) and is equal to 1 and 2 respectively.
Example: In the script you want to use for Long and Shorts, make a plot like this:
plot(LONG ? 1 : SHORT ? 2 : 0, title = "⭐ Outbound signal", display = display.none, editable = false)
The variable name of the LONG and SHORT needs to be the same as the one your code is using to indicate those trades.
2. Flexible Fibonacci Start Points:
The starting points for drawing Fibonacci levels can be customized for both longs and shorts.
3. Configurable Historical Data Length:
Users can adjust the number of historical bars to analyze for calculating higher highs (HH) and lower lows (LL).
4. Informative Labels and Lines:
The script can be configured to show the distance from the entry point to the 0.618 Fibonacci level (the so-called "golden ratio"). This helps traders to visualize the risk-reward ratio of their trades.
It indicates when a Fibonacci level was crossed which could signal a potential reversal.
It allows users to display the golden pocket levels only (0.618 and 0.65) or all the Fibonacci levels.
5. Customizable Fibonacci Levels and Colors:
Users can define their preferred Fibonacci levels and assign specific colors to each of these levels. This helps in identifying different levels quickly and intuitively.
The script also includes functionality for setting stop loss levels for short and long positions, which helps in risk management.
6. Clear Visualization of Crossing Levels:
If a trade crosses a specific Fibonacci level, the script draws lines indicating the crossing. This can help traders to identify potential breakout or reversal points.
7. Calculation of Fibonacci Boxes:
For each Fibonacci level, the script creates a box that indicates the level's range on the chart. This visual aid can help traders to better understand the price movement within these levels.
8. Customizable Labels:
The script provides percentage difference labels at each Fibonacci level, displaying the difference between the price at that level and the price at the 0 Fibonacci level. This can help users quickly understand the price change in terms of percentage at each level.
9. Performance Efficiency:
The script uses arrays to store and manage the Fibonacci levels and their associated colors. This approach enhances the performance of the script, especially when processing a large amount of data.
10. Adaptability:
This script automatically adapts to market movements. When the price crosses a level, it identifies and records this event, aiding the trader's decision-making process.
Overall, this script is highly customizable, adaptable and provides a clear visual representation of important trading data, making it an effective tool for traders using Fibonacci levels in their strategies.
NOTE: If you can't see the fib lines, it is because they have already been triggered/touched by a candle and they are set to not continue after they are touched.
Price based concepts / quantifytools- Overview
Price based concepts incorporates a collection of multiple price action based concepts. Main component of the script is market structure, on top of which liquidity sweeps and deviations are built on, leaving imbalances the only standalone concept included. Each concept can be enabled/disabled separately for creating a selection of indications that one deems relevant for their purposes. Price based concepts are quantified using metrics that measure their expected behavior, such as historical likelihood of supportive price action for given market structure state and volume traded at liquidity sweeps. The concepts principally work on any chart, whether that is equities, currencies, cryptocurrencies or commodities, charts with volume data or no volume data. Essentially any asset that can be considered an ordinary speculative asset. The concepts also work on any timeframe, from second charts to monthly charts. None of the indications are repainted.
Market structure
Market structure is an analysis of support/resistance levels (pivots) and their position relative to each other. Market structure is considered to be bullish on a series of higher highs/higher lows and bearish on a series of lower highs/lower lows. Market structure shifts from bullish to bearish and vice versa on a break of the most recent pivot high/low, indicating weak ability to defend a key level from the dominating side. Supportive market structure typically provides lengthier and sustained trending environment, making it an ideal point of confluence for establishing directional bias for trades.
Liquidity sweeps
Liquidity sweeps are formed when price exceeds a pivot level that served as a provable level of demand once and is expected to display demand again when revisited. A simple way to look at liquidity sweeps is re-tests of untapped support/resistance levels.
Deviations
Deviations are formed when price exceeds a reference level (market structure shift level/liquidity sweep level) and shortly closes back in, leaving participating breakout traders in an awkward position. On further adverse movement, stuck breakout traders are forced to cover their underwater positions, creating ideal conditions for a lengthier reversal.
Imbalances
Imbalances, also known as fair value gaps or single prints, depict areas of inefficient and one sided transacting. Given inclination for markets to trade efficiently, price is naturally attracted to areas that lack proper participation, making imbalances ideal targets for entries or exits.
Key takeaways
- Price based concepts consists of market structure, liquidity sweeps, deviations and imbalances.
- Market structure shifts from bullish to bearish and vice versa on a break of the most recent pivot high/low, indicating weak ability to defend a key level from the dominating side.
- Supportive market structure tends to provide lengthier and sustained movement for the dominating side, making it an ideal foundation for establishing directional bias for trades.
- Liquidity sweeps are formed when price exceeds an untapped support/resistance level that served as a provable level of demand in the past, likely to show demand again when revisited.
- Deviations are formed when price exceeds a key level and shortly closes back in, leaving breakout traders in an awkward position. Further adverse movement compels trapped participants to cover their positions, creating ideal conditions for a reversal.
- Imbalances depict areas of inefficient and one sided transacting where price is naturally attracted to, making them ideal targets for entries or exits.
- Price based concepts are quantified using metrics that measure expected behavior, such as historical likelihood of supportive structure and volume traded at liquidity sweeps.
- For practical guide with practical examples, see last section.
Accessing script 🔑
See "Author's instructions" section, found at bottom of the script page.
Disclaimer
Price based concepts are not buy/sell signals, a standalone trading strategy or financial advice. They also do not substitute knowing how to trade. Example charts and ideas shown for use cases are textbook examples under ideal conditions, not guaranteed to repeat as they are presented. Price based concepts notify when a set of conditions are in place from a purely technical standpoint. Price based concepts should be viewed as one tool providing one kind of evidence, to be used in conjunction with other means of analysis.
Price based concepts are backtested using metrics that reasonably depict their expected behaviour, such as historical likelihood of supportive price movement on each market structure state. The metrics are not intended to be elaborate and perfect, but to serve as a general barometer for feedback created by the indications. Backtesting is done first and foremost to exclude scenarios where the concepts clearly don't work or work suboptimally, in which case they can't be considered as valid evidence. Even when the metrics indicate historical reactions of good quality, price impact can and inevitably does deviate from the expected. Past results do not guarantee future performance.
- Example charts
Chart #1 : BTCUSDT
Chart #2 : EURUSD
Chart #3 : ES futures
Chart #4 : NG futures
Chart #5 : Custom timeframes
- Concepts
Market structure
Knowing when price has truly pivoted is much harder than it might seem at first. In this script, pivots are determined using a custom formula based on volatility adjusted average price, a fundamentally different approach to the widely used highest/lowest price within X amount of bars. The script calculates average price within set period and adjusts it to volatility. Using this formula, the script determines when price has turned significantly enough and aggressively enough to constitute a relevant pivot, resulting in high accuracy while ruling out subjective decision making completely. Users can adjust length of market structure basis and sensitivity of volatility adjustment to achieve desired magnitude of pivots, reflected on the average swing metrics. Note that structure pivots are backpainted. Typical confirmation time for a pivot is within 2-3 bars after peak in price.
Market structure shifts
Generally speaking, traders consider market structure to have shifted when most recent structure high/low gets taken out, flipping underlying bias from one side over to the other (e.g. from bullish structure favoring upside to bearish structure favoring downside). However, there are many ways to approach the concept and the most popular method might not always be the best one. Users can determine their own market structure shift rules by choosing source (close, high, low, ohlc4 etc.) for determining structure shift. Users can also choose additional rules for structure shift, such as two consecutive closes above/below pivot to qualify as a valid shift.
Liquidity sweeps
Users can set maximum amount of bars liquidity levels are considered relevant from the moment of confirmed pivot. By default liquidity levels are monitored for 250 bars and then discarded. Level of tolerance can be set to anything between 100 and 1000 bars. For each liquidity sweep, relative volume (volume relative to volume moving average) is stored and added to average calculations for keeping track of typical depth of liquidity found at sweeps.
Deviations
Users can set a maximum amount of bars price has to spend above/below reference level to consider a deviation to be in place. By default set to 6 bars.
Imbalances
Users can set a desired fill point for imbalances using the following options: 100%, 75%, 50%, 25%. Users can also opt for excluding insignificant imbalances to attain better relevance in indications.
- Backtesting
Built-in backtesting is based on metrics that are considered to reasonably quantify expected behaviour of the main concept, market structure. Structure feedback is monitored using two metrics, supportive structure and structure period gain. Rest of the metrics provided are informational in nature, such as average swing and average relative volume traded at liquidity sweeps. Main purpose of the metrics is to form a general barometer for monitoring whether or not the concepts can be viewed as valid evidence. When the concepts are clearly not working optimally, one should adjust expectations accordingly or take action to improve performance. To make any valid conclusions of performance, sample size should also be significant enough to eliminate randomness effectively. If sample size on any individual chart is insufficient, one should view feedback scores on multiple correlating and comparable charts to make up for the loss.
For more elaborate backtesting, price based concepts can be used in any other script that has a source input, including fully mechanic strategies utilizing Tradingview's native backtester. Each concept and their indications (e.g. higher low on a bearish structure, lower high on a bullish structure, market structure shift up, imbalance filled etc.) can be utilized separately and used as a component in a backtesting script of your choice.
Structure feedback
Structure feedback is monitored using two metrics, likelihood of supportive price movement following a market structure shift and average structure period gain. If either of the two employed tests indicate failed reactions beyond a tolerable level, one should take action to improve feedback by adjusting the settings. If feedback metrics after adjusting the settings are still insufficient, the concepts are working suboptimally for the given chart and cannot be regarded as valid technical evidence as they are.
Metric #1 : Supportive structure
Each structure pivot is benchmarked against its respective structure shift level. Feedback is considered successful if structure pivot takes place above market structure shift level (in the case of bullish structure) or below market structure shift level (in the case of bearish structure). Structure feedback constitutes as one test indicating how often a market structure state results in price movement that can be considered supportive.
Metric #2 : Structure period gain
Each structure period is expected to present favorable appreciation, measured from one market structure shift level to another. E.g. bullish structure period gain is measured from market structure shift up level to market structure shift down level that ends the bullish structure period. Bearish structure is measured in a vice versa manner, from market structure shift down level to market structure shift up level that ends the bearish structure period. Feedback is considered successful if average structure period gain is supportive for a given structure (positive for bullish structure, negative for bearish structure).
Additional metrics
On top of structure feedback metrics, percentage gain for each swing (distance between a pivot to previous pivot) is recorded and stored to average calculations. Average swing calculations shed light on typical pivot magnitude for better understanding changes made in market structure settings. Average relative volume traded at liquidity sweep on the other hand gives a clue of depth of liquidity typically found on a sweeps.
Feedback scores
When market structure (basis for most concepts) is working optimally, quality threshold for both feedback metrics are met. By default, threshold for supportive structure is set to 66%, indicating valid feedback on 2/3 of backtesting periods on average. On top, average structure period gain needs to be positive (for bullish structures) and negative (for bearish structure) to qualify as valid feedback. When both tests are passed, a tick indicating valid feedback will appear next to feedback scores, otherwise an exclamation mark indicating suboptimal performance on either or both. If both or either test fail, market structure parameters need to be optimized for better performance or one needs to adjust expectations accordingly.
Verifying backtest calculations
Backtest metrics can be toggled on via input menu, separately for bullish and bearish structure. When toggled on, both cumulative and average counters used in backtesting will appear on "Data Window" tab. Calculation states are shown at a point in time where cursor is hovered. E.g. when hovering cursor on 4th of January 2021, backtest calculations as they were during this date will be shown.
- Alerts
Available alerts are the following.
- HH/HL/LH/LL/EQL/EQH on a bullish/bearish structure
- Bullish/bearish market structure shift
- Bullish/bearish imbalance created
- Bullish/bearish imbalance filled
- Bullish/bearish liquidity sweep
- Bullish/bearish deviation
- Visuals
Each concept can be enabled/disabled separately for creating a selection indications that one deems relevant for their purposes. On top, each concept has a stealth visual option for more discreet visuals.
Unfilled imbalances and untapped liquidity levels can be extended forward to better gauge key areas of interest.
Liquidity sweeps have an intensity option, using color and width to visualize volume traded at sweep.
Market structure states and market structure shifts can be visualized as chart color.
Metric table can be offsetted horizontally or vertically from any four corners of the chart, allowing space for tables from other scripts.
Table sizes, label sizes and colors are fully customizable via input menu.
- Practical guide
The basic idea behind market structure is that a side (bulls or bears) have shown significant weakness on a failed attempt to defend a key level (most recent pivot high/low). In the same way, a side has shown significant strength on a successful attempt to break through a key level. This successful break through a key level often leads to sustained lengthier movement for the side that provably has the upper hand, making it an ideal tool for establishing directional bias.
Multi-timeframe view of market structure provides crucial guidance for analyzing market structure states on any individual timeframe. If higher timeframe market structure is bullish, it doesn't make sense to expect contradicting lower timeframe market structure to provide significant adverse movement, but rather a normal correction within a long term trend. In the same way, if lower timeframe market structure is in agreement with higher timeframe market structure, one can expect a reliable trending environment to ensue as multiple points of confluence are in place.
Bullish structure can be considered constructive on a series of higher highs and higher lows, indicating strong interest from bulls to sustain an uptrend. Vice versa is true for bearish structure, a series of lower highs and lower lows can be considered constructive. When structure does not indicate strong interest to maintain a supportive trend (lower highs on bullish structure, higher lows on bearish structure), a structure shift and a turn in trend might be nearing.
Market structure shifts are of great interest for breakout traders who position for continuation. Structure shifts can indeed be fertile ground for executing a breakout trade, but breakouts can easily turn into fakeouts that leave participants in an awkward position. When price moves further away from the underwater participants, potential for snowball effect of covering positions and driving price further away is elevated.
Liquidity sweeps as a concept is based on the premise that pivoting price is evidence of meaningful depth of liquidity found at/around pivot. If liquidity existed at a pivot once, it is likely to exist there in the future as well. When price grinds against liquidity, it is on a path of resistance rather than path of least resistance. Pivots are also attractive placements for traders to set stop-losses, which act as fuel for price to move to the opposite direction when swept and triggered.
Behind tightly formed pivots are potentially many stop-loss orders lulled in the comfort of having many layers of levels protecting their position. Compression that leaves such clusters of unswept liquidity rarely goes unvisited.
As markets strive for efficient and proper transacting most of the time, imbalances serve as points in price where price is naturally attracted to. However, imbalances too are contextual and sometimes one sided trading is rewarded with follow through, rather than with a fill. Identifying market regimes give further clue into what to expect from imbalances. In a ranging environment, one can expect imbalances to fill relatively quick, making them ideal targets for entries and exits.
On a strongly trending environment on the other hand imbalances tend to stick for a much longer time. In such environments continuation can be expected with no fills or only partial fills. Signs of demand preventing fill attempts serve as additional clues for imminent continuation.
120x ticker screener (composite tickers)In specific circumstances, it is possible to extract data, far above the 40 `request.*()` call limit for 1 single script .
The following technique uses composite tickers . Changing tickers needs to be done in the code itself as will be explained further.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
🔶 PRINCIPLE
Standard example:
c1 = request.security('MTLUSDT' , 'D', close)
This will give the close value from 1 ticker (MTLUSDT); c1 for example is 1.153
Now let's add 2 tickers to MTLUSDT; XMRUSDT and ORNUSDT with, for example, values of 1.153 (I), 143.4 (II) and 0.8242 (III) respectively.
Just adding them up 'MTLUSDT+XMRUSDT+ORNUSDT' would give 145.3772 as a result, which is not something we can use...
Let's multiply ORNUSDT by 100 -> 14340
and multiply MTLUSDT by 1000000000 -> 1153000000 (from now, 10e8 will be used instead of 1000000000)
Then we make the sum.
When we put this in a security call (just the close value) we get:
c1 = request.security('MTLUSDT*10e8+XMRUSDT*100+ORNUSDT', 'D', close)
'MTLUSDT*10e8+XMRUSDT*100+ORNUSDT' -> 1153000000 + 14340 + 0.8242 = 1153014340.8242 (a)
This (a) will be split later on, for example:
1153014330.8242 / 10e8 = 1.1530143408242 -> round -> in this case to 1.153 (I), multiply again by 10e8 -> 1153000000.00 (b)
We subtract this from the initial number:
1153014340.8242 (a)
- 1153000000.0000 (b)
–––––––––––––––––
14340.8242 (c)
Then -> 14340.8242 / 100 = 143.408242 -> round -> 143.4 (II) -> multiply -> 14340.0000 (d)
-> subtract
14340.8242 (c)
- 14340.0000 (d)
––––––––––––
0.8242 (III)
Now we have split the number again into 3 tickers: 1.153 (I), 143.4 (II) and 0.8242 (III)
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
In this publication the function compose_3_() will make a composite ticker of 3 tickers, and the split_3_() function will split these 3 tickers again after passing 1 request.security() call.
In this example:
t46 = 'BINANCE:MTLUSDT', n46 = 10e8 , r46 = 3, t47 = 'BINANCE:XMRUSDT', n47 = 10e1, r47 = 1, t48 = 'BINANCE:ORNUSDT', r48 = 4 // T16
•••
T16= compose_3_(t48, t47, n47, t46, n46)
•••
= request.security(T16, res, )
•••
= split_3_(c16, n46, r46, n47, r47, r48)
🔶 CHANGING TICKERS
If you need to change tickers, you only have to change the first part of the script, USER DEFINED TICKERS
Back to our example, at line 26 in the code, you'll find:
t46 = 'BINANCE:MTLUSDT', n46 = 10e8 , r46 = 3, t47 = 'BINANCE:XMRUSDT', n47 = 10e1, r47 = 1, t48 = 'BINANCE:ORNUSDT', r48 = 4 // T16
( t46 , T16 ,... will be explained later)
You need to figure out how much you need to multiply each ticker, and the number for rounding, to get a good result.
In this case:
'BINANCE:MTLUSDT', multiply number = 10e8, round number is 3 (example value 1.153)
'BINANCE:XMRUSDT', multiply number = 10e1, round number is 1 (example value 143.4)
'BINANCE:ORNUSDT', NO multiply number, round number is 4 (example value 0.8242)
The value with most digits after the decimal point by preference is placed to the right side (ORNUSDT)
If you want to change these 3, how would you do so?
First pick your tickers and look for the round values, for example:
'MATICUSDT', example value = 0.5876 -> round -> 4
'LTCUSDT' , example value = 77.47 -> round -> 2
'ARBUSDT' , example value = 1.0231 -> round -> 4
Value with most digits after the decimal point -> MATIC or ARB, let's pick ARB to go on the right side, LTC at the left of ARB, and MATIC at the most left side.
-> 'MATICUSDT', LTCUSDT', ARBUSDT'
Then check with how much 'LTCUSDT' and 'MATICUSDT' needs to be multiplied to get this: 5876 0 7747 0 1.0231
'MATICUSDT' -> 10e10
'LTCUSDT' -> 10e3
Replace:
t46 = 'BINANCE:MTLUSDT', n46 = 10e8 , r46 = 3, t47 = 'BINANCE:XMRUSDT', n47 = 10e1, r47 = 1, t48 = 'BINANCE:ORNUSDT', r48 = 4 // T16
->
t46 = 'BINANCE:MATICUSDT', n46 = 10e10 , r46 = 4, t47 = 'BINANCE:LTCUSDT', n47 = 10e3, r47 = 2, t48 = 'BINANCE:ARBUSDT', r48 = 4 // T16
DO NOT change anything at t46, n46,... if you don't know what you're doing!
Only
• tickers ('BINANCE:MTLUSDT', 'BINANCE:XMRUSDT', 'BINANCE:ORNUSDT', ...),
• multiply numbers (10e8, 10e1, ...) and
• round numbers (3, 1, 4, ...)
should be changed.
There you go!
🔶 LIMITATIONS
🔹 The composite ticker fails when 1 of the 3 isn't in market in the weekend, while the other 2 are.
That is the reason all tickers are crypto. I think it is possible to combine stock,... tickers, but they have to share the same market hours.
🔹 The number cannot be as large as you want, the limit lays around 15-16 digits.
This means when you have for example 123, 45.67 and 0.000000000089, you'll get issues when composing to this:
-> 123045670.000000000089 (21 digits)
Make sure the numbers are close to each other as possible, with 1 zero (or 2) in between:
-> 1.230045670089 (13 digits by doing -> (123 * 10e-3) + (45.67 * 10e-7) + 0.000000000089)
🔹 This script contains examples of calculated values, % change, SMA, RMA and RSI.
These values need to be calculated from HTF close data at current TF (timeframe).
This gives challenges. For example the SMA / %change is not a problem (same values at 1h TF from Daily data).
RMA , RSI is not so easy though...
Daily values are rather similar on a 2-3h TF, but 1h TF and lower is quite different.
At the moment I haven't figured out why, if someone has an idea, don't hesitate to share.
The main goal of this publication is 'composite tickers ~ request.security()' though.
🔹 When a ticker value changes substantially (x10, x100), the multiply number needs to be adjusted accordingly.
🔶 SETTINGS
SHOW SETS
SET
• Length : length of SMA, RMA and RSI
• HTF : Higher TimeFrame (default Daily)
TABLE
• Size table : \ _ Self-explanatory
• Include exchange name : /
• Sort : If exchange names are shown, the exchanges will be sorted first
COLOURS
• CH%
• RSI
• SMA (RMA)
DEBUG
Remember t46 , T16 ,... ?
This can be used for debugging/checking
ALWAYS DISABLE " sort " when doing so.
Example:
Set string -> T1 (tickers FIL, CAKE, SOL)
(Numbers are slightly different due to time passing by between screen captures)
Placing your tickers at the side panel makes it easy to compare with the printed label below the table (right side, 332201415014.45 ),
together with the line T1 in the script:
t1 = 'BINANCE:FILUSDT' , n1 = 10e10, r1 = 4, t2 = 'BINANCE:CAKEUSDT' , n2 = 10e5 , r2 = 3, t3 = 'BINANCE:SOLUSDT' , r3 = 2 // T1
FIL : 3.322
CAKE: 1.415
SOL : 14.56
Now it is easy to check whether the tickers are placed close enough to each other, with 1-2 zero's in between.
If you want to check a specific ticker, use " Show Ticker" , see out initial example:
Set string -> T16
Show ticker -> 46 (in the code -> t46 = 'BINANCE:MTLUSDT')
(Set at 0 to disable " check string " and NONE to disable " Set string ")
-> Debug/check/set away! 😀
🔶 OTHER TECHNIQUES
• REGEX ( Regular expression ) and str.match() is used to delete the exchange name from the ticker, in other words, everything before ":" is deleted by following regex:
exch(t) => incl_exch ? t : str.match(t, "(?<=:) +")
• To sort, array.sort_indices() is used (line 675 in the code), just as in my first "sort" publication Sort array alphabetically - educational
aSort = arrT.copy()
sort_Indices = array.sort_indices(id= aSort, order= order.ascending)
• Numbers and text colour will adjust automatically when switching between light/dark mode by using chart.fg_color / chart.bg_color
🔹 DISCLAIMER
Please don't ask me for custom screeners, thank you.
Bollinger Bands SignalsDescription:
This indicator works well in trendy markets on long runs and in mean-reverting markets, at almost any timeframe.
That said, higher timeframes are much preferred for their intrinsic ability to cut out noise. The example chart is in 3H TF.
Be mindful, the script shows somewhat erratic jigsaw-like behaviour during consolidation periods when the price
jumps up and down in indecision which way to go. Fortunately, there are scripts out there that detect such periods.
You can choose between 4 Moving Averages, Vidya being the default. Period, Deviation and Bands Width parameters
all of them affect the signal generation.
For the Pine Script coder this script is pretty obvious.
It uses a standard technical analysis indicator - Bollinger Bands - and appends it with a 'width' parameter and
a signal generation procedure.
The signal generation procedure is the heart of this script that keeps the script pumping signals.
The BB width is used as a filter.
You can use this procedure in your own scripts and it will continue generate signals according to your rules.
Strategy Developer ToolSolar Strategies: Strategy Developer Tool Complete Guide
This guide provides full explanation of the intended purpose of our script along with individual explanation of each input and the logic behind them coupled with general knowledge which we find useful in using our tool regarding elements of risk and strategy. Use this information wisely and understand we are not providing financial advise, this is a learning tool meant to help advance traders knowledge of the markets and their strategies which are formed as such.
Basics
Before getting into the specifics of how to use our strategy developer tool, it's important to understand a few basic fundamental things about it. The purpose of the tool is to allow the user to optimize a strategy through back testing with our strategy tracker and 50+ user inputs. The way you optimize your strategy depends on a couple things:
The state of the current and recent previous market.
The timeframe you trade on.
The types of trades you prefer. (swings, scalps, etc.)
How much risk you are willing to take on.
Risk Basics:
Going off the last bullet point on the list above, risk plays a huge part in how you optimize your strategy, with that being said here are a few general rules of risk as they relate to trades:
The more trades you take on, the more risk you are opening your strategy up to.
If done correctly, more trades will often result in more profit with slightly lower accuracy, and more risk.
The less trades you take on, the easier it is to have higher accuracy because ideally by rooting out the losing trades, you are left with fewer overall trades but mostly winning trades.
Less trades with higher accuracy often result in less profit but will 100% be less risky than the opposite. (More trades, less accurate, more profit, MORE RISK)
Input Basics:
More trades, less trades, more risk, less risk, what does this all mean as it relates to our tool?
The 50+ user inputs that allow you to optimize and create your strategy all effect when the script takes a trade.
Many of the inputs are essentially conditions. By changing these inputs, what you are doing is changing how specific the conditions need to be in order to take a trade.
This is how the inputs tie into the bullet point list above regarding risk and the number of trades you take on. By raising or lowering certain inputs, you are making the conditions more or less specific on when to trade.
Making conditions more specific will allow for less trades to be taken and will often result in a higher win rate, and less associated risk.
Making conditions less specific will allow for more trades to be taken and depending on the state of the market, could result in more profit being realized, but at the same time opens you up to more risk because you are stating a more general set of conditions in order to take a trade.
How does it work?
Our strategy developer tool is based on two simple factors in order to identify specific areas in the market deemed good for trade. They are as follows:
Directional momentum to identify when a move might happen.
A confirmation of the desired move.
Indicators:
The tool gets its information on these two factors from two custom built indicators which are hard coded into the script. These two indicators and the inputs which affect them can be found labeled with Indicator 1 or Indicator 2 in the tool's settings.
When the conditions are met based on the factors of both indicators, it then decides your stop losses and take profits using pivot points.
Indicator 1 is the momentum indicator.
Indicator 2 looks for confirmation of the move.
Hedges:
Since nothing is ever certain when trading, our tool also aims to minimize potential loss before it can happen by incorporating hedges when a signal prints in the opposite direction of the trade you are currently in.
To identify when to hedge, the candles will appear with the opposite color of your original trade. Candles, while in a long trade, appear as green and candles while in a short trade appear as red. While in a long trade the only time red candles will appear is when a hedge occurs and vice versa for shorts.
Example: If you just took a long trade based on a long signal that the script gave off, but a short signal prints off while you are in the long, you are directed to sell half your long position and enter that half into a short position. Since there is now more uncertainty in the long because of the short signal, minimizing your position size and having a smaller position in the opposite direction allows you to cover your bases if the trade moves against you. If it doesn’t move against you and ends up going long as originally intended, you are not to lose any money, likely a small profit or break even when all is said and done.
In order to give the hedges a greater change of hitting, the take profits are smaller than a normal trade, this way even if your hedge wasn’t necessary and the original trade does not move against you, it's likely that your hedge will still win, and you can just consider it a small scalp to further your profits on the original trade.
Doubles:
Besides minimizing loss, we also aim to maximize the potential gain. When a second signal prints off in the direction of the trade you are currently already in, the tool directs you to double your position size.
The signal for doubling is a label with “2x” written inside.
The logic here is similar to hedging but in the opposite way. Just as a signal in the opposite direction creates uncertainty, a signal in the same direction indicates more certainty hence doubling your position size.
Example: If you are currently in a long position and you get a second long signal, you would then double your existing position since two long signals printing off before the first one has a chance to play out indicates a stronger chance of movement in the intended direction of your trade.
User Inputs
Upon opening the tools settings tab, you will find all the user inputs which can then be modified to fit your desired strategy. In this section of our guides, you will find individual explanations and use cases for each input so you can correctly use them to your best advantage.
Strategy Tracker Table:
By ticking this input on, the strategy tracker table will be visible to the user. (Default is on)
Indicator 1 Greater Than: Long:
By ticking this input on, you are adding a condition the script will then look for in order to take a long. (Default is on)
This condition is that an average of indicator 1, which searches for momentum, must fall above a certain level, which is determined in the next input.
The purpose of this is to ensure that the average momentum is not too low because this would indicate prolonged downwards movement on the timeframe of the market being observed, making a long position riskier.
Indicator 1 Greater Than Input: Long:
This input correlates to the previous input directly above.
If Indicator 1 Greater Than: Long is ticked on, then one of the conditions in order to take a long position will be that the average of indicator 1 must fall above the level which you set in this input.
max level 100, min level 0
Indicator 1 Less Than: Long
By ticking this input on, you are adding a condition the script will then look for in order to take a long position. (Default is on)
This condition is that an average of indicator 1, which searches for momentum, must fall below a certain level, which is determined in the next input.
The purpose of this is to ensure that the average momentum is not too high, because this would indicate a prior significant upwards movement or trend on the timeframe of the market being observed.
Taking a long position while the average momentum is at higher levels exposes the risk of longing as the market has started to pull back from a peak or when the market has just reached a peak.
Indicator 1 Less Than Input: Long
This input correlates to the previous input directly above.
If Indicator 1 Less Than: Long is ticked on, then one of the conditions in order to take a long position will be that the average of indicator 1 must fall below the level which you set in this input.
max level 100, min level 0
Indicator 1 Greater Than: Short
By ticking this input on, you are adding a condition the script will then look for in order to take a short. (Default is on)
This condition is that an average of indicator 1, which searches for momentum, must fall above a certain level, which is determined in the next input.
The purpose of this is to ensure that the average momentum is not too low because this would indicate prolonged downwards movement or trend on the timeframe of the market being observed.
Taking a short position while the average momentum is at lower levels exposes the risk of shorting as the market has started to recover from a bottom or when the market has just reached a bottom.
Indicator 1 Greater Than Input: Short
This input correlates to the previous input directly above.
If Indicator 1 Greater Than: Short is ticked on, then one of the conditions in order to take a short position will be that the average of indicator 1 must fall above the level which you set in this input.
max level 100, min level 0
Indicator 1 Less Than: Short
By ticking this input on, you are adding a condition the script will then look for in order to take a short position. (Default is on)
This condition is that an average of indicator 1, which searches for momentum, must fall below a certain level, which is determined in the next input.
The purpose of this is to ensure that the average momentum is not too high, because this would indicate a prior significant upwards movement or trend on the timeframe of the market being observed.
Taking a short position while the average momentum is at higher levels exposes the risk of shorting as the market is currently in a strong uptrend.
Indicator 1 Less Than: Short
This input correlates to the previous input directly above.
If Indicator 1 Less Than: Short is ticked on, then one of the conditions in order to take a short position will be that the average of indicator 1 must fall below the level which you set in this input.
max level 100, min level 0
Summary of Input Group: Indicator 1 Greater/Less Than Long/Short
This grouping of inputs is best used as a filter of sorts, much like many of the other inputs which are also essentially filters of the market to find areas ripe for trade. Specifically, however, this group of inputs is especially powerful because if used correctly, it can specify a range for the average momentum to fall in when looking for either long or short trades. Think of it like a sweet spot where the average is not too high nor too low. In combination with the numerous other inputs which will shortly be explained, this sweet spot can be a great indication. Keep in mind that once you find a working range, this will not last forever. Conditions in the market are ever changing and as such your inputs, in this case the range the average momentum must fall in, will also need to change with the market conditions.
Bars Since Crossover:
This input simply describes a crossover of the momentum indicator (indicator 1) and its average.
In the category How does it work? Two main factors are discussed, the first being directional momentum to determine when an upwards move might happen. The crossover correlated to this input is the directional momentum as mentioned earlier.
As also mentioned in How does it work? The second factor is a confirmation of the desired upwards move. This confirmation is a crossover of the current price and indicator 2 which will be further addressed later on.
What's important to understand about the two key factors at play in regard to Bars Since Crossover is that this input is determining a condition which looks for a certain number of bars prior to the confirmation of indicator 2 which the crossover of momentum and its average has happened on indicator 1.
Example: Bars Since Crossover input is set to 10. This means that the crossover of momentum and its average from indicator 1 must be within 10 bars prior to the confirmation from indicator 2. If this happens then this condition is met for a long position.
Bars Since Crossunder:
This input simply describes a crossunder of the momentum indicator (indicator 1) and its average.
In the category How does it work? Two main factors are discussed, the first being directional momentum to determine when a downwards move might happen. The crossunder correlated to this input is the directional momentum as mentioned earlier.
As also mentioned in How does it work? The second factor is a confirmation of the desired downwards move. This confirmation is a crossunder of the current price and indicator 2 which will be further addressed later on.
What's important to understand about the two key factors at play in regard to Bars Since Crossunder is that this input is determining a condition which looks for a certain number of bars prior to the confirmation of indicator 2 which the crossunder of momentum and its average has happened on indicator 1.
Example: Bars Since Crossunder input is set to 10. This means that the crossunder of momentum and its average from indicator 1 must be within 10 bars prior to the confirmation from indicator 2. If this happens then this condition is met for a short position.
Summary of Input Group: Bars Since Crossover/Crossunder
These two inputs can have a large effect on the types of trades being taken and the risk which your strategy opens up to. The idea is that in order for the two key factors described in How does it work? to be correlated and therefore indicate a strong directional move, the two events must happen within a somewhat small period of time. If the period of time between the two events taking place is too large, then it's riskier for your strategy due to a delay in directional momentum and the necessary confirmation. It's important to note that this “small period of time” is relative to the security you're trading and the timeframe its being trades on. Small could mean 5 bars in some cases or 20 bars in others, this is why our custom back tester exists. So that the process of optimization on different securities and different timeframes is smooth and only requires adjustments to inputs then your own analysis of the back test results.
Indicator 1 Input Long
Defines how strong the upwards momentum needs to be in order to take a long position.
When optimizing your strategy, this input is likely to have some of the most effect on when the script takes a long position.
The reasoning for this is because the level you set for this input is the level which indicator 1 must close above following the crossover of its average.
Example: Indicator 1 Input Long set to 50, this means that when the momentum crosses over its average from indicator 1, upon the close of this crossover the momentum must be above the level 50 in order for this condition to be met to take a long position.
The higher the level, the stronger the upwards momentum must be, and therefore by using higher levels for this input, the script will search for stronger directional moves leaving less chance for the trade to move against you.
Indicator 1 Input Short
Defines how strong the downwards momentum needs to be in order to take a short position.
When optimizing your strategy, this input is likely to have some of the most effect on when the script takes a short position.
The reasoning for this is because the level you set for this input is the level which indicator 1 must close below following the crossunder of its average.
Example: Indicator 1 Input Short set to 40, this means that when the momentum crosses under its average from indicator 1, upon the close of this crossunder the momentum must be below the level 40 in order for this condition to be met to take a short position.
The lower the level, the stronger the downwards momentum must be, and therefore by using lower levels for this input, the script will search for stronger directional moves leaving less chance for the trade to move against you.
Summary of Input Group: Indicator 1 Input Long/Short
These two inputs are so important to your strategy because at the end of the day no matter how you set it up, it's still a momentum-based strategy. With that being said the level of momentum or the strength needed in order to take trades is of course going to be a key decider in the successfulness of the strategy. When optimizing these two inputs make sure to take into account what the overall market conditions are, meaning if it’s a bull market maybe make the momentum needed to take a long slightly less comparatively to the amount needed to take a short, in other words make long conditions less specific and short conditions more specific. Slight variations of this input can have very big effects, even changing it by 1 or 2 can make a major difference. In might even be good to consider starting optimization with these inputs and then work the rest of the strategy out from there. A lot could be said about these inputs and more docs will be added in order to further explain more strategy approaches revolving around them, for now don’t hesitate to ask any questions.
Indicator 2 Red
This input is used as a sort of chop filter at its base level, however if used correctly it can be a much broader filter for what areas of the market you want to trade in.
Indicator 2 shows as either red or green and is used as a confirmation when price crosses over it following the crossover of momentum and its average from indicator 1 to take a long position.
If ticked on, Indicator 2 Red states a condition in order for the script to take a long position. (Default is on)
The condition is that upon the crossover of the current price and Indicator 2, 10 bars ago indicator 2 must have been red.
The reason for this input is because the current color of indicator 2 upon the crossover must also be red. However, this condition is hard coded in and cannot be changed by any input.
This is because the type of trade being targeted is that of a type of reversal or continuation.
If indicator 2 showed green 10 bars ago and is currently red this would indicate that a top was just reached, and price is reversing downwards making this not a good area to take a long.
Another scenario if indicator 2 showed green 10 bars ago and is currently red is that there is currently a sideways trend going on or otherwise known as chop, also not an ideal area to take a long
However, if 10 bars ago indicator 2 was red and it's currently red this would indicate a more prolonged pullback.
If all conditions are met and we know that price has been pulling back, now we can enter a long with more knowledge pointing to price reversing upwards from a downwards trend, or continuing its upwards trend after a pullback.
Indicator 2 Green
This input is used as a sort of chop filter at its base level, however if used correctly it can be a much broader filter for what areas of the market you want to trade in.
Indicator 2 shows as either red or green and is used as a confirmation when price crosses under it following the crossunder of momentum and its average from indicator 1 to take a short position.
If ticked on, Indicator 2 Green states a condition in order for the script to take a short position. (Default is on)
The condition is that upon the crossunder of the current price and Indicator 2, 10 bars ago indicator 2 must have been green.
The reason for this input is because the current color of indicator 2 upon the crossunder must also be green. However, this condition is hard coded in and cannot be changed by any input.
This is because the type of trade being targeted is that of a type of reversal or continuation.
If indicator 2 showed red 10 bars ago and is currently green this would indicate that a bottom was just reached, and price is reversing upwards making this not a good area to take a short.
Another scenario if indicator 2 showed red 10 bars ago and is currently green is that there is currently a sideways trend going on or otherwise known as chop, also not an ideal area to take a short.
However, if 10 bars ago indicator 2 was green and it's currently green this would indicate a more prolonged upwards movement.
If all conditions are met and we know that price has been moving up, now we can enter a short with more knowledge pointing to price reversing downwards from an upwards trend, or continuing its downwards trend after a bounce up.
Summary of Input Group: Indicator 2 Red/Green
Similar to Indicator 1 Greater/Less Than Long/Short, the goal of these inputs is to try to get a picture of what the previous recent market has been doing. By getting this picture it's easier to find different areas of the market more ideal for trades. Different from Indicator 1 Greater/Less Than Long/Short though, Indicator 2 Red/Green is directly correlated to the price action in the market rather than the momentum. By switching these on or off you are setting more or less specific conditions for taking trades. Some markets require this extra condition to lower your risk in your strategy, however others may not.
Pivot Low
This input is used to define the number of bars the script will look back to grab a pivot low when taking a long position.
This pivot low is then used to set the stop loss when entering a long position.
This input is very important and optimizing it correctly can be extremely crucial to your strategies success.
The Strategy Developer tool uses a 1:1 risk to reward ratio when setting your first take profit point, so when the script looks back to get a pivot low based on the input you set, it will then set your first take profit at an equal ratio to the stop loss found from the pivot low.
The goal in optimizing this input is to give enough lookback to find real pivot points where price has reversed off of, but not to give too much lookback where its grabbing previous pivot points unrelated to the current move of momentum the script is giving a long signal from.
Consider the type of trades you're looking for in your strategy and what timeframe you are trying to trade on.
Longer swing trades which aim to catch bigger moves in the market, possibly on higher time frames, may require a further lookback in order to get your take profits in the correct positioning to catch the desired move, and not exit early before the trade has fully played out.
Shorter scalp trades may aim to catch smaller moves and therefore you don’t want to allow for too much risk by having a large stop loss and large take profits as a result.
Pivot Low 2
Pivot low 2 can be thought of as a backup lookback in order to get the correct pivot low.
In an input which will be discussed shortly called Pivot Low Minimum, you can set a minimum percentage for your pivot low to be, if the pivot low does not meet the minimum then the script will look to Pivot Low 2’s input to use as a bar lookback in order to get the correct pivot low.
This input is used because you might find a Pivot Low input that works well for the majority of the trades in your back tested strategy, however, there will always be outliers and when this Pivot Low input falls short of getting the correct level to put your stop losses at, Pivot Low 2 is used.
Pivot Low 2’s input should always be higher than Pivot Low’s input, that way you can allow the script to look back further in time to find the correct level when the minimum is not met.
Pivot High
This input is used to define the number of bars the script will look back to grab a pivot high when taking a short position.
This pivot high is then used to set the stop loss when entering a short position.
This input is very important and optimizing it correctly can be extremely crucial to your strategies success.
The Strategy Developer tool uses a 1:1 risk to reward ratio when setting your first take profit point, so when the script looks back to get a pivot high based on the input you set, it will then set your first take profit at an equal ratio to the stop loss found from the pivot high.
The goal in optimizing this input is to give enough lookback to find real pivot points where price has reversed off of, but not to give too much lookback where its grabbing previous pivot points unrelated to the current move of momentum the script is giving a short signal from.
Consider the type of trades you're looking for in your strategy and what timeframe you are trying to trade on.
Longer swing trades which aim to catch bigger moves in the market, possibly on higher time frames, may require a further lookback in order to get your take profits in the correct positioning to catch the desired move, and not exit early before the trade has fully played out.
Shorter scalp trades may aim to catch smaller moves and therefore you don’t want to allow for too much risk by having a large stop loss and large take profits as a result.
Pivot High 2
Pivot high 2 can be thought of as a backup lookback in order to get the correct pivot high.
In an input which will be discussed shortly called Pivot High Minimum, you can set a minimum percentage for your pivot high to be, if the pivot high does not meet the minimum then the script will look to Pivot High 2’s input to use as a bar lookback in order to get the correct pivot high.
This input is used because you might find a Pivot High input that works well for the majority of the trades in your back tested strategy, however, there will always be outliers and when this Pivot High input falls short of getting the correct level to put your stop losses at, Pivot High 2 is used.
Pivot High 2’s input should always be higher than Pivot High’s input, that way you can allow the script to look back further in time to find the correct level when the minimum is not met.
Pivot Low Risk Tolerance
This input is very important in managing the risk associated with your strategy.
Pivot Low Risk Tolerance is defining a maximum percentage the pivot low can be away from your entry.
Since the pivot low that’s found is assigned to your stop loss and directly affects the placement of your take profits when taking a long position, making sure the pivot low isn’t too far down is crucial.
Depending on the types of trades you're aiming to take, the timeframe you choose to trade on, and the leverage you use in your strategy, you may want to assign a higher risk tolerance or a lower one.
Example: Pivot Low Risk Tolerance input set to 3, this means that when all other conditions are met in order to take a long position, when searching for the pivot low in order to set a stop loss, if the script finds the pivot low is greater than 3% away from the entry point, it will not take the trade.
Pivot High Risk Tolerance
This input is very important in managing the risk associated with your strategy.
Pivot High Risk Tolerance is defining a maximum percentage the pivot high can be away from your entry.
Since the pivot high that’s found is assigned to your stop loss and directly affects the placement of your take profits when taking a short position, making sure the pivot high isn’t too far up is crucial.
Depending on the types of trades you're aiming to take, the timeframe you choose to trade on, and the leverage you use in your strategy, you may want to assign a higher risk tolerance or a lower one.
Example: Pivot High Risk Tolerance input set to 3, this means that when all other conditions are met in order to take a short position, when searching for the pivot high in order to set a stop loss, if the script finds the pivot high is greater than 3% away from the entry point, it will not take the trade.
Pivot Low Minimum
Sometimes when searching for the pivot low, the script's defined lookback may not be enough to find the proper pivot point.
This can cause improper placement of stop losses and take profits and may cause trades to be exited early before they can fully play out in your favor.
Pivot Low Minimum is an input used to combat this problem, when the script finds a pivot low that does not meet the minimum percentage away from the entry point, it will then turn to Pivot Low 2 input in order to gain a further lookback and grab the correct pivot point to set your stop loss and take profits with.
When reading and setting this input, understand that setting it to 1 means there is no minimum, setting it to 0.9 would mean the minimum is a 10% difference between the pivot low and your entry point.
Think of it in terms of decimals and their equivalent percentage, 0.1 is equal to 10%, 0.01 is equal to 1%.
Whatever percentage you want to set for a minimum, convert it to a decimal, then simply subtract it from 1.
Example: Say you desire a 1.5% minimum pivot low and as a result an equivalent stop loss of 1.5% below your long entry and furthermore a take profit 1.5% above your long entry since the script uses a 1:1 ratio. Converting 1.5% to a decimal would give you 0.015, then subtracting it from 1 would give you 0.985, this would be the input assigned to Pivot Low Minimum.
Pivot High Minimum
Sometimes when searching for the pivot high, the script's defined lookback may not be enough to find the proper pivot point.
This can cause improper placement of stop losses and take profits and may cause trades to be exited early before they can fully play out in your favor.
Pivot High Minimum is an input used to combat this problem, when the script finds a pivot high that does not meet the minimum percentage away from the entry point, it will then turn to Pivot High 2 input in order to gain a further lookback and grab the correct pivot point to set your stop loss and take profits with.
When reading and setting this input, understand that setting it to 1 means there is no minimum, setting it to 0.9 would mean the minimum is a 10% difference between the pivot high and your entry point.
Think of it in terms of decimals and their equivalent percentage, 0.1 is equal to 10%, 0.01 is equal to 1%.
Whatever percentage you want to set for a minimum, convert it to a decimal, then simply subtract it from 1.
Example: Say you desire a 1.5% minimum pivot high and as a result an equivalent stop loss of 1.5% above your short entry and furthermore a take profit 1.5% below your short entry since the script uses a 1:1 ratio. Converting 1.5% to a decimal would give you 0.015, then subtracting it from 1 would give you 0.985, this would be the input assigned to Pivot High Minimum.
Summary of Input Group: Pivot Low/High - Pivot Low/High 2 – Pivot Low/High Risk Tolerance – Pivot Low/High Minimum
The first key takeaway from all these inputs is that your stop losses and take profits will be directly affected through optimizing any of them. The second key takeaway is that these inputs are crucial in managing the risk in your strategy, and while this has been said many times throughout the guide for various inputs, when it comes to stop losses and take profits it is especially true. Having a stop loss which is too high opens up the possibility for much bigger losses, and as a result your take profits will also be too high, minimizing the chance of any of them being hit. Having a stop loss which is too low increases the chance that your trade will get stopped out preemptively, before the trade can mature and move in your favor because remember that trades will not always move immediately in the intended direction, a good amount of patience is often involved in creating consistent successful trades and a successful strategy as such. On the same note, too low of a stop loss could also mean you are missing out on unrealized profit since your take profits are a direct result of the stop loss which is found. When optimizing your pivot low/high risk tolerance, think not about how much you are willing to lose on a single trade, but how much your portfolio can actually afford to lose not just on a single trade but multiple trades, sometimes even in a row. Obviously, the goal in creating a strategy is that you avoid losing trades and especially multiple in a row, however, there are many things that can’t be accounted for. The only way to manage this unaccounted risk is to use proper risk management and not open yourself up to big losses even in the worst most unlikely scenarios. Even if you don’t lose multiple trades in a row, ask yourself, could I afford to lose multiple trades with the risk tolerance I have set if everything were to go to $hit, (hopefully it would not), but in the off chance it did, instead of beating yourself up over what you did wrong, you’ll be patting yourself on the back for what you did right.
TP2-4 Long Placement
The first thing to understand about the take profit placement is that our system of stop losses and take profits uses a 1:1 risk to reward ratio for the first stop loss and first take profit.
This means that if your stop loss falls 2% below your long entry, your first take profit will be 2% above your long entry, hence 1:1.
As for take profits 2-4, they are just extensions of that ratio. This means that if TP2 Long Placement is set to 1.5, the ratio for your second take profit is 1:1.5.
Using the same percentage from the second bullet point being 2%, we can now gather that with a 1:1.5 ratio our second take profit would be at 3% above our long entry.
The same applies for the rest of the take profits, meaning whatever the take profit is set at regardless of which one, apply that number to the second placeholder of the ratio.
Example: First stop loss falls 2% below long entry. TP2 Long Placement input set to 1.5; risk to reward ratio is 1:1.5; corresponding percentage would be a 3% gain. TP3 Long Placement input set to 2; risk to reward ratio is 1:2; corresponding percentage would be a 4% gain. TP4 Long Placement input set to 2.5; risk to reward ratio is 1:2.5; corresponding percentage would be a 5% gain.
The next key thing to understand about the trailing take profits system is the position size being sold at each take profit and therefore how the strategy tracker calculates your strategy's profit.
At the first take profit, 50% of your position is being calculated as sold, locking in good profits off the bat.
At TP2, 20% of your position is being calculated as sold, leaving a remaining 30% open to gain more profit.
At TP3, another 20% of your position is being calculated as sold, leaving 10% to collect any additional possible gains.
At TP4 the remaining 10% of your position is sold and the trade will be fully closed out.
SL2-4 Long Placement
Our system of trailing stop losses is completely similar to that of our trailing take profits.
Just like the trailing take profits, the inputs for stop losses 2-4 are also used as the second placeholders in the risk to reward ratio.
This may be confusing since generally stop losses are associated with a loss on your position, however, the only stop loss which results in a loss on your position is the first one, not stop losses 2-4.
This is because once your first take profit is hit on your long, your stop loss will automatically move up to the price equivalent to the ratio which you set using these inputs that lies in profit.
Example: Since your first take profit will always be at a 1:1 risk to reward ratio with your stop loss, your second take profit could be at a 1:0.8 ratio. So, to clarify, once your first take profit is hit at a 1:1, your original first stop loss will now be moved up in profits to just below your first take profit at a 1:0.8 risk to reward ratio. This only happens AFTER the first take profit is hit.
For stop losses 3 and 4, the same logic is true, once TP2 is hit, your second stop loss will now be moved up to the placement of SL3 which will fall somewhere below TP2. Once TP3 is hit, your third stop loss will now be moved up to the placement of SL4 which will fall somewhere below TP3. If stop loss 4 does not get hit, then the only thing left to happen is for TP4 to hit and the trade will fully close out.
The one major difference between our system of trailing stop losses and take profits is that no matter what stop loss is hit, the entire remainder of your position will be calculated as sold.
So, if your first take profit hits and sells 50% of your long position, but the trade does not continue upwards and moves down to your second stop loss, the remaining 50% of your position will be calculated as sold.
The same applies to SL3 and SL4, so at SL3 the remaining 30% of your position will be calculated as sold, and at SL4 the remaining 10% will be calculated as sold.
Your trailing stop loss placement is dependent on what types of trades you desire. For shorter scalps on smaller timeframes, it's recommended to place each stop loss just below each corresponding take profit for long trades.
This way you leave just enough room for the trade to continue upwards if there is enough momentum, but you don’t open yourself up to losing your unrealized profit if it does not make this continuation.
If you desire longer swing trades on higher timeframes, it might be a good idea to leave more room in between the take profit and corresponding stop loss.
This way you leave more room for the trade to mature and move in your favor since when trading longer moves, often they will not shoot straight up but rather have a series of small pullbacks throughout the more general upwards trend.
Note that when a long trade is first entered the only stop loss and take profit in play are your original stop loss found by the pivot low which would result in a loss, and the first take profit at a 1:1 risk to reward ratio from that pivot low.
TP2-4 Short Placement
The first thing to understand about the take profit placement is that our system of stop losses and take profits uses a 1:1 risk to reward ratio for the first stop loss and first take profit.
This means that if your stop loss falls 2% above your short entry, your first take profit will be 2% below your short entry, hence, 1:1.
As for take profits 2-4, they are just extensions of that ratio. This means that if TP2 Short Placement is set to 1.5, the ratio for your second take profit is 1:1.5.
Using the same percentage from the second bullet point being 2%, we can now gather that with a 1:1.5 ratio our second take profit would be at 3% below our short entry.
The same applies for the rest of the take profits, meaning whatever the take profit is set at regardless of which one, apply that number to the second placeholder of the ratio.
Example: First stop loss falls 2% above short entry. TP2 Short Placement input set to 1.5; risk to reward ratio is 1:1.5; corresponding percentage would be a 3% gain. TP3 Short Placement input set to 2; risk to reward ratio is 1:2; corresponding percentage would be a 4% gain. TP4 Short Placement input set to 2.5; risk to reward ratio is 1:2.5; corresponding percentage would be a 5% gain.
The next key thing to understand about the trailing take profits system is the position size being sold at each take profit and therefore how the strategy tracker calculates your strategy's profit.
At the first take profit, 50% of your position is being calculated as sold, locking in good profits off the bat.
At TP2, 20% of your position is being calculated as sold, leaving a remaining 30% open to gain more profit.
At TP3, another 20% of your position is being calculated as sold, leaving 10% to collect any additional possible gains.
At TP4 the remaining 10% of your position is sold and the trade will be fully closed out.
SL2-4 Short Placement
Our system of trailing stop losses is completely similar to that of our trailing take profits.
Just like the trailing take profits, the inputs for stop losses 2-4 are also used as the second placeholders in the risk to reward ratio.
This may be confusing since generally stop losses are associated with a loss on your position, however, the only stop loss which results in a loss on your position is the first one, not stop losses 2-4.
This is because once your first take profit is hit on your short, your stop loss will automatically move down to the price equivalent to the ratio which you set using these inputs that lies in profit.
Example: Since your first take profit will always be at a 1:1 risk to reward ratio with your stop loss, your second take profit could be at a 1:0.8 ratio. So, to clarify, once your first take profit is hit at a 1:1, your original first stop loss will now be moved down in profits to just below your first take profit at a 1:0.8 risk to reward ratio. This only happens AFTER the first take profit is hit.
For stop losses 3 and 4, the same logic is true, once TP2 is hit, your second stop loss will now be moved down to the placement of SL3 which will fall somewhere above TP2. Once TP3 is hit, your third stop loss will now be moved down to the placement of SL4 which will fall somewhere above TP3. If stop loss 4 does not get hit, then the only thing left to happen is for TP4 to hit and the trade will fully close out.
The one major difference between our system of trailing stop losses and take profits is that no matter what stop loss is hit, the entire remainder of your position will be calculated as sold.
So, if your first take profit hits and sells 50% of your short position, but the trade does not continue downwards and moves up to your second stop loss, the remaining 50% of your position will be calculated as sold.
The same applies to SL3 and SL4, so at SL3 the remaining 30% of your position will be calculated as sold, and at SL4 the remaining 10% will be calculated as sold.
Your trailing stop loss placement is dependent on what types of trades you desire. For shorter scalps on smaller timeframes, it's recommended to place each stop loss just above each corresponding take profit for short trades.
This way you leave just enough room for the trade to continue downwards if there is enough momentum, but you don’t open yourself up to losing your unrealized profit if it does not make this continuation.
If you desire longer swing trades on higher timeframes, it might be a good idea to leave more room in between the take profit and corresponding stop loss.
This way you leave more room for the trade to mature and move in your favor since when trading longer moves, often they will not shoot straight down but rather have a series of small bounces throughout the more general downwards trend.
Note that when a short trade is first entered the only stop loss and take profit in play are your original stop loss found by the pivot high which would result in a loss, and the first take profit at a 1:1 risk to reward ratio from that pivot high.
Summary of Take Profit/Stop Loss Placement:
Correctly placed take profits and stop losses are essential in having a successful strategy and proper risk management. With that being said there are also many ways in which to use this system. Deciding how to set them up is really just a matter of determining the trading style you aim to succeed with. Once this has been determined, the placement of take profits and stop losses should be easier to configure. However, if there is any confusion on either of these topics as the ratios and corresponding TP/SL can get confusing, please do not hesitate to ask further questions in our discord!
Leverage Long
Leverage Long input simply defines the leverage used in your long positions, and is used in calculating the profit in Strategy Tracker
A rundown of risk associated with using leverage will not be given here since it should assume that if you're using leverage, you should already understand the risks.
If you are not using any leverage, then set Leverage Long input to 1.
Long Position Size
This input defines the position size you are using in your long trades.
This input is also used in calculating profit in Strategy Tracker.
Long Hedge Position Size
This input is used to define the position size of long hedge positions.
This input is also used in calculating profit in Strategy Tracker.
Important: Your Long Hedge Position Size should always be half of your Long Position Size for accurate profit calculation.
Double Long Position Size
This input is used to define the position size when in a double long.
This input is also used in calculating profit in Strategy Tracker
Important: Your Double Long Position Size should always be double your Long Position Size for accurate profit calculation.
Short Position Size
This input defines the position size you are using in your short trades.
This input is also used in calculating profit in Strategy Tracker.
Short Hedge Position Size
This input is used to define the position size of short hedge positions.
This input is also used in calculating profit in Strategy Tracker.
Important: Your Short Hedge Position Size should always be half of your Short Position Size for accurate profit calculation.
Double Short Position Size
This input is used to define the position size when in a double short.
This input is also used in calculating profit in Strategy Tracker
Important: Your Double Short Position Size should always be double your Short Position Size for accurate profit calculation.
A Message From the Developer PLEASE READ!!!
If you have made it this far in the guide, I applaud you and thank you for sticking with it as I know there is a lot of information here! This is not an exaggeration when I say there are hundreds of millions of possible variations that could be applied throughout all the inputs which is why I much prefer to call this a tool rather than an algorithm. Algorithm is a loaded word in my opinion as it comes with an implication of guarantee in the trades being made. This is not meant to discourage anybody from taking trades based off the tool which is also why I provided the option for automated alerts which through third party software can turn into automated trades; if you have the confidence in your strategy by all means I encourage you to trade it, automated or not. Just please understand that it's highly recommended to also apply your own knowledge and analysis before taking a trade as historical back testing data has its limitations and cannot always account for current market conditions. The real applicability does not fall in what the back tester window is saying you would have made or how accurate your strategy would have been, it's within the sheer number of markets and scenarios this tool can be used in and the information you can get which a human just can’t comprehend all at once; its literally endless. I urge all of you to be creative and think outside the box about what you can do with such a powerful tool at your fingertips. After all this is the reason why so many inputs were provided. Another main goal of this project was to give users a better understanding of risk management. It can be hard to manage your risk when it’s all kept in your head, but when you can modify your strategy to better manage your risk by simply optimizing a few inputs, it’s a lot easier to comprehend and actually apply when trading. The last thing I want to say is have fun working through the possible learning curve in using this tool, it may be a process but enjoy it because the one thing I can guarantee is that you will come out the other side a better trader than before!
Kyushu LegsKyushu Legs is a trend change detector proposed by Goichi Hosoda, a famous Japan journalist, creator of Ichimoku trading theory.
In its core idea it compares current data to the data from 9 weeks back in order to show long running trend and detect trend change moments.
This is a basic version of Kyushu Legs script. If you are looking for more features, please check PRO version of this script.
If after reading script description something is not clear, do not hesitate to ask. We are helping all users.
Script Settings:
| KYUSHU |
Legs - Check box turning on/off Kyushu Legs visualization
Length - Period length, 9 by default.
Candle body color up and down
Formations, TRend, Alerts - Information about formations feature, trend visualization feature, alerts feature
Troubleshooting:
In case of any problems, send error details to the author of the script.
Gann Box by time frame
█ OVERVIEW
This script is designed to plot Gann boxes within a specific time frame candle. That means, you can get your intraday Gann box with one click and zoom in to low time frame. Highs and lows are set by candle chosen, you can display the yearly Gann box if that's something you want to view!
In addition, this script can highlight the golden ratio and its inverse ( .618 & .382 ) within the box itself. You have the option to select between a daily, a weekly, or a monthly candle. Not to mention that you have the ability to select a multiplier to those candles, where for example, you would be able to plot the 3 month ( quarterly ) gann box. or the yearly by selecting 12 months! This script includes zero, one and two divisions to Gann box. The first division would get you the sun lines only. while the first division has the middle 0.5 point and so on. This script is meant to be used as a one-click fast solution. Highs and lows get adjusted as the chart breaks those levels automatically.
█ Future Plans and upgrades to this script may include :
1. Adding more divisions.
2. Data box that shows box stats and performance.
3. More geometrical features such as the spirals and the circles on demand by one click.
and more! feel free to let me know what you'd like to see!
█ How to use :
1. Put the script on your chart
2. Navigate to the settings
3. Select your box's time frame.
give the script a few seconds and you should be set.
This script is coded as an addon to the Gann ToolBox package/scripts.
Planetary Speed█ OVERVIEW
This script is designed to measure the speed of planets from Mercury to Pluto by comparing longitude data across time.
Planetary Speed cycles are very important for those trading Gann theory / Time theory and for Astrology Traders alike. You can toggle the mode of the planet
from a heliocentric setting to a geocentric one. This script is especially important for those who want to research the market and observe the effects of planetary cycles.
Planetary Speed works better on markets that do not close at the moment and on selected time frames ( all the default tradingview timeframes except the monthly ).
This script can also plot 250 days of future data with ease.
█ Future Plans and upgrades to this script may include :
1. Capability to work on different markets that do not open 24/7.
2. Adding lunar and solar speed.
And more! Feel free to contact me with any feature that you would like to see in this script
█ How to use :
1. Open the settings.
2. Select the planet.
3. Choose between Heliocentric and Geocentric
Then Press OK & give the script a few seconds and you should be set. You can add this script to your chart more than once!
This script is coded as an addon to the Gann ToolBox package/scripts.
Planetary Signs█ OVERVIEW
This script is designed to highlight planetary signs. All 12 signs on all planets going from Mercury to Pluto on both Geocentric and Heliocentric settings.
If you are an astrology trader or if you do trade cycles, this script might be great for you because it highlights all these cycles automatically.
You can select one sign or multiple signs at once, you are also able to change the color of the cycle. It should work on all time frame but with future dates it's only set to daily resolution at the moment. Current time is in sync perfectly to the minute when the sign change.
█ Future Plans and upgrades to this script may include :
1. Increase future resolution; it's set to 120 days into the future with daily resolution.
2. More styling and labeling options
And more! Feel free to contact me with any feature that you would like to see in this script
█ How to use :
1. Open the settings.
2. Select the planet.
3. Enable your favorite sign or signs.
Then Press OK & give the script a few seconds and you should be set. You can add this script to your chart more than once!
This script is coded as an addon to the Gann ToolBox package/scripts.
Planetary Angles█ OVERVIEW
This script is designed to display dates where a selected planet passes through a degree of your choice! You can select between planets from Mercury to Pluto on both Geocentric settings and Heliocentric settings.
The script also lets you play with styling of how these should be labeled or viewed on your chart!
█ Future Plans and upgrades to this script may include :
1. Integrate statistics and repeat functionality
2. More future dates plotting.
And more! Feel free to contact me with any feature that you would like to see in this script
█ How to use :
1. Open the settings.
2. Enable the Planetary Angles script
3. Select your desired planet
4. Pick your angle.
5. Select between Heliocentric / Geocentric
Then Press OK & give the script a few seconds and you should be set. You can add this script to your chart more than once!
This script is coded as an addon to the Gann ToolBox package/scripts.
Coin Bureau BB/EMA/RSI IndicatorThis indicator was inspired by Coin Bureau's How To Spot The Crypto Top video. In the video, Coin Bureau uses Bollinger bands, 7-period EMA and RSI to look for early signs of a top, thus presenting an opportunity to sell.
Using the basic principles found in the video, I've made a tentative indicator as a way to visualise all 3 indicators at once. Alerts will only fire when all 3 criteria are met:
Price closes outside 20-period Bollinger bands
Price closes ~2sd away from 7-period EMA
RSI is overbought or oversold
The indicator will also update in real-time and show when 1, 2 or all 3 conditions are satisfied. Additionally, there is built-in functionality to toggle historical/current alerts and users can set their own bounds for what constitutes a buy or sell alert.
This is just a personal project purely for edutainment purposes and should not be used to make financial decisions. This project is not affiliated with Coin Bureau.
Some caveats:
Using only 7 periods to calculate the standard deviation of price data will not lead to a statistically significant result, thus this figure may have no right being in the script. However, this was more to trial some techniques and to get acquainted with the pine scripting language.
As you can see, there are a lot of false positives. There are moments when the indicator flashes a sell alert only for the price to keep on rising. This is due to the specificity/sensitivity trade-off. The indicator has been tuned to give the optimal sensitivity (the more critical component). These are the best results I could find for this asset in this time frame.