Machine Learning: Support and Resistance [YinYangAlgorithms]Overview:
Support and Resistance is normally based upon Pivot Points and Highest Highs and Lowest Lows. Many times coders even incorporate Volume, RSI and other factors into the equation. However there may be a downside to doing a pure technical approach based on historical levels. We live in a time where Machine Learning is becoming more and more used; thus we have decided to create a Machine Learning Support and Resistance Projection based Indicator. Rather than using traditional Support and Resistance calculations using historical data, we have taken a rather different approach. This Indicator instead attempts to Predict and Project where Support and Resistance locations will be based on a Machine Learning Model using a form of KNN (k-Nearest Neighbors).
Since this indicator creates a Projection of where it deems Support and Resistance will be, it has the ability to move its Support and Resistance before the price even gets to it if it believes it will surpass its projections. This may create a more accurate placement of Support and Resistance as they’re not based on historical levels.
This Indicator does not Repaint.
How it works:
This Indicator makes its projections based on the source you provide (by default close) of the previous bar and submits the source, RSI and EMA to our Projection Function to get its projection of the current bar.
The Projection function essentially calculates potential movement after finding the differences between the source the MA from the current bar, previous bar and average over the span of Machine Learning Length.
Potential movement is defined as:
Average Difference + Average(Machine Learning Average, Average Last Distance)
Average Difference: (Absolute value of Current Source - Current MA) - (Absolute value of Machine Learning Average - Machine Learning MA)
Average Last Distance: Average(Current Source - Current MA, Previous Source - Previous MA)
It then predicts the next bars directional movement (bullish or bearish bar) using several factors:
Previous Source > Previous MA
Current Source - Current MA > Average Source - Average MA
Current RSI > Previous RSI
Current RSI > 30 and Previous RSI <= 30
Current RSI < 70 and Previous RSI >= 70
This helps us to predict the direction the next bar may move.
We then calculate a multiplier that we apply to our Potential Movement value to get our final result which is our Current Bars Close Projection.
Our multiplier is calculated using:
(Current RSI > 30 and Previous RSI <= 30) OR (Current RSI < 70 and Previous RSI >= 70)
Current Source - Current MA > Previous Source - Previous MA
We then create an array and fill it with the previous X projections (Machine Learning Length) and send it to another function. This function, if told to, will sort the data accordingly and then output the KNN average of the length given.
We calculate and plot various KNN lengths to create different Zones:
Strong Support: Length of 2 but sort the data Ascending (low to high)
Strong Resistance: Length of 2 but sort the data Descending (high to low)
Support: Length of Machine Length Length / 10 or Min of 2 sorted by Ascending
Resistance: Length of Machine Length Length / 10 or Min of 2 sorted by Descending
There are also 4 other plots you may be wondering what they are, there is your AVG, VWMA, Long Term Memory and Current Projection.
By default your Current Projection is disabled in settings but you can enable it if you are curious to see how the projections for each close are calculated. It is, however, not a crucial point of interest (white line).
The average is simply the average value of the Machine Learning Data (purple line).
The VWMA is a VWMA calculation applied to our Data over a length specified in settings (by default 1)(blue line). The VWMA is crucial when combined with the Avg as they can cross over and under each other. These crosses represent potential Bullish and Bearish zones.
Lastly, but certainly not least, we have the Long Term Memory (maroon line). The Long Term Memory can be displayed either as an ‘Average’, ‘Hard Line’ or ‘None’. The Long Term Average is only updated every Machine Learning Length Bar Index’s and is populated with the average of the Machine Learning Data. For Instance, if Machine Learning Length is set to 100, the Long Term Memory is only updated every 100 bars, and since its length is the same as the Machine Learning Length, that means its data is composed of 10,000 bars worth of data. The Long Term Memory may be very beneficial for determining where Support and Resistance lie over the Long Term within a Machine Learning Algorithm. When set to ‘Average’ it plots the connection lines diagonally, and although they may be more visually appealing, they’re less useful when it comes to actually seeing support and resistance as generally speaking, support and resistance lie on the horizontal. When set to ‘Hard Line’ the Long Term Memory is connected with hard lines and holds the price value until the next time it is updated. This makes it much more useful for potentially identifying Support and Resistance.
Tutorial:
Here is an overview of what the Indicator looks like, now let's start to dissect it.
In the example above we can see how all of the lines between the Major Support and Resistance zones may act as BOTH Support and Resistance depending on which side the price is currently on. In the circle on the left, we can see how it can fluctuate between the two. If you look at the circle on the right, we can see how the Average line acts as a strong support before it fails to maintain it. Generally speaking, most Support and Resistance locations may potentially fail to hold after 3 tests, as the Average did in this example.
As you can see, the Support and Resistance doesn’t wait to be tested before adjusting, which is why there are 2 lines which create their zones. The inner line is the Support/Resistance and the outer line is the Strong Support/Resistance. The Yellow Circle shows the inner line was able to calculate the moving resistance correctly and then adjusted accordingly as it was projecting the price to keep increasing. However, if you look at the White Circle, you can see that since there was first a crash, and then parabolic movement, that the inner zone could not move and predict the resistance as well as the outer zone could.
We consider the price to be ‘Overvalued’ when it is above the VWMA (blue line) and ‘Undervalued’ when it is below the VWMA. It is considered ‘fair’ price when it is within the VWMA to Average zone (between the blue and purple lines). If you look at the example above, you’ll notice where the two yellow circles are, it is not only considered ‘Overvalued’, but it then proceeds to ride the inner resistance line upwards. This is common when the market is overly bullish and vice versa when it is bearish. Please keep in mind, although it is common, it doesn’t mean a correction can’t happen.
In this example above we look at the last bull run that may have started due to the halving. This bull run was very bullish as you can see in the example above. The price was constantly sitting within the Resistance Zone and the VWMA that was very close to it was constantly acting as a Support. Naturally, due to the Algorithm used in this Indicator, as the momentum starts to slow down, the VWMA (blue line) will start to space out more and more from the Resistance Zone. This doesn’t mean the momentum is gone, it just means it may be slowing down.
Unfortunately we have to study the Bear Market with a different perspective than the Bull Market. However, there are still some similarities within the two. If you refer to the example above and the previous example, you can clearly see that the Bull Market loves to stay with the Resistance Zone and use the VWMA as a Support. However, the Bear Market does not. This is a normal occurrence, however we can see from the example above you may see a correction / horizontal movement when the Outer Support Line is touched. If you look at all 3 yellow circles, the Outer Support Line was touched, then either a small correction or horizontal consolidation occurred.
We will conclude our Tutorial here, hopefully you’ll be able to benefit from a moving Support and Resistance calculated with Machine Learning that projects its locations, rather than using traditional calculations.
Settings:
Source: This source is the base for all our calculations
Machine Learning Length: How much projection data are we storing and using to make calculations.
Smoothing Length: We need to smooth calculations such as RSI, EMA and VWMA. What length are we smoothing it with?
VWMA ML Projection Length: How far into our Machine Learning data should we average for our VWMA. Please note the 'Smoothing Length' is still applied here after getting the Projection Average.
Long Term Memory: Long term memory has the same storage length but is only updated once per Machine Learning Length. For instance, if Machine Learning Length is 100, it will save the Average of our data once every 100 bars. This means its memory is an average of 10,000 bars of Machine Learning. 'Average' connects its values diagonally whereas 'Hard Line' holds its value until it changes.
Use Average Last Distance In Potential Movement: This can help accuracy but generally also displaces the Support and Resistance by projecting it further.
Show Current Projection: Projections occur for each bar, and our Machine Learning utilizes these projections by storing and evaluating them. This toggle will display the Current Projection Line which is used to create all our Projections.
If you have any questions, comments, ideas or concerns please don't hesitate to contact us.
HAPPY TRADING!
Komut dosyalarını "摩根纳斯达克100基金风险大吗" için ara
Fibonacci TradingFibonacci Trading
This simple script draw Fibonacci Retracement to define pullback level and draw Fibonacci Extension to define target level of a upward wave or doward wave
1. Upward wave
1.1 Fibonacci Retracement
+ Fibonacci Retracement measuare from support to nearest resistance on the right.
+ Retracement Level 0 named as "Breake Even"
+ Retracement Level 100 named as "Long Invalidation"
+ Retracement Level 50 and 61.8 is ploted as blue line
+ The zone between Retracement Level 50 and 100 is filled by blue color and named as "Buy zone"
1.2 Fibonacci Extension
+ Fibonacci Extension measuare from Retracement Level 61.8 to Retracement Level 0
+ Fibonacci Extension Level 161.8 named as "Tp1 (Target point 1)"
+ Fibonacci Extension Level 261.8 named as "Tp2 (Target point 2)"
2. Doward wave
2.1 Fibonacci Retracement
+ Fibonacci Retracement measuare from resistance to nearest support on the right.
+ Retracement Level 0 named as "Breake Even"
+ Retracement Level 100 named as "Short Invalidation"
+ Retracement Level 50 and 61.8 is ploted as red line
+ The zone between Retracement Level 50 and 100 is filled by red color and named as "Sell zone"
2.2 Fibonacci Extension
+ Fibonacci Extension measuare from Retracement Level 61.8 to Retracement Level 0
+ Fibonacci Extension Level 161.8 named as "Tp1 (Target point 1)"
+ Fibonacci Extension Level 261.8 named as "Tp2 (Target point 2)"
3. Trading Setup
3.1 Long Only: Only display Fibonacci of Upward wave
3.2 Short Only: Only display Fibonacci of Doward wave
3.3 Both: Display both Fibonacci of Upward wave and Doward wave
Multi-Timeframe Trend Detector [Alifer]Here is an easy-to-use and customizable multi-timeframe visual trend indicator.
The indicator combines Exponential Moving Averages (EMA), Moving Average Convergence Divergence (MACD), and Relative Strength Index (RSI) to determine the trend direction on various timeframes: 15 minutes (15M), 30 minutes (30M), 1 hour (1H), 4 hours (4H), 1 day (1D), and 1 week (1W).
EMA Trend : The script calculates two EMAs for each timeframe: a fast EMA and a slow EMA. If the fast EMA is greater than the slow EMA, the trend is considered Bullish; if the fast EMA is less than the slow EMA, the trend is considered Bearish.
MACD Trend : The script calculates the MACD line and the signal line for each timeframe. If the MACD line is above the signal line, the trend is considered Bullish; if the MACD line is below the signal line, the trend is considered Bearish.
RSI Trend : The script calculates the RSI for each timeframe. If the RSI value is above a specified Bullish level, the trend is considered Bullish; if the RSI value is below a specified Bearish level, the trend is considered Bearish. If the RSI value is between the Bullish and Bearish levels, the trend is Neutral, and no arrow is displayed.
Dashboard Display :
The indicator prints arrows on the dashboard to represent Bullish (▲ Green) or Bearish (▼ Red) trends for each timeframe.
You can easily adapt the Dashboard colors (Inputs > Theme) for visibility depending on whether you're using a Light or Dark theme for TradingView.
Usage :
You can adjust the indicator's settings such as theme (Dark or Light), EMA periods, MACD parameters, RSI period, and Bullish/Bearish levels to adapt it to your specific trading strategies and preferences.
Disclaimer :
This indicator is designed to quickly help you identify the trend direction on multiple timeframes and potentially make more informed trading decisions.
You should consider it as an extra tool to complement your strategy, but you should not solely rely on it for making trading decisions.
Always perform your own analysis and risk management before executing trades.
The indicator will only show a Dashboard. The EMAs, RSI and MACD you see on the chart image have been added just to demonstrate how the script works.
DETAILED SCRIPT EXPLANATION
INPUTS:
theme : Allows selecting the color theme (options: "Dark" or "Light").
emaFastPeriod : The period for the fast EMA.
emaSlowPeriod : The period for the slow EMA.
macdFastLength : The fast length for MACD calculation.
macdSlowLength : The slow length for MACD calculation.
macdSignalLength : The signal length for MACD calculation.
rsiPeriod : The period for RSI calculation.
rsiBullishLevel : The level used to determine Bullish RSI condition, when RSI is above this value. It should always be higher than rsiBearishLevel.
rsiBearishLevel : The level used to determine Bearish RSI condition, when RSI is below this value. It should always be lower than rsiBullishLevel.
CALCULATIONS:
The script calculates EMAs on multiple timeframes (15-minute, 30-minute, 1-hour, 4-hour, daily, and weekly) using the request.security() function.
Similarly, the script calculates MACD values ( macdLine , signalLine ) on the same multiple timeframes using the request.security() function along with the ta.macd() function.
RSI values are also calculated for each timeframe using the request.security() function along with the ta.rsi() function.
The script then determines the EMA trends for each timeframe by comparing the fast and slow EMAs using simple boolean expressions.
Similarly, it determines the MACD trends for each timeframe by comparing the MACD line with the signal line.
Lastly, it determines the RSI trends for each timeframe by comparing the RSI values with the Bullish and Bearish RSI levels.
PLOTTING AND DASHBOARD:
Color codes are defined based on the EMA, MACD, and RSI trends for each timeframe. Green for Bullish, Red for Bearish.
A dashboard is created using the table.new() function, displaying the trend information for each timeframe with arrows representing Bullish or Bearish conditions.
The dashboard will appear in the top-right corner of the chart, showing the Bullish and Bearish trends for each timeframe (15M, 30M, 1H, 4H, 1D, and 1W) based on EMA, MACD, and RSI analysis. Green arrows represent Bullish trends, red arrows represent Bearish trends, and no arrows indicate Neutral conditions.
INFO ON USED INDICATORS:
1 — EXPONENTIAL MOVING AVERAGE (EMA)
The Exponential Moving Average (EMA) is a type of moving average (MA) that places a greater weight and significance on the most recent data points.
The EMA is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The EMA can be used by traders to produce buy and sell signals based on crossovers and divergences from the historical average. Traders often use several different EMA lengths, such as 10-day, 50-day, and 200-day moving averages.
The formula for calculating EMA is as follows:
Compute the Simple Moving Average (SMA).
Calculate the multiplier for weighting the EMA.
Calculate the current EMA using the following formula:
EMA = Closing price x multiplier + EMA (previous day) x (1-multiplier)
2 — MOVING AVERAGE CONVERGENCE DIVERGENCE (MACD)
The Moving Average Convergence Divergence (MACD) is a popular trend-following momentum indicator used in technical analysis. It helps traders identify changes in the strength, direction, momentum, and duration of a trend in a financial instrument's price.
The MACD is calculated by subtracting a longer-term Exponential Moving Average (EMA) from a shorter-term EMA. The most commonly used time periods for the MACD are 26 periods for the longer EMA and 12 periods for the shorter EMA. The difference between the two EMAs creates the main MACD line.
Additionally, a Signal Line (usually a 9-period EMA) is computed, representing a smoothed version of the MACD line. Traders watch for crossovers between the MACD line and the Signal Line, which can generate buy and sell signals. When the MACD line crosses above the Signal Line, it generates a bullish signal, indicating a potential uptrend. Conversely, when the MACD line crosses below the Signal Line, it generates a bearish signal, indicating a potential downtrend.
In addition to the MACD line and Signal Line crossovers, traders often look for divergences between the MACD and the price chart. Divergence occurs when the MACD is moving in the opposite direction of the price, which can suggest a potential trend reversal.
3 — RELATIVE STRENGHT INDEX (RSI):
The Relative Strength Index (RSI) is another popular momentum oscillator used by traders to assess the overbought or oversold conditions of a financial instrument. The RSI ranges from 0 to 100 and measures the speed and change of price movements.
The RSI is calculated based on the average gain and average loss over a specified period, commonly 14 periods. The formula involves several steps:
Calculate the average gain over the specified period.
Calculate the average loss over the specified period.
Calculate the relative strength (RS) by dividing the average gain by the average loss.
Calculate the RSI using the following formula: RSI = 100 - (100 / (1 + RS))
The RSI oscillates between 0 and 100, where readings above 70 are considered overbought, suggesting that the price may have risen too far and could be due for a correction. Readings below 30 are considered oversold, suggesting that the price may have dropped too much and could be due for a rebound.
Traders often use the RSI to identify potential trend reversals. For example, when the RSI crosses above 30 from below, it may indicate the start of an uptrend, and when it crosses below 70 from above, it may indicate the start of a downtrend. Additionally, traders may look for bullish or bearish divergences between the RSI and the price chart, similar to the MACD analysis, to spot potential trend changes.
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.
Buying/Selling Pressure Cycle (PreCy)No lag estimation of the buying/selling pressure for each candle.
----------------------------------------------------------------------------------------------------
WHY PreCY?
How much bearish pressure is there behind a group of bullish candles ?
Is this bearish pressure increasing?
When might it overcome the bullish pressure?
Those were my questions when I started this indicator. It lead me through the rabbit hole, where I discovered some secrets about the market. So I pushed deeper, and developped it a lot more, in order to understand what is really happening "behind the scene".
There are now 3 ways to read this indicator. It might look complicated at first, but the reward is to be able to anticipate and understand a lot more.
You can show/hide all the plots in the settings. So you can choose the way you prefer to use it.
----------------------------------------------------------------------------------------------------
FIRST WAY TO READ PreCy : The SIGNAL line
Go in the settings of PreCy, in "DISPLAY", uncheck "The pivot lines of the SIGNAL" and "The CYCLE areas". Make sure "The SIGNAL line" is checked.
The SIGNAL shows an estimation of the buying/selling pressure of each candle, going from 100 (100% bullish candle) to -100 (100% bearish candle). A doji would be shown close to zero.
Formula: Estimated % of buying pressure - Estimated % of selling pressure
It is a very choppy line in general, but its colors help make sense of it.
When this choppiness alternates between the extremes, then there is not much pressure on each candle, and it's very unpredictable.
When the pressure increases, the SIGNAL's amplitude changes. It "compresses", meaning there is some interest in the market. It can compress by alternating above and below zero, or it can stay above zero (bullish), or below zero (bearish) for a while.
When the SIGNAL becomes linear (in opposition to choppy), there is a lot of pressure, and it is directional. The participants agree for a move in a chosen direction.
The trajectory of the SIGNAL can help anticipate when a move is going to happen (directional increase of pressure), or stop (returning to zero) and possibly reverse (crossing zero).
Advanced uses:
The SIGNAL can make more sense on a specific timeframe, that would be aligned with the frequency of the orders at that moment. So it is a good idea to switch between timeframes until it gets less choppy, and more directional.
It is interesting to follow any regular progression of the SIGNAL, as it can reveal the intentions of the market makers to go in a certain direction discretely. There can be almost no volume and no move in the price action, yet the SIGNAL gets linear and moves away from one extreme, slowly crosses the zeroline, and pushes to the other extreme at the same time as the amplitude of the price action increases drastically.
----------------------------------------------------------------------------------------------------
SECOND WAY TO READ PreCy : The PIVOTS of the SIGNAL line
Go in the settings of PreCy, in "DISPLAY", and uncheck "The CYCLE areas". Make sure "The SIGNAL line" and "The pivot lines of the SIGNAL" are checked.
The PIVOTS help make sense of the apparent chaos of the SIGNAL. They can reveal the overall direction of the choppy moves.
Especially when the 2 PIVOTS lines are parallel and oriented.
----------------------------------------------------------------------------------------------------
THIRD WAY TO READ PreCy : The CYCLE
Go in the settings of PreCy, in "DISPLAY", and uncheck "The SIGNAL line" and "The pivot lines of the SIGNAL". Make sure "The CYCLE areas" is checked.
The CYCLE is a Moving Average of the SIGNAL in relation to each candle's size.
Formula: 6 periods Moving Average of the SIGNAL * (body of the current candle / 200 periods Moving Average of the candle's bodies)
The result goes from 200 to -200.
The CYCLE shows longer term indications of the pressures of the market.
Analysing the trajectory of the CYCLE can help predict the direction of the price.
When the CYCLE goes above or below the gray low intensity zone, it signals some interest in the move.
When the CYCLE stays above 100 or below -100, it is a sign of strength in the move.
When it stayed out of the gray low intensity zone, then returns inside it, it is a strong signal of a probable change of behavior.
----------------------------------------------------------------------------------------------------
ALERTS
In the settings, you can pick the alerts you're interested in.
To activate them, right click on the chart (or alt+a), choose "Add alert on Buying/Selling Pressure Cycle (PreCy)" then "Any alert()", then "Create".
Feel free to activate them on different timeframes. The alerts show which timeframe they are from (ex: "TF:15" for the 15 minutes TF).
I have added a lot more conditions to my PreCy, taken from FREMA Trend, for ex. You can do the same with your favorite scripts, to make PreCy more accurate for your style.
----------------------------------------------------------------------------------------------------
Borrowed scripts:
To estimate the buying and selling pressures, PreCy uses the wicks calculations of "Volume net histogram" by RafaelZioni
To filter the alerts, PreCy uses the calculations of "Amplitude" by Koholintian:
----------------------------------------------------------------------------------------------------
DO NOT BASE YOUR TRADING DECISIONS ON 1 SINGLE INDICATOR'S SIGNALS.
Always confirm your ideas by other means, like price action and indicators of a different nature.
VolumeFlowVolume & price have a direct correlation with each other. If the fundamental value changes, the price changes and volume follows. If the technicals change, volume changes and price follows.
Because the relationship between volume and price is so connected, I created a script highlighting important volume flow measurements.
The VolumeFlow indicator combines several volume measurements into 1 indicator.
1) Volume net inflow / outflow
2) Volume total flow change
3) Volume cumulation flow
The VolumeFlow indicator uses a scale from 100 high to -100 low, with the zero level being neutral.
The VolumeFlow indicator has 4 inputs:
1) +Volume-
2) VolumeFast
3) VolumeSlow
4) Accum/Dist
Default inputs:
+Volume-
length = 1, color = + green or - red
VolumeFast
length = 2, color = blue
VolumeSlow
length = 3, color = white
Accum/Dist
length = 5, color = brown
Horizontal lines
length = 100, 50, 0, -50, -100, color = white
* The VolumeFlow indicator uses altered pieces of code from my Options360 FibVIP indicator, Tradingview "Up / down volume" indicator and Tradingview "Accumulation/Distribution" indicator. *
Smart Disparity IndexThe Smart Disparity Index (SDI) is an optimized version of the Disparity Index indicator invented by Steve Nison (book "Beyond Candlesticks").
According to Steve Nison, "The disparity index (or disparity ratio), compares, as a percentage, the latest close to a chosen moving average", which means that the indicator gives the difference in % between the closing price and a simple moving average.
The calculation formula is therefore as follows:
Disparity Index = 100 x (closing_price - simple_moving_average) / simple_moving_average
In order to optimize the calculation, I replaced the closing price with the 6-period exponential moving average (EMA6) which, according to many years of experience, allows prices to be smoothed by eliminating excesses.
Formula for calculating the Smart Disparity Index:
SDI = 100 x (EMA6 - simple_moving_average) / simple_moving_average
The provided script displays the SDI for the 20, 50, 100 and 200 periods.
From my point of view, I recommend using the SDI50 as a priority:
SDI50 = 100 x (EMA6 - SMA50) / SMA50
In the chart, we can see the SDI50 (in purple) is on a long-term support (in green), this indicates a probability of a Bitcoin rise in the coming months.
The SDI can also be used as a momentum type indicator.
TASC 2022.12 Short-Term Continuation And Reversal Signals█ OVERVIEW
TASC's December 2022 edition Traders' Tips includes an article by Barbara Star titled "Short-Term Continuation And Reversal Signals". This is the code that implements the concepts presented in this publication.
█ CONCEPTS
The article takes two classic indicators, the Commodity Channel Index (CCI) and the Directional Movement Indicator (DMI), makes changes to the traditional ways of visualizing their readings, and uses them together to generate potential signals. The author first discusses the benefits of converting the DMI indicator to an oscillator format by subtracting the −DI from the +DI, which is then displayed as a histogram. Next, the author shows how the use of an on-chart visual framework (i.e., choosing the line style and color, coloring price bars, etc.) can help traders interpret the signals produced the considered pair of indicators.
█ CALCULATIONS
The article offers the following signals based on the readings of the DMI and CCI pair, suitable for several types of trades:
• Short-term trend change signals:
A DMI oscillator above zero indicates that prices are in an uptrend. A DMI oscillator below the zero line and falling means that selling pressure is dominating and price is trending down. The sign of the DMI oscillator is indicated by the color of the price bars (which correlates with the color of the DMI histogram). Namely, green, red and grey price bars correspond to the DMI oscillator above, below and equal to zero . Colored price bars and the DMI oscillator make it easy for trend traders to recognize changes in short-term trends.
• Trend continuation signals:
Blue circles appear near the bottom of the oscillator chart border when the DMI is above the zero line and the price is above its simple moving average in an uptrend . Dark red circles appear near the top of the chart in a downtrend when the DMI oscillator is below its zero line and below the 18-period moving average. Trend continuation signals are useful for those looking to add to existing positions, as well as for traders waiting for a pullback after a trend has started.
• Reversal signals:
The CCI signals a reversal to the downside when it breaks out of its +100 and then returns at some point, crossing below the +100 level. This is indicated by a magenta-colored diamond shape near the top the chart. The CCI signals a reversal to the upside when it moves below its −100 level and then at some point comes back to cross above the −100 level. This is indicated by a yellow diamond near the bottom of the chart. Reversal signals offer short-term rallies for countertrend traders as well as for swing traders looking for longer-term moves using the interplay between continuation and reversal signals.
MTF Commodity Oddity Index (CCI+)MTF Commodity Oddity Index (CCI+)
This chart overlay indicator is based upon the Commodity Channel Index (CCI) and can signal multiple triple-timeframe CCI overbought and oversold confluences directly onto your chart, intended for use as a confluence either for reversal trade entries, or potential trade exits, indicating where price may be probable to reverse.
Features include:
- Primary set of fully configurable triple-timeframe overbought and oversold signals, indicating where 3 selected timeframes are all overbought or all oversold at the same time. Enabled by default.
- Secondary set of fully configurable triple-timeframe overbought and oversold signals, indicating where 3 selected timeframes are all overbought or all oversold at the same time. Enabled by default.
- Optional drawing of background colours and/or ribbon seen at bottom of the chart image.
- The default primary MTF #1 timeframes are set to 1 minute, 5 minute and 15 minute. These are highly suitable for low timeframe scalpers trading on < 5m charts, and can often pin point price reversals.
- The default Secondary MTF #2 timeframes are set to 15 minute, 30 minute and 120 minute. These are suitable for both low timeframe scalpers and considerably higher timeframe traders.
- Independent alerts for MTF #1 and MTF #2 triple-timeframe confluences, including options for alerting MTF overbought and MTF oversold individually, as well as an option for alerting either overbought or oversold in a single combined alert.
- Also includes standard configurable CCI options, including CC length and source type.
Note: The features listed above are accurate at the time of publishing but maybe updated or added to in future.
A similar MTF CCI indicator is also available as a panel indicator here .
This indicator is based upon the original MTF Fantastic Stochastic (FS+) available here .
What is the Commodity Channel Index (CCI)?
Investopedia has described the popular oscillator as follows:
“The Commodity Channel Index (CCI) is a momentum-based oscillator used to help determine when an investment vehicle is reaching a condition of being overbought or oversold.
Developed by Donald Lambert, this technical indicator assesses price trend direction and strength, allowing traders to determine if they want to enter or exit a trade, refrain from taking a trade, or add to an existing position. In this way, the indicator can be used to provide trade signals when it acts in a certain way.”
You can read more about the CCI , its use cases and calculations here .
How do traders use overbought and oversold levels in their trading?
The oversold level, that is traditionally when the CCI is above the 100 level is typically interpreted as being 'overbought', and below the -100 level is typically considered 'oversold'. Traders will often use the CCI at an overbought level as a confluence for entry into a short position, and the CCI at an oversold level as a confluence for an entry into a long position. These levels do not mean that price will necessarily reverse at those levels in a reliable way, however. This is why this version of the CCI employs the triple timeframe overbought and oversold confluence, in an attempt to add a more confluence and reliability to this usage of the CCI . While traditionally, the overbought and oversold levels are below -100 for oversold, and above 100 for overbought, the default threshold settings of this indicator have been increased to provide fewer, stronger signals, especially suited to the low timeframes and highly volatile assets.
MTF CCI + Realtime DivergencesMulti-timeframe Commodity Channel Index (CCI) + Realtime Divergences + Alerts
This version of the CCI includes the following features:
- Optional 2x sets of triple-timeframe overbought and oversold signals with fully configurable timeframes and overbought and oversold thresholds, can indicate where 3 selected timeframes are all overbought or all oversold at the same time, with alert option.
- Optional divergence lines drawn directly onto the oscillator in realtime, with alert options.
- Configurable pivot periods to fine tune the divergences drawn in order to suit different trading styles and timeframes, including the ability to enable automatic adjustment of pivot period per chart timeframe.
- Alternate timeframe feature allows you to configure the oscillator to use data from a different timeframe than the chart it is loaded on.
- 'Hide oscillator' feature allows traders to hide the oscillator itself, leaving only the background colours indicating the overbought and oversold periods and/or MTF overbought and oversold confluences, as seen in the chart image.
- Also includes standard configurable CCI options, including CCI length and source type. Defaults set to length 20, and hlc3 source type.
- Optional Flip oscillator feature, allows users to flip the oscillator upside down, for use with Tradingviews 'Flip chart' feature (Alt+i), for the purpose of manually spotting divergences, where the trader has a strong natural bias in one direction, so that they can flip both the chart and the oscillator.
- Optional 'Fade oscillator' feature, which will fade out all but the most recent period, reducing visual noise on the chart.
While this version of the CCI has the ability to draw divergences in realtime along with related alerts so you can be notified as divergences occur without spending all day watching the charts, the main purpose of this indicator was to provide the triple-timeframe overbought and oversold confluence signals, in an attempt to add more confluence, weight and reliability to the single timeframe overbought and oversold states, commonly used for trade entry confluence. It's primary purpose is intended for scalping reversal trades on lower timeframes, typically between 1-15 minutes, which can be used in conjunction with the regular divergences the indicator can highlight. The triple timeframe overbought can often indicate near term reversals to the downside, with the triple timeframe oversold often indicating neartime reversals to the upside. The default timeframes for this confluence are set to check the 1m, 5m and 15m timeframes together, ideal for scalping the < 15 minute charts. The default settings for the MTF #1 timeframes (1m, 5m and 15m) are best used on a <5 minute chart.
Its design and use case is based upon the original MTF Stoch RSI + Realtime Divergences found here .
Commodity Channel Index (CCI)
Investopedia has described the popular oscillator as follows:
“The Commodity Channel Index (CCI) is a momentum-based oscillator used to help determine when an investment vehicle is reaching a condition of being overbought or oversold.
Developed by Donald Lambert, this technical indicator assesses price trend direction and strength, allowing traders to determine if they want to enter or exit a trade, refrain from taking a trade, or add to an existing position. In this way, the indicator can be used to provide trade signals when it acts in a certain way.”
You can read more about the CCI, its use cases and calculations here .
How do traders use overbought and oversold levels in their trading?
The oversold level, that is traditionally when the CCI is above the 100 level is typically interpreted as being 'overbought', and below the -100 level is typically considered 'oversold'. Traders will often use the CCI at an overbought level as a confluence for entry into a short position, and the CCI at an oversold level as a confluence for an entry into a long position. These levels do not mean that price will necessarily reverse at those levels in a reliable way, however. This is why this version of the CCI employs the triple timeframe overbought and oversold confluence, in an attempt to add a more confluence and reliability to this usage of the CCI. While traditionally, the overbought and oversold levels are below -100 for oversold, and above 100 for overbought, he default threshold settings of this indicator have been increased to provide fewer, stronger signals, especially suited to the low timeframes and highly volatile assets.
What are divergences?
Divergence is when the price of an asset is moving in the opposite direction of a technical indicator, such as an oscillator, or is moving contrary to other data. Divergence warns that the current price trend may be weakening, and in some cases may lead to the price changing direction.
There are 4 main types of divergence, which are split into 2 categories;
regular divergences and hidden divergences. Regular divergences indicate possible trend reversals, and hidden divergences indicate possible trend continuation.
Regular bullish divergence: An indication of a potential trend reversal, from the current downtrend, to an uptrend.
Regular bearish divergence: An indication of a potential trend reversal, from the current uptrend, to a downtrend.
Hidden bullish divergence: An indication of a potential uptrend continuation.
Hidden bearish divergence: An indication of a potential downtrend continuation.
How do traders use divergences in their trading?
A divergence is considered a leading indicator in technical analysis , meaning it has the ability to indicate a potential price move in the short term future.
Hidden bullish and hidden bearish divergences, which indicate a potential continuation of the current trend are sometimes considered a good place for traders to begin, since trend continuation occurs more frequently than reversals, or trend changes.
When trading regular bullish divergences and regular bearish divergences, which are indications of a trend reversal, the probability of it doing so may increase when these occur at a strong support or resistance level . A common mistake new traders make is to get into a regular divergence trade too early, assuming it will immediately reverse, but these can continue to form for some time before the trend eventually changes, by using forms of support or resistance as an added confluence, such as when price reaches a moving average, the success rate when trading these patterns may increase.
Typically, traders will manually draw lines across the swing highs and swing lows of both the price chart and the oscillator to see whether they appear to present a divergence, this indicator will draw them for you, quickly and clearly, and can notify you when they occur.
Setting alerts.
With this indicator you can set alerts to notify you when any/all of the above types of divergences occur, on any chart timeframe you choose, and also when the triple timeframe overbought and oversold confluences occur.
Configurable pivot period.
You can adjust the default pivot period values to suit your prefered trading style and timeframe. If you like to trade a shorter time frame, lowering the default lookback values will make the divergences drawn more sensitive to short term price action. By default, this indicator has enabled the automatic adjustment of the pivot periods for 4 configurable timeframes, in a bid to optimise the divergences drawn when the indicator is loaded onto any of the 4 timeframes. These timeframes and the auto adjusted pivot periods on each of them can also be reconfigured within the settings menu.
Disclaimer: This script includes code adapted from the Divergence for Many Indicators v4 by LonesomeTheBlue . With special thanks.
Public Sentiment Oscillator This is a combination of 9 common use indicators turned into on single oscillator. These indicators are: 200 day moving average cross, 9/12 ema cross, 13/48 sma cross, rsi, stochastic, mfi, cci, macd, and open close trend. I have weighted the scores to be pretty even so that its balances each indicator in the sum. Because of the odd number of indicators, I have decided to normalized the score to 10. I think this has the effect of making it easier to read.
The score definition: oc_trend > 0 ? 1 : 0, fast_e > slow_e ? 1 : 0, fast_s > slow_s ? 1 : 0, rsi < 30 ? 0 : rsi > 30 and rsi < 70 ? 0.5 : rsi > 70 ? 1 : 0, macd1 > macd2 ? 0.5 : macd1 < macd2 ? 0 : 0, (hist >=0 ? (hist < hist ? 0.5 : 0.25) : (hist < hist ? 0.25 : 0)), stoch < 20 ? 0 : stoch > 20 and stoch < 80 ? 0.5 : stoch > 80 ? 1 : 0, source > ma200 ? 1 : ex <= ma200 ? 0 : 0, mfi < 20 ? 0 : mfi > 20 and mfi < 80 ? 0.5 : mfi > 80 ? 1 : 0, cci < -100 ? 0 : cci > -100 and cci < 100 ? 0.5 : cci > 100 ? 1 : 0
I hope you find this useful in your trades. Enjoy!
Relative Bi-Directional Volatility RangeThe basic math behind this Indicator is very similar to the math behind the Relative Strength Index without using a standard deviation as used for the Relative Volatility Index. The Volatility Range is calculated by utilizing the highs and lows. However not in the same way as in the Relative Volatility Index. This approach leads to different values, but the overall result clearly reveals the intrinsic Volatility of the chart, so the user can be aware, when something fundamentally is going on behind the scenes. If the Volatility rises on positive and negative range (-100 to 100) it implies that something fundamental is changing.
An advantage of using this kind of calculation is the possibility of separating the data into positive (buy pressure) and negative (sell pressure) components. The bi-directional character shows a slightly overhang in one of the directions, which can be used to detect a trend. A Moving Average of the users choice shell smoothen the overhang of the Relative Bi-Directional Volatility and show a trend direction. Similar to the math of the Relative Strength Index as standard a Relative Moving Average is preferred. If the Moving Average is in the positive range (0 to 100) it indicates a bullish trend, else if the Moving Average is in the negative range (0 to -100) it indicates a bearish trend. External Indicators can use a provided Trend Shift Signal which switches from 0 to 1, if the trend becomes bullish or from 0 to -1, if the trend becomes bearish.
The user should know, that in this Indicator the starting point of the Moving Averages always begins at the first bar, because the starting progress is approximated appropriately. Most Moving Averages require a minimum number of bars to be calculated, which is chosen with the Moving Average Length. In this cases the length used will be automatically reduced in the background until the number of bars is sufficient to match the chosen length. So if data history is very short, the Indicator can be used never the less as good as possible.
It is feasible to switch the Indicator on a higher timeframe, while staying in a lower timeframe on the chart. This can be useful for making the indication cleaner, if the Moving Average is to choppy and shows too many false signals. On the other hand the benefit of a higher timeframe (or a higher Moving Average Length) is paid with higher latency of the signaling. So the user has to decide what the best setting in his case is.
This Indicator can be used with all kinds of charts. Even charts with percentage or negative values should work fine.
Physics CandlesPhysics Candles embed volume and motion physics directly onto price candles or market internals according to the cyclic pattern of financial securities. The indicator works on both real-time “ticks” and historical data using statistical modeling to highlight when these values, like volume or momentum, is unusual or relatively high for some periodic window in time. Each candle is made out of one or more sub-candles that each contain their own information of motion, which converts to the color and transparency, or brightness, of that particular candle segment. The segments extend throughout the entire candle, both body and wicks, and Thick Wicks can be implemented to see the color coding better. This candle segmentation allows you to see if all the volume or energy is evenly distributed throughout the candle or highly contained in one small portion of it, and how intense these values are compared to similar time periods without going to lower time frames. Candle segmentation can also change a trader’s perspective on how valuable the information is. A “low” volume candle, for instance, could signify high value short-term stopping volume if the volume is all concentrated in one segment.
The Candles are flexible. The physics information embedded on the candles need not be from the same price security or market internal as the chart when using the Physics Source option, and multiple Candles can be overlayed together. You could embed stock price Candles with market volume, market price Candles with stock momentum, market structure with internal acceleration, stock price with stock force, etc. My particular use case is scalping the SPX futures market (ES), whose price action is also dictated by the volume action in the associated cash market, or SPY, as well as a host of other securities. Physics allows you to embed the ES volume on the SPY price action, or the SPY volume on the ES price action, or you can combine them both by overlaying two Candle streams and increasing the Number of Overlays option to two. That option decreases the transparency levels of your coloring scheme so that overlaying multiple Candles converges toward the same visual color intensity as if you had one. The Candle and Physics Sources allows for both Symbols and Spreads to visualize Candle physics from a single ticker or some mathematical transformation of tickers.
Due to certain TradingView programming restrictions, each Candle can only be made out of a maximum of 8 candle segments, or an “8-bit” resolution. Since limits are just an opportunity to go beyond, the user has the option to stack multiple Candle indicators together to further increase the candle resolution. If you don’t want to see the Candles for some particular period of the day, you can hide them, or use the hiding feature to have multiple Candles calibrated to show multiple parts of the trading day. Securities tend to have low volume after hours with sharp spikes at the open or close. Multiple Candles can be used for multiple parts of the trading day to accommodate these different cycles in volume.
The Candles do not need be associated with the nominal security listed on the TV chart. The Candle Source allows the user to look at AAPL Candles, for instance, while on a TSLA or SPY chart, each with their respective volume actions integrated into the candles, for instance, to allow the user to see multiple security price and volume correlation on a single chart.
The physics information currently embeddable on Candles are volume or time, velocity, momentum, acceleration, force, and kinetic energy. In order to apply equations of motion containing a mass variable to financial securities, some analogous value for mass must be assumed. Traders often regard volume or time as inextricable variables to a securities price that can indicate the direction and strength of a move. Since mass is the inextricable variable to calculating the momentum, force, or kinetic energy of motion, the user has the option to assume either time or volume is analogous to mass. Volume may be a better option for mass as it is not strictly dependent on the speed of a security, whereas time is.
Data transformations and outlier statistics are used to color code the intensity of the physics for each candle segment relative to past periodic behavior. A million shares during pre-market or a million shares during noontime may be more intense signals than a typical million shares traded at the open, and should have more intense color signals. To account for a specific cyclic behavior in the market, the user can specify the Window and Cycle Time Frames. The Window Time Frame splits up a Cycle into windows, samples and aggregates the statistics for each window, then compares the current physics values against past values in the same window. Intraday traders may benefit from using a Daily Cycle with a 30-minute Window Time Frame and 1-minute Sample Time Frame. These settings sample and compare the physics of 1-minute candles within the current 30-minute window to the same 30-minute window statistics for all past trading days, up until the data limit imposed by TradingView, or until the Data Collection Start Date specified in the settings. Longer-term traders may benefit from using a Monthly Cycle with a Weekly Time Frame, or a Yearly Cycle with a Quarterly Time Frame.
Multiple statistics and data transformation methods are available to convey relative intensity in different ways for different trading signals. Physics Candles allows for both Normal and Log-Normal assumptions in the physics distribution. The data can then be transformed by Linear, Logarithmic, Z-Score, or Power-Law scoring, where scoring simply assigns an intensity to the relative physics value of each candle segment based on some mathematical transformation. Z-scoring often renders adequate detection by scoring the segment value, such as volume or momentum, according to the mean and standard deviation of the data set in each window of the cycle. Logarithmic or power-law transformation with a gamma below 1 decreases the disparity between intensities so more less-important signals will show up, whereas the power-law transformation with gamma values above 1 increases the disparity between intensities, so less more-important signals will show up. These scores are then converted to color and transparency between the Min Score and the Max Score Cutoffs. The Auto-Normalization feature can automatically pick these cutoffs specific to each window based on the mean and standard deviation of the data set, or the user can manually set them. Physics was developed with novices in mind so that most users could calibrate their own settings by plotting the candle segment distributions directly on the chart and fiddling with the settings to see how different cutoffs capture different portions of the distribution and affect the relative color intensities differently. Security distributions are often skewed with fat-tails, known as kurtosis, where high-volume segments for example, have a higher-probabilities than expected for a normal distribution. These distribution are really log-normal, so that taking the logarithm leads to a standard bell-shaped distribution. Taking the Z-score of the Log-Normal distribution could make the most statistical sense, but color sensitivity is a discretionary preference.
Background Philosophy
This indicator was developed to study and trade the physics of motion in financial securities from a visually intuitive perspective. Newton’s laws of motion are loosely applied to financial motion:
“A body remains at rest, or in motion at a constant speed in a straight line, unless acted upon by a force”.
Financial securities remain at rest, or in motion at constant speed up or down, unless acted upon by the force of traders exchanging securities.
“When a body is acted upon by a force, the time rate of change of its momentum equals the force”.
Momentum is the product of mass and velocity, and force is the product of mass and acceleration. Traders render force on the security through the mass of their trading activity and the acceleration of price movement.
“If two bodies exert forces on each other, these forces have the same magnitude but opposite directions.”
Force arises from the interaction of traders, buyers and sellers. One body of motion, traders’ capitalization, exerts an equal and opposite force on another body of motion, the financial security. A securities movement arises at the expense of a buyer or seller’s capitalization.
Volume
The premise of this indicator assumes that volume, v, is an analogous means of measuring physical mass, m. This premise allows the application of the equations of motion to the movement of financial securities. We know from E=mc^2 that mass has energy. Energy can be used to create motion as kinetic energy. Taking a simple hypothetical example, the interaction of one short seller looking to cover lower and one buyer looking to sell higher exchange shares in a security at an agreed upon price to create volume or mass, and therefore, potential energy. Eventually the short seller will actively cover and buy the security from the previous buyer, moving the security higher, or the buyer will actively sell to the short seller, moving the security lower. The potential energy inherent in the initial consolidation or trading activity between buy and seller is now converted to kinetic energy on the subsequent trading activity that moves the securities price. The more potential energy that is created in the consolidation, the more kinetic energy there is to move price. This is why point and figure traders are said to give price targets based on the level of volatility or size of a consolidation range, or why Gann traders square price and time, as time is roughly proportional to mass and trading activity. The build-up of potential energy between short sellers and buyers in GME or TSLA led to their explosive moves beyond their standard fundamental valuations.
Position
Position, p, is simply the price or value of a financial security or market internal.
Time
Time, t, is another means of measuring mass to discover price behavior beyond the time snapshots that simple candle charts provide. We know from E=mc^2 that time is related to rest mass and energy given the speed of light, c, where time ≈ distance * sqrt(mass/E). This relation can also be derived from F=ma. The more mass there is, the longer it takes to compute the physics of a system. The more energy there is, the shorter it takes to compute the physics of a system. Similarly, more time is required to build a “resting” low-volatility trading consolidation with more mass. More energy added to that trading consolidation by competing buyers and sellers decreases the time it takes to build that same mass. Time is also related to price through velocity.
Velocity = (p(t1) – p(t0)) / p(t0)
Velocity, v, is the relative percent change of a securities price, p, over a period of time, t0 to t1. The period of time is between subsequent candles, and since time is constant between candles within the same timeframe, it is not used to calculate velocity or acceleration. Price moves faster with higher velocity, and slower with slower velocity, over the same fixed period of time. The product of velocity and mass gives momentum.
Momentum = mv
This indicator uses physics definition of momentum, not finance’s. In finance, momentum is defined as the amount of change in a securities price, either relative or absolute. This is definition is unfortunate, pun intended, since a one dollar move in a security from a thousand shares traded between a few traders has the exact same “momentum” as a one dollar move from millions of shares traded between hundreds of traders with everything else equal. If momentum is related to the energy of the move, momentum should consider both the level of activity in a price move, and the amount of that price move. If we equate mass to volume to account for the level of trading activity and use physics definition of momentum as the product of mass and velocity, this revised definition now gives a thousand-times more momentum to a one-dollar price move that has a thousand-times more volume behind it. If you want to use finance’s volume-less definition of momentum, use velocity in this indicator.
Acceleration = v(t1) – v(t0)
Acceleration, a, is the difference between velocities over some period of time, t0 to t1. Positive acceleration is necessary to increase a securities speed in the positive direction, while negative acceleration is necessary to decrease it. Acceleration is related to force by mass.
Force = ma
Force is required to change the speed of a securities valuation. Price movements with considerable force have considerably more impact on future direction. A change in direction requires force.
Kinetic Energy = 0.5mv^2
Kinetic energy is the energy that a financial security gains from the change in its velocity by force. The built-up of potential energy in trading consolidations can be converted to kinetic energy on a breakout from the consolidation.
Cycle Theory and Relativity
Just as the physics of motion is relative to a point of reference, so too should the physics of financial securities be relative to a point of reference. An object moving at a 100 mph towards another object moving in the same direction at 100 mph will not appear to be moving relative to each other, nor will they collide, but from an outsider observer, the objects are going 100 mph and will collide with significant impact if they run into a stationary object relative to the observer. Similarly, trading with a hundred thousand shares at the open when the average volume is a couple million may have a much smaller impact on the price compared to trading a hundred thousand shares pre-market when the average volume is ten thousand shares. The point of reference used in this indicator is the average statistics collected for a given Window Time Frame for every Cycle Time Frame. The physics values are normalized relative to these statistics.
Examples
The main chart of this publication shows the Force Candles for the SPY. An intense force candle is observed pre-market that implicates the directional overtone of the day. The assumption that direction should follow force arises from physical observation. If a large object is accelerating intensely in a particular direction, it may be fair to assume that the object continues its direction for the time being unless acted upon by another force.
The second example shows a similar Force Candle for the SPY that counters the assumption made in the first example and emphasizes the importance of both motion and context. While it’s fair to assume that a heavy highly accelerating object should continue its course, if that object runs into an obstacle, say a brick wall, it’s course may deviate. This example shows SPY running into the 50% retracement wall from the low of Mar 2020, a significant support level noted in literature. The example also conveys Gann’s idea of “lost motion”, where the SPY penetrated the 50% price but did not break through it. A brick wall is not one atom thick and price support is not one tick thick. An object can penetrate only one layer of a wall and not go through it.
The third example shows how Volume Candles can be used to identify scalping opportunities on the SPY and conveys why price behavior is as important as motion and context. It doesn’t take a brick wall to impede direction if you know that the person driving the car tends to forget to feed the cats before they leave. In the chart below, the SPY breaks down to a confluence of the 5-day SMA, 20-day SMA, and an important daily trendline (not shown) after the bullish bounce from the 50% retracement days earlier. High volume candles on the SMA signify stopping volume that reverse price direction. The character of the day changes. Bulls become more aggressive than bears with higher volume on upswings and resistance, whiles bears take on a defensive position with lower volume on downswings and support. High volume stopping candles are seen after rallies, and can tell you when to take profit, get out of a position, or go short. The character change can indicate that its relatively safe to re-enter bullish positions on many major supports, especially given the overarching bullish theme from the large reaction off the 50% retracement level.
The last example emphasizes the importance of relativity. The Volume Candles in the chart below are brightest pre-market even though the open has much higher volume since the pre-market activity is much higher compared to past pre-markets than the open is compared to past opens. Pre-market behavior is a good indicator for the character of the day. These bullish Volume Candles are some of the brightest seen since the bounce off the 50% retracement and indicates that bulls are making a relatively greater attempt to bring the SPY higher at the start of the day.
Infrequently Asked Questions
Where do I start?
The default settings are what I use to scalp the SPY throughout most of the extended trading day, on a one-minute chart using SPY volume. I also overlay another Candle set containing ES future volume on the SPY price structure by setting the Physics Source to ES1! and the Number of Overlays setting to 2 for each Candle stream in order to account for pre- and post-market trading activity better. Since the closing volume is exponential-like up until the end of the regular trading day, adding additional Candle streams with a tighter Window Time Frame (e.g., 2-5 minute) in the last 15 minutes of trading can be beneficial. The Hide feature can allow you to set certain intraday timeframes to hide one Candle set in order to show another Candle set during that time.
How crazy can you get with this indicator?
I hope you can answer this question better. One interesting use case is embedding the velocity of market volume onto an internal market structure. The PCTABOVEVWAP.US is a market statistic that indicates the percent of securities above their VWAP among US stocks and is helpful for determining short term trends in the US market. When securities are rising above their VWAP, the average long is up on the day and a rising PCTABOVEVWAP.US can be viewed as more bullish. When securities are falling below their VWAP, the average short is up on the day and a falling PCTABOVEVWAP.US can be viewed as more bearish. (UPVOL.US - DNVOL.US) / TVOL.US is a “spread” symbol, in TV parlance, that indicates the decimal percent difference between advancing volume and declining volume in the US market, showing the relative flow of volume between stocks that are up on the day, and stocks that are down on the day. Setting PCTABOVEVWAP.US in the Candle Source, (UPVOL.US - DNVOL.US) / TVOL.US in the Physics Source, and selecting the Physics to Velocity will embed the relative velocity of the spread symbol onto the PCTABOVEVWAP.US candles. This can be helpful in seeing short term trends in the US market that have an increasing amount of volume behind them compared to other trends. The chart below shows Volume Candles (top) and these Spread Candles (bottom). The first top at 9:30 and second top at 10:30, the high of the day, break down when the spread candles light up, showing a high velocity volume transfer from up stocks to down stocks.
How do I plot the indicator distribution and why should I even care?
The distribution is visually helpful in seeing how different normalization settings effect the distribution of candle segments. It is also helpful in seeing what physics intensities you want to ignore or show by segmenting part of the distribution within the Min and Max Cutoff values. The intensity of color is proportional to the physics value between the Min and Max Cutoff values, which correspond to the Min and Max Colors in your color scheme. Any physics value outside these Min and Max Cutoffs will be the same as the Min and Max Colors.
Select the Print Windows feature to show the window numbers according to the Cycle Time Frame and Window Time Frame settings. The window numbers are labeled at the start of each window and are candle width in size, so you may need to zoom into to see them. Selecting the Plot Window feature and input the window number of interest to shows the distribution of physics values for that particular window along with some statistics.
A log-normal volume distribution of segmented z-scores is shown below for 30-minute opening of the SPY. The Min and Max Cutoff at the top of the graph contain the part of the distribution whose intensities will be linearly color-coded between the Min and Max Colors of the color scheme. The part of the distribution below the Min Cutoff will be treated as lowest quality signals and set to the Min Color, while the few segments above the Max Cutoff will be treated as the highest quality signals and set to the Max Color.
What do I do if I don’t see anything?
Troubleshooting issues with this indicator can involve checking for error messages shown near the indicator name on the chart or using the Data Validation section to evaluate the statistics and normalization cutoffs. For example, if the Plot Window number is set to a window number that doesn’t exist, an error message will tell you and you won’t see any candles. You can use the Print Windows option to show windows that do exist for you current settings. The auto-normalization cutoff values may be inappropriate for your particular use case and literally cut the candles out of the chart. Try changing the chart time frame to see if they are appropriate for your cycle, sample and window time frames. If you get a “Timeframe passed to the request.security_lower_tf() function must be lower than the timeframe of the main chart” error, this means that the chart timeframe should be increased above the sample time frame. If you get a “Symbol resolve error”, ensure that you have correct symbol or spread in the Candle or Physics Source.
How do I see a relative physics values without cycles?
Set the Window Time Frame to be equal to the Cycle Time Frame. This will aggregate all the statistics into one bucket and show the physics values, such as volume, relative to all the past volumes that TV will allow.
How do I see candles without segmentation?
Segmentation can be very helpful in one context or annoying in another. Segmentation can be removed by setting the candle resolution value to 1.
Notes
I have yet to find a trading platform that consistently provides accurate real-time volume and pricing information, lacking adequate end-user data validation or quality control. I can provide plenty of examples of real-time volume counts or prices provided by TradingView and other platforms that were significantly off from what they should have been when comparing against the exchanges own data, and later retroactively corrected or not corrected at all. Since no indicator can work accurately with inaccurate data, please use at your own discretion.
The first version is a beta version. Debugging and validating code in Pine script is difficult without proper unit testing. Please report any bugs with enough information to reproduce them and indicate why they are important. I also encourage you to export the data from TradingView and verify the calculations for your particular use case.
The indicator works on real-time updates that occur at a higher frequency than the candle time frame, which TV incorrectly refers to as ticks. They use this terminology inaccurately as updates are really aggregated tick data that can take place at different prices and may not accurately reflect the real tick price action. Consequently, this inaccuracy also impacts the real-time segmentation accuracy to some degree. TV does not provide a means of retaining “tick” information, so the higher granularity of information seen real-time will be lost on a disconnect.
TV does not provide time and sales information. The volume and price information collected using the Sample Time Frame is intraday, which provides only part of the picture. Intraday volume is generally 50 to 80% of the end of day volume. Consequently, the daily+ OHLC prices are intraday, and may differ significantly from exchanged settled OHLC prices.
The Cycle and Window Time Frames refer to calendar days and time, not trading days or time. For example, the first window week of a monthly cycle is the first seven days of the month, not the first Monday through Friday of trading for the month.
Chart Time Frames that are higher than the Window Time Frames average the normalized physics for price action that occurred within a given Candle segment. It does not average price action that did not occur.
One of the main performance bottleneck in TradingView’s Pine Script is client-side drawing and plotting. The performance of this indicator can be increased by lowering the resolution (the number of sub-candles this indicator plots), getting a faster computer, or increasing the performance of your computer like plugging your laptop in and eliminating unnecessary processes.
The statistical integrity of this indicator relies on the number of samples collected per sample window in a given cycle. Higher sample counts can be obtained by increasing the chart time frame or upgrading the TradingView plan for a higher bar count. While increasing the chart time frame doesn’t increase the visual number of bars plotted on the chart, it does increase the number of bars that can be pulled at a lower time frame, up to 100,000.
Due to a limitation in Pine Scripts request_lower_tf() function, using a spread symbol will only work for regular trading hours, not extended trading hours.
Ideally, velocity or momentum should be calculated between candle closes. To eliminate the need to deal with price gaps that would lead to an incorrect statistical distributions, momentum is calculated between candle open and closes as a percent change of the price or value, which should not be an issue for most liquid securities.
RSI Mean Reversion StrategyThis is a scalping strategy designed to be used for crypto trading. It uses an Exponential Moving Average with a default length of 100 in order to identify the trend of the market. If the price is trading above 100, it will only take long trades, and vice versa for shorts. It places long orders when the RSI value closes below 40, and the price is also above the 100 EMA. It places short orders when the RSI value is above 60, and the price is below the 100 EMA.
*Note: for custom alert messages to be read, "{{strategy.order.alert_message}}" must be placed into the alert dialogue box when the alert is set.
Double CCIWith this variant of the CCI indicator you have 2 CCIs. I call it convenience the fast and the slow.
The slow one has the default period of 20. The fast one has a lower value and will therefore also change his direction much faster.
I don't use this as a decisive indicator, but the fast one does indicate where the standard CCI might go and so you are already prepared for the decisive moment.
I've added a zero line so you can visually track whether the buyers or the sellers are predominant.
Between 0 and +100, as well as between 0 and -100 there is still a battle between buyers and sellers and it is better to wait a little longer before entering a trade.
From +100 to +250 I have colored the zone green; here the buyers are winning and it is a confirmation that you can safer enter the BUY.
From -100 to -250 it's colored red; here the sellers are firmly winning and it is a confirmation to go into a SELL.
Most values are adjustable via the settings and can be switched on or off.
This indicator is not intended to be used as the sole decision element, but rather to fine-tune your entry and exit points . Maybe wait a little longer than you normally would, but then be able to step in at the right time that there is enough volume in your desired direction.
Good luck with it and I would love feedback.
Thank you Tradingview-community.
Parabolic SAR Oscillator [LuxAlgo]This indicator is a detrended price series using the Parabolic Stop and Reverse (SAR) trailing stop, resulting in a bounded oscillator in the range (-100, 100). The SAR output is also normalized to obtain a noiseless oscillator which can complement the detrended price.
Settings
Start: Initial value of the convergence factor used when a new trend is detected by the SAR
Increment: Increment value of the convergence factor
Maximum: Maximum value of the convergence factor
Usage
The price is detrended by subtracting the closing price to the SAR, this result is then normalized.
An up-trending market is indicated once the normalized SAR reaches -100, while a value of 100 indicates a down-trending market. One can anticipate trends when the normalized SAR crosses above/under 0.
The converging nature of the SAR trailing stop allows for the trader to obtain a very apparent leading oscillator.
Trend Trigger Factor w/ Discontinued Signal Lines [Loxx]Trend Trigger Factor w/ Discontinued Signal Lines is a Trend Trigger Factor indicator with floating boundary lines to identify trends earlier
What is the Trend Trigger Factor?
Designed by M.H. Pee, the Trend Trigger Factors role is to help traders detect uptrends and downtrends and thus allow them to better position themselves in a with-trend manner. Its creator argues that the markets are mostly random but have a small trend component, which is the most crucial part of trading success. Being able to determine whether the market is in a bull or bear trend and how strong that trend is will allow you to be on the right side of the market for longer, capitalizing as much as possible on its trending behavior.
In his article, M.H. Pee used a 15-period trackback span to explain the calculations. The TTF formula is based on the so-called Buy Power and Sell Power. In his example, Pee labeled today as day 1, yesterday as day 2, the preceding day as day 3 and so on
What's new in this indicator?
Averages filter out prices prior to being used in calculation. That way the lag added is smaller than when the smoothing is used on the calculated result.
Unlike the original which uses levels +100 and -100 as significant levels for signal triggering, this version is using discontinued signal lines for trend filtering. That way it makes it a bit more responsive to market conditions
How do I use this?
The Trend Trigger Factor is similar in interpretation to the Relative Strength Index. It is plotted on a scale with most prominent levels at +100 and -100, crosses of which logically signal possible trade entries. The difference here, however, is that the upper and lower boundary flex with price movements so the upper and lower boundary shift dynamically. Crosses above the top line signify bullish sentiment, crossed below the the bottom line signify bearish sentiment.
make lead signalAdd derivative of a signal for leading behaviour
formula: sig = (lambda/100)*source + (1-lambda/100)**momentum )
it has a multiplier and an offset for adjustment of result.
final formula: sig = multiplier*( (lambda/100)*src + (1-lambda/100)*mom_coef*mom ) + offset
Up & Down Trend following trading strategy for BTC/USDT 3hThis strategy is based on multi time frame technical indicators such as;
1. RSI (10,50,100)
2. MFI (10,50,100)
3. RVI (10,50,100)
4. BOP (10,50,100)
5. Super Trend
6. SAR indicator
7. Higher highs and lower lows
8. SMA (9,500)
9. EMA (9,200)
After evaluating different parameters provided by those indicators, script is in a possition to determine optimul positions to enter in to market as well as exit from the market. In some cases stratergy will exit fully or partially depends on the situation. Other than that, this strategy is in a possition to calculate and specify the quantity you need to buy or sell depending on market situation. You can specify amount available for investment and how many times you are going to average (if downtrend). Parameters are optimised to BTC/USDT, 3h standerd candlestic chart.
goodluck
5212 EMA Strategyver 01
23 December 2021
This strategy using :
- 3 EMA period 50, 100, 200
- stochastic RSI slow
Long Cond :
- Stochastic RSI cross below 20
- EMA 50 > 100 > 200
Short Cond :
- Stochastic RSI cross above 80
- EMA 50 < 100 < 200
Sleeping Mode
- EMA 50 between EMA 100 & EMA 200
P/L panelThis is not a indicator or strategy.
I thought of having a table showing running profit or loss on chart from a specific price.
I tried to put the same in code and ended up with this code.
This is a table showing the running profit or loss from a manually specified price and quantity.
when you add the code, This table asks us to input the entry price and quantity.
It will calculate the running profit or loss with respect to running price and puts that in the table.
We will have to input two things.
1.) entry price: the price at which a position(long/short) is taken.
2.) Quantity: A +value need to be entered for Long position and -value for short position.
code detects whether its a long position or short position based on the quantity info.
for example if a LONG position is taken at a price 60 of 100 quantity,
then in price we need to enter 60
and in quantity 100 (+ve value)
for SHORT position at a price of 60 of 100 quantity,
in price we need to enter 60
and in quantity -100 (-ve value)
once the table is added to the chart.
Just double click on the table, it will open the settings tab and we can provide new inputs price/quantity/position.
positioning of table is optional and all possible positioning options are provided.
Advise further improvements required if any in this code.
This piece of code can be used along with any indicator.
For which we may need to use valuewhen() additionally.
Try it yourself and ping me if required.
Fear Of Missing Out grid of forex tradingAbstract
This script finds potential safe grids placing limit orders without fear of missing out.
This script computes grids according to power of 1.0025 .
You can reference those price levels for your trading.
Introduction
Grid trading is a popular trading method.
Traders plan several price levels as grids and repeat buying at lower grids and selling at higher grids.
Grids can be round number like multiple of 100 pips.
Grids can also be support and resistance according to price history.
Some traders may think they need to adjust grids to trade.
However, there are several problems in choosing grids.
One problem is rate of change is related and therefore exponential. 20 to 30 is different from 30 to 40.
Another interesting point is there are some special impressing reversal price levels.
Several months ago, I had a question why usdjpy bounced near 108.3 .
After using a calculator, I found that 108.3 = 100 * 1.083 ≒ 100 * pow(1.0025,31) .
1.0025 , as known as 0.25% of change, is a potential stop out zone.
Therefore, we can compute grids and one grid is a little more than 1.0025 times than an another one.
After we finished computing grids, we can consider buy and sell near those grids.
Note that different traders may obtain different grid values.
For example, from 1.0 to 2.0 , it can be splited as 270 grids or 277 grids because pow(1.0025,277)<2 .
Those grids cannot always imply potential reversal points but they can be useful for traders looking for 0.25% profit targets with reducing fearing of buying or selling too early.
Computing grids
This script split from 1.0 to 10.0 into three segments.
One is 1.0 to 2.0 .
The second segment is from 2.0 to 5.0 .
The third segment is from 5.0 to 10.0 .
This script does the same thing for 0.1 to 1.0 , 10.0 to 100.0 , and so on.
For 1.0 to 2.0 and 5.0 to 10.0 , this script split a segment as 270 grids.
For 2.0 to 5.0 , this script split a segment as 360 grids.
The last step is display the next grids to the daily low and daily high.
Maybe also display the grids behind grids shown.
Parameters
x1,x2,x3,x4 : display the next x1,x2,x3,x4 grids to daily high and daily low. 1 means the next grid to daily high and daily low. 2 means the next grid to 1.
x_seg : default 2.0 . This script split from 1.0 to 10.0 into three segments. One is 1.0 to x_seg. The second segment is from x_seg to 10.0/x_seg . The third segment is from 10.0/x_seg to 10.0 .
x_grid1 : how many grids in the first segment
x_grid2 : how many grids in the second segment
x_lowprice : add this number for bigger grid distance. Generally, you don't need this number when trading forex but you may need it in stock trading. For stocks with price between 50 to 100, I recommend you use x_lowprice=100.
Conclusion and suggestions
This script can find potential grids for trading.
If price touches grids usually, we can consider buy and sell after price touches grids.
If price reverses before touching grids usually, we may consider buy and sell before price touches grids.
Those grids can remind us don't buy too much unless the price touches the next grid.
For instruments with less volatility, maybe we need more grids.
For traders with more money, they may also consider more grids for more dedicated range trading to collect more profit.
Reference
Sorry, I forgot them.
Kirill ChannelThis indicator shows overbought and oversold zones. Can be used on all time frames. I personally use 15m - 30m.
How to apply ?:
- There can be many strategies for use! I use this indicator to buy an asset in the green zone and then sell it in the middle of the channel or in the red zone.
- I strongly advise against entering counter-trend positions in a growing market if you have little trading experience and understanding of price action.
How do I place orders ?:
- I place orders in a grid.
- If the price is very close to the edge, but it is difficult to reach it, then it is better to open a position on the market and place orders deep into the grid.
- If the price is at the edge of the channel for a very long time, then you need to look at a higher timeframe.
Algorithm composition:
- ALMA
- Keltner Channel
- Fibonacci Retracement
- Custom price percent offset calculations and manipulations.
Settings:
- I strongly do not recommend changing ALMA. These numbers have been specially calculated.
- It's better not to change Borders either. The current algorithm dynamically changes the width of the extreme channels depending on the price movement.
- The Keltner Channel was specially selected.
- Fibonacci Retracement can be changed. This part of the algorithm can be modified to suit your needs. At the moment, there are settings for aggressive trading.
Channel type:
- Conservative: Fibonacci Retracement settings (100 ma, 100 atr, 8 mult, 100 smooth)
- Aggressive: Fibonacci Retracement settings (25 ma, 25 atr, 3.5 mult, 100 smooth)
Сonservative channel does not allow a large number of points to enter positions, however, it is more straightforward and safer for very large movements.
I prefer aggressive settings because they allow me to make more profit on the number of trades.
Try to use both modes and choose what is preferable for you.