ZigZag with Fibonacci LevelsHello Traders,
This is " ZigZag with Fibonacci Levels " script. It finds the ZigZag, draw Fibonacci lines and put labels accordingly. I get many requests for this script, so here it is.
You can set ZigZag period as you wish. Bigger numbers (such 20, 30) may give better perspective and result.
It draws Fibonacci levels between 0%-100% and If the price goes higher/lower than 100% level than the script draws Fibonacci Levels accordingly. This means it draws Fibonacci levels until this levels get higher/lower than the price.
As an example:
if you don't want to see ZigZag Lines then you have option to disable it and see only Fibonacci levels:
You have coloring options for Zigzag, Fibonacci lines and texts:
Enjoy!
Lonesometheblue
Machine Learning / Longs [Experimental]Hello Traders/Programmers,
For long time I thought that if it's possible to make a script that has own memory and criterias in Pine. it would learn and find patterns as images according to given criterias. after we have arrays of strings, lines, labels I tried and made this experimental script. The script works only for Long positions.
Now lets look at how it works:
On each candle it creates an image of last 8 candles. before the image is created it finds highest/lowest levels of 8 candles, and creates a string with the lengths 64 (8 * 8). and for each square, it checks if it contains wick, green or red body, green or red body with wicks. see the following picture:
Each square gets the value:
0: nothing in it
1: only wick in it
2: only red body in it
3. only green body in it
4: red body and wick in it
5: green body and wick in it
And then it checks if price went up equal or higher than user-defined profit. if yes then it adds the image to the memory/array. and I call this part as Learning Part.
what I mean by image is:
if there is 1 or more element in the memory, it creates image for current 8 candles and checks the memory if there is a similar images. If the image has similarity higher than user-defined similarty level then if show the label "Matched" and similarity rate and the image in the memory. if it find any with the similarity rate is equal/greater than user-defined level then it stop searching more.
As an example matched image:
and then price increased and you got the profit :)
Options:
Period: if there is possible profit higher than user-defined minimum profit in that period, it checks the images from 2. to X. bars.
Min Profit: you need to set the minimum expected profit accordingly. for example in 1m chart don't enter %10 as min profit :)
Similarity Rate: as told above, you can set minimum similarity rate, higher similarity rate means better results but if you set higher rates, number of images will decrease. set it wisely :)
Max Memory Size: you can set number of images (that gives the profit equal/higher than you set) to be saved that in memory
Change Bar Color: optionally it can change bar colors if current image is found in the memory
Current version of the script doesn't check if the price reach the minimum profit target, so no statistics.
This is completely experimental work and I made it for fun. No one or no script can predict the future. and you should not try to predict the future.
P.S. it starts searching on last bar, it doesn't check historical bars. if you want you should check it in replay mode :)
if you get calculation time out error then hide/unhide the script. ;)
Enjoy!
RSI Multi Time FrameHello Traders,
Recently we got new features in Pine such Arrays of Lines, Labels and Strings. Thanks to the Pine Team! ( here )
So I decided to make new style of Multi Time Frame indicator and I used Array of Lines in this script. here it is, RSI Multi Time Frame script. it shows RSI for current time frame as it is and also it gets RSI for the Higher Time Frame and converts it and shows it as in time frame. as you can see, RSI for HTF moves to the right on each candle until higher time frame was completed.
You have color and line width options for both RSI, also if you want you can limit the number of bars to show higher time frame RSI by the option " Number of Bars for RSI HTF ", following example show RSI HTF for 100 bars.
Most of you know that old style Multi Time Frames indicators was like:
Hope you like this new Multi time frame style ;)
Enjoy!
Harmonic PatternsHello Traders,
This is Harmonic Pattern script . I made this script long time ago and now pubished it for the community. it can find & show following patterns:
- Gartley
- Butterfly
- Bat
- Alternate Bat
- Crab
- Deep Crab
- Shark
- Cypher
- Double Top
- Double Bottom
- ABCD
only ABCD patterns is not enabled by default, you can enable if you want.
The script has many features in it, so you have many options. lets see them
ZigZag Period : is the period for zig zag that is used to find harmonic patterns.
Error Rate % : the patterns may not be perfect and we need to use a threshold. with this option you can set error rate
Deep Search: if you enable this option then the script check combination with old zigzag points. an example is under the explanation part
Pattern Prediction : if you set this option then while price is moving the script checks the possible next patterns that can be possible (shows first possible one). an example is under the explanation part
Show ZigZag: you have option to see zigzag
Show Pattern Names: you have option to see Pattern names
Remove Old Pattern Names : old found patterns can stay on the chart or you have option to delete from the chart by this option
Show Harmonics: you have option to show patterns
Show Targets: you have option to see the target and stop-loss level by each harmonic
Show Statistics: you can see the statictics about harmonic patterns on current chart
Show Full Statistics: you can see the statictics about harmonic patterns on current chart in details
"Stop-loss ATR Len" and "Stop-loss ATR Mult" is used to calculate stop-loss levels
and many options for visualization and alerts...
The scripts works dynamically in real time, it means it may find different patterns on each candles. if it finds a new one in same direction then old one becomes invalid, you should check the last one.
Lets see some examples:
it changes the colors if price reached the target or stop-loss. blue => reached target, black => stop-loss, and if color was not changed it means it found another harmonic pattern.
if it finds a harmonic pattern then it show entrty level, cancelation level of the pattern, target 1 and target 2
and if price reaches entrty level then it shows targets and stop-loss levels
as written above, t has ability to predict patterns if you enable this option:
Deep search is used to find patterns by some old zigzag levels as seen in following screenshot:
it can show full statistics if you enable it in the options:
The source code is hidden but it's free script. so like it/favorite this script, apply it to your chart and start using it ;)
Special thanks to my friend @gornidah who helped while developing the script!
Enjoy!
Technical RankHello Traders,
Technical Rank (TR) was authored by John Murphy . Technical Rank shows how a security is performing relative to its peers. Multiple moving averages, rate of change and the Relative Strength Index (RSI) indicators are used to calculate the Technical Rank. These values are mathematically manipulated with percentage factors and then summed together. there are 3 parts, long term, middle term and short term. for Long term part Moving Average with length 200 (30%) and Rate of Change with the length 125 (30%) are used, for middle term part, Moving Average with length 50 (15%) and Rate of Change with the length 20 (15%) are used and for short term part, PPO (5%) and RSI (5%) used.
Technical Rank is created using the following formula and weightings:
Long-Term Indicators (weighting): Percent above/below the 200-day exponential moving average (EMA) (30% weight) and the 125-day rate-of-change (ROC) (30% weight).
Medium-Term Indicators (weighting): Percent above/below 50-day EMA (15%) and the 20-day rate-of-change (15%).
Short-Term Indicators (weighting): Three-day slope of percentage price oscillator histogram divided by three (5%) and the relative strength index (5%).
The scripts calculates Technical Rank for 10 different securities and sorts them by Technical Rank value. A ranking of zero indicates the stock is the weakest in the group technically. A rank of 100 indicates the stock ranks highest in terms of technical performance. An increasing Technical Rank means the stock's price performance is showing strength relative to the group of stock being analyzed. A decreasing Technical Rank shows deteriorating relative price performance. Securities in the top 3-4 will have a technical rank of 70 or higher. You should focus on these relatively strong securities for potential long positions on pullbacks. You can also use the technical rank to avoid weak securities (in the bottom 3-4). I recommend you to check Technical Rank for the securities in multiple time frames.
You can choose the symbols as you want but you should choose the symbols with the same session info. for example only Cryptos, only Stocks, only FX pairs etc. (not mix of them).
Enjoy!
Moving Averages as Support Resistance MTFHello Traders!
As most of you know that Moving Averages with the lengths 50, 100, 150 and 200 are very important. We should use these this moving averages to figure out S/R levels, the possible reversals points, trend direction etc. we should check these moving averages on Higher Time Frames as well. for example if you look at the chart with 5mins time frame, you should also check it in 1hour and 4hour time frames to see to big picture and main trend. this is important as trend is your friend and you should not take positions against the trend.
I developed this script to show them clearly and make the chart understandable. 1 resistance line above the price and 1 support line below the price, it shows the moving average type, length, time frame and S/R level.
You have option to show SMA or EMA and to include/exclude current time frame, because you may want to see only MAs from higher time frames. you should set higher time frames accordingly.
if you add all moving averages for current and higher time frame the chart looks very crowded as following example:
The script makes it clear to understand the chart better, here an example:
It can show when S/R was broken and you get alert. here an example:
You have coloring and style options, you can change line style and colors as you wish:
Enjoy!
Double Zig Zag with HHLLHello Traders,
Here Double Zig Zag with HHLL script is with you. it calculates 2 Zig Zag simultaneously and draws them, and also it calculates and puts Higher High, Lower Low, Higher Low, Lower High labels. All these are done dynamically, it means last HH/HL/LL/LH can change. if price continues to go up then HL can turn to LL or if price continues to go down then LH can turn to HH. This script can be used for different purposes such trend analysis, support/resistance levels, breakouts etc.
I tried to make many things optional:
You can set Periods for Zig Zags as you wish
You can set different colors for both Zig Zag Up/Down lines
You have option to show both Zig Zag, one of them or none them
You have option to show both HHLL, one of them or none them
You can set Zig Zag 1 line style as Dashed or Dotted
You can set Line Widths for Zig Zags
Some examples:
Enjoy!
Start the Script on Last Nth Bar [Experimental]Hello Pine Scripters,
Sometimes we need to run some processes in the scripts on last N bar but currently we don't know bar_index value of realtime bar or number of remaining bars before we reached it. So most of us use "start date" as input and run some processes after "start date".
This experimental script finds last Nth bar approximately. As you can see in the script we (should) use GMT, otherwise as I see the result might not be accurate (we don't know timezone used on the chart)
The idea is to find/use similar bar in the past (using timenow as reference) and then calculate aproximate the time of last Nth bar. the results may not be accurate all the time, also we can not know local holidays etc.
At the moment the script works on 1minute or higher time frames (it won't work on less 1min timeframes)
In the future if the Pine Team add something like "bar_index_realtime" then we will not need such things. by the way many thanks to Pine Team, they are doing great job.
You can use this script in your scripts as you want, no need to ask permission. If you can improve it let me know ;)
Enjoy!
RSI Tops and BottomsHello Traders
This script finds Tops when RSI is in overbought area or Bottoms when RSI is in oversold area and checks the divergence between them. it checks divergence at tops/bottoms after RSI exited from OB/OS areas.
You can change overbought / oversold levels.
You can limit the time that RSI is in OB/OS area with the option "Max Number of Bars in OB/OS"
you can set the minimum/maximum distances between Tops/Bottoms with the options "Min Number of Bars between Tops/Bottoms" and "Max Number of Bars between Topss/Bottoms"
and you can set the color and line widths as you wish.
These tops or bottom must be sequential, means there mustn't be another top while checking tops or bottom while checking bottoms between them.
in next example you can see valid and invalid bottoms:
After you got signal then you better use Stop Order, a few pips higher than the high of colored candle for long positions, ( vise versa in short positions ). so you may escape from traps. ("Stop order" is filled when the price reached a pre-specified price. for example the price is now 10.0 and you set Buy Stop Order at 11.0 then if price reaches 11.0 then your buy order get filled. you can put stoploss a few pips lower than the low of colored candle or you can use ATR to decice stoploss level. how you wish)
For example in following screenshot you can see that buy stop order was not filled and you didn't take long position.
Enjoy!
Bitcoin Bullish Percent IndexHello Traders,
This is Bitcoin Bullish Percent Index script. First lets talk about what the Bullish Percent Index and how it is calculated:
"The Bullish Percent Index (BPI) is a breadth indicator based on the number of securities on Point & Figure Buy Signals, Developed by Abe Cohen in the mid-1950s. Because a security is either on a P&F Buy or Sell Signal, there is no ambiguity when it comes to P&F charts. This makes BPI a straightforward indicator with clearly defined signals."
The calculation is straightforward and simple: (Number of securities on P&F Buy signals) / (Total number of securities)
Here you can see what the P&F buy signal is:
In this script I choose 40 cryptos that is correlated ( as I see ) with BTC (including BtcUsdt). in the first part the script creates P&F chart for each security and check if there is Buy or Sell signal and sum the buy signals if there is. in the second part it creates P&F chart by using the P&F buy/sell signals coming from the securities P&F chart. because of complicated calculation the script may need a few seconds to load.
in the first part reversal value is 3 by default but you can set different values as reversal. sometimes I got better results with reversal = 5.
in BPI part reversal = 3 is used. so each box represents 2% (each X or O is a box). And this means it takes at least a 6% move in BPI for a reversal. the Bullish Percent Index favors the bulls when above 50% and the bears when below 50%. The bulls have the edge when over 50% of stocks are on a P&F Buy Signal. BPI is also considered overbought when above 70% and oversold when below 30%. BPI can move between 0 and 100.
Because of 40 securities are used in the script and all different prices, it uses Percentage scaling only. it can calculate the Percentage automatically by using the time frame of the chart or you can set it as you wish.
The Signals coming from BPI:
Bull Alert: BPI is below 30% and then forms a new column of X's (rises)
Bear Alert: BPI is above 70% and then forms a new column of O's that decline below 70%.
Bull Confirmed: BPI is on a P&F buy signal and in a column of X's (rising).
Bear Confirmed: BPI is on a P&F sell signal and in a column of O's (falling).
Bull Correction: BPI is on a P&F buy signal, but currently falling (column of O's).
Bear Correction: BPI is on a P&F sell signal, but currently rising (column of X's).
If you are not familiar with Bullish Percent Index you better search it on the net to get more info, you can find a lot of articles and web sites about BPI.
as I remember I developed the script 6-7 months ago and today I had chance to publish it as it was
Enjoy!
Clock [Example]Hello All,
I published this script as an example. it calculates/show current Hour, Minute and Second by using timenow function, it also show remaining time to close of the candle. You can freely use the source code in your scripts if you need.
"A man who dares to waste one hour of time has not discovered the value of life" - Charles Darwin
Enjoy!
Multi Time Frame CandlesHello Traders,
This script can show (upto) 3 candles of another time frames without changing chart time frame realtime . You can choose the time frame and number of candles in the options. You have option to change body and wick colors as well.
in this example number of candles is 2:
You can set body and wick colors:
In this example, weekly candles are shown on 1h chart:
Enjoy!
Support Resistance - Aging [Example]Hello All,
First all of Thanks to Pine Team for adding Arrays to Pine!
In this script I tried to make example for
1. Finding S/R lines using highest/lowest function
2. Using 1D array as 2D (we keep S/R levels and age)
3. "Age" usage for S/R levels, getting older on each candle and changing colors by their age (maximum age is 127 then it disappears)
You can use "Close"/Open " or " High/Low " as source.
There is an option for the background color, by default it's Black, do not forget to set it accordingly :)
Enjoy!
Cumulative Delta VolumeHello Traders,
This is Cumulative Delta Volume script. Delta refers to the difference between buying and selling volume at each price level. Cumulative Delta builds upon this concept by recording a cumulative tally of these differences in buying vs selling volume. The Cumulative Delta indicator plots as candlesticks or line. One of the main uses of Cumulative Delta is to confirm or deny market trends. you may need to search it for yourself ;)
You have option to see it as Candles or a Line. also there are options to show 2 SMAs and 2 EMAs with different Lengths, you can set the lengths as you wish.
By default it shows CDV as Heikin Ashi Candles, it can also show it as normal candles:
It can show CDV as a line:
Also you may need to check divergence:
Enjoy!
Gann FanHello Traders,
I got some messages about Gann Fan script and now here Gann Fan script is in your use.
it finds highest and lowest levels in last ~300candles and draws Gann Fan. if Highest level is prior than lowest level than Gann Fan from highest level has solid lines, Gann Fan from Lowest level has dashed lines. and vise versa.
The source code is hidden but it's free to use script.
Enjoy!
Support Resistance - Dynamic v2Hello Traders!
After the addition of "Arrays" to the Pine, I developed new and improved version of Support Resistance - Dynamic script as version 2. In this script Arrays were used. This can be used as Support Resistance tool, also it will be an example for the people who want to learn Array usage in Pine. Many thanks to Pine Team for adding Arrays!
The script finds the Pivot Points and check them in channels if there can be S/R or not, and draws mid line of the channel as S/R line. you can set number of PPs and channel width in the options. Each channel width is optimized dynamically according to Pivot Points. Also you can choose " High/Low " or " Close/Open " as source for Pivot Points.
There is an option for maximum number of S/R levels. S/R levels are found and sorted dynamically and number of S/R lines with enough strength changes dynamically.
Some other options for coloring and line width. (Solid, Dashed or Dotted)
S/R levels are shown in the Labels and Label colors are changed automatically, if S/R line is below the closing price then it's color is Green (as Support), otherwise its color is Red (as Resistance).
Examples:
Enjoy!
Smoothed CandlesHello Traders,
This is " Smoothed Candles " script to get rid of noises and to get a smoothed chart to figure out breakouts and price movements easily.
There are three scaling methods: User Defined, Dynamic (ATR) and Percentage
Optionally you can add 2 Simple Moving Averages and 2 Exponential Moving Averages
Optionally you can hide the Wicks, example:
You can add moving averages:
Easily find breakouts:
Enjoy!
Position SizingHello All,
This script can be used for Position Sizing.
After you entered Capital you have, how much you can Risk per Trade, Profit and Stoploss Levels, it calculates Number of Buys/Sells, Position Size and Reward/Risk ratio. you need to choose one of "Long" or "Short" position you will take.
Number of Buys formula = Capital * RiskPerTrade / Loss
Position Size = NumberOfBuys * EntryPrice
Reward / Risk rate = (TargetPrice - EntryPrice) / (EntryPrice - StoplossPrice)
Enjoy!
Trend Following with Moving AveragesHello Traders,
With the info "Trend is Your Friend ", you should not take position against the trend. This script checks multipte moving averages if they are above/below the closing price and try to find trend. The moving averages with the length 8, 13, 21, 34, 55, 89, 144, 233, 377 used. these are fibonacci numbers, but optionally you can change the lengths of each moving averages. while it's green you better take long positions, while it's red you better take short positions according to other indcators or tools.
Optionally you have "smoothing" option to get rid of whipsaws. it's enabled by default.
You have option to use following moving average types: EMA, SMA, RMA, WMA, VWMA. by default it's EMA
Also the script has "Resolution" option. with this option you can get the trend for other time frames, in following example 1h was set as for higher time frame on 15m chart:
This should not be used as buy/sell signal indicators as it's tries to find trend but not entry points, you should use other indicators (such RSI, Momentum) or other tools to find buy/sell signals.
Enjoy!
Renko CandlesHello Traders!
This scripts draws Renko Candles in a seperate window dynamically and live. it shows only last 20 Renko candles. there is no time in that window, that means this window with Renko candles ignore time and focus solely on price changes. For Example If the brick value is set at 10 points, a move of 10 points or more is required to draw another brick. Price movements less than 10 points would be ignored and the Renko chart would remain unchanged. If you don't know what Renko Chart/Candle is then you should read some articles about it ;)
"Method" in the option is same as in Renko Chart, two methods: "Traditional" or "ATR ". default value is ATR
if you choose Traditional method then you need to set brick size accordingly. Increasing or decreasing the box size will affect the "smoothness" of the chart.
if you choose ATR mode then brick size will be set by using Average True Range(ATR) indicator
You have option to use Closing Price or High/Low. by default it's "Close"
Optionally it can change candle colors by Renko Bricks/Trend
Optionally it can show the levels for new bricks.
in this example, Mode = Traditional and Brick size: 10
in this example, Mode = Traditional and Brick size: 50
in this example Mode = ATR
Do not forget to click "Donate" button ;)
Enjoy!
Grab Trading SystemHello All,
This is "Grab Trading System" script defined in the book "Trend Following" by Michael W. Covel. also named as "Two-box system". I made small changes and I guess that it can be improved more.
The definition: Far box defines major trend; system trades only in same direction as major trend, meanwhile fading the signals of near box. Last trade in each trend exits at break of far box - at the same time as the trend reverses. All trades, except the last in the trend, use a limit order, as they are fading the near box. The last trade exits on a stop, as the trend changes.
As you can see there is Longterm Period and Shortterm Period in the indicator options. Longterm period is used for major trend and shortterm period is used to take position according to major trend. in my test I got better performance in small time frames. you need to set longterm/shortterm periods by your trading strategies.
Enjoy!
MACD-ASHello All,
This the script for Moving Average Convergence Divergence – MACD of Thomas Aspray, and called as MACD-AS and you may get earlier signals than MACD.
As MACD and MACD-AS are trend following indicators, they do not function well in sideway markets.
An example how it gets earlier signals than MACD
Good luck!
Trend Lines Pro for IndicatorsHello Traders!
We need to make things better & better to solve the puzzle and I try to do my best on this way. now I am here with my new Trend Lines Pro for Indicators script.
As you know, Trend Lines is very subjective and many people (even professionals) draw different Trend Lines on the same chart. This is confusing and there must be an automation to make the life easer. with this tool I tried to automate it.
The idea in this script is different from my previous trend lines scripts. In this, I use channel idea so it can check number of pivot points it contains. it also checks the angle while choosing trend lines. then we get stronger and useful Trend Lines automatically.
There are some option in the script, let see one by one:
Indicator: the indicator on which you want to see Trend lines, Predefined Indicators are: RSI, CCI(Commodity Channel Index), OBV(On-Balance Volume), Momentum, MACD, CMF(Chaikin Money Flow), External Indicator
External Indicator: with this option you can use other indicators as input and get trend lines for them.
- First add an indicator (such as MFI)
- in "Indicator" option select "External Indicator"
- click "External Indicator" option
- and choose the indicator from the list
Pivot Period: The Length to calculate Pivot Highs/Lows
Threshold Rate: This rate is used for channel width. it you give bigger numbers then you get bigger channels. it's 4 by default
Minimum Angle Rate for new Trendline: if there are different trend lines , there must be an angle between them to choose best trend lines . you can set the angle with this option.
Minimum Strength: there can be many trend lines but we need to choose/use stronger ones. with this option you can set the number of pivot points a trend channel have to contains. default value is 2
Maximum Loopback Length : by default the script can check 40 pivot highs and 40 pivot lows but to make the script faster and useful I needed to add a limitation for the number of bars that the script can go back.
Show Trendlines as: you can see trend lines as "Trendline", "Channel", "Trend Channel". you can see examples below.
Enable Weak Trend Lines : if there is no trend lines strong enough (as defined in "Minimum Strength" option) you have option to see a weak trend line . that is useful sometimes. if you enable this option weak lines are shown as dotted lines.
Show Price Labels on Trendlines: the script can show the price levels to break trend lines . the example
Line Style: trend lines can be Solid or Dashed as you wish
Color theme: colors of the Up/Down Trend lines can be set. Red, Lime, Blue, White, Black, Olive, Gray
Indicator color: colors of the Up/Down Trend lines can be set. Red, Lime, Blue, White, Black, Olive, Gray and Yellow
and last options are for length options for RSI, CCI, Momentum, MACD, CMF
There are many alerts such: Support/Resistance Broken, Price in Support/Resistance channel, Support/Resistance line broken but still in a channel that means it broke S/R but there is another trend lines to break.
Below an example how the script uses external indicator as input and draws trend lines on it. in this example chaikin ossilator was added to the chart and get trend lines for it. (I am going to make a short video about it)
An example of Trend Channel is below. when you use trend channel option you can get "big picture" of whats going on
An example for trend lines in channels, that is the idea behind this trend lines script
An axample for trend lines for CCI:
Trend lines on OBV:
Trend lines on Momentum:
Trend lines on MACD:
Trend lines on CMF:
Different colors and line styles:
Please send me message for access and do not hesitate to ask your questions about this tool.
Enjoy!
DISCLAIMER: No sharing, copying, reselling, modifying, or any other forms of use are authorized for our documents, script / strategy, and the information published with them. This informational planning script / strategy is strictly for individual use and educational purposes only. This is not financial or investment advice. Investments are always made at your own risk and are based on your personal judgement. I am not responsible for any losses you may incur. Please invest wisely.