AlphaTrendAlphaTrend is a brand new indicator which I've personally derived from Trend Magic and still developing:
In Magic Trend we had some problems, Alpha Trend tries to solve those problems such as:
1-To minimize stop losses and overcome sideways market conditions.
2-To have more accurate BUY/SELL signals during trending market conditions.
3- To have significant support and resistance levels.
4- To bring together indicators from different categories that are compatible with each other and make a meaningful combination regarding momentum, trend, volatility, volume and trailing stop loss.
according to those purposes Alpha Trend:
1- Acts like a dead indicator like its ancestor Magic Trendin sideways market conditions and doesn't give many false signals.
2- With another line with 2 bars offsetted off the original one Alpha Trend have BUY and SELL signals from their crossovers.
BUY / LONG when Alpha Trend line crosses above its 2 bars offsetted line and there would be a green filling between them
SELL / SHORT when Alpha Trend line crosses below its 2 bars offsetted line and filling would be red then.
3- Alpha Trend lines
-act as support levels when an uptrend occurs trailing 1*ATR (default coefficient) distance from bar's low values
-conversely act as resistancelevels when a downtrend occurs trailing 1*ATR (default coefficient) distance from bar's high values
and acting as trailing stop losses
the more Alpha Trend lines straighter the more supports and resistances become stronger.
4- Trend Magic has CCI in calculation
Alpha Trend has MFI as momentum, but when there's no volume data MFI has 0 values, so there's abutton to change calculation considering RSI after checking the relevant box to overcome this problem when there is no volume data in that chart.
Momentum: RSI and MFI
Trend: Magic Trend
Volatility: ATR,
Trailing STOP: ATR TRAILING STOP
Volume: MFI
Alpha trend is really a combination of different types...
default values:
coefficient: 1 which is the factor of trailing ATR value
common period: 14 which is the length of ATR MFI and RSI
Wish you all use AlphaTrend in profitable trades.
Kıvanç Özbilgiç
Buscar en scripts para "ha溢价率"
PVSRA Volume Price - Some people say "Price Action is King". I say, we cannot know how the MMs (Market Makers) will move price next, period. But price tends to consolidate above key SR when MMs are filling short orders for SM (Smart Money) and long orders for DM (Dumb Money), and price tends to consolidate below key SR when MMs are filling long orders for SM and short orders for DM. The MMs are also "SM", and they tend to do the other SMs "one better"! This means that after the MMs fill the SM/DM orders, they might move price a bit further in an attempt to stop out some of those SM executed orders and sucker in more DM; both giving liquidity for the MMs to add to their own SM side position. Yes, the MMs are bastards. But the point is that could leave price not "nicely" above or below a SR anymore, yet more consolidation can occur.
Volume - Increases in activity denote increase in interest. But, is it long or short interest? Where is price in the bigger picture when this is happening? Is it at relative highs, or lows in the overall price action? And if a high volume bar is for a candle which you can examine by going to lower TF charts, you might see where in the spread of that candle the most volume occurred, high or low! Using volume is about taking note of relative increases in volume and what price is doing at the same time. Are the better volumes favoring the lower or the higher prices, as the MMs waffle price up and down? And do the volumes get particularly notable when the MMs take price above or below key SR?
S&R - Read all about S&R at "Baby Pips.com". What I want you to realize here is that the whole, half and quarter numbered price levels (hereinafter referred to as "Levels") are the most important SR of all in this market! Not because price stops, pauses, proceeds or reverses there, but because it is above or below these levels that important consolidation (MMs filling SM orders) takes place. Once SM long orders are filled, they become interested in placing orders to close them at higher prices, and hence the MMs will be moving price higher, eventually. Once SM short orders are filled, they become interested in placing orders to close them at lower prices, and hence the MMs will be moving price lower, eventually.
PVSRA - If we can spot consolidations above/below key SR, examine the overall price action on various TF charts, and take note of where the notable increases in volume have most recently occurred (did volume favor relative highs or lows), then we can build a consensus about what kind of orders the MMs have most recently been filling; buying to open longs or close shorts, or selling to open shorts or close longs. And we can get a better idea if things will next become bullish or bearish. And once PA confirms our bullish or bearish PVSRA results, by recognizing the importance of Levels we can look beyond current PA in the direction it is going and look to historic PA S&R (consolidation around key Levels) to come up with candidates for where the price might be headed. And bull or bear swings typically run in terms of 100+, 150+, 200+ pips, .....etc. And now you know why.
Okay. Now, if this is your first introduction to PVSRA, and having just read the above, you are likely scratching your head and still confused. That is normal. I will tell you a secret about the market and why you have a right to be confused. The secret is this. The market cannot be defined by mathematics nor by immutable logic. This is why the most advanced mathematicians over a century have never even come close to cracking the market. It cannot be done. Something else, other than math and immutable logic is the fundamental operand in the market. Have you ever watched a child attempt a jigsaw puzzle for the first time? And watched as that child grew and attempted more of them, and more complex ones? What is at work in the market I will elaborate on later, but for now trust me in this. We need to apply ourselves to learning how to do PVSRA just as a child attacks learning how to do jigsaw puzzles. And we must continue doing PVSRA, because in time our mind will "learn" when we have just picked up an important piece of the puzzle, and that we know where it goes! Developing the skill of PVSRA is an art form. We must not allow ourselves to feel badly if we miss clues. PVSRA is an art form that takes time to perfect. Over time our skill will grow and our "read" of the unpredictable market will improve. We must take to ongoing learning and application of PVSRA.
Introduction to How the Market Really Works
Does anybody remember the "lil' Abner" cartoons in the Sunday papers? Let me draw for you a mental picture of how the market really works.....
Imagine Daddy Yokum ferociously racing a buckboard wagon up and down the steep inclines and declines in the rough, rocky mountain road that has sharp turns and a sheer cliff on one side. The wagon wheels are spewing rocks off the side of the cliff! Even Daddy Yokum's shotgun is going off due to the jolting of the buckboard! Daddy Yokum has a demented look on his face, but he is smiling! The horse has a wild look in it's eyes and is frothing at the mouth. There are two passengers being tossed around in the back of the buckboard, terror stricken! Now, let's pan back from this cartoon picture and place the labels needed. On the side of the wagon is the sign "Market Pricing". The demented, smiling Daddy Yokum, is the Market Maker. The passengers being tossed around are the buyers and sellers.
.....Got it? Market prices are not determined by the buyers and sellers. They are determined by the Robber Bank Market Makers (MMs).
MMs are Market Manipulators of Price, and Thieves!
The "market" is the sole creation of the Robber Banks that "make the market". While it serves the world of commerce, they run it to make profits. And they opened the market up to foster prolific currency trading by others for the sole purpose of making more profits. They move prices up and down to "create liquidity" to fill the orders of SM (Smart Money) and DM (Dumb Money), for the commissions they make by filling the orders. When they have some orders above the current price and some below the current price, who do you think determines the sequence of direction and distance the price is going to move so these orders can be filled? And always - since they know how they are going to move price next - they take positions themselves to make additional profits.
They do this by:
1. Manipulating price to sucker into the market DM that is taking the wrong side position.
2. Manipulating price to sucker into the market SM that is taking the right side position, but too soon, and later manipulating price to hit their stops.
They have total control of pricing, and by these actions they effectively "steal" from others the money to fill their own "right side" positions before moving the price to the next area they have decided on for filling orders, and for taking profit on their positions built beforehand. Don't get me wrong. I do not object to the market volatility these thieving Robber Banks create. We need it. But we also need to understand what these people are like, the cloth they are cut from. They are crooks, and we have to be extra careful about trading in the market they operate. On some special days you can see them in their true colors. We should witness it. Take note of it. Speak of it. And remember it!
KCGmut“KCGmut” stands for “Mutations Of Keltner Center Of Gravity Channel”.
After adding the ‘KeltCOG Width’ label to the KeltCOG, I got the idea of creating a subpanel indicator to show the development of the width-percent in previous periods. After some more thinking, I decided that the development of the COG-width-percent should also be reported and somehow the indicator should report whether the close is over (momentum is up), in (momentum is sideways) or under (momentum is down) the COG ( This is the gray area in the channel).
Borrowing from other scripts:
I tweeked the script of the KeltCOG (published) to calculate the columns and of REVE (also published) to calculate the volume spikes. Because the KeltCOG script had the default option to let the script chose lookback and adapt the width, I decided to not provide inputs to tweek lookback or channel width. Thus, if you use a KeltCOG in default setting, REVE and KCGmut together in the same chart, these will provide consistent complementary information about the candle. This layout has this combination:
I added actual volume to show where volume spikes occur.
Columns
For the channel-width-percent half of the value is used and for the COG-width-percent the whole to get a better image
By plotting the columns of the full width before those of the COG, in two series of positive and negative values, I created the illusion of a column with a different colored patch representing the COG (most are black) at the bottom where it points up (showing momentum is up), in the middle when the close is in the COG (no momentum) or at the top when the close is below the COG (showing momentum is down)
coloring drama
When nothing much happens, i.e. the channels keep the same width of shrink a bit, the columns get an unobtrusive color, black for the small COG patches and bluish gray for the channel columns pointing up or sideways, reddish gray when pointing down. If the COG increases (drama) the patches get colored lime (up), red (down) or orange (sideways, very seldom). If the channel increases, the columns get colored gold (up), maroon (down) or orange (sideways). Because the COG is derived from a Donchian channel, drama means a new high or low in the lookback period. Drama in the KeltCOG channel just means increase in volatility.
histogram showing volume spikes
Blue spikes indicate more then twice as much volume then recently normal, Maroon spikes indicate clear increases less then twice. To prevent the histogram from disappearing behind a column it is plotted first, spikes made longer then the column and also plotted both positive and negative. Single volume spikes don’t mean much, however if these occur in consecutive series and also come together with drama like new highs or increase in volatility, volume is worth noting. I regard such events as ‘voting’, the market ‘votes’ up or down. The REVE analyses these events to asses whether the volume stems from huge institutional traders (‘whales’) or large numbers of small traders (‘muppets’). This might be interesting too.
Remarks about momentum
Like in MACD, momentum has a direction. The difference is that in KCGmut momentum is a choise of the market to move above the COG (uptrend) or in (sideways) or under (downtrend), whereas in MACD the indicator shows the energy with which the market moves up or down. How does the market ‘choose’? The market doesn’t ‘think’, but still it comes to decisions. I see an analogy with the way a swarm of birds decides to go here or there, up or down, or land in a tree. All birds seem to agree but I guess a single bird has not much say in what the swarm does.
Standard Deviation ChannelThe standard deviation channel allows you to visually see the trend in the market using a linear regression calculation. This script has two lower and two upper bounds, with different deviations. Each of these boundaries has an alert when it has been breached.
Bitcoin Golden Bottom Oscillator (MZ BTC Oscillator)This indicator uses Elliot Wave Oscillator Methodology applied on "BTC Golden Bottom with Adaptive Moving Average" and Relative Strength Index of Resulted EVO to form an Oscillator to detect trend health in Bitcoin price. Ticker is set to "INDEX : BTCUSD" on 1D timeframe.
Methodology
Oscillator uses Adaptive Moving Average with 1 year of length, Minor length of 50 and Major length of 100 to mark AMA as Golden Bottom.
Percentage Elliot Wave Oscillator is calculated between BTC price and AMA.
Relative Strength Index of EVO is calculated to detect trend strength and divergence detection.
Hull Moving Average of resulted RSI is used to smoothen the Oscillator.
Oscillator is hard coded to 'INDEX:BTCUSD' ticker on 1d so it can be used on any other chart and on any other timeframe.
Color Schemes
Bright Red background color indicates that price has left top Fib multiple ATR band and possibly go for top.
Light Red background color indicates that price has left 2nd top Fib multiple ATR band and possibly go for local top.
Lime background color indicates that price has entered lowest band indicating local bottom.
Bright Green background color indicates that price is approximately resting on Golden Bottom i.e. AMA.
Oscillator color is set to gradient for easy directional adaption.
BTC Golden Bottom with Adaptive Moving Average
Price Difference At ExpirationThe general idea:
When selling short options it is important to enter trades with a high probability of expiring Out Of The Money (OTM). Short options have limited upside and unlimited downside and so it is crucial to get both the direction and magnitude correct before entering a trade. However, this can be tricky to do reliably and so it's also a good idea to write options with a strike price far enough away from the underlying's price so that if you are directionally wrong, there's still a good chance of making a profitable trade.
But how far from the current price is far enough for a given underlying? How much is too much?
This indicator seeks to help short options traders answer these questions.
This script is fairly simple and is meant to work only on a daily chart. The basic idea is to show "if I had entered a trade with X days till expiration and a $Y strike, would the actual price change in the underlying have threatened my position before the option expired?"
To answer this question we take the closing price of each day and compare it with the closing price X number of days prior. If the current day closed higher than the day X days prior (Option entry), then we draw a positive bar with the value of the price change. Conversely, if the current day closed lower than the day X days prior we draw a negative bar with the value of the price change. For each bar we draw, we compare it with a given "max range" or "buffer". This buffer is how far OTM with which you are seeking to enter your options trade. If the actual price difference between the theoretical start and end of your trade is greater than the buffer you specified, the bar is drawn in red. Otherwise, if the total price change is safely within the buffer you built into your trade, the bar is drawn in gray.
Obviously, if you are really good at picking the direction of the underlying, the buffer you build into your options contract doesn't matter, you get a profitable trade no matter what! Good job, and please share your charts with me! However, for those of use a bit less clairvoyant, this indicator seeks to help options traders get a sense for whether or not their contracts have enough wiggle room to account for the price moving against them unexpectedly. This indicator gives you the ability to adjust expiration and buffer and get a sense for how well that configuration would have done historically if you had taken each contract to expiration. The assumption being: if it worked really well in the past, then it might work well for this trade. Obviously, past performance doesn't guarantee future results. Just because a particular buffer has worked well in the past doesn't mean that it will work now. Please trade at your own risk. This is just meant to help give a better sense of scale by offering historical comparisons. You can think of this as a rudimentary live backtesting tool.
How to use:
First, add the indicator to your chart and select an underlying. The example chart shown above is for RUT. In the example, I am interested in knowing whether a $200 buffer within 10DTE trades is sufficient to produce a likely winning trade even if I'm wrong about the direction of the underlying. To do this I push the settings button of the indicator and type in 10 for "Interval (days)" and 200 for "Buffer". Next I select only "Monday", "Wednesday", and "Friday" from the expiration checkboxes; leaving "Tuesday" and "Thursday" unchecked. This is because RUT has 3 expirations per week unlike most others that have just one per week (Friday). If you are looking at weekly options you should just check "Friday".
How to interpret the chart:
- Gray bars are your friends. Gray bars mean that if you had entered into a trade with the given DTE and buffer and you happen to be wrong about the direction (it happens to us all!), you would have still ended up with a winning trade. Good Job!
- Red bars indicate possible trouble. This means that your option would have likely been exercised if held till expiration given the amount of buffer you built into the contract. You might have needed to close for a loss or roll or take assignment.
How this can help:
I find it useful to adjust the DTE and buffer when I am going to enter a trade. It helps me see whether a similar trade has historically been resilient to lapses in directional judgement or not. If I'm really confident in the direction, then this won't be so useful. I could then sell closer to the money and feel like I have a winning position. But if there is less certainty and I want to dial back my risk, then this indicator helps me find the right risk/reward with regard to picking expirations and strikes.
Volume Pressure BarsDescription
This indicator transforms the normal volume bars into buying and selling segments. This allows the user to easily see how much buying and selling pressure is occurring on any given timeframe. The buying and selling pressure values are calculated using the following equations:
buyingPressure = volume * (close - low) / (high - low)
sellingPressure = volume * (high - close) / (high - low)
Moving Average Line
Also included in this indicator is the optional moving average line. This allows the user to easily see if volume is above or below the average line. All aspects of the moving average line can be adjusted. The line can be toggled on & off, the length of the moving average can be adjusted, the mathematical smoothing function can be chosen, and the color & style of the line can be configured.
Scaling
If the volume pressure bars are displayed on the same “pane” as the price candles, then the volume bars can be scaled up or down. In the Input settings check the “Scale Bars” checkbox. Then increase the “Scaling Factor” number to make all of the volume bars smaller (to allow more room on your chart) or decrease the number to make the volume bars bigger.
IMPORTANT NOTE #1: scaling only works when the volume pressure bars are in the same pane as the price candles. If the volume pressures bars are in their own pane, then the “Scale Bars” toggle has no effect.
IMPORTANT NOTE #2: if the volume pressure bars are in the same pane as the price candles then there will be a sizable gap between the bottom of the volume bars and the time axis on the TradingView chart. This IS NOT a bug in this indicators code. The gap IS a bug in the TradingView platform that affects all volume indicators besides the default volume indicator that comes with each blank chart. To remove the gap then move the “_Vol Bars” indicator to its own pane above or below the main pain.
Volume Numbers
In Pine Script there is not a true stacked bar chart plot. What the author has to use are multiple bar charts that are in front and behind each other. This gives the impression that the bars are truly stacked because the selling pressure is always smaller than the total volume on any given bar. There is no issue to visually look at the bars and see their heights but if the user used their cursor to hover on a bar to get the actual volume pressure values it leads to issues. To address this problem the author has created a third invisible bar called “Buy Vol Label” that is the buy pressure volume value. Thus when the user hovers the cursor over a bar the first value (from left to right) is the total volume for the bar, the second value is the sell pressure, the third value is the buy pressure, and the fourth value (if toggled on) is the moving average value.
LibraryCOT█ OVERVIEW
This library is a Pine programmer's tool that provides functions to access Commitment of Traders (COT) data for futures. Four of our scripts use it:
• Commitment of Traders: Legacy Metrics
• Commitment of Traders: Disaggregated Metrics
• Commitment of Traders: Financial Metrics
• Commitment of Traders: Total
If you do not program in Pine and want to use COT data, please see the indicators linked above.
█ CONCEPTS
Commitment of Traders (COT) data is tallied by the Commodity Futures Trading Commission (CFTC) , a US federal agency that oversees the trading of derivative markets such as futures in the US. It is weekly data that provides traders with information about open interest for an asset. The CFTC oversees derivative markets traded on different exchanges, so COT data is available for assets that can be traded on CBOT, CME, NYMEX, COMEX, and ICEUS.
Accessing COT data from a Pine script requires the generation of a ticker ID string for use with request.security() . The ticker string must be encoded in a special format that includes both CFTC and TradingView-specific content. The format of the ticker IDs is somewhat complex; this library's functions make their generation easier. Note that if you know the COT ticker ID string for specific data, you can enter it from the chart's "Symbol Search" dialog box.
A ticker for COT data in Pine has the following structure:
COT:__<_metricDirection><_metricType>
where an underscore prefixing a component name inside <> is only included if the component is not a null string, and:
Is a digit representing the type of the COT report the data comes from: "" for legacy COT data, "2" for disaggregated data and "3" for financial data.
Is a six digit code that represents a commodity. Example: wheat futures (root "ZW") have the code "001602".
Is either "F" if the report data should exclude Options data, or "FO" if such data is included.
Is the TradingView code of the metric. This library's `metricNameAndDirectionToTicker()` function creates both
the and components of a COT ticker from the metric names and directions listed in the above chart.
The different metrics are explained in the CFTC's Explanatory Notes .
Is the direction of the metric: "Long", "Short", "Spreading" or "No direction".
Not all directions are applicable to all metrics. The valid ones are listed next to each metric in the above chart.
Is the type of the metric, possible values are "All", "Old" and "Other".
The difference between the types is explained in the "Old and Other Futures" section of the CFTC's Explanatory Notes .
As an example, the Legacy report Open Interest data for ZW futures (options included) in the old standard has the ticker "COT:001602_FO_OI_OLD". The same data using the current standard without futures has the ticker "COT:001602_F_OI".
█ USING THE LIBRARY
The first functions in the library are helper functions that generate components of a COT ticker ID. The last function, `COTTickerid()`, is the one that generates the full ticker ID string by calling some of the helper functions. We use it like this in our example:
exampleTicker = COTTickerid(
COTType = "Legacy",
CFTCCode = convertRootToCOTCode("Auto"),
includeOptions = false,
metricName = "Open Interest",
metricDirection = "No direction",
metricType = "All")
This library's chart displays the valid values for the `metricName` and `metricDirection` arguments. They vary for each of the three types of COT data (the `COTType` argument). The chart also displays the COT ticker ID string in the `exampleTicker` variable.
Look first. Then leap.
The library's functions are:
rootToCFTCCode(root)
Accepts a futures root and returns the relevant CFTC code.
Parameters:
root : Root prefix of the future's symbol, e.g. "ZC" for "ZC1!"" or "ZCU2021".
Returns: The part of a COT ticker corresponding to `root`, or "" if no CFTC code exists for the `root`.
currencyToCFTCCode(curr)
Converts a currency string to its corresponding CFTC code.
Parameters:
curr : Currency code, e.g., "USD" for US Dollar.
Returns: The corresponding to the currency, if one exists.
optionsToTicker(includeOptions)
Returns the part of a COT ticker using the `includeOptions` value supplied, which determines whether options data is to be included.
Parameters:
includeOptions : A "bool" value: 'true' if the symbol should include options and 'false' otherwise.
Returns: The part of a COT ticker: "FO" for data that includes options and "F" for data that doesn't.
metricNameAndDirectionToTicker(metricName, metricDirection)
Returns a string corresponding to a metric name and direction, which is one component required to build a valid COT ticker ID.
Parameters:
metricName : One of the metric names listed in this library's chart. Invalid values will cause a runtime error.
metricDirection : Metric direction. Possible values are: "Long", "Short", "Spreading", and "No direction".
Valid values vary with metrics. Invalid values will cause a runtime error.
Returns: The part of a COT ticker ID string, e.g., "OI_OLD" for "Open Interest" and "No direction",
or "TC_L" for "Traders Commercial" and "Long".
typeToTicker(metricType)
Converts a metric type into one component required to build a valid COT ticker ID.
See the "Old and Other Futures" section of the CFTC's Explanatory Notes for details on types.
Parameters:
metricType : Metric type. Accepted values are: "All", "Old", "Other".
Returns: The part of a COT ticker.
convertRootToCOTCode(mode, convertToCOT)
Depending on the `mode`, returns a CFTC code using the chart's symbol or its currency information when `convertToCOT = true`.
Otherwise, returns the symbol's root or currency information. If no COT data exists, a runtime error is generated.
Parameters:
mode : A string determining how the function will work. Valid values are:
"Root": the function extracts the futures symbol root (e.g. "ES" in "ESH2020") and looks for its CFTC code.
"Base currency": the function extracts the first currency in a pair (e.g. "EUR" in "EURUSD") and looks for its CFTC code.
"Currency": the function extracts the quote currency ("JPY" for "TSE:9984" or "USDJPY") and looks for its CFTC code.
"Auto": the function tries the first three modes (Root -> Base Currency -> Currency) until a match is found.
convertToCOT : "bool" value that, when `true`, causes the function to return a CFTC code.
Otherwise, the root or currency information is returned. Optional. The default is `true`.
Returns: If `convertToCOT` is `true`, the part of a COT ticker ID string.
If `convertToCOT` is `false`, the root or currency extracted from the current symbol.
COTTickerid(COTType, CTFCCode, includeOptions, metricName, metricDirection, metricType)
Returns a valid TradingView ticker for the COT symbol with specified parameters.
Parameters:
COTType : A string with the type of the report requested with the ticker, one of the following: "Legacy", "Disaggregated", "Financial".
CTFCCode : The for the asset, e.g., wheat futures (root "ZW") have the code "001602".
includeOptions : A boolean value. 'true' if the symbol should include options and 'false' otherwise.
metricName : One of the metric names listed in this library's chart.
metricDirection : Direction of the metric, one of the following: "Long", "Short", "Spreading", "No direction".
metricType : Type of the metric. Possible values: "All", "Old", and "Other".
Returns: A ticker ID string usable with `request.security()` to fetch the specified Commitment of Traders data.
█ AVAILABLE METRICS
Different COT types provide different metrics. The table of all metrics available for each of the types can be found below.
+------------------------------+------------------------+
| Legacy (COT) Metric Names | Directions |
+------------------------------+------------------------+
| Open Interest | No direction |
| Noncommercial Positions | Long, Short, Spreading |
| Commercial Positions | Long, Short |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No direction |
| Traders Noncommercial | Long, Short, Spreading |
| Traders Commercial | Long, Short |
| Traders Total Reportable | Long, Short |
| Concentration Gross LT 4 TDR | Long, Short |
| Concentration Gross LT 8 TDR | Long, Short |
| Concentration Net LT 4 TDR | Long, Short |
| Concentration Net LT 8 TDR | Long, Short |
+------------------------------+------------------------+
+-----------------------------------+------------------------+
| Disaggregated (COT2) Metric Names | Directions |
+-----------------------------------+------------------------+
| Open Interest | No Direction |
| Producer Merchant Positions | Long, Short |
| Swap Positions | Long, Short, Spreading |
| Managed Money Positions | Long, Short, Spreading |
| Other Reportable Positions | Long, Short, Spreading |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No Direction |
| Traders Producer Merchant | Long, Short |
| Traders Swap | Long, Short, Spreading |
| Traders Managed Money | Long, Short, Spreading |
| Traders Other Reportable | Long, Short, Spreading |
| Traders Total Reportable | Long, Short |
| Concentration Gross LE 4 TDR | Long, Short |
| Concentration Gross LE 8 TDR | Long, Short |
| Concentration Net LE 4 TDR | Long, Short |
| Concentration Net LE 8 TDR | Long, Short |
+-----------------------------------+------------------------+
+-------------------------------+------------------------+
| Financial (COT3) Metric Names | Directions |
+-------------------------------+------------------------+
| Open Interest | No Direction |
| Dealer Positions | Long, Short, Spreading |
| Asset Manager Positions | Long, Short, Spreading |
| Leveraged Funds Positions | Long, Short, Spreading |
| Other Reportable Positions | Long, Short, Spreading |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No Direction |
| Traders Dealer | Long, Short, Spreading |
| Traders Asset Manager | Long, Short, Spreading |
| Traders Leveraged Funds | Long, Short, Spreading |
| Traders Other Reportable | Long, Short, Spreading |
| Traders Total Reportable | Long, Short |
| Concentration Gross LE 4 TDR | Long, Short |
| Concentration Gross LE 8 TDR | Long, Short |
| Concentration Net LE 4 TDR | Long, Short |
| Concentration Net LE 8 TDR | Long, Short |
+-------------------------------+------------------------+
Bollinger Bands By CryptoLawyer1This is a simple cross under/over script, if the close is lower than the lower band SELL, if it has crossed above buy/close short
the script is equipped with a 55 SMA signal filter for less noise, you can customize the lengths based on the pair and time frame, i would recommend using higher lengths on lower timeframes and lower length on higher time frames, example : 1Week: 13L, 2Hours: 55L, 15Minutes: 200L
Important Note ⚠: the ideal signal is a trend reversal and not a continuation, same goes for long and short signals, you should take short signal if the price has been going up and the bands are green for a long enough time, and the high's have crossed over the upper bands at least 3-4 times same goes for long, you should find a down trend that has been going on for a good enough time, so in simple words search for reversal not continuation signals, if you have any questions feel free to ask, happy trading!
Probability ConesA probability cone is an indicator that forecasts a statistical distribution from a set point in time into the future.
Features
Forecast a Standard or Laplace distribution.
Change the how many bars the cones will lookback and sample in their calculations.
Set how many bars to forecast the cones.
Let the cones follow price from a set number of bars back.
Anchor the cones and they will not update from their last location.
Show or hide any set of cones.
Change the deviation used of any cone's upper or lower line.
Change any line's color, style, or width.
Change or toggle the fill colors between any two cone lines.
Basic Interpretations
First, there is an assumption that the distribution starting from the cone's origin, based on the number of historical bars sampled, is likely to represent the distribution of future price.
Price typically hangs around the mean.
About 68% of price stays within the first deviation cones.
About 95% of price stays within the second deviation cones.
About 99.7% of price stays within the third deviation cones.
When price is between the first and second deviation cones, there is a higher probability for a reversal.
However, strong momentum while above or below the first deviation can indicate a trend where price maintains itself past the first deviation. For this reason it's recommended to use a momentum indicator alongside the cones.
There is no mean reversion assumption when price deviates. Price can continue to stay deviated.
It's recommended that the cones are placed at the beginning of calendar periods. Like the month, week, or day.
Be mindful when using the cones on various timeframes. As the lookback setting, which selects the number of bars back to load from the cone's origin, will load the number of bars back based on the current timeframe.
Second Deviation Strategy
How to react when price goes beyond the second deviation is contingent on your trading position.
If you are holding a losing trade and price has moved past the second deviation, it could be time to stop trading and exit.
If you are holding a winning trade and price has moved past the second deviation, it would be best to look at exit strategies to capitalize on the outperformance.
If price has moved beyond the second deviation and you hold no position, then do not open any new trades.
vix_vx_regressionAn example of the linear regression library, showing the regression of VX futures on the VIX. The beta might help you weight VX futures when hedging SPX vega exposure. A VX future has point multiplier of 1000, whereas SPX options have a point multiplier of 100. Suppose the front month VX future has a beta of 0.6 and the front month SPX straddle has a vega of 8.5. Using these approximations, the VX future will underhedge the SPX straddle, since (0.6 * 1000) < (8.5 * 100). The position will have about 2.5 ($250) vega. Use the R^2 (coefficient of determination) to check how well the model fits the relationship between VX and VIX. The further from one this value, the less useful the model.
(Note that the mini, VXM futures also have a 100 point multiplier).
Trade Helper [Trading Nerd]Position Size Calculator / Lot Size Calculator
Disclaimer: I do my best to avoid wrong calculations and bugs. I provide this indicator without warranties of any kind. You bear all risks associated with the use of this indicator.
Inputs:
Market: Adds a name tag to the Table to keep track of the trades.
Entry Price: The entry Price of the Position.
Entry Time: The entry Time/Candle of the Position. If Stop Loss Type is 'ATR' or 'HH/LL' the Value for this is calculated by this Candle.
Stop Loss Type: Changes the Stop Loss Type.
Direction: Define if the trade direction is 'Long' or 'Short'. Has no effect on Stop Loss Type 'Custom'. For this you can just set the Stop Loss below/above the Entry Price .
ATR Multiplier: Multiplies the ATR Value by this number. Has only an effect on Stop Loss Type 'ATR'.
HH/LL Lookback Length: Lookback length for determine Highest High/Lowest Low value. Has only an effect on Stop Loss Type 'HH/LL'.
Custom SL Price: The Stop Loss Price if the Stop Loss Type is set to 'Custom'.
Risk Reward Ratio: The Risk is multiplied by this number to determine the Take Profit Price.
Balance: Balance Amount and Currency
Contract Size: The Position Size is divided by this number. E.G. in Forex one Lot is 100.000 Contracts. Change this Value depending on your Broker and Market.
Risk in %: Percent that is risked of the Balance for one Trade.
AveragesLibrary "Averages"
Contains utilities for generating averages from arrays. Useful for manipulated or cleaned data.
triangular(src, startingWeight) Calculates the triangular weighted average of a set of values where the last value has the highest weight.
Parameters:
src : The array to derive the average from.
startingWeight : The weight to begin with when calculating the average. Higher numbers will decrease the bias.
weighted(src, weights, weightDefault) Calculates the weighted average of a set of values.
Parameters:
src : The array to derive the average from.
weights : The array containing the weights for the source.
weightDefault : The default value to use when a weight is NA.
triangularWeighted(src, weights, startingWeight) Calculates the weighted average of a set of values where the last value has the highest triangular multiple.
Parameters:
src : The array to derive the average from.
weights : The array containing the weights for the source.
startingWeight : The multiple to begin with when calculating the average. Higher numbers will decrease the bias.
exponential(src) Calculates the exponential average of a set of values where the last value has the highest weight.
Parameters:
src : The array to derive the average from.
arrayFrom(src, len, omitNA) Creates an array from the provided series (oldest to newest).
Parameters:
src : The array to derive from.
len : The target length of the array.
omitNA : If true, NA values will not be added to the array and the resultant array may be shorter than the target length.
Currency Strength Meter [HeWhoMustNotBeNamed]⬜ Note: This is not the strength of currency pairs. But, in this script we are trying to derive strength of individual currencies by matching against single base currency.
⬜ Process
This is based on similar concept as that of Magic Numbers for stocks. Idea is simple.
▶ Calculate strength of each currency against USD. Derive the strength for both price movement and volume movement.
▶ Similarly calculate momentum of price and volume change.
▶ If USD is base currency, inverse momentum and strength index for the given symbol.
▶ Once these calculations are done, rank each currencies based on individual score on given things.
▶ Add up all the ranks to derive combined rank
▶ sort the currencies in the ascending order of overall rank.
⬜ USAGE
▶ Identify a base currency. In our case, we have used USD as base currency as it is easy to get pairs of all currencies with USD.
▶ Identify most used combos for all other currencies which are paired with USD. Fx pair can either have USD as base currency or quote currency. It is desirable to use the pair which is most traded. For example, USDJPY is more traded pair than JPYUSD - hence it is advisable to use USDJPY instead of JPYUSD. Similarly AUDUSD is more traded than USDAUD - hence choosing AUDUSD for the purpose of this exercise is better approach. Notice that USDJPY has USD as base currency whereas AUDUSD has USD as quote currency. These calculations are handled internally to derive the right outcome irrespective of position of USD in the pair.
▶ Identify the forex broker which has all the selected forex tickers. All comparison is done against a single broker. Hence, choosing broker which does not wide range of forex pairs will show NAN for many rows.
▶ Once we set these, we get tabular output containing strength and oscillator based trend indexes for both price and volume indicator. Currencies are ordered in descending order of strength. Hence, top of the list can be considered as currency having highest strength and bottom of the table can be considered as currency having lowest strength. Please note that the calculation is valid only for selected timeframe and users can set other parameters such as moving average type, oscillator type, length etc which can alter the outcome.
▶ Use multiple timeframes to find out stronger and weaker currencies. Use directional indicators to understand where they are heading. Combine all these info to come up with currency pair you would like to trade :)
⬜ Settings
▶ Main settings and Currencies
Base Currency : This is set to USD by default as rest of the tickers used are paired with USD. Whatever the base currency is selected, rest of the tickers should follow the same combination.
Timeframe : Timeframe for which rankings need to be calculated.
Currencies : These should be the currency pair which involve base currency defined in the setting on either side.
▶ Display
Table : Allows users to set table location and size of the table. By default this is set to middle center and default size is normal. If user want to use multiple timeframes side by side, they can do so by changing these display settings.
Stat Type : To show either comparative ranking or actual indicator values
Jurik MacD & Leader NCMhey everyone,
While there are some Invite-Only Jurik MacDs, there are no free/open ones, so I thought I'd create one and publish it. It has most of the bells and whistles you'd want (I hope!).
You can see one with the bells and whistles all turned on in the first, and a 'quieter' one in the second.
//-----------------////-----------------////-----------------//
Why Jurik?
The Jurik MA is a quicker and smoother Exponential MA, and the best of all MAs, according to Jurik Research (lol). To be fair. I have found it to be excellent, and that is why I'm publishing this.
Power can be changed, recommended from 1-4: increasing it pulls it closer to the current price (almost like reducing the period), and decreasing: vice versa.
Phase increases the inertia of the line, how quickly it will respect price changes. It is usual to have less inertia on the fast JMA, and more on the slower (but remember the MACD line is the FastJMA minus the SlowJMA, so you may find adjusting power and phase on Signal line more effective). Search online for JurikRes (or Jurik Research) for more detailed information about the Jurik.
In the coding I have included a list of four different ways to set up the JMAs: however, you should probably tune this to your preferred asset (as with almost all indicators). If you find a good setup, please let me know!
You could trade with a MacD a number of ways. Entries could be:
- MacD crossing the zero line
- MacD crossing over the Signal line
- Histogram crossing above zero line.
Vice versa for exits. If this isn't enough, please google 'trading with a MacD'.
No indicator is perfect for trading, and that includes this one! Don't trade unless you know what you're doing.
//-----------------////-----------------////-----------------//
Please let me know if I can improve this script, or you have any other feedback. I can post code for colour palette as well if that is something anyone is keen on.
//-----------------////-----------------////-----------------//
Thanks to the many excellent coders that publish freely their code. I have learned so much from this community, and this code is based on the work of others (Chris Moody and everget).
Shout out to StevieMagg as well, who has helped me develop (and didn't want to charge me!). The Pine Script Community on Discord has been brilliant - lots of knowledge, ideas, support - thanks guys.
If you are new and interested in pine coding, I suggest you check out some of the masters (in no order):
ChrisMoody
Everget
RedKTrader
LonesomeDove
LazyBear
KivancOzbilgic
and more that I am missing. It is not necessarily the popular scripts that are the best.
//-----------------////-----------------////-----------------//
Kind regards,
Nelson
Vortex indicator cross support&resistance [LM]Hello traders,
I would like you to present Vortex indicator cross support&resistance script. The idea behind is same as my other S/R scripts to look for important S/R levels.
This time I have used little known and not that old Vortex Indicator that has been released in 2010. Vortex indicator has two plots that crosses each other and on the cross line is rendered. I have included smoothing with TEMA.
The indicator has following settings:
General control - here you can select period of vortex indicator and show/hide labels
Line control - where you can select type of line, colors...
Hope you will enjoy it,
Lukas
[cache_that_pass] 1m 15m Function - Weighted Standard DeviationTradingview Community,
As I progress through my journey, I have come to the realization that it is time to give back. This script isn't a life changer, but it has the building blocks for a motivated individual to optimize the parameters and have a production script ready to go.
Credit for the indicator is due to @rumpypumpydumpy
I adapted this indicator to a strategy for crypto markets. 15 minute time frame has worked best for me.
It is a standard deviation script that has 3 important user configured parameters. These 3 things are what the end user should tweak for optimum returns. They are....
1) Lookback Length - I have had luck with it set to 20, but any value from 1-1000 it will accept.
2) stopPer - Stop Loss percentage of each trade
3) takePer - Take Profit percentage of each trade
2 and 3 above are where you will see significant changes in returns by altering them and trying different percentages. An experienced pinescript programmer can take this and build on it even more. If you do, I ask that you please share the script with the community in an open-source fashion.
It also already accounts for the commission percentage of 0.075% that Binance.US uses for people who pay fees with BNB.
How it works...
It calculates a weighted standard deviation of the price for the lookback period set (so 20 candles is default). It recalculates each time a new candle is printed. It trades when price lows crossunder the bottom of that deviation channel, and sells when price highs crossover the top of that deviation channel. It works best in mid to long term sideways channels / Wyckoff accumulation periods.
40+ Coin Screener (workaround to 40 Security Limit Per Script) This is a far inferior method for a screener/scanner (compared to my first publication) but after looking at that script from a noobs eyes again, I could see how this form would be a lot easier to take in/understand so wanted to publish it. Everything that I could think of to mention about this is in my 1st pub so ill leave it to you to check it out...though I did include some comments in the script. It is pretty straight forward but if you have any questions don't hold them in. I'll answer them if I can. The only thing that is not in this one is setting up the alert feature so that you only have to create 1 alert per iteration of the script and it takes care of all of the coins for that iteration/set that is chosen in the settings (so please see previous script if would like to do this for your screener/scanner).
To be PERFECTLY CLEAR, the workaround is to the issue of not being able to scan but only 40 coins per script. You can scan more than 40 per script but only if you create "batches" or "sets" that the user can select within the settings which set to use for each iteration of the script on the chart. That being, you have to the script multiple times to the chart and merge them into 1 window and merge the scales (instructions in first publications). Here in this script I am scanning 72 different coins that are the Margin Coins on KUCOIN. I have split them up into 3 sets (24 coins per set). I could have made 2 sets but the script will be slower to load and to respond (like, when it comes to receiving alerts), thus I split them up the way I did. If you want to change any of this there are slightly more details in the previous script.
One great use-case that I LOVE about this particular version (and the way I use it) is right at the end of when I see a whole market dump/pump coming to an end and want to know which horse to bet on. Used to think whichever coin come out the fastest from the dump was the one to bet on but quickly learned that 1-2 (or even a few) hrs needs to go by first bc the ones that look the strongest in the beginning are NOT the ones to have performed the best when viewing the results 12 hrs later. IN FACT, many instances of using this exact script for reasons as such has taught me that the manipulators (I believe this to be the case as least) WANT everyone to bet on these that come out the gate the hardest and thus they make them move REALLY hard in the beginning then they QUICKLY become stagnant (moreso, they become WORSE than stagnant, they actually quickly retrace to put you into the negative so that you get out to get into the others now moving (to provide the market with more liquidity. They WANT you to get into a coin thats moving crazy hard so that they can then cease that movement once many fall for the trick just to then make that once strong looking coin now stagnant and make others move crazy hard. They wait for you to get out of the 1st and into the next set of movers just to do this time and time again bc hey, what are we sheep good for other than to provide the big guns with liquidity, am I right? Thats rhetorical, which you would know if you've ever had this happen to you (without a doubt MANY of you have). Let this script (above all other things) provide good evidence to back up this cynical way of viewing the markets to anyone that is questioning it.
This prolonged time between when the dump is over and when the ACTUAL movers REALLY start moving can actually be of great benefit to us sheep if used correctly, Firstly, it gives us some time to determine if when we thought was the bottom, ACTUALLY was the bottom. That bottom is easily determined if there are no (or very few) coins that went any lower than the point in time that the script began calculating on. Secondly, it allows us time to wait for the REAL movers and shakers to start moving and shaking.
One new feature that I LOVE that TV has implemented is the ability (once the script is added to the chart) to be able to click a point in time on the chart where you want the script to begin its calculations. If this point needs to be changed at any point in time then you can either go into the setting and input the time you wish or simply remove the script and add it again so that you are prompted to select another point in time. Ok, I think that everything I wanted to say. The next version that I will add will be probably my favorite and most used by yours truly...not to mention unique in a way that I have yet to see an implementation anything like it in all of TV's public library. Not to say its not there, but I have yet to come across it and I have DEFINITELY done my fair share of searching for it when I couldn't figure out how to code it for the longest time (though, I was and still am a noob so might get some great feedback on better ways to approach it, but we'll save that jabbering for the next of the publications.
I hope each and every one of ya'll (yes, Im from the South) have the GREATEST of Thanksgivings (if in the US that is...I graced my parents with the best gift anyone could have given them 35 years ago on Thanksgiving....MEEEE ;) So I will sure as hell be having a great holiday. Thanks for checking out my script...you can "like" and leave a comment if you so feel the urge to...or not. Im not doing this for me, but rather to stretch my arms out as far as possible to benefit the most people as possible and more people would see the script if it has more likes/comments/traffic pointing towards it...not to mention as other publishers have...it IS gratifying to see a few likes in my side window, which btw, I have MANY more variations and completely diff types of scanners/screeners Ill be publishing in the future and to know that they've become of use....I"VE become of use to the community is very....pleasing to me and does (as I've also seen many publishers mention as well) drive me to want to publish ones that I originally thought I would keep for myself. Peace out people.
Ripple (XRP) Model PriceAn article titled Bitcoin Stock-to-Flow Model was published in March 2019 by "PlanB" with mathematical model used to calculate Bitcoin model price during the time. We know that Ripple has a strong correlation with Bitcoin. But does this correlation have a definite rule?
In this study, we examine the relationship between bitcoin's stock-to-flow ratio and the ripple(XRP) price.
The Halving and the stock-to-flow ratio
Stock-to-flow is defined as a relationship between production and current stock that is out there.
SF = stock / flow
The term "halving" as it relates to Bitcoin has to do with how many Bitcoin tokens are found in a newly created block. Back in 2009, when Bitcoin launched, each block contained 50 BTC, but this amount was set to be reduced by 50% every 210,000 blocks (about 4 years). Today, there have been three halving events, and a block now only contains 6.25 BTC. When the next halving occurs, a block will only contain 3.125 BTC. Halving events will continue until the reward for minors reaches 0 BTC.
With each halving, the stock-to-flow ratio increased and Bitcoin experienced a huge bull market that absolutely crushed its previous all-time high. But what exactly does this affect the price of Ripple?
Price Model
I have used Bitcoin's stock-to-flow ratio and Ripple's price data from April 1, 2014 to November 3, 2021 (Daily Close-Price) as the statistical population.
Then I used linear regression to determine the relationship between the natural logarithm of the Ripple price and the natural logarithm of the Bitcoin's stock-to-flow (BSF).
You can see the results in the image below:
Basic Equation : ln(Model Price) = 3.2977 * ln(BSF) - 12.13
The high R-Squared value (R2 = 0.83) indicates a large positive linear association.
Then I "winsorized" the statistical data to limit extreme values to reduce the effect of possibly spurious outliers (This process affected less than 4.5% of the total price data).
ln(Model Price) = 3.3297 * ln(BSF) - 12.214
If we raise the both sides of the equation to the power of e, we will have:
============================================
Final Equation:
■ Model Price = Exp(- 12.214) * BSF ^ 3.3297
Where BSF is Bitcoin's stock-to-flow
============================================
If we put current Bitcoin's stock-to-flow value (54.2) into this equation we get value of 2.95USD. This is the price which is indicated by the model.
There is a power law relationship between the market price and Bitcoin's stock-to-flow (BSF). Power laws are interesting because they reveal an underlying regularity in the properties of seemingly random complex systems.
I plotted XRP model price (black) over time on the chart.
Estimating the range of price movements
I also used several bands to estimate the range of price movements and used the residual standard deviation to determine the equation for those bands.
Residual STDEV = 0.82188
ln(First-Upper-Band) = 3.3297 * ln(BSF) - 12.214 + Residual STDEV =>
ln(First-Upper-Band) = 3.3297 * ln(BSF) – 11.392 =>
■ First-Upper-Band = Exp(-11.392) * BSF ^ 3.3297
In the same way:
■ First-Lower-Band = Exp(-13.036) * BSF ^ 3.3297
I also used twice the residual standard deviation to define two extra bands:
■ Second-Upper-Band = Exp(-10.570) * BSF ^ 3.3297
■ Second-Lower-Band = Exp(-13.858) * BSF ^ 3.3297
These bands can be used to determine overbought and oversold levels.
Estimating of the future price movements
Because we know that every four years the stock-to-flow ratio, or current circulation relative to new supply, doubles, this metric can be plotted into the future.
At the time of the next halving event, Bitcoins will be produced at a rate of 450 BTC / day. There will be around 19,900,000 coins in circulation by August 2025
It is estimated that during first year of Bitcoin (2009) Satoshi Nakamoto (Bitcoin creator) mined around 1 million Bitcoins and did not move them until today. It can be debated if those coins might be lost or Satoshi is just waiting still to sell them but the fact is that they are not moving at all ever since. We simply decrease stock amount for 1 million BTC so stock to flow value would be:
BSF = (19,900,000 – 1.000.000) / (450 * 365) =115.07
Thus, Bitcoin's stock-to-flow will increase to around 115 until AUG 2025. If we put this number in the equation:
Model Price = Exp(- 12.214) * 114 ^ 3.3297 = 36.06$
Ripple has a fixed supply rate. In AUG 2025, the total number of coins in circulation will be about 56,000,000,000. According to the equation, Ripple's market cap will reach $2 trillion.
Note that these studies have been conducted only to better understand price movements and are not a financial advice.
LA_Crpyto_Pirate Modifie VuManChu B Script with Scalping FiltersI added the following filters for entry signals to the VuManChu B with divergences for use as a scalping indicator. You will need to load the 50 EMA and this indicator to trade this per the rules below
The rules for trading this are as follows; You can only take a long or short entry when all of these requirements match
The wave cross is under the zero line (long) or over the zero line (short)
The money flow indicator is green (long) or red (short)
The closing price is above the 200 EMA (long) or below the 200 EMA (short)
price has pulled back to the 50 EMA
Here are the filters I employed in the script to help you trade this
Zero Line Filter: Only signal longs under the zero line and shorts over the zero line will fire off a signal
Money Flow Indicator Filter: Only signal longs when money flow is green and only shorts when money flow is red
200 MA filter: Only longs when price is closing above the 200 EMA and only shorts when price is closing below the 200 EMA
When you get an alert, simply check to see that price has pulled back to the 50 EMA before entering. Place long and short orders when the indicator signals and you confirm price has pulled back to the 50 ema before entering the long or short. Set your Stop Loss above or below the pervious pullback and set a reward ratio of your choice. Good luck!
Compression support&resistance [LM]Hello traders,
I would like to present you Compression support&resistance script. The idea behind is to look for areas of price compression(inside bar candles). Basically the S/R lines are created after three candles that are formed in certain pattern and volume conditions. First candle of pattern is usually the most volatile and fist inside bar after volatile candle high and low creates S/R lines in order to look for breakouts or for future bounces of the S/R line. Also by default volume has to be decreasing from candle to candle, although this condition can be controlled by setting.
It has various settings as my other S/R scripts for multi timeframe analysis. The current timeframe uses line API but for multi timeframe I use plot lines. There are two filters. Volume filter for declining volume of the pattern candles and volatility filter which renders line only in case that pattern occurs after some % change has happened within some lookback period.
Credit also for this indicator goes to @berkek as he took time to explain it to me.
Hope you will enjoy it,
Lukas
Sea Phase [DM]Greetings Colleagues
I share a simple indicator
Follow the progression of:
1. Development of the range of the daily bars
2. Development of the "Normalized" daily volume difference
3. Difference of closing price with closing of the previous bar instead of with the opening price because it is more effective.
4. It also has a background with the crossing of the signal with its own moving average.
The set has been simplified with three lengths that if you want you do not have to adjust it has a selector that multiplies the lengths to make the signal smoother
Enjoy!!!
TASC 2021.11 MADH Moving Average Difference, Hann█ OVERVIEW
Presented here is code for the "Moving Average Difference, Hann" indicator originally conceived by John Ehlers. The code is also published in the November 2021 issue of Trader's Tips by Technical Analysis of Stocks & Commodities (TASC) magazine.
█ CONCEPTS
By employing a Hann windowed finite impulse response filter (FIR), John Ehlers has enhanced the Moving Average Difference (MAD) to provide an oscillator with exceptional smoothness.
Of notable mention, the wave form of MADH resembles Ehlers' "Reverse EMA" Indicator, formerly revealed in the September 2017 issue of TASC. Many variations of the "Reverse EMA" were published in TradingView's Public Library.
█ FEATURES
Three values in the script's "Settings/Inputs" provide control over the oscillators behavior:
• The price source
• A "Short Length" with a default of 8, to manage the lower band edge of the oscillator
• The "Dominant Cycle", originally set at 27, which appears to be a placeholder for an adaptive control mechanism
Two coloring options are provided for the line's fill:
• "ZeroCross", the default, uses the line's position above/below the zero level. This is the mode used in the top version of MADH on this chart.
• "Momentum" uses the line's up/down state, as shown in the bottom version of the indicator on the chart.
█ NOTES
Calculations
The source price is used in two independent Hann windowed FIR filters having two different periods (lengths) of historical observation for calculation, one being a "Short Length" and the other termed "Dominant Cycle". These are then passed to a "rate of change" calculation and then returned by the reusable function. The secret sauce is that a "windowed Hann FIR filter" is superior tp a generic SMA filter, and that ultimately reveals Ehlers' clever enhancement. We'll have to wait and see what ingenuities Ehlers has next to unleash. Stay tuned...
The `madh()` function code was optimized for computational efficiency in Pine, differing visibly from Ehlers' original formula, but yielding the same results as Ehlers' version.
Background
This indicator has a sibling indicator discussed in the "The MAD Indicator, Enhanced" article by Ehlers. MADH is an evolutionary update from the prior MAD indicator code published in the October 2021 issue of TASC.
Sibling Indicators
• Moving Average Difference (MAD)
• Cycle/Trend Analytics
Related Information
• Cycle/Trend Analytics And The MAD Indicator
• The Reverse EMA Indicator
• Hann Window
• ROC
Join TradingView!