Ultimate Multi-MACD - Early Warnings + Main TrendThis is a set of a bunch of moving averages. Unique, huh? Right. Awesome. Dope.
So, what's cool about this set, is its usability as not just one MACD, but a pair of MACDs specifically tuned to keep you hard. Some of you probably notice already just looking at the available MAs and lengths - there are some common pairs here. But what do you get when you combine all these common pairs that share bases? You get both short and long term plays out of it. The thing MACDs aren't supposed to do. I imagine it would be hard to make a backtestable/bottable script version of this, because the main thing is you have to use your gut a little bit in determing when to take a short term play and when to keep to the long term plays.
In this set, you get 3 TEMAs, 2 VWMAs, 2 SMAs, and 2 ALMAs. Yeah. That's almost TOO phat. I know. Whatever.
The two purple/pink lines are your 25 VWMA and 50 ALMA slow lines. These will be your main slow lines. They're usually close but move around a decent bit and if you want you could make buys and sales using the Alma crossing above the VWMA as a buy and sell crossing under.
Then you have a THIRD potential slow line on your dark green 50 TEMA. You generally use either the 13 or 21 TEMA crossing up as buy and down as sell. The signal TEMAs are bright green 13 and yellow 21.
Next you have all your Fast signal MAs! A peachy 10 VWMA, 13 green TEMA, 21 yellow TEMA, 10 teal/bright blue ALMA and last but not least, two pale SMAs at 5 and 10. The 5 could even be used as a signal against the 10 if you really want. There are countless options for buy and sell signals. Hide and show the ones that work the best on the chart you're trading on. Different ones will work different times. Why not see which ones are working BEST out of all the best ones, though?
Please leave other MA pairs that you would like added in future versions. If I do make a future version with more pairs I will very likely set default to hide some
Enjoy.
在腳本中搜尋"中海油+10年股价涨幅"
Momentum Cloud HashesYellow Cloud Showing Uptrend Momentum cloud based on Upper half of Upper Bollinger Band (Std Deviation 1 to Std Deviation 2).
Include :
Upper Keltner Channel line - price need to be above this to be uptrend
EMA 5 and EMA 10
Use VWMA 10 - immediate support for an uptrend line
Black Traingle - Price Closed under VWMA 10
Red Diamond - EMA 5 closed under Std Deviation 1
Edit it as you wish.
Power Bar [racer8]Introduction: 🌟
The Power Bar indicator is a powerful volatility indicator that can detect power bars 💪. A power bar is just a really big price bar that forms after a price base. A price base is chart pattern consisting of many low volatility price bars (bars that have small ranges). To detect such powerful bars, the PB indicator uses the following formula:
PB = ( Absolute value of current close - previous close ) / ( Previous price range over n periods )
Looking at the formula, you can see that PB compares the current change in closing price to the n-period base pattern's range. Strong PB values are typically greater than a value of 1. If n periods = 10, the indicator will look back 11 periods. The 11 periods includes the 10-period base plus the current price bar. 10 periods is the default setting for the indicator.
After the calculation, PB is then plotted as a histogram. Along with the histogram, a horizontal dashed line is also plotted.
PB's other setting controls the dashed line's level. This level is preset at a default value of 1. The dashed line is just a way to filter out weak PB values, and to generate signals. A signal is generated when the PB histogram is above the dashed line.
Objective: 🤔
This indicator shall prove very useful to you if your main objective is to trade only the best chart pattern in the market...and the base pattern is one of the best, if not the best chart pattern that exists today. This indicator is a mechanical way of detecting the chart pattern.
Enjoy! 🥳
Waindrops [Makit0]█ OVERALL
Plot waindrops (custom volume profiles) on user defined periods, for each period you get high and low, it slices each period in half to get independent vwap, volume profile and the volume traded per price at each half.
It works on intraday charts only, up to 720m (12H). It can plot balanced or unbalanced waindrops, and volume profiles up to 24H sessions.
As example you can setup unbalanced periods to get independent volume profiles for the overnight and cash sessions on the futures market, or 24H periods to get the full session volume profile of EURUSD
The purpose of this indicator is twofold:
1 — from a Chartist point of view, to have an indicator which displays the volume in a more readable way
2 — from a Pine Coder point of view, to have an example of use for two very powerful tools on Pine Script:
• the recently updated drawing limit to 500 (from 50)
• the recently ability to use drawings arrays (lines and labels)
If you are new to Pine Script and you are learning how to code, I hope you read all the code and comments on this indicator, all is designed for you,
the variables and functions names, the sometimes too big explanations, the overall structure of the code, all is intended as an example on how to code
in Pine Script a specific indicator from a very good specification in form of white paper
If you wanna learn Pine Script form scratch just start HERE
In case you have any kind of problem with Pine Script please use some of the awesome resources at our disposal: USRMAN , REFMAN , AWESOMENESS , MAGIC
█ FEATURES
Waindrops are a different way of seeing the volume and price plotted in a chart, its a volume profile indicator where you can see the volume of each price level
plotted as a vertical histogram for each half of a custom period. By default the period is 60 so it plots an independent volume profile each 30m
You can think of each waindrop as an user defined candlestick or bar with four key values:
• high of the period
• low of the period
• left vwap (volume weighted average price of the first half period)
• right vwap (volume weighted average price of the second half period)
The waindrop can have 3 different colors (configurable by the user):
• GREEN: when the right vwap is higher than the left vwap (bullish sentiment )
• RED: when the right vwap is lower than the left vwap (bearish sentiment )
• BLUE: when the right vwap is equal than the left vwap ( neutral sentiment )
KEY FEATURES
• Help menu
• Custom periods
• Central bars
• Left/Right VWAPs
• Custom central bars and vwaps: color and pixels
• Highly configurable volume histogram: execution window, ticks, pixels, color, update frequency and fine tuning the neutral meaning
• Volume labels with custom size and color
• Tracking price dot to be able to see the current price when you hide your default candlesticks or bars
█ SETTINGS
Click here or set any impar period to see the HELP INFO : show the HELP INFO, if it is activated the indicator will not plot
PERIOD SIZE (max 2880 min) : waindrop size in minutes, default 60, max 2880 to allow the first half of a 48H period as a full session volume profile
BARS : show the central and vwap bars, default true
Central bars : show the central bars, default true
VWAP bars : show the left and right vwap bars, default true
Bars pixels : width of the bars in pixels, default 2
Bars color mode : bars color behavior
• BARS : gets the color from the 'Bars color' option on the settings panel
• HISTOGRAM : gets the color from the Bearish/Bullish/Neutral Histogram color options from the settings panel
Bars color : color for the central and vwap bars, default white
HISTOGRAM show the volume histogram, default true
Execution window (x24H) : last 24H periods where the volume funcionality will be plotted, default 5
Ticks per bar (max 50) : width in ticks of each histogram bar, default 2
Updates per period : number of times the histogram will update
• ONE : update at the last bar of the period
• TWO : update at the last bar of each half period
• FOUR : slice the period in 4 quarters and updates at the last bar of each of them
• EACH BAR : updates at the close of each bar
Pixels per bar : width in pixels of each histogram bar, default 4
Neutral Treshold (ticks) : delta in ticks between left and right vwaps to identify a waindrop as neutral, default 0
Bearish Histogram color : histogram color when right vwap is lower than left vwap, default red
Bullish Histogram color : histogram color when right vwap is higher than left vwap, default green
Neutral Histogram color : histogram color when the delta between right and left vwaps is equal or lower than the Neutral treshold, default blue
VOLUME LABELS : show volume labels
Volume labels color : color for the volume labels, default white
Volume Labels size : text size for the volume labels, choose between AUTO, TINY, SMALL, NORMAL or LARGE, default TINY
TRACK PRICE : show a yellow ball tracking the last price, default true
█ LIMITS
This indicator only works on intraday charts (minutes only) up to 12H (720m), the lower chart timeframe you can use is 1m
This indicator needs price, time and volume to work, it will not work on an index (there is no volume), the execution will not be allowed
The histogram (volume profile) can be plotted on 24H sessions as limit but you can plot several 24H sessions
█ ERRORS AND PERFORMANCE
Depending on the choosed settings, the script performance will be highly affected and it will experience errors
Two of the more common errors it can throw are:
• Calculation takes too long to execute
• Loop takes too long
The indicator performance is highly related to the underlying volatility (tick wise), the script takes each candlestick or bar and for each tick in it stores the price and volume, if the ticker in your chart has thousands and thousands of ticks per bar the indicator will throw an error for sure, it can not calculate in time such amount of ticks.
What all of that means? Simply put, this will throw error on the BITCOIN pair BTCUSD (high volatility with tick size 0.01) because it has too many ticks per bar, but lucky you it will work just fine on the futures contract BTC1! (tick size 5) because it has a lot less ticks per bar
There are some options you can fine tune to boost the script performance, the more demanding option in terms of resources consumption is Updates per period , by default is maxed out so lowering this setting will improve the performance in a high way.
If you wanna know more about how to improve the script performance, read the HELP INFO accessible from the settings panel
█ HOW-TO SETUP
The basic parameters to adjust are Period size , Ticks per bar and Pixels per bar
• Period size is the main setting, defines the waindrop size, to get a better looking histogram set bigger period and smaller chart timeframe
• Ticks per bar is the tricky one, adjust it differently for each underlying (ticker) volatility wise, for some you will need a low value, for others a high one.
To get a more accurate histogram set it as lower as you can (min value is 1)
• Pixels per bar allows you to adjust the width of each histogram bar, with it you can adjust the blank space between them or allow overlaping
You must play with these three parameters until you obtain the desired histogram: smoother, sharper, etc...
These are some of the different kind of charts you can setup thru the settings:
• Balanced Waindrops (default): charts with waindrops where the two halfs are of same size.
This is the default chart, just select a period (30m, 60m, 120m, 240m, pick your poison), adjust the histogram ticks and pixels and watch
• Unbalanced Waindrops: chart with waindrops where the two halfs are of different sizes.
Do you trade futures and want to plot a waindrop with the first half for the overnight session and the second half for the cash session? you got it;
just adjust the period to 1860 for any CME ticker (like ES1! for example) adjust the histogram ticks and pixels and watch
• Full Session Volume Profile: chart with waindrops where only the first half plots.
Do you use Volume profile to analize the market? Lucky you, now you can trick this one to plot it, just try a period of 780 on SPY, 2760 on ES1!, or 2880 on EURUSD
remember to adjust the histogram ticks and pixels for each underlying
• Only Bars: charts with only central and vwap bars plotted, simply deactivate the histogram and volume labels
• Only Histogram: charts with only the histogram plotted (volume profile charts), simply deactivate the bars and volume labels
• Only Volume: charts with only the raw volume numbers plotted, simply deactivate the bars and histogram
If you wanna know more about custom full session periods for different asset classes, read the HELP INFO accessible from the settings panel
EXAMPLES
Full Session Volume Profile on MES 5m chart:
Full Session Unbalanced Waindrop on MNQ 2m chart (left side Overnight session, right side Cash Session):
The following examples will have the exact same charts but on four different tickers representing a futures contract, a forex pair, an etf and a stock.
We are doing this to be able to see the different parameters we need for plotting the same kind of chart on different assets
The chart composition is as follows:
• Left side: Volume Labels chart (period 10)
• Upper Right side: Waindrops (period 60)
• Lower Right side: Full Session Volume Profile
The first example will specify the main parameters, the rest of the charts will have only the differences
MES :
• Left: Period size: 10, Bars: uncheck, Histogram: uncheck, Execution window: 1, Ticks per bar: 2, Updates per period: EACH BAR,
Pixels per bar: 4, Volume labels: check, Track price: check
• Upper Right: Period size: 60, Bars: check, Bars color mode: HISTOGRAM, Histogram: check, Execution window: 2, Ticks per bar: 2,
Updates per period: EACH BAR, Pixels per bar: 4, Volume labels: uncheck, Track price: check
• Lower Right: Period size: 2760, Bars: uncheck, Histogram: check, Execution window: 1, Ticks per bar: 1, Updates per period: EACH BAR,
Pixels per bar: 2, Volume labels: uncheck, Track price: check
EURUSD :
• Upper Right: Ticks per bar: 10
• Lower Right: Period size: 2880, Ticks per bar: 1, Pixels per bar: 1
SPY :
• Left: Ticks per bar: 3
• Upper Right: Ticks per bar: 5, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 2, Pixels per bar: 2
AAPL :
• Left: Ticks per bar: 2
• Upper Right: Ticks per bar: 6, Pixels per bar: 3
• Lower Right: Period size: 780, Ticks per bar: 1, Pixels per bar: 2
█ THANKS TO
PineCoders for all they do, all the tools and help they provide and their involvement in making a better community
scarf for the idea of coding a waindrops like indicator, I did not know something like that existed at all
All the Pine Coders, Pine Pros and Pine Wizards, people who share their work and knowledge for the sake of it and helping others, I'm very grateful indeed
I'm learning at each step of the way from you all, thanks for this awesome community;
Opensource and shared knowledge: this is the way! (said with canned voice from inside my helmet :D)
█ NOTE
This description was formatted following THIS guidelines
═════════════════════════════════════════════════════════════════════════
I sincerely hope you enjoy reading and using this work as much as I enjoyed developing it :D
GOOD LUCK AND HAPPY TRADING!
User-Inputed Time Range & FibsGreetings Traders! I have decided to release a few scripts as open-source as I'm sure others can benefit from them and perhaps make them better.(Be sure to check my Profile for the other scripts as well: www.tradingview.com).
This one is called User-Inputed Time Range & Fibs.
The idea behind this script is to record the Range Highs and Lows of a User Defined Period, and plot potential Targets based on either Fibonacci Extensions or a Multiple of the Range Size. I created this originally for use with the US Session Initial Balance(From 9:30-10:30AM EST), however it can be set to any time period.
What is Initial Balance? In simple words, Initial Balance (IB) is the price data, which are formed during the first hour of a trading session. Activity of traders forms the so-called Initial Balance at this time. This concept was introduced for the first time by Peter Steidlmayer when he presented the market profile to traders(atas.net).
The IB is monitored as a break-out area for Range Extension traders. The IB High is also seen as an area of resistance and the IB Low as an area of support until it is broken(www.mypivots.com).
As a note, depending on the Time Zone you are in, you may need to manually add or subtract from the Timed Range to match the desired Time. For example in NY Eastern Time, I have to use 8:30-9:30AM to Capture the 9:30-10-30AM IB for ES and NQ. Similarly, I must use 14:30-15:30PM to Capture the 9:30-10-30AM IB for BTC. You will need to make adjustments based on the Time Zone you are located in.
I wanted to give a Special Thanks to @PineCoders for the Custom Rounding Function from Backtesting/Trading Engine--> (), Pinecoders.com for help with Tracking the Highs/Lows--> (www.pinecoders.com), and @TradeChartist for allowing me to use some of the code for the Fibonacci Extensions from his script here--> ().
If you like User-Inputed Time Range & Fibs, be sure to Like, Follow, and if you have any questions, don't be afraid to drop a comment below.
888 BOT #backtest█ 888 BOT #backtest (open source)
This is an Expert Advisor 'EA' or Automated trading script for ‘longs’ and ‘shorts’, which uses only a Take Profit or, in the worst case, a Stop Loss to close the trade.
It's a much improved version of the previous ‘Repanocha’. It doesn`t use 'Trailing Stop' or 'security()' functions (although using a security function doesn`t mean that the script repaints) and all signals are confirmed, therefore the script doesn`t repaint in alert mode and is accurate in backtest mode.
Apart from the previous indicators, some more and other functions have been added for Stop-Loss, re-entry and leverage.
It uses 8 indicators, (many of you already know what they are, but in case there is someone new), these are the following:
1. Jurik Moving Average
It's a moving average created by Mark Jurik for professionals which eliminates the 'lag' or delay of the signal. It's better than other moving averages like EMA , DEMA , AMA or T3.
There are two ways to decrease noise using JMA . Increasing the 'LENGTH' parameter will cause JMA to move more slowly and therefore reduce noise at the expense of adding 'lag'
The 'JMA LENGTH', 'PHASE' and 'POWER' parameters offer a way to select the optimal balance between 'lag' and over boost.
Green: Bullish , Red: Bearish .
2. Range filter
Created by Donovan Wall, its function is to filter or eliminate noise and to better determine the price trend in the short term.
First, a uniform average price range 'SAMPLING PERIOD' is calculated for the filter base and multiplied by a specific quantity 'RANGE MULTIPLIER'.
The filter is then calculated by adjusting price movements that do not exceed the specified range.
Finally, the target ranges are plotted to show the prices that will trigger the filter movement.
Green: Bullish , Red: Bearish .
3. Average Directional Index ( ADX Classic) and ( ADX Masanakamura)
It's an indicator designed by Welles Wilder to measure the strength and direction of the market trend. The price movement is strong when the ADX has a positive slope and is above a certain minimum level 'ADX THRESHOLD' and for a given period 'ADX LENGTH'.
The green color of the bars indicates that the trend is bullish and that the ADX is above the level established by the threshold.
The red color of the bars indicates that the trend is down and that the ADX is above the threshold level.
The orange color of the bars indicates that the price is not strong and will surely lateralize.
You can choose between the classic option and the one created by a certain 'Masanakamura'. The main difference between the two is that in the first it uses RMA () and in the second SMA () in its calculation.
4. Parabolic SAR
This indicator, also created by Welles Wilder, places points that help define a trend. The Parabolic SAR can follow the price above or below, the peculiarity that it offers is that when the price touches the indicator, it jumps to the other side of the price (if the Parabolic SAR was below the price it jumps up and vice versa) to a distance predetermined by the indicator. At this time the indicator continues to follow the price, reducing the distance with each candle until it is finally touched again by the price and the process starts again. This procedure explains the name of the indicator: the Parabolic SAR follows the price generating a characteristic parabolic shape, when the price touches it, stops and turns ( SAR is the acronym for 'stop and reverse'), giving rise to a new cycle. When the points are below the price, the trend is up, while the points above the price indicate a downward trend.
5. RSI with Volume
This indicator was created by LazyBear from the popular RSI .
The RSI is an oscillator-type indicator used in technical analysis and also created by Welles Wilder that shows the strength of the price by comparing individual movements up or down in successive closing prices.
LazyBear added a volume parameter that makes it more accurate to the market movement.
A good way to use RSI is by considering the 50 'RSI CENTER LINE' centerline. When the oscillator is above, the trend is bullish and when it is below, the trend is bearish .
6. Moving Average Convergence Divergence ( MACD ) and ( MAC-Z )
It was created by Gerald Appel. Subsequently, the histogram was added to anticipate the crossing of MA. Broadly speaking, we can say that the MACD is an oscillator consisting of two moving averages that rotate around the zero line. The MACD line is the difference between a short moving average 'MACD FAST MA LENGTH' and a long moving average 'MACD SLOW MA LENGTH'. It's an indicator that allows us to have a reference on the trend of the asset on which it is operating, thus generating market entry and exit signals.
We can talk about a bull market when the MACD histogram is above the zero line, along with the signal line, while we are talking about a bear market when the MACD histogram is below the zero line.
There is the option of using the MAC-Z indicator created by LazyBear, which according to its author is more effective, by using the parameter VWAP ( volume weighted average price ) 'Z-VWAP LENGTH' together with a standard deviation 'STDEV LENGTH' in its calculation.
7. Volume Condition
Volume indicates the number of participants in this war between bulls and bears, the more volume the more likely the price will move in favor of the trend. A low trading volume indicates a lower number of participants and interest in the instrument in question. Low volumes may reveal weakness behind a price movement.
With this condition, those signals whose volume is less than the volume SMA for a period 'SMA VOLUME LENGTH' multiplied by a factor 'VOLUME FACTOR' are filtered. In addition, it determines the leverage used, the more volume , the more participants, the more probability that the price will move in our favor, that is, we can use more leverage. The leverage in this script is determined by how many times the volume is above the SMA line.
The maximum leverage is 8.
8. Bollinger Bands
This indicator was created by John Bollinger and consists of three bands that are drawn superimposed on the price evolution graph.
The central band is a moving average, normally a simple moving average calculated with 20 periods is used. ('BB LENGTH' Number of periods of the moving average)
The upper band is calculated by adding the value of the simple moving average X times the standard deviation of the moving average. ('BB MULTIPLIER' Number of times the standard deviation of the moving average)
The lower band is calculated by subtracting the simple moving average X times the standard deviation of the moving average.
the band between the upper and lower bands contains, statistically, almost 90% of the possible price variations, which means that any movement of the price outside the bands has special relevance.
In practical terms, Bollinger bands behave as if they were an elastic band so that, if the price touches them, it has a high probability of bouncing.
Sometimes, after the entry order is filled, the price is returned to the opposite side. If price touch the Bollinger band in the same previous conditions, another order is filled in the same direction of the position to improve the average entry price, (% MINIMUM BETTER PRICE ': Minimum price for the re-entry to be executed and that is better than the price of the previous position in a given %) in this way we give the trade a chance that the Take Profit is executed before. The downside is that the position is doubled in size. 'ACTIVATE DIVIDE TP': Divide the size of the TP in half. More probability of the trade closing but less profit.
█ STOP LOSS and RISK MANAGEMENT.
A good risk management is what can make your equity go up or be liquidated.
The % risk is the percentage of our capital that we are willing to lose by operation. This is recommended to be between 1-5%.
% Risk: (% Stop Loss x % Equity per trade x Leverage) / 100
First the strategy is calculated with Stop Loss, then the risk per operation is determined and from there, the amount per operation is calculated and not vice versa.
In this script you can use a normal Stop Loss or one according to the ATR. Also activate the option to trigger it earlier if the risk percentage is reached. '% RISK ALLOWED'
'STOP LOSS CONFIRMED': The Stop Loss is only activated if the closing of the previous bar is in the loss limit condition. It's useful to prevent the SL from triggering when they do a ‘pump’ to sweep Stops and then return the price to the previous state.
█ BACKTEST
The objective of the Backtest is to evaluate the effectiveness of our strategy. A good Backtest is determined by some parameters such as:
- RECOVERY FACTOR: It consists of dividing the 'net profit' by the 'drawdown’. An excellent trading system has a recovery factor of 10 or more; that is, it generates 10 times more net profit than drawdown.
- PROFIT FACTOR: The ‘Profit Factor’ is another popular measure of system performance. It's as simple as dividing what win trades earn by what loser trades lose. If the strategy is profitable then by definition the 'Profit Factor' is going to be greater than 1. Strategies that are not profitable produce profit factors less than one. A good system has a profit factor of 2 or more. The good thing about the ‘Profit Factor’ is that it tells us what we are going to earn for each dollar we lose. A profit factor of 2.5 tells us that for every dollar we lose operating we will earn 2.5.
- SHARPE: (Return system - Return without risk) / Deviation of returns.
When the variations of gains and losses are very high, the deviation is very high and that leads to a very poor ‘Sharpe’ ratio. If the operations are very close to the average (little deviation) the result is a fairly high 'Sharpe' ratio. If a strategy has a 'Sharpe' ratio greater than 1 it is a good strategy. If it has a 'Sharpe' ratio greater than 2, it is excellent. If it has a ‘Sharpe’ ratio less than 1 then we don't know if it is good or bad, we have to look at other parameters.
- MATHEMATICAL EXPECTATION: (% winning trades X average profit) + (% losing trades X average loss).
To earn money with a Trading system, it is not necessary to win all the operations, what is really important is the final result of the operation. A Trading system has to have positive mathematical expectation as is the case with this script: ME = (0.87 x 30.74$) - (0.13 x 56.16$) = (26.74 - 7.30) = 19.44$ > 0
The game of roulette, for example, has negative mathematical expectation for the player, it can have positive winning streaks, but in the long term, if you continue playing you will end up losing, and casinos know this very well.
PARAMETERS
'BACKTEST DAYS': Number of days back of historical data for the calculation of the Backtest.
'ENTRY TYPE': For '% EQUITY' if you have $ 10,000 of capital and select 7.5%, for example, your entry would be $ 750 without leverage. If you select CONTRACTS for the 'BTCUSDT' pair, for example, it would be the amount in 'Bitcoins' and if you select 'CASH' it would be the amount in $ dollars.
'QUANTITY (LEVERAGE 1X)': The amount for an entry with X1 leverage according to the previous section.
'MAXIMUM LEVERAGE': It's the maximum allowed multiplier of the quantity entered in the previous section according to the volume condition.
The settings are for Bitcoin at Binance Futures (BTC: USDTPERP) in 15 minutes.
For other pairs and other timeframes, the settings have to be adjusted again. And within a month, the settings will be different because we all know the market and the trend are changing.
[blackcat] L2 Ehlers HP-LP Roofing FilterLevel: 2
Background
John F. Ehlers introuced HP-LP Roofing Filter in his "Cycle Analytics for Traders" chapter 7 on 2013.
Function
A “roofing filter” can be used to limit the frequency content of an input before proceeding to construct an indicator. The roofing filter is composed of a highpass filter that passes only frequency components whose periods are shorter than 48 bars, for example. It also is composed of a SuperSmoother filter that passes frequency components whose periods are longer than 10 bars. Thus, the roofing filter is a wide bandwidth band-pass filter that passes only frequency components whose periods fall between 10 bars and 48 bars. This, by itself, is a simple indicator.
While the roofing filter indicator wiggles in proportion to the wiggles in the price data as you would expect, it is noticeable that the indicator is above zero for extended periods where the market is in an uptrend. In other words, the filter output does not have a zero mean as you would expect if the output consisted only of cyclic components whose periods fall between 10 bars and 48 bars.
Key Signal
Filt --> HP-LP Roofing Filter fast line
Trigger --> HP-LP Roofing Filter slow line
Pros and Cons
100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.
Remarks
The 41th script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Fibonacci-Trading-Indikator_3Daily (weekly, monthly) profits with the Fibonacci trading indicator_3
Quotes move in Fibonacci ratios in liquid markets. With this indicator you receive information for daily trades or for position trades based on a week or on a monthly basis, in which area you should ideally enter the market and where the minimum achievable price target is. This price target is 61.8% of yesterday's trading range, or the trading range of the previous week, or the trading range of the previous month, depending on the time frame for which the indicator should calculate the minimum achievable high / low. This is also where you realize your profit.
For this calculation, the following entries must be made in the properties window of the indicator:
• Preselection uptrend / downtrend.
• Time frame (day, week, ...) of the price bar for the possible high / low to be determined.
• Trading range of the previous day, or the previous week, or the previous month.
• Current lowest low of the selected time frame when trading has started and prices are rising.
• Current highest high of the selected time frame when trading has started and prices are falling.
Important areas for trading are:
• The entry range 0% - 23.6% for long or short.
• The target price level 61.8%.
Choose a suitable time frame to detect the direction of movement while the quotes are still moving in the entry area. The camelback indicator can be of great help. Also test the resolution setting of the camelback indicator. With a resolution of 1 hour in the 6 or 12 minute chart, you get a perspective for the broader direction. Movement patterns of corrections or consolidations, if they last more than a day or a week, also give clues to the coming direction of movement for the trade. So look back to see what happened yesterday, a week ago, or a month ago. Pay attention to the market anatomy, find out how the market works, count the price bars in consolidations and trends.
After entering the values the indicator will show the Fibonacci expansion price levels for the possible high or low for the selected time frame. Buy / sell within the entry range between 0% and 23.6% as the market moves towards the last long / or short entry point. This is the course range up to the 23.6% course level. The 61.8% price level is the minimum expected price target. We assume that the current bar will reach at least 61.8% of the trading range of the previous day, week or month. Depending on the set time frame. You should therefore realize the profits you have made with 50% of the position when the prices have reached the 61.8% level. With a suitable trailing stop you can be stopped with the rest of the position, but do not risk more than 50% of the profits.
With the quarter or year preselection and the corresponding entries, the minimum expected quarterly high / quarterly low or annual high / annual low can be determined.
The Fibonacci price levels can be shown and hidden. In the chart click on the gear wheel for “Chart Settings”. In the “Scaling” menu, the price levels can be displayed with the preselection “Label for indicator names” and “Label for last indicator value”. Slide the chart to the right to find possible support and resistance at the price levels that could provide confirmation of the target.
In the event of input errors or missing entries for a time frame, the indicator is hidden.
Pay attention to your trade management to avoid losses.
The new Fibonacci Trading Indicator_3 has the following additions and changes:
Area code for the quarter time frame has been added.
The entry area received a 23.6% and a 50% subdivision. Two envelope lines above the 23.6% entry level in the case of an upward trend and below the 23.6% entry level in the case of a downtrend, with a width of 23.6% and 14.6% of the entry level, are intended to indicate that the closing price is higher the quotations have broken out of the entry-level area.
A volatility stop for upward and downward trends can be activated.
A factor is added to the fluctuation range of each price bar for the stop. Then a moving average is calculated with an adjustable period. The period setting should be set between 5 and 10. The result can be smoothed adjustable.
Presetting:
Periods = 10
Factor = 1.4
Smoothing = 7
With the assumption that the market entry in an upward trend occurs when the prices break out above a bar high, the result of the stop calculation is subtracted from the bar high. In the case of a downward trend, the result of the stop calculation is added to the price bar low.
When entering the market, set the factor to 2.4. If inside bars follow a trend movement, the stop should be brought closer. Try the factor setting 0.4 or less. The smallest adjustable factor is 0.1.
For the entry into an established trend, as described in an idea contribution by me, there are two switchable moving averages. The application for the (MA_H) takes place on high and for the (MA_L) adjustable on high, low, shot, h + 1/2 etc. Period and offset (shift) are adjustable. With this idea, the entry into the market occurs between a 618% correction (the Fibonacci entry point) and the DEP (average entry point). The DEP in this case is the MA_H with period = 4 and an offset = 1 in the case of a downward trend, or the MA_L with the same setting and application to lows in an upward trend.
Also test the MA_L in trends with the settings (period, offset) 3.3 or 5, 3 or 7.5 and applying it to closing prices for a close encompassing of the highs / lows.
Tägliche (wöchentliche, monatliche) Gewinne mit dem Fibonacci-Trading Indikator_3
Kursnotierungen bewegen sich in liquiden Märkten in Fibonacci-Verhältnisse. Mit diesem Indikator erhalten Sie für Tagesgeschäfte, oder für Positionstrades auf Basis einer Woche, oder auf Basis eines Monats Informationen, in welchem Bereich Sie idealerweise in den Markt einsteigen sollten und wo das mindeste erreichbare Kursziel liegt. Dieses Kursziel liegt bei 61,8% der gestrigen Handelspanne, oder der Handelspanne der Vorwoche, oder der Handelspanne des Vormonats, also abhängig davon für welchen Zeitrahmen der Indikator das mindeste erreichbare Hoch/Tief berechnen soll. Dort realisieren Sie auch Ihren Gewinn.
Für diese Berechnung sind folgende Eingaben im Eigenschaftenfenster des Indikators einzustellen:
• Vorwahl Aufwärtstrend/ Abwärtstrend.
• Zeitrahmen (Tag, Woche, …) des Kursbalkens für das zu ermittelnde mögliche Hoch/ Tief.
• Handelspanne des vorherigen Tages, oder der vorherigen Woche, oder des vorherigen Monats.
• Aktuell tiefstes Tief des vorgewählten Zeitrahmens, wenn der Handel begonnen hat und die Notierungen steigen.
• Aktuell höchstes Hoch des vorgewählten Zeitrahmens, wenn der Handel begonnen hat und die Notierungen fallen.
Wichtige Bereiche für das Trading sind:
• Der Einstiegsbereich 0% - 23,6% für long oder short.
• Der Kursziellevel 61,8%.
Wählen Sie für die Erkennung der Bewegungsrichtung einen geeigneten Zeitrahmen, während sich die Notierungen noch im Einstiegsbereich bewegen. Der Camelback-Indikator kann eine gute Hilfe sein. Testen Sie auch die Auflösung-Einstellung des Camelback-Indikators. Mit der Auflösung 1 Stunde Im 6- oder 12 Minuten-Chart erhalten Sie einen Blickwinkel für die große Richtung. Auch Bewegungsmuster von Korrekturen oder Konsolidierungen, wenn sie mehr als einen Tag oder eine Woche andauern geben Hinweise auf die kommende Bewegungsrichtung für den Trade. Schauen Sie also zurück um zu prüfen, was sich gestern, vor einer Woche oder vor einem Monat abgespielt hat. Achten sie auf die Marktanatomie, finden Sie heraus wie der Markt funktioniert, zählen Sie Kursstäbe in Konsolidierungen und Trends.
Nach Eingabe der Werte zeigt der Indikator die Fibonacci-Ausweitungskurslevels für das mögliche Hoch oder Tief für den ausgewählten Zeitrahmen. Kaufen/ verkaufen Sie innerhalb des Einstiegsbereichs zwischen 0% und 23,6%, während sich der Markt in Richtung des letzten long-/ oder short-Einstiegspunktes bewegt. Das ist der Kursbereich bis zum 23,6%- Kurslevel. Der 61,8%-Kurslevel ist das mindeste erwartbare Kursziel. Wir gehen davon aus, dass der aktuelle Kursbalken mindestens 61,8% der Handelsspanne des vorherigen Tages, der vorherigen Woche oder des vorherigen Monats erreichen wird. Abhängig vom eingestellten Zeitrahmen. Realisieren Sie deshalb die angelaufenen Gewinne mit 50% der Position, wenn die Notierungen den 61,8% - Level erreicht haben. Mit einem geeigneten Trailing-Stopp lassen Sie sich mit der restlichen Position ausstoppen, riskieren Sie dafür aber nicht mehr als 50 % der angelaufenen Gewinne.
Mit der Vorwahl Quartal oder Jahr und den entsprechenden Eingaben kann auch das mindeste erwartbare Quartalshoch/ Quartalstief bzw. Jahreshoch/ Jahrestief ermittelt werden.
Die Fibonacci-Kurslevels lassen sich ein- und ausblenden. Klicken Sie im Chart auf das Zahnrad für „Chart Einstellungen“. Im Menü „Skalierungen“ kann mit der Vorwahl „Label für Indikatornahmen“ und „Label für letzten Indikatorwert“ die Kurslevels angezeigt werden. Schieben Sie den Chart nach rechts um mögliche Unterstützungen und Widerstände an den Kurslevels zu finden, die Bestätigung für das Ziel geben könnten.
Bei Eingabefehlern oder fehlenden Eingaben zu einem Zeitrahmen wird der Indikator ausgeblendet.
Achten Sie zur Vermeidung von Verlusten auf ihr Handelsmanagement.
Der neue Fibonacci-Trading-Indikator_3 besitz folgende Zusätze und Änderungen:
Vorwahl für den Zeitrahmen Quartal wurde hinzugefügt.
Der Einstiegsbereich erhielt eine 23,6% und eine 50% Unterteilung. Zwei Umschlagslinien über dem 23,6%-Einstiegslevel bei einem Aufwärtstrend, bzw. unter dem 23,6%-Einstiegslevel bei einem Abwärtstrend, mit der Breite 23,6% und 14,6% vom Einstiegsbereich, sollen bei höherem Schlusskurs signalisieren, dass die Notierungen aus dem Einstiegsbereich ausgebrochen sind.
Ein Volatilitätsstopp jeweils für Aufwärts- und Abwärtstrend kann zugeschaltet werden.
Für den Stopp wird die Schwankungsbreite jedes Kursbalkens wird mit einem Faktor beaufschlagt. Danach erfolgt die Berechnung eines gleitenden Durchschnitts mit einstellbarer Periode. Die Periodeneinstellung sollte zwischen 5 und 10 eingestellt werden. Das Ergebnis kann einstellbar geglättet werden.
Voreinstellung:
Perioden = 10
Faktor = 1,4
Glättung = 7
Mit der Annahme, dass der Markteinstieg in einem Aufwärtstrend bei Ausbruch der Notierungen über ein Kursbalkenhoch erfolgt, wird das Ergebnis der Stoppberechnung vom Kursbalkenhoch subtrahiert. Bei einem Abwärtstrend wird das Ergebnis der Stoppberechnung zum Kursbalkentief addiert.
Stellen Sie bei Markteintritt den Faktor auf 2,4. Folgen nach einer Trendbewegung Innenstäbe sollte der Stopp näher herangeführt werden. Probieren Sie die Faktoreinstellung 0,4 oder kleiner. Der kleinste einstellbare Faktor ist 0,1.
Für den Einstieg in einen etablierten Trend, wie in einem Ideenbeitrag von mir beschrieben, gibt es zwei zuschaltbare gleitende Durchschnitte. Die Anwendung für den (MA_H) erfolgt auf Hochs und für den (MA_L) einstellbar auf Hoch, Tief, Schuss, h+l/2 usw.. Periode und Offset (Verschiebung) sind einstellbar. Bei dieser Idee erfolgt der Einstieg in den Markt zwischen einer 618%-Korrektur (dem Fibonacci-Einstiegspunkt) und dem DEP (Durchschnittlicher Einstiegspunkt). Der DEP ist in diesem Fall der MA_H mit Periode = 4 und einem Offset = 1, bei einem Abwärtstrend, oder der MA_L mit identischer Einstellung und Anwendung auf Tiefs in einem Aufwärtstrend.
Testen Sie den MA_L auch in Trends mit den Einstellungen (Periode, Offset) 3,3 oder 5, 3 oder 7,5 und Anwendung auf Schlusskurse für eine enge Umfassung der Hochs/ Tiefs.
Polynomial Regression Bands + Channel [DW]This is an experimental study designed to calculate polynomial regression for any order polynomial that TV is able to support.
This study aims to educate users on polynomial curve fitting, and the derivation process of Least Squares Moving Averages (LSMAs).
I also designed this study with the intent of showcasing some of the capabilities and potential applications of TV's fantastic new array functions.
Polynomial regression is a form of regression analysis in which the relationship between the independent variable x and the dependent variable y is modeled as a polynomial of nth degree (order).
For clarification, linear regression can also be described as a first order polynomial regression. The process of deriving linear, quadratic, cubic, and higher order polynomial relationships is all the same.
In addition, although deriving a polynomial regression equation results in a nonlinear output, the process of solving for polynomials by least squares is actually a special case of multiple linear regression.
So, just like in multiple linear regression, polynomial regression can be solved in essentially the same way through a system of linear equations.
In this study, you are first given the option to smooth the input data using the 2 pole Super Smoother Filter from John Ehlers.
I chose this specific filter because I find it provides superior smoothing with low lag and fairly clean cutoff. You can, of course, implement your own filter functions to see how they compare if you feel like experimenting.
Filtering noise prior to regression calculation can be useful for providing a more stable estimation since least squares regression can be rather sensitive to noise.
This is especially true on lower sampling lengths and higher degree polynomials since the regression output becomes more "overfit" to the sample data.
Next, data arrays are populated for the x-axis and y-axis values. These are the main datasets utilized in the rest of the calculations.
To keep the calculations more numerically stable for higher periods and orders, the x array is filled with integers 1 through the sampling period rather than using current bar numbers.
This process can be thought of as shifting the origin of the x-axis as new data emerges.
This keeps the axis values significantly lower than the 10k+ bar values, thus maintaining more numerical stability at higher orders and sample lengths.
The data arrays are then used to create a pseudo 2D matrix of x power sums, and a vector of x power*y sums.
These matrices are a representation the system of equations that need to be solved in order to find the regression coefficients.
Below, you'll see some examples of the pattern of equations used to solve for our coefficients represented in augmented matrix form.
For example, the augmented matrix for the system equations required to solve a second order (quadratic) polynomial regression by least squares is formed like this:
(∑x^0 ∑x^1 ∑x^2 | ∑(x^0)y)
(∑x^1 ∑x^2 ∑x^3 | ∑(x^1)y)
(∑x^2 ∑x^3 ∑x^4 | ∑(x^2)y)
The augmented matrix for the third order (cubic) system is formed like this:
(∑x^0 ∑x^1 ∑x^2 ∑x^3 | ∑(x^0)y)
(∑x^1 ∑x^2 ∑x^3 ∑x^4 | ∑(x^1)y)
(∑x^2 ∑x^3 ∑x^4 ∑x^5 | ∑(x^2)y)
(∑x^3 ∑x^4 ∑x^5 ∑x^6 | ∑(x^3)y)
This pattern continues for any n ordered polynomial regression, in which the coefficient matrix is a n + 1 wide square matrix with the last term being ∑x^2n, and the last term of the result vector being ∑(x^n)y.
Thanks to this pattern, it's rather convenient to solve the for our regression coefficients of any nth degree polynomial by a number of different methods.
In this script, I utilize a process known as LU Decomposition to solve for the regression coefficients.
Lower-upper (LU) Decomposition is a neat form of matrix manipulation that expresses a 2D matrix as the product of lower and upper triangular matrices.
This decomposition method is incredibly handy for solving systems of equations, calculating determinants, and inverting matrices.
For a linear system Ax=b, where A is our coefficient matrix, x is our vector of unknowns, and b is our vector of results, LU Decomposition turns our system into LUx=b.
We can then factor this into two separate matrix equations and solve the system using these two simple steps:
1. Solve Ly=b for y, where y is a new vector of unknowns that satisfies the equation, using forward substitution.
2. Solve Ux=y for x using backward substitution. This gives us the values of our original unknowns - in this case, the coefficients for our regression equation.
After solving for the regression coefficients, the values are then plugged into our regression equation:
Y = a0 + a1*x + a1*x^2 + ... + an*x^n, where a() is the ()th coefficient in ascending order and n is the polynomial degree.
From here, an array of curve values for the period based on the current equation is populated, and standard deviation is added to and subtracted from the equation to calculate the channel high and low levels.
The calculated curve values can also be shifted to the left or right using the "Regression Offset" input
Changing the offset parameter will move the curve left for negative values, and right for positive values.
This offset parameter shifts the curve points within our window while using the same equation, allowing you to use offset datapoints on the regression curve to calculate the LSMA and bands.
The curve and channel's appearance is optionally approximated using Pine's v4 line tools to draw segments.
Since there is a limitation on how many lines can be displayed per script, each curve consists of 10 segments with lengths determined by a user defined step size. In total, there are 30 lines displayed at once when active.
By default, the step size is 10, meaning each segment is 10 bars long. This is because the default sampling period is 100, so this step size will show the approximate curve for the entire period.
When adjusting your sampling period, be sure to adjust your step size accordingly when curve drawing is active if you want to see the full approximate curve for the period.
Note that when you have a larger step size, you will see more seemingly "sharp" turning points on the polynomial curve, especially on higher degree polynomials.
The polynomial functions that are calculated are continuous and differentiable across all points. The perceived sharpness is simply due to our limitation on available lines to draw them.
The approximate channel drawings also come equipped with style inputs, so you can control the type, color, and width of the regression, channel high, and channel low curves.
I also included an input to determine if the curves are updated continuously, or only upon the closing of a bar for reduced runtime demands. More about why this is important in the notes below.
For additional reference, I also included the option to display the current regression equation.
This allows you to easily track the polynomial function you're using, and to confirm that the polynomial is properly supported within Pine.
There are some cases that aren't supported properly due to Pine's limitations. More about this in the notes on the bottom.
In addition, I included a line of text beneath the equation to indicate how many bars left or right the calculated curve data is currently shifted.
The display label comes equipped with style editing inputs, so you can control the size, background color, and text color of the equation display.
The Polynomial LSMA, high band, and low band in this script are generated by tracking the current endpoints of the regression, channel high, and channel low curves respectively.
The output of these bands is similar in nature to Bollinger Bands, but with an obviously different derivation process.
By displaying the LSMA and bands in tandem with the polynomial channel, it's easy to visualize how LSMAs are derived, and how the process that goes into them is drastically different from a typical moving average.
The main difference between LSMA and other MAs is that LSMA is showing the value of the regression curve on the current bar, which is the result of a modelled relationship between x and the expected value of y.
With other MA / filter types, they are typically just averaging or frequency filtering the samples. This is an important distinction in interpretation. However, both can be applied similarly when trading.
An important distinction with the LSMA in this script is that since we can model higher degree polynomial relationships, the LSMA here is not limited to only linear as it is in TV's built in LSMA.
Bar colors are also included in this script. The color scheme is based on disparity between source and the LSMA.
This script is a great study for educating yourself on the process that goes into polynomial regression, as well as one of the many processes computers utilize to solve systems of equations.
Also, the Polynomial LSMA and bands are great components to try implementing into your own analysis setup.
I hope you all enjoy it!
--------------------------------------------------------
NOTES:
- Even though the algorithm used in this script can be implemented to find any order polynomial relationship, TV has a limit on the significant figures for its floating point outputs.
This means that as you increase your sampling period and / or polynomial order, some higher order coefficients will be output as 0 due to floating point round-off.
There is currently no viable workaround for this issue since there isn't a way to calculate more significant figures than the limit.
However, in my humble opinion, fitting a polynomial higher than cubic to most time series data is "overkill" due to bias-variance tradeoff.
Although, this tradeoff is also dependent on the sampling period. Keep that in mind. A good rule of thumb is to aim for a nice "middle ground" between bias and variance.
If TV ever chooses to expand its significant figure limits, then it will be possible to accurately calculate even higher order polynomials and periods if you feel the desire to do so.
To test if your polynomial is properly supported within Pine's constraints, check the equation label.
If you see a coefficient value of 0 in front of any of the x values, reduce your period and / or polynomial order.
- Although this algorithm has less computational complexity than most other linear system solving methods, this script itself can still be rather demanding on runtime resources - especially when drawing the curves.
In the event you find your current configuration is throwing back an error saying that the calculation takes too long, there are a few things you can try:
-> Refresh your chart or hide and unhide the indicator.
The runtime environment on TV is very dynamic and the allocation of available memory varies with collective server usage.
By refreshing, you can often get it to process since you're basically just waiting for your allotment to increase. This method works well in a lot of cases.
-> Change the curve update frequency to "Close Only".
If you've tried refreshing multiple times and still have the error, your configuration may simply be too demanding of resources.
v4 drawing objects, most notably lines, can be highly taxing on the servers. That's why Pine has a limit on how many can be displayed in the first place.
By limiting the curve updates to only bar closes, this will significantly reduce the runtime needs of the lines since they will only be calculated once per bar.
Note that doing this will only limit the visual output of the curve segments. It has no impact on regression calculation, equation display, or LSMA and band displays.
-> Uncheck the display boxes for the drawing objects.
If you still have troubles after trying the above options, then simply stop displaying the curve - unless it's important to you.
As I mentioned, v4 drawing objects can be rather resource intensive. So a simple fix that often works when other things fail is to just stop them from being displayed.
-> Reduce sampling period, polynomial order, or curve drawing step size.
If you're having runtime errors and don't want to sacrifice the curve drawings, then you'll need to reduce the calculation complexity.
If you're using a large sampling period, or high order polynomial, the operational complexity becomes significantly higher than lower periods and orders.
When you have larger step sizes, more historical referencing is used for x-axis locations, which does have an impact as well.
By reducing these parameters, the runtime issue will often be solved.
Another important detail to note with this is that you may have configurations that work just fine in real time, but struggle to load properly in replay mode.
This is because the replay framework also requires its own allotment of runtime, so that must be taken into consideration as well.
- Please note that the line and label objects are reprinted as new data emerges. That's simply the nature of drawing objects vs standard plots.
I do not recommend or endorse basing your trading decisions based on the drawn curve. That component is merely to serve as a visual reference of the current polynomial relationship.
No repainting occurs with the Polynomial LSMA and bands though. Once the bar is closed, that bar's calculated values are set.
So when using the LSMA and bands for trading purposes, you can rest easy knowing that history won't change on you when you come back to view them.
- For those who intend on utilizing or modifying the functions and calculations in this script for their own scripts, I included debug dialogues in the script for all of the arrays to make the process easier.
To use the debugs, see the "Debugs" section at the bottom. All dialogues are commented out by default.
The debugs are displayed using label objects. By default, I have them all located to the right of current price.
If you wish to display multiple debugs at once, it will be up to you to decide on display locations at your leisure.
When using the debugs, I recommend commenting out the other drawing objects (or even all plots) in the script to prevent runtime issues and overlapping displays.
[WJ] - Corrected Seconds Volume** ONLY WORKS FOR SECONDS CHARTS **
After staring at a chart and scratching my head, I realized that the volumes were being incorrectly reported for lower time frames.
A chart that has no updated tick for 5 minutes will report the volume that occurred in the WHOLE 5 minutes - in one tick.
For a 5 second chart like above, we have now a chart that at first appearance is giving us numbers to believe that there is MUCH more liquidity than is real.
This can really confuse us, and other scripts that rely on volume information.
This script simply takes into consideration the time delay before the next tick. If it took 5 minutes to update a tick, the volume should be divided into whatever seconds we are currently using. I also changed the coloring code - if there is no length to the candle it will look at the candle before it to determine if it is a positive or negative movement.
It does make technical sense to have the volume that occurred over 5 minutes in one tick as it is the true volume. However, this script should not be viewed as the absolute value, but a consistent, usable number that will be more accurate with tools.
To give a quick example on why this is important:
In a 10 second chart, we are given an updated tick every minute. In 2 minutes we have 2 ticks that have 1K volume each.
Alternatively, we have a 10 second chart, and we are given an updated tick every 10 seconds. In 2 minutes we have 12 ticks that have 100 volume each.
With quick mental math we can determine that the second scenario is actually (albeit slightly) more busy. However, a script would not do that extra layer of math and would assume that the first scenario is bouncing off the walls with activity and the second is a graveyard.
It's exactly for this example that I have created this script, and I hope it helps someone else out.
EulerMethod: V-ProfileVolume profile
50 rows | 50 рядов
Depth — Depth of history | Глубина истории
Range ± — Floating range | Плавающий диапазон
∟ % — Floating range % | Плавающий диапазон %
Amp — Amplitude of histogram | Амплитуда гистограммы
Minimum right margin: 10 bars | Минимальное правое поле: 10 баров
Supply and Demand ZonesThis indicators should be used along with price action breakout
Red zones - Red zones are formed daily
10 days average ranges
Blue zones - Blue zones are formed every week
10 weeks average ranges
Green zones - Green zones are formed every month
10 months averange ranges
CustomScreenerTo apply your indicator with screener , please modify the section which i mention "Start your indicator pine script" & "End your indicator pine script"
At the pinescript section you will able to change the ticket symbol .
I only able to show screener result with 10 item in 1 times . To view more result, please go to setting and change stock list "1-10">"11,20">"21-30".....
Able to screener 100 items with this indicator.
Kindly change the exchange and stock in the pinescript according your watchlist.
As examples, my indicator is to determine the stock in which trend, i want to find out all stock with aqua color trend
The screener result show only 9 of 10 are in aqua color trend.
Donchian Channel CloudsFor this indicator, I got inspired by this paragraph in an article on Investopedia:
"Donchian channels also make natural partners with another moving average indicator for a crossover strategy. The Donchian moving average middle line is likely to form the short-term average in these situations, although some have used a 20-day Donchian channel in conjunction with a five- or 10-day channel to exit a position before a consolidation eats into short-term profits."
The default is a 20-period Donchian channel with the middle line from a 10-period channel superimposed on it. Red for 20, green for 10. When 10 is over 20, the cloud between them is green; the cloud is red when 20 is over 10.
Stochastic RibbonA series of highs and lows of different lengths to create a ribbon-like indicator to emulate the stochastic oscillator's top (100), middle (50) and bottom (0). Traders can determine the strength of the support and resistance by the number of converging lines, choose price points and visualise momentum waves.
Inputs:
Theme: multiple colours/themes (theme 2)
Length: high/low length (14)
Start: plot number to start ribbon on (1)
PlotNumber: number of plots to show; maximum 10 per top, middle, bottom (10)
Example:
Length: 14
Start: 5
PlotNumber: 10
Rate Of Change - Weekly SignalsRate of Change - Weekly Signals
This indicator gives a potential "buy signal" using Rate of Change of SPX and VIX together,
using the following criteria:
SPX Weekly ROC(10) has been BELOW -9 and now rises ABOVE -5
*PLUS*
VIX Weekly ROC(10) has been ABOVE +80 and now falls BELOW +10
The background will turn RED when ROC(SPX) is below -9 and ROC(VIX) is above +80.
The background will turn GREEN when ROC(SPX) is above -5 and ROC(VIX) is below +10.
So the potential "buy signal" is when you start to get GREEN BARS AFTER RED - usually with
some white/empty bars in between...but wait for the green. This indicates that the volatility
has settled down, and the market is starting to turn up.
This indicator gives excellent entry points, but be careful of the occasional false signals.
See Nov. 2001 and Nov. 2008, in both cases the market dropped another 25-30% before the final
bottom was formed. Always have an exit strategy, especially when buying in after a downtrend.
How I use this indicator, pretty much as shown in the preview. Weekly SPX as the main chart with
some medium/long moving averages to identify the trend, VIX added as a "Compare Symbol" in red,
and then the Weekly ROC signals below.
For the ROC graphs, you can show SPX+VIX together, SPX alone, or VIX alone. I prefer to display
them separately because they don't scale well together (VIX crowds out the SPX when it spikes).
Background color is still based on both SPX/VIX together, regardless of which graph is shown.
Note that there is no VIX data available on Trading View prior to 1990, so for those dates the
formula is using only ROC(SPX) and the assigned thresholds (-9 and -5, or whatever you choose).
Price Swing IndicatorThis indicator shows you the highs and lows of the previous "X" amount of bars. This is an objective way of identifying previous price swings. For example, an input of "10" will show you the Swing High (SH) of the previous 10 bars and the Swing Low (SL) of the previous 10 bars. The higher the number, the higher number of bars included in the calculation. Therefore, the higher the number, the less "noise" taken into consideration. This means that higher input values will not take into consideration smaller retracements. Lower input values will take into account small retracements within larger movements.
Volume Profile [Makit0]VOLUME PROFILE INDICATOR v0.5 beta
Volume Profile is suitable for day and swing trading on stock and futures markets, is a volume based indicator that gives you 6 key values for each session: POC, VAH, VAL, profile HIGH, LOW and MID levels. This project was born on the idea of plotting the RTH sessions Value Areas for /ES in an automated way, but you can select between 3 different sessions: RTH, GLOBEX and FULL sessions.
Some basic concepts:
- Volume Profile calculates the total volume for the session at each price level and give us market generated information about what price and range of prices are the most traded (where the value is)
- Value Area (VA): range of prices where 70% of the session volume is traded
- Value Area High (VAH): highest price within VA
- Value Area Low (VAL): lowest price within VA
- Point of Control (POC): the most traded price of the session (with the most volume)
- Session HIGH, LOW and MID levels are also important
There are a huge amount of things to know of Market Profile and Auction Theory like types of days, types of openings, relationships between value areas and openings... for those interested Jim Dalton's work is the way to come
I'm in my 2nd trading year and my goal for this year is learning to daytrade the futures markets thru the lens of Market Profile
For info on Volume Profile: TV Volume Profile wiki page at www.tradingview.com
For info on Market Profile and Market Auction Theory: Jim Dalton's book Mind over markets (this is a MUST)
BE AWARE: this indicator is based on the current chart's time interval and it only plots on 1, 2, 3, 5, 10, 15 and 30 minutes charts.
This is the correlation table TV uses in the Volume Profile Session Volume indicator (from the wiki above)
Chart Indicator
1 - 5 1
6 - 15 5
16 - 30 10
31 - 60 15
61 - 120 30
121 - 1D 60
This indicator doesn't follow that correlation, it doesn't get the volume data from a lower timeframe, it gets the data from the current chart resolution.
FEATURES
- 6 key values for each session: POC (solid yellow), VAH (solid red), VAL (solid green), profile HIGH (dashed silver), LOW (dashed silver) and MID (dotted silver) levels
- 3 sessions to choose for: RTH, GLOBEX and FULL
- select the numbers of sessions to plot by adding 12 hours periods back in time
- show/hide POC
- show/hide VAH & VAL
- show/hide session HIGH, LOW & MID levels
- highlight the periods of time out of the session (silver)
- extend the plotted lines all the way to the right, be careful this can turn the chart unreadable if there are a lot of sessions and lines plotted
SETTINGS
- Session: select between RTH (8:30 to 15:15 CT), GLOBEX (17:00 to 8:30 CT) and FULL (17:00 to 15:15 CT) sessions. RTH by default
- Last 12 hour periods to show: select the deph of the study by adding periods, for example, 60 periods are 30 natural days and around 22 trading days. 1 period by default
- Show POC (Point of Control): show/hide POC line. true by default
- Show VA (Value Area High & Low): show/hide VAH & VAL lines. true by default
- Show Range (Session High, Low & Mid): show/hide session HIGH, LOW & MID lines. true by default
- Highlight out of session: show/hide a silver shadow over the non session periods. true by default
- Extension: Extend all the plotted lines to the right. false by default
HOW TO SETUP
BE AWARE THIS INDICATOR PLOTS ONLY IN THE FOLLOWING CHART RESOLUTIONS: 1, 2, 3, 5, 10, 15 AND 30 MINUTES CHARTS. YOU MUST SELECT ONE OF THIS RESOLUTIONS TO THE INDICATOR BE ABLE TO PLOT
- By default this indicator plots all the levels for the last RTH session within the last 12 hours, if there is no plot try to adjust the 12 hours periods until the seesion and the periods match
- For Globex/Full sessions just select what you want from the dropdown menu and adjust the periods to plot the values
- Show or hide the levels you want with the 3 groups: POC line, VA lines and Session Range lines
- The highlight and extension options are for a better visibility of the levels as POC or VAH/VAL
THANKS TO
@watsonexchange for all the help, ideas and insights on this and the last two indicators (Market Delta & Market Internals) I'm working on my way to a 'clean chart' but for me it's not an easy path
@PineCoders for all the amazing stuff they do and all the help and tools they provide, in special the Script-Stopwatch at that was key in lowering this indicator's execution time
All the TV and Pine community, open source and shared knowledge are indeed the best way to help each other
IF YOU REALLY LIKE THIS WORK, please send me a comment or a private message and TELL ME WHAT you trade, HOW you trade it and your FAVOURITE SETUP for pulling out money from the market in a consistent basis, I'm learning to trade (this is my 2nd year) and I need all the help I can get
GOOD LUCK AND HAPPY TRADING
BO - Bar M15 2/3 SignalBO - Bar M15 2/3 Signal show the signal to trade Binary Option with rule below:
A. Indicator
* Bollinger Band (20,2): avoid waterfall
B. Rule of Signal
1. Rule1: Split Bar M15 to 3 part and load them on M5 chart (recommend use M5 IDC chart)
2. Rule 2: Delay 10' after bar M15 open => wait for price's pattern
3. Rule 3: Put Signal row 30-32
* Delay 10' after bar M15 open.
* Direction of 1/3 and 2/3 Bar M15 is upward
* close of 2/3 Bar M15 below upper band Bb(20,2) on M5 chart => avoid strong buy
4. Rule 4: Call Signal row 36-38
* Delay 10' after bar M15 open.
* Direction of 1/3 and 2/3 Bar M15 is downward
* close of 2/3 Bar M15 above lower band Bb(20,2) on M5 chart => avoid strong sell
C. Recommend Expiry time: Bar M15 close
* We try to catch the shadow of Bar M15 but dont trade when price run on the upper or lower band of BB(20,2,M5)
Cradle zone with BBand & SARHi All,
I have combined a number of indicators all into this 1 option.
It has the following:
> The Cradle zone represents a methodology to using the 10 and 20 EMA's at your selected time-frame.
Where the shading between the 10 and 20 EMA is green for an uptrend and red for a downtrend.
Default EMAs
10, 12, 20, and 50
> Those who are familiar using the Cradle method will find this option convenient.
> I have also added the Bollinger Band and Parabolic SAR as additional options to this item, to help give additional information by default.
Good luck with your trading strategy.
Please don't forget to give me a tick\like, as I would appreciate it.
Regards,
S.Sari /CryptoProspa
Point and Figure (PnF) Moving AveragesThis is live and non-repainting Point and Figure Chart Moving Averages tool. The script has it’s own P&F engine and not using integrated function of Trading View.
Point and Figure method is over 150 years old. It consist of columns that represent filtered price movements. Time is not a factor on P&F chart but as you can see with this script P&F chart created on time chart.
P&F chart provide several advantages, some of them are filtering insignificant price movements and noise, focusing on important price movements and making support/resistance levels much easier to identify.
Moving averages on Point & Figure charts are based on the average price of each column while bar chart moving averages are based closing price. Average Price means (ClosePrice + OpenPrice) / 2.
Because of there is double smoothing, you should use shorter lengths for moving averages. Double smoothing means: using average price smooths once, using length greater than 2 smooths price second time.
If you are new to Point & Figure Chart then you better get some information about it before using this tool. There are very good web sites and books. Please PM me if you need help about resources.
Options in the Script
Box size is one of the most important part of Point and Figure Charting. Chart price movement sensitivity is determined by the Point and Figure scale. Large box sizes see little movement across a specific price region, small box sizes see greater price movement on P&F chart. There are four different box scaling with this tool: Traditional, Percentage, Dynamic (ATR), or User-Defined
4 different methods for Box size can be used in this tool.
User Defined: The box size is set by user. A larger box size will result in more filtered price movements and fewer reversals. A smaller box size will result in less filtered price movements and more reversals.
ATR: Box size is dynamically calculated by using ATR, default period is 20.
Percentage: uses box sizes that are a fixed percentage of the stock's price. If percentage is 1 and stock’s price is $100 then box size will be $1
Traditional: uses a predefined table of price ranges to determine what the box size should be.
Price Range Box Size
Under 0.25 0.0625
0.25 to 1.00 0.125
1.00 to 5.00 0.25
5.00 to 20.00 0.50
20.00 to 100 1.0
100 to 200 2.0
200 to 500 4.0
500 to 1000 5.0
1000 to 25000 50.0
25000 and up 500.0
Default value is “ATR”, you may use one of these scaling method that suits your trading strategy.
If ATR or Percentage is chosen then there is rounding algorithm according to mintick value of the security. For example if mintick value is 0.001 and box size (ATR/Percentage) is 0.00124 then box size becomes 0.001.
And also while using dynamic box size (ATR or Percentage), box size changes only when closing price changed.
Reversal : It is the number of boxes required to change from a column of Xs to a column of Os or from a column of Os to a column of Xs. Default value is 3 (most used). For example if you choose reversal = 2 then you get the chart similar to Renko chart.
Source: Closing price or High-Low prices can be chosen as data source for P&F charting.
Options for P&F Moving Averages:
Moving averages on P&F charts are based on the average price of each column. Bar chart moving averages are based on each close price. While 10-day SMA on a bar chart is the average of the last ten closing prices, on a P&F chart, a 10-period SMA is the average price of the last 10 column averages. Average price means “(ClosePrice + OpenPrice) / 2”
2 P&F moving averages are shown on the chart.
It can show Exponental Moving Average ( EMA ) or Simple Moving Average ( SMA )
Source: You can choose Close Price or Average Price as source. Default is Average Price.
“Fast Length” and “Slow Length” are lengths for two moving averages. Default values are 1 and 5.
“Fill between MAs” is the option to fill between Moving averages by predefined colors 'Lime/Blue', 'Lime/Red', 'Green/Red', 'Green/Blue', 'Blue/Red'
There are alerts when Fast MA crossover or crossunder Slow MA. While adding alert “Once Per Bar Close” option should be chosen.
Pocket Pivot IndicatorFrom Gil Morales and Chris Kacher (O'Neil's disciples). Designed to find buy points in bases and continuation buy points in an uptrend. The volume today must be greater then the maximum down volume of the past 10 trading days. Recommended to use in conjunction with the 10 day and/or 50 day moving average.
Typical use :
Scan for pocket pivots.
Is stock strong fundamentally? i.e- leader in it's sector
Has the stock developed a base ?(see O'Neil's work for base discussion)
Is the stock breaking through or bouncing off the 10 period sma? (can use 50 sma too)
If so.. a possible buy.
Cheers
David
PIP HUNTERSCR STOCH RSI SIGNALScript made in combination of Stoch and RSI, made by and for PIPHUNTERS on 03/10/2019
Stoch default values 10-3-3 higher band level 90, lower band level 10
RSI default value 14 color:blue