Intellect_city - Halvings Bitcoin CycleWhat is halving?
The halving timer shows when the next Bitcoin halving will occur, as well as the dates of past halvings. This event occurs every 210,000 blocks, which is approximately every 4 years. Halving reduces the emission reward by half. The original Bitcoin reward was 50 BTC per block found.
Why is halving necessary?
Halving allows you to maintain an algorithmically specified emission level. Anyone can verify that no more than 21 million bitcoins can be issued using this algorithm. Moreover, everyone can see how much was issued earlier, at what speed the emission is happening now, and how many bitcoins remain to be mined in the future. Even a sharp increase or decrease in mining capacity will not significantly affect this process. In this case, during the next difficulty recalculation, which occurs every 2014 blocks, the mining difficulty will be recalculated so that blocks are still found approximately once every ten minutes.
How does halving work in Bitcoin blocks?
The miner who collects the block adds a so-called coinbase transaction. This transaction has no entry, only exit with the receipt of emission coins to your address. If the miner's block wins, then the entire network will consider these coins to have been obtained through legitimate means. The maximum reward size is determined by the algorithm; the miner can specify the maximum reward size for the current period or less. If he puts the reward higher than possible, the network will reject such a block and the miner will not receive anything. After each halving, miners have to halve the reward they assign to themselves, otherwise their blocks will be rejected and will not make it to the main branch of the blockchain.
The impact of halving on the price of Bitcoin
It is believed that with constant demand, a halving of supply should double the value of the asset. In practice, the market knows when the halving will occur and prepares for this event in advance. Typically, the Bitcoin rate begins to rise about six months before the halving, and during the halving itself it does not change much. On average for past periods, the upper peak of the rate can be observed more than a year after the halving. It is almost impossible to predict future periods because, in addition to the reduction in emissions, many other factors influence the exchange rate. For example, major hacks or bankruptcies of crypto companies, the situation on the stock market, manipulation of “whales,” or changes in legislative regulation.
---------------------------------------------
Table - Past and future Bitcoin halvings:
---------------------------------------------
Date: Number of blocks: Award:
0 - 03-01-2009 - 0 block - 50 BTC
1 - 28-11-2012 - 210000 block - 25 BTC
2 - 09-07-2016 - 420000 block - 12.5 BTC
3 - 11-05-2020 - 630000 block - 6.25 BTC
4 - 20-04-2024 - 840000 block - 3.125 BTC
5 - 24-03-2028 - 1050000 block - 1.5625 BTC
6 - 26-02-2032 - 1260000 block - 0.78125 BTC
7 - 30-01-2036 - 1470000 block - 0.390625 BTC
8 - 03-01-2040 - 1680000 block - 0.1953125 BTC
9 - 07-12-2043 - 1890000 block - 0.09765625 BTC
10 - 10-11-2047 - 2100000 block - 0.04882813 BTC
11 - 14-10-2051 - 2310000 block - 0.02441406 BTC
12 - 17-09-2055 - 2520000 block - 0.01220703 BTC
13 - 21-08-2059 - 2730000 block - 0.00610352 BTC
14 - 25-07-2063 - 2940000 block - 0.00305176 BTC
15 - 28-06-2067 - 3150000 block - 0.00152588 BTC
16 - 01-06-2071 - 3360000 block - 0.00076294 BTC
17 - 05-05-2075 - 3570000 block - 0.00038147 BTC
18 - 08-04-2079 - 3780000 block - 0.00019073 BTC
19 - 12-03-2083 - 3990000 block - 0.00009537 BTC
20 - 13-02-2087 - 4200000 block - 0.00004768 BTC
21 - 17-01-2091 - 4410000 block - 0.00002384 BTC
22 - 21-12-2094 - 4620000 block - 0.00001192 BTC
23 - 24-11-2098 - 4830000 block - 0.00000596 BTC
24 - 29-10-2102 - 5040000 block - 0.00000298 BTC
25 - 02-10-2106 - 5250000 block - 0.00000149 BTC
26 - 05-09-2110 - 5460000 block - 0.00000075 BTC
27 - 09-08-2114 - 5670000 block - 0.00000037 BTC
28 - 13-07-2118 - 5880000 block - 0.00000019 BTC
29 - 16-06-2122 - 6090000 block - 0.00000009 BTC
30 - 20-05-2126 - 6300000 block - 0.00000005 BTC
31 - 23-04-2130 - 6510000 block - 0.00000002 BTC
32 - 27-03-2134 - 6720000 block - 0.00000001 BTC
在腳本中搜尋"汇丰股票25"
TASC 2024.06 REIT ETF Trading System█ OVERVIEW
This strategy script demonstrates the application of the Real Estate Investment Trust (REIT) ETF trading system presented in the article by Markos Katsanos titled "Is The Price REIT?" from TASC's June 2024 edition of Traders' Tips .
█ CONCEPTS
REIT stocks and ETFs offer a simplified, diversified approach to real estate investment. They exhibit sensitivity to interest rates, often moving inversely to interest rate and treasury yield changes. Markos Katsanos explores this relationship and the correlation of prices with the broader market to develop a trading strategy for REIT ETFs.
The script employs Bollinger Bands and Donchian channel indicators to identify oversold conditions and trends in REIT ETFs. It incorporates the 10-year treasury yield index (TNX) as a proxy for interest rates and the S&P 500 ETF (SPY) as a benchmark for the overall market. The system filters trade entries based on their behavior and correlation with the REIT ETF price.
█ CALCULATIONS
The strategy initiates long entries (buy signals) under two conditions:
1. Oversold condition
The weekly ETF low price dips below the 15-week Bollinger Band bottom, the closing price is above the value by at least 0.2 * ATR ( Average True Range ), and the price exceeds the week's median.
Either of the following:
– The TNX index is down over 15% from its 25-week high, and its correlation with the ETF price is less than 0.3.
– The yield is below 2%.
2. Uptrend
The weekly ETF price crosses above the previous week's 30-week Donchian channel high.
The SPY ETF is above its 20-week moving average.
Either of the following:
– Over ten weeks have passed since the TNX index was at its 30-week high.
– The correlation between the TNX value and the ETF price exceeds 0.3.
– The yield is below 2%.
The strategy also includes three exit (sell) rules:
1. Trailing (Chandelier) stop
The weekly close drops below the highest close over the last five weeks by over 1.5 * ATR.
The TNX value rises over the latest 25 weeks, with a yield exceeding 4%, or its value surges over 15% above the 25-week low.
2. Stop-loss
The ETF's price declines by at least 8% of the previous week's close and falls below the 30-week moving average.
The SPY price is down by at least 8%, or its correlation with the ETF's price is negative.
3. Overbought condition
The ETF's value rises above the 100-week low by over 50%.
The ETF's price falls over 1.5 * ATR below the 3-week high.
The ETF's 10-week Stochastic indicator exceeds 90 within the last three weeks.
█ DISCLAIMER
This strategy script educates users on the system outlined by the TASC article. However, note that its default properties might not fully represent real-world trading conditions for an individual. By default, it uses 10% of equity as the order size and a slippage amount of 5 ticks. Traders should adjust these settings and the commission amount when using this script. Additionally, since this strategy utilizes compound conditions on weekly data to trigger orders, it will generate significantly fewer trades than other, higher-frequency strategies.
[KVA]Body Percentage Counter This indicator presents a comprehensive view of the historical candle data within user-defined body percentage ranges. Each column represents a specific body size percentage threshold, starting from as low as 0.01% and extending up to 20%.
The rows categorize candles by their closing and opening price differences, effectively sorting them into green (bullish) and red (bearish) candles based on whether they closed higher or lower than their opening prices.
First Row of the table is the bu
For developers, this table can be immensely useful in determining stop-loss ranges. By analyzing the frequency of candles that fall within certain body percentage ranges, developers can better understand where to set stop-loss orders. For instance, if a developer notices a high frequency of candles with body sizes within a specific percentage range, they may choose to set their stop-loss orders outside of this range to avoid being stopped out by normal market fluctuations.
Moreover, the indicator can be used to:
Volatility Assessment : The indicator can be used to gauge market volatility. Smaller bodies may indicate consolidation periods, while larger bodies might suggest more volatile market conditions.
Optimize Trading Strategies : Adjust entry and exit points based on the prevalence of certain candle sizes.
Risk Management : Determine the commonality of price movements within a certain range to better manage risks.
Backtesting : Use historical data to backtest how different stop-loss ranges would have performed in the past.
Comparative Analysis : Traders can compare the frequency of different body sizes over a selected period, providing insights into how the market is evolving.
Educational Use : For new traders, the indicator can serve as an educational tool to understand the implications of candlestick sizes and their relationship with market dynamics
The data provided in this output can guide developers to make more informed decisions about where to place stop-loss orders, potentially increasing the effectiveness of their trading algorithms or manual trading strategies.
The output of the " Body Percentage Counter" indicator is organized into a table format, which can be broken down as follows:
Header (First Row) : This row lists the body percentage thresholds used to categorize the candles. It starts from 0.01% and increases incrementally to 20%. These thresholds are likely set by the user and represent the range of candle body sizes as a percentage of the total candle size.
Green Candle Count (Second Row) : This row displays the count of green candles—candles where the close price is higher than the open price—that fall within each body percentage threshold. For example, under the column "0.01", the number 25 indicates there are 25 green candles whose body size is 0.01% of the total candle size.
Red Candle Count (Third Row) : This row shows the count of red candles—candles where the close price is lower than the open price—for each body percentage threshold. The numbers in this row reflect the number of red candles that match the body percentage criteria in the corresponding column.
Total Candle Count (Fourth Row) : This row sums the counts of both green and red candles for each body percentage threshold, providing a total count of candles that have a body size within the specific range. For instance, if under "0.01" the green count is 25 and the red count is 26, then the total would be 51.
This organized data representation allows users to quickly assess the distribution of candle body sizes over a historical period, which is especially useful for determining the frequency of price movements that are significant enough to consider for stop-loss settings or other trade management decisions.
Intersection Value FunctionsWinning entry for the first Pinefest contest. The challenge required providing three functions returning the intersection value between two series source1 and source2 in the event of a cross, crossunder, and crossover.
Feel free to use the code however you like.
🔶 CHALLENGE FUNCTIONS
🔹 crossValue()
//@function Finds intersection value of 2 lines/values if any cross occurs - First function of challenge -> crossValue(source1, source2)
//@param source1 (float) source value 1
//@param source2 (float) source value 2
//@returns Intersection value
example:
value = crossValue(close, close )
🔹 crossoverValue()
//@function Finds intersection value of 2 lines/values if crossover occurs - Second function of challenge -> crossoverValue(source1, source2)
//@param source1 (float) source value 1
//@param source2 (float) source value 2
//@returns Intersection value
example:
value = crossoverValue(close, close )
🔹 crossunderValue()
//@function Finds intersect of 2 lines/values if crossunder occurs - Third function of challenge -> crossunderValue(source1, source2)
//@param source1 (float) source value 1
//@param source2 (float) source value 2
//@returns Intersection value
example:
value = crossunderValue(close, close )
🔶 DETAILS
A series of values can be displayed as a series of points, where the point location highlights its value, however, it is more common to connect each point with a line to have a continuous aspect.
A line is a geometrical object connecting two points, each having y and x coordinates. A line has a slope controlling its steepness and an intercept indicating where the line crosses an axis. With these elements, we can describe a line as follows:
slope × x + intercept
A cross between two series of values occurs when one series is greater or lower than the other while its previous value isn't.
We are interested in finding the "intersection value", that is the value where two crossing lines are equal. This problem can be approached via linear interpolation.
A simple and direct approach to finding our intersection value is to find the common scaling factor of the slopes of the lines, that is the multiplicative factor that multiplies both lines slopes such that the resulting points are equal.
Given:
A = Point A1 + m1 × scaling_factor
B = Point B1 + m2 × scaling_factor
where scaling_factor is the common scaling factor, and m1 and m2 the slopes:
m1 = Point A2 - Point A1
m2 = Point B2 - Point B1
In our cases, since the horizontal distance between two points is simply 1, our lines slopes are equal to their vertical distance (rise).
Under the event of a cross, there exists a scaling_factor satisfying A = B , which allows us to directly compute our intersection value. The solution is given by:
scaling_factor = (B1 - A1)/(m1 - m2)
As such our intersection value can be given by the following equivalent calculations:
(1) A1 + m1 × (B1 - A1)/(m1 - m2)
(2) B1 + m2 × (B1 - A1)/(m1 - m2)
(3) A2 - m2 × (A2 - B2)/(m1 - m2)
(4) B2 - m2 × (A2 - B2)/(m1 - m2)
The proposed functions use the third calculation.
This approach is equivalent to expressions using the classical line equation, with:
slope1 × x + intercept1 = slope2 × x + intercept2
By solving for x , the intersection point is obtained by evaluating any of the line equations for the obtained x solution.
🔶 APPLICATIONS
The intersection point of two crossing lines might lead to interesting applications and creations, in this section various information/tools derived from the proposed calculations are presented.
This supplementary material is available within the script.
🔹 Intersections As Support/Resistances
The script allows extending the lines of the intersection value when a cross is detected, these extended lines could have applications as support/resistance lines.
🔹 Using The Scaling Factor
The core of the proposed calculation method is the common scaling factor, which can be used to return useful information, such as the position of the cross relative to the x coordinates of a line.
The above image highlights two moving averages (in green and red), the cross-interval areas are highlighted in blue, and the intersection point is highlighted as a blue line.
The pane below shows a bar plot displaying:
1 - scaling factor = 1 -
Values closer to 1 indicate that the cross location is closer to x2 (the right coordinate of the lines), while values closer to 0 indicate that the cross location is closer to x1 .
🔹 Intersection Matrix
The main proposed functions of this challenge focus on the crossings between two series of values, however, we might be interested in applying this over a collection of series.
We can see in the image above how the lines connecting two points intersect with each other, we can construct a matrix populated with the intersection value of two corresponding lines. If (X, Y) represents the intersection value between lines X and Y we have the following matrix:
| Line A | Line B | Line C | Line D |
-------|--------|--------|--------|--------|
Line A | | (A, B) | (A, C) | (A, D) |
Line B | (B, A) | | (B, C) | (B, D) |
Line C | (C, A) | (C, B) | | (C, D) |
Line D | (D, A) | (D, B) | (D, C) | |
We can see that the upper triangular part of this matrix is redundant, which is why the script does not compute it. This function is provided in the script as intersectionMatrix :
//@function Return the N * N intersection matrix from an array of values
//@param array_series (array) array of values, requires an array supporting historical referencing
//@returns (matrix) Intersection matrix showing intersection values between all array entries
In the script, we create an intersection matrix from an array containing the outputs of simple moving averages with a period in a specific user set range and can highlight if a simple moving average of a certain period crosses with another moving average with a different period, as well as the intersection value.
🔹 Magnification Glass
Crosses on a chart can be quite small and might require zooming in significantly to see a detailed picture of them. Using the obtained scaling factor allows reconstructing crossing events with an higher resolution.
A simple supplementary zoomIn function is provided to this effect:
//@function Display an higher resolution representation of intersecting lines
//@param source1 (float) source value 1
//@param source2 (float) source value 2
//@param css1 (color) color of source 1 line
//@param css2 (color) color of source 2 line
//@param intersec_css (color) color of intersection line
//@param area_css (color) color of box area
Users can obtain a higher resolution by modifying the provided "Resolution" setting.
The function returns a higher resolution representation of the most recent crosses between two input series, the intersection value is also provided.
Adaptive Price Channel StrategyThis strategy is an adaptive price channel strategy based on the Average True Range (ATR) indicator and the Average Directional Index (ADX). It aims to identify sideways markets and trends in the price movements and make trades accordingly.
The strategy uses a length parameter for the ATR and ADX indicators, which determines the length of the calculation for these indicators. The strategy also uses an ATR multiplier, which is multiplied by the ATR to determine the upper and lower bounds of the price channel.
The first step of the strategy is to calculate the highest high (HH) and lowest low (LL) over the specified length. The ATR is also calculated over the same length. Then the strategy calculates the positive directional indicator (+DI) and negative directional indicator (-DI) based on the up and down moves in the price, and uses these to calculate the ADX.
If the ADX is less than 25, the market is considered to be in a sideways phase. In this case, if the price closes above the upper bound of the price channel (HH - ATR multiplier * ATR), the strategy enters a long position, and if the price closes below the lower bound of the price channel (LL + ATR multiplier * ATR), the strategy enters a short position.
If the ADX is greater than or equal to 25 and the +DI is greater than the -DI, the market is considered to be in a bullish phase. In this case, if the price closes above the upper bound of the price channel, the strategy enters a long position. If the ADX is greater than or equal to 25 and the +DI is less than the -DI, the market is considered to be in a bearish phase. In this case, if the price closes below the lower bound of the price channel, the strategy enters a short position.
The strategy exits a position after a certain number of bars have passed since the entry, as specified by the exit_length input.
In summary, this strategy attempts to trade in accordance with the prevailing market conditions by identifying sideways markets and trends and making trades based on price movements within a dynamically-adjusted price channel.
This strategy takes a read on the market and either takes a channel strategy or trades volatility based on current trend. Works well on 2, 3 ,4, 12 hour for BTC. It’s my first attempt and creating a strategy. I am very interested in constructive criticism. I will look into better risk management, maybe a trailing stop loss. Other suggestions welcome. This is my first attempt at a strategy.
Here are the settings I used.
Inputs
Length 20
Exit 10
ATR 3.2
Dates I picked when I got into Crypto
Properties
Capital 1000
Order size 2 Contracts
Pyramiding 1
Commission .05
JSS Table - RSI, DI+, DI-, ADXSimple table to show the values for indicators which can be used to initiate trades:
RSI: Long above 55 // Short below 45 // Choppy between 45-55
DI+: Long above 25
DI-: Short above 25
Note when to avoid trend trades:
- If DI+ and DI- are both below 25 then market is choppy
- If RSI is between 45-55 then market is choppy
Fair Value Strategy UltimateThis is a strategy using an index's (SPX, NDX, RUT) Fair Value derived from Net Liquidity.
Net Liquidity function is simply: Fed Balance Sheet - Treasury General Account - Reverse Repo Balance
Formula for calculating the fair value of and Index using Net Liquidity looks like this: net_liquidity/1000000000/scalar - subtractor
The Index Fair Value is then subtracted from the Index value which creates an oscillating diff value.
When diff is greater than the overbought threshold, Index is considered overbought and we go short/sell.
When diff is less than the oversold signal, Index is considered oversold and we cover/buy.
The net liquidity values I calculate outside of TradingView. If you'd like the strategy to work for future dates, you'll need to update the reference to my NetLiquidityLibrary , which I update daily.
Parameters:
Index: SPX, NDX, RUT
Strategy: Short Only, Long Only, Long/Short
Inverse (bool): check if using an inverse ETF to go long instead of short.
Scalar (float)
Subtractor (int)
Overbought Threshold (int)
Oversold Threshold (int)
Start After Date: When the strategy should start trading
Close Date: Day to close open trades. I just like it to get complete results rather than the strategy ending with open trades.
Optimal Parameters:
I've optimized the parameters for each index using the python backtesting library and they are as follows =>
SPX
Scalar: 1.1
Subtractor: 1425
OB Threshold: 0
OS Threshold: -175
NDX
Scalar: 0.5
Subtractor: 250
OB Threshold: 0
OS Threshold: -25
RUT
Scalar: 3.2
Subtractor: 50
OB Threshold: 25
OS Threshold: -25
Alpha ADX DI+/DI- V5 by MUNIF SHAIKHMODIFIED ADX DI+/DI- V5
Usage: To use this indicator for entry: when DMI+ crosses over DMI-, there is a bullish sentiment, however ADX also needs to be above 25 to be significant, otherwise the move is not necessarily sustainable.
Inversely, when DMI+ crosses under DMI- and ADX is above 25, then the sentiment is significantly bearish , but if ADX is below 20, the signal should be disregarded.
The line control represents, if the ADX is greater than the line of 25, the price trend is considered strong
Rob Booker - ADX Breakout updated to pinescript V5Rob Booker - ADX Breakout. The strategy remains unchanged but the code has been updated to pinescript V5. This enables compatibility with all new Tradingview features. Additonally, indicators have been made more easily visible, default cash settings as well as input descriptions have been added.
Rob Booker - ADX Breakout: (Directly taken from the official Tradingview V1 version of the script)
Definition
Rob Booker’s Average Directional Index (ADX) Breakout is a trend strength indicator that affirms the belief that trading in the direction of a trend and continuing to follow its pull is more profitable for traders, while simultaneously reducing risk.
History
ADX was traditionally used and developed to determine a price’s trend strength. It is commonly known as a tool from the arsenal of Rob Booker, experienced entrepreneur and currency trader.
Calculations
Calculations for the ADX Breakout indicator are based on a moving average of price range expansion over a specific period of time. By default, the setting rests at 14 bars, this however is not mandatory, as other periods are routinely used for analysis as well.
Takeaways
The ADX line is used to measure and determine the strength of a trend, and so the direction of this line and its interpretation are crucial in a trader’s analysis. As the ADX line rises, a trend increases in strength and price moves in the trend’s direction. Similarly, if the ADX line is falling, a trend decreases in strength and price then enters a period of consolidation, or retracement.
Traditionally, the ADX is plotted on the chart as a single line that consists of values that range from 0-100. The line is non-directional, meaning that it always measures trend strength regardless of the position of a price’s trend (up or down). Essentially, ADX quantifies trend strength by presenting in both uptrends and downtrends of the line.
What to look for
The values associated with the ADX line help traders determine the most profitable trades and where risk lies in the current trend. It is important to know how to quantify trend strength and distinguish between the varying values in order to understand the differences in trending vs. non-trending conditions. Let’s take a look at ADX values and what they mean for trend strength.
ADX Value:
0-25: Signifies an absent of weak trend
25-50: Signifies a strong trend
50-75: Signifies a very strong trend
75-100: Signifies an extremely strong trend
To delve into this a bit further, let’s assess the meaning of ADX if it is valued below 25. If the ADX line remains below 25 for more than 30 or so bars, price then enters range conditions, making price patterns more distinguishable and visible to traders. Price will move up and down between resistance and support in order to determine selling and buying interest and may then eventually break out into a trend or pattern.
The way in which ADX peaks, ebs, and flows is also a signifier of its overall pattern and trend momentum. The line can clearly indicate to the trader when trend strength is strong versus when it is weak. When ADX peaks are pictured as higher, it points towards an increase in trend momentum. If ADX peaks are pictured as lower - you guessed it - it points towards a decrease in trend momentum. A trend of lower ADX peaks could be a warning for traders to watch prices and manage and assess risk before a trade gets out of hand. Similarly, whenever there is a sudden move that seems out of place or a change in trend character that goes against what you’ve seen before, this should be a clear sign to watch prices and assess risk.
Summary
The ADX Breakout indicator is a trend strength indicator that analyzes price movements relative to trend strength to signal a user when is best for a trade and when is best to manage risk and assess patterns. As long as a trader recognizes strong trends and assesses the risk of each trade properly, they should have no problem using this indicator and utilizing it to work in their favor. In addition, the ADX helps identify trending conditions, but while doing so, also aids traders in finding strong trends to trade. The indicator can even alert traders to specific changes in trend momentum, allowing them to be primed for risk management.
Price Displacement - Candlestick (OHLC) CalculationsA Magical little helper friend for Candle Math.
When composing scripts, it is often necessary to manipulate the math around the OHLC. At times, you want a scalar (absolute) value others you want a vector (+/-). Sometimes you want the open - close and sometimes you want just the positive number of the body size. You might want it in ticks or you might want it in points or you might want in percentages. And every time you try to put it together you waste precious time and brain power trying to think about how to properly structure what you're looking for. Not to mention it's normally not that aesthetically pleasing to look at in the code.
So, this fixes all of that.
Using this library. A function like 'pd.pt(_exp)' can call any kind of candlestick math you need. The function returns the candlestick math you define using particular expressions.
Candle Math Functions Include:
Points:
pt(_exp) Absolute Point Displacement. Point quantity of given size parameters according to _exp.
vpt(_exp) Vector Point Displacement. Point quantity of given size parameters according to _exp.
Ticks:
tick(_exp) Absolute Tick Displacement. Tick quantity of given size parameters according to _exp.
vtick(_exp) Vector Tick Displacement. Tick quantity of given size parameters according to _exp.
Percentages:
pct(_exp, _prec) Absolute Percent Displacement. (w/rounding overload). Percent quantity of bar range of given size parameters according to _exp.
vpct(_exp, _prec) Vector Percent Displacement (w/rounding overload). Percent quantity of bar range of given size parameters according to _exp.
Expressions You Can Use with Formulas:
The expressions are simple (simple strings that is) and I did my best to make them sensible, generally using just the ohlc abreviations. I also included uw, lw, bd, and rg for when you're just trying to pull a candle component out. That way you don't have to think about which of the ohlc you're trying to get just use pd.tick("uw") and now the variable is assigned the length of the upper wick, absolute value, in ticks. If you wanted the vector in pts its pd.vpt("uw"). It also makes changing things easy too as I write it out.
Expression List:
Combinations
"oh" = open - high
"ol" = open - low
"oc" = open - close
"ho" = high - open
"hl" = high - low
"hc" = high - close
"lo" = low - open
"lh" = low - high
"lc" = low - close
"co" = close - open
"ch" = close - high
"cl" = close - low
Candle Components
"uw" = Upper Wick
"bd" = Body
"lw" = Lower Wick
"rg" = Range
Pct() Only
"scp" = Scalar Close Position
"sop" = Scalar Open Position
"vcp" = Vector Close Position
"vop" = Vector Open Position
The attributes are going to be available in the pop up dialogue when you mouse over the function, so you don't really have to remember them. I tried to make that look as efficient as possible. You'll notice it follows the OHLC pattern. Thus, "oh" precedes "ho" (heyo) because "O" would be first in the OHLC. Its a way to help find the expression you're looking for quickly. Like looking through an alphabetized list for traders.
There is a copy/paste console friendly helper list in the script itself.
Additional Notes on the Pct() Only functions:
This is the original reason I started writing this. These concepts place a rating/value on the bar based on candle attributes in one number. These formulas put a open or close value in a percentile of the bar relative to another aspect of the bar.
Scalar - Non-directional. Absolute Value.
Scalar Position: The position of the price attribute relative to the scale of the bar range (high - low)
Example: high = 100. low = 0. close = 25.
(A) Measure price distance C-L. How high above the low did the candle close (e.g. close - low = 25)
(B) Divide by bar range (high - low). 25 / (100 - 0) = .25
Explaination: The candle closed at the 25th percentile of the bar range given the bar range low = 0 and bar range high = 100.
Formula: scp = (close - low) / (high - low)
Vector = Directional.
Vector Position: The position of the price attribute relative to the scale of the bar midpoint (Vector Position at hl2 = 0)
Example: high = 100. low = 0. close = 25.
(A) Measure Price distance C-L: How high above the low did the candle close (e.g. close - low = 25)
(B) Measure Price distance H-C: How far below the high did the candle close (e.g. high - close = 75)
(C) Take Difference: A - B = C = -50
(D) Divide by bar range (high - low). -50 / (100 - 0) = -0.50
Explaination: Candle close at the midpoint between hl2 and the low.
Formula: vcp = { / (high - low) }
Thank you for checking this out. I hope no one else has already done this (because it took half the day) and I hope you find value in it. Be well. Trade well.
Library "PD"
Price Displacement
pt(_exp) Absolute Point Displacement. Point quantity of given size parameters according to _exp.
Parameters:
_exp : (string) Price Parameter
Returns: Point size of given expression as an absolute value.
vpt(_exp) Vector Point Displacement. Point quantity of given size parameters according to _exp.
Parameters:
_exp : (string) Price Parameter
Returns: Point size of given expression as a vector.
tick(_exp) Absolute Tick Displacement. Tick quantity of given size parameters according to _exp.
Parameters:
_exp : (string) Price Parameter
Returns: Tick size of given expression as an absolute value.
vtick(_exp) Vector Tick Displacement. Tick quantity of given size parameters according to _exp.
Parameters:
_exp : (string) Price Parameter
Returns: Tick size of given expression as a vector.
pct(_exp, _prec) Absolute Percent Displacement (w/rounding overload). Percent quantity of bar range of given size parameters according to _exp.
Parameters:
_exp : (string) Expression
_prec : (int) Overload - Place value precision definition
Returns: Percent size of given expression as decimal.
vpct(_exp, _prec) Vector Percent Displacement (w/rounding overload). Percent quantity of bar range of given size parameters according to _exp.
Parameters:
_exp : (string) Expression
_prec : (int) Overload - Place value precision definition
Returns: Percent size of given expression as decimal.
Multi-Timeframe (MTF) Dashboard by RiTzMulti-Timeframe Dashboard
Shows values of different Indiactors on Multiple-Timeframes for the selected script/symbol
VWAP : if LTP is trading above VWAP then Bullish else if LTP is trading below VWAP then Bearish.
ST(21,1) : if LTP is trading above Supertrend (21,1) then Bullish , else if LTP is trading below Supertrend (21,1) then Bearish.
ST(14,2) : if LTP is trading above Supertrend (14,2) then Bullish , else if LTP is trading below Supertrend (14,2) then Bearish.
ST(10,3) : if LTP is trading above Supertrend (10,3) then Bullish , else if LTP is trading below Supertrend (10,3) then Bearish.
RSI(14) : Shows value of RSI (14) for the current timeframe.
ADX : if ADX is > 75 and DI+ > DI- then "Bullish ++".
if ADX is < 75 but >50 and DI+ > DI- then "Bullish +".
if ADX is < 50 but > 25 and DI+ > DI- then "Bullish".
if ADX is above 75 and DI- > DI+ then "Bearish ++".
if ADX is < 75 but > 50 and DI- > DI+ then "Bearish+".
if ADX is < 50 but > 25 and DI- > DI+ then "Bearish".
if ADX is < 25 then "Neutral".
MACD : if MACD line is above Signal Line then "Bullish", else if MACD line is below Signal Line then "Bearish".
PH-PL : "< PH > PL" means LTP is trading between Previous Timeframes High(PH) & Previous Timeframes Low(PL) which indicates Rangebound-ness.
"> PH" means LTP is trading above Previous Timeframes High(PH) which indicates Bullish-ness.
"< PL" means LTP is trading below Previous Timeframes Low(PL) which indicates Bearish-ness.
Alligator : If Lips > Teeth > Jaw then Bullish.
If Lips < Teeth < Jaw then Bearish.
If Lips > Teeth and Teeth < Jaw then Neutral/Sleeping.
If Lips < Teeth and Teeth > Jaw then Neutral/Sleeping.
Settings :
Style settings :-
Dashboard Location: Location of the dashboard on the chart
Dashboard Size: Size of the dashboard on the chart
Bullish Cell Color: Select the color of cell whose value is showing Bullish-ness.
Bearish Cell Color: Select the color of cell whose value is showing Bearish-ness.
Neutral Cell Color: Select the color of cell whose value is showing Rangebound-ness.
Cell Transparency: Select Transparency of cell.
Column Settings :-
You can select which Indicators values should be displayed/hidden.
Timeframe Settings :-
You can select which timeframes values should be displayed/hidden.
Note :- I'm not a pro Developer/Coder , so if there are any mistakes or any suggestions for improvements in the code then do let me know!
Note :- Use in Live market , might show wrong values for timeframes other than current timeframe in closed market!!
Nifty / Banknifty Dashboard by RiTzNifty / Banknifty Dashboard :
Shows Values of different Indicators on current Timeframe for the selected Index & it's main constituents according to weightage in index.
customized for Nifty & Banknifty (You can customize it according to your needs for the markets/indexes you trade in)
Interpretation :-
VWAP : if LTP is trading above VWAP then Bullish else if LTP is trading below VWAP then Bearish.
ST(21,1) : if LTP is trading above Supertrend (21,1) then Bullish , else if LTP is trading below Supertrend (21,1) then Bearish.
ST(14,2) : if LTP is trading above Supertrend (14,2) then Bullish , else if LTP is trading below Supertrend (14,2) then Bearish.
ST(10,3) : if LTP is trading above Supertrend (10,3) then Bullish , else if LTP is trading below Supertrend (10,3) then Bearish.
RSI(14) : Shows value of RSI (14) for the current timeframe.
ADX : if ADX is > 75 and DI+ > DI- then "Bullish ++".
if ADX is < 75 but >50 and DI+ > DI- then "Bullish +".
if ADX is < 50 but > 25 and DI+ > DI- then "Bullish".
if ADX is above 75 and DI- > DI+ then "Bearish ++".
if ADX is < 75 but > 50 and DI- > DI+ then "Bearish+".
if ADX is < 50 but > 25 and DI- > DI+ then "Bearish".
if ADX is < 25 then "Neutral".
MACD : if MACD line is above Signal Line then "Bullish", else if MACD line is below Signal Line then "Bearish".
PDH-PDL : "< PDH > PDL" means LTP is trading between Previous Days High(PDH) & Previous Days Low(PDL) which indicates Rangebound-ness.
"> PDH" means LTP is trading above Previous Days High(PDH) which indicates Bullish-ness.
"< PDL" means LTP is trading below Previous Days Low(PDL) which indicates Bearish-ness.
Alligator : If Lips > Teeth > Jaw then Bullish.
If Lips < Teeth < Jaw then Bearish.
If Lips > Teeth and Teeth < Jaw then Neutral/Sleeping.
If Lips < Teeth and Teeth > Jaw then Neutral/Sleeping.
Settings :
Style settings :-
Dashboard Location: Location of the dashboard on the chart
Dashboard Size: Size of the dashboard on the chart
Bullish Cell Color: Select the color of cell whose value is showing Bullish-ness.
Bearish Cell Color: Select the color of cell whose value is showing Bearish-ness.
Neutral Cell Color: Select the color of cell whose value is showing Rangebound-ness.
Cell Transparency: Select Transparency of cell.
Columns Settings :-
You can select which Indicators values should be displayed/hidden.
Rows Settings :-
You can select which Stocks/Symbols values should be displayed/hidden.
Symbol Settings :-
Here you can select the Index & Stocks/Symbols
Dashboard for Index : select Nifty/Banknifty
if you select Nifty then Nifty spot, Nifty current Futures and the stocks with most weightage in Nifty index will be displayed on the Dashboard/Table.
if you select Banknifty then Banknifty spot, Banknifty current Futures and the stocks with most weightage in Banknifty index will be displayed on the Dashboard/Table.
You can Customise it according to your needs, you can choose any Symbols you want to use.
Note :- This is inspired from "RankDelta" by AsitPati and "Nifty and Bank Nifty Dashboard v2" by cvsk123 (Both these scripts are closed source!)
I'm not a pro Developer/Coder , so if there are any mistakes or any suggestions for improvements in the code then do let me know!
EMA+MACDA simple script using EMA 25 and EMA 50 with MACD. Enter long when EMA 25 crossover ema 50 and MACD line > 0, enter short when EMA 50 crossover ema 25 and MACD < 0
Tendies Heist Auto Compounding ExampleThis is an example of how we can use compounding to control our position size. This example shows how we can automatically add and reduce position size based on account equity. The "initial capital" in properties is the starting account equity. At default its set to 100,000. If our max position size is set to 25 then the very first position that's taken has a position size of 10, IF our leverage is set to 10,000. Account equity divided by leverage equals position size. So in that example 100,000 divided by 10,000 in leverage gives us a max position size of 10. However the max position size was set to 25 meaning we would need 250k in equity for it to open a position size of 25 with the leverage set at 10k. Now if the initial capital was set to 100,000 and the max position size was set to 5 and leverage remained at 10,000, all though 100,000 divided by 10,000 equals 10 it will ONLY open a position size of 5, because the max position size in this example was set at 5. Since this works for strategies you may look through the trade log on the posted back test and check out the position size, you can see in this back test the default 100k is used for the initial capital and the default 10k was used for the leverage. You will be able to see as this logic loses money it takes contracts away and as it gains money it adds contracts. I'm using trading view's basic strategy logic example to provide an example of how the compounding logic works.
Note, don't forget to add the syntax below to your strategy.entry call for this logic to work.
qty = size
Tendies Heist LLC 2021
Ichimoku Kinkō HyōThe Ichimoku Kinko Hyo is an trading system developed by the late Goichi Hosoda (pen name "Ichimokusanjin") when he was the general manager of the business conditions department of Miyako Shinbun, the predecessor of the Tokyo Shimbun. Currently, it is a registered trademark of Economic Fluctuation Research Institute Co., Ltd., which is run by the bereaved family of Hosoda as a private research institute.
The Ichimoku Kinko Hyo is composed of time theory, price range theory (target price theory) and wave movement theory. Ichimoku means "At One Glace". The equilibrium table is famous for its span, but the first in the equilibrium table is the time relationship.
In the theory of time, the change date is the day after the number of periods classified into the basic numerical value such as 9, 17, 26, etc., the equal numerical value that takes the number of periods of the past wave motion, and the habit numerical value that appears for each issue is there. The market is based on the idea that the buying and selling equilibrium will move in the wrong direction. Another feature is that time is emphasized in order to estimate when changes will occur.
In the price range theory, there are E・V・N・NT calculated values and multiple values of 4 to 8E as target values. In addition, in order to determine the momentum and direction of the market, we will consider other price ranges and ying and yang numbers.
If the calculated value is realized on the change date calculated by each numerical value, the market price is likely to reverse.
転換線 (Tenkansen) (Conversion Line) = (highest price in the past 9 periods + lowest price) ÷ 2
基準線 (Kijunsen) (Base Line) = (highest price in the past 26 periods + lowest price) ÷ 2
It represents Support/Resistance for 16 bars. It is a 50% Fibonacci Retracement. The Kijun sen is knows as the "container" of the trend. It is prefect to use as an initial stop and/or trailing stop.
先行スパン1 (Senkou span 1) (Lagging Span 1) = {(conversion value + reference value) ÷ 2} 25 periods ahead (26 periods ahead including the current day, that is)
先行スパン2 (Senkou span 2) (Lagging Span 2) = {(highest price in the past 52 periods + lowest price) ÷ 2} 25 periods ahead (26 periods ahead including the current day, that is)
遅行スパン (Chikou span) (Lagging Span) = (current candle closing price) plotted 26 periods before (that is, including the current day) 25 periods ago
It is the only Ichimoku indicator that uses the closing price. It is used for momentum of the trend.
The area surrounded by the two lagging span lines is called a cloud. This is the foundation of the system. It determines the sentiment (Bull/Bear) for the insrument. If price is above the cloud, the instrument is bullish. If price is below the cloud, the instrument is bearish.
-
The wave theory of the Ichimoku Kinko Hyo has the following waves.
All about the rising market. If it is the falling market, the opposite is true.
I wave rise one market price.
V wave the market price that raises and lowers.
N wave the market price for raising, lowering, and raising.
P wave the high price depreciates and the low price rises with the passage of time. Leave either.
Y wave the high price rises and the low price falls with the passage of time. Leave either.
S wave A market in which the lowered market rebounds and rises at the previous high level.
There are the above 6 types but the basis of the Ichimoku Kinko Hyo is the N wave of 3 waves.
In Elliott wave theory and similar theories, basically there are 5 waves but 5 waves are a series of 2 and 3 waves N, 3 for 7 waves, 4 for 9 waves and so on.
Even if it keep continuing, it will be based on N wave. In addition, since the P wave and the Y wave are separated from each other, they can be seen as N waves from a large perspective.
-
There are basic E・V・N・NT calculated values and several other calculation methods for the Ichimoku Kinko Hyo. It is the only calculated value that gives a concrete value in the Ichimoku Kinko Hyo, which is difficult to understand, but since we focus only on the price difference and do not consider the supply and demand, it is forbidden to stick to the calculated value alone.
(The calculation method of the following five calculated values is based on the rising market price, which is raised from the low price A to the high price B and lowered from the high price B to the low price C. Therefore, the low price C is higher than the low price A)
E calculated value The amount of increase from the low price A to the high price B is added to the high price B. = B + (BA)
V calculated value Adds the amount of decline from the high price B to the low price C to the high price B. = B + (BC)
N calculated value The amount of increase from the low price A to the high price B is added to the low price C. = C + (BA)
NT calculated value Adds the amount of increase from the low price A to the low price C to the low price C. = C + (CA)
4E calculated value (four-layer double / quadruple value) Adds three times the amount of increase from the low price A to the high price B to the high price B. = B + 3 × (BA)
Calculated value of P wave The upper price is devalued and the lower price is rounded up, and the price range of both is the same.
Calculated value of Y wave The upper price is rounded up and the lower price is rounded down, and the price range of both is the same.
SALEH MACD Donchian + EMA & MACD + ADXI gathered all the signals coming from the MACD & Donchian channels indicators and filtered them with EMA 200 or ADX > 25 indicators (which both of them show the trend),
and put them on the chart to show me the buy and sell signals;
the signals rules are as following:
BUY:
when we have an uptrend ( the price is above the EMA 200 or ADX > 25 ) & the macd line cross up the signal line while they are both under the 0 level of histogram it generates buy signals.
SELL:
when we have a downtrend ( the price is below the EMA 200 or ADX > 25) & the macd line cross below the signal line while they are both above the 0 level of histogram it generates sell signals.
Donchian channel works as a confirmation for the macd signal.
this signals work best at London session, you can also filter them by chandelier exit indicator.
RSI of VWAP [SHORT selling]This is SHORT selling version of RSIofVWAP strategy. Settings and Logic are totally different from LONG side version , hence I am publishing it as a new strategy.
Settings
============
VWAP of RSI Length 15
Slow EMA Length 200
Short entry level 25
Cover short level 70
stop loss 5
SHORT Entry
============
condition1 : When RSIofVWAP crossdown below 25 and VWAP is below ema200
condition2: When weekly RSIofVWAP crossdown 70 and VWAP (note : session vwap , not weekly vwap) is below ema200
condition3: Use VIX value , if you want to short when the price is above ema200
vwap RSI crossing down 70 and VIX RSI is cossing up 70
enter short ... This is like falling knife :-)
I need to add the code -- later
if any of above condition is TRUE , SHORT entry will be taken
Take Profit
============
When close less than short entry price and RSIofVWAp is crossing up 25 , take profit ...close 1/3 of the position
Exit
============
When RSIofVWAP crossing up 70 level
Stop Loss
============
Stop Loss is set to 5%
Note:
1. When strategy is in SHORT position , background and bar color changes to gray
2. When strategy is already in short position , possible entries are shown in yellow background
3. RSI Length 15 is working most of the equities on hourly chart. ( RSI length 9 and 14 also works good , but not for all ... You may want to try which setting works for your symbol)
4. weekly VWAP (blue color) is also plotted by default ... you can disable it if you dont want to see it. But there is advantage keeping it on the chart , you can notice whenever weekly VWAP crosses above 70 line , trend is UP ... if you have LONG position you can hold on it ... Hurray :-)
Warning
============
For the educational purposes only
Triple EMA Scalper low lag stratHi all,
This strategy is based on the Amazing scalper for majors with risk management by SoftKill21
The change is in lines 11-20 where the sma's are replaced with Triple ema's to
lower the lag.
The original author is SoftKill21. His explanation is repeated below:
Best suited for 1M time frame and majors currency pairs.
Note that I tried it at 3M time frame.
Its made of :
Ema ( exponential moving average ) , long period 25
Ema ( exponential moving average ) Predictive, long period 50,
Ema ( exponential moving average ) Predictive, long period 100
Risk management , risking % of equity per trade using stop loss and take profits levels.
Long Entry:
When the Ema 25 cross up through the 50 Ema and 100 EMA . and we are in london or new york session( very important the session, imagine if we have only american or european currencies, its best to test it)
Short Entry:
When the Ema 25 cross down through the 50 Ema and 100 EMA , and we are in london or new york session( very important the session, imagine if we have only american or european currencies, its best to test it)
Exit:
TargetPrice: 5-10 pips
Stop loss: 9-12 pips
Amazing scalper for majors with risk managementHello,
Today I am glad to bring you an amazing simple and efficient scalper strategy.
Best suited for 1M time frame and majors currency pairs.
Its made of :
Ema (exponential moving average) , long period 25
Ema(exponential moving average) Predictive, long period 50,
Ema(exponential moving average) Predictive, long period 100
Risk management , risking % of equity per trade using stop loss and take profits levels.
Long Entry:
When the Ema 25 cross up through the 50 Ema and 100 EMA. and we are in london or new york session( very important the session, imagine if we have only american or european currencies, its best to test it)
Short Entry:
When the Ema 25 cross down through the 50 Ema and 100 EMA, and we are in london or new york session( very important the session, imagine if we have only american or european currencies, its best to test it)
Exit:
TargetPrice: 5-10 pips
Stop loss: 9-12 pips
Hope you enjoy it :)
ADX + DI x Upgraded to Pine v4 x KingThiesAverage Directional Movement Index
Momentum based tool to measure trend strength on scale of 1-100
Similar to the aroon but incorporates a 3rd measure, while aroon uses two
The majority of these calculations were pre-existing in older pine scripts but have since been updated
signals are given when -DI and +DI cross, ADX illustrates corresponding strength at time of cross
Full Intro
ADX can help investors to identify trend strengths, as di - di determines the trend direction, while d - d is an impulse indicator. If the ADX is below 20, it can be considered impulsive, while it is above 25 on a trend line.
A trading signal can be generated when the di - DI line is switched to d - d and vice versa. If the di-line crosses and the ADX is above 20 (ideally 25), a potential buy signal could ebb away.
If the ADX is above 20, there is the possibility of potential short selling if the DI crosses over DI. You can also use crosses to get out of the current deal if you need it for a long time.
If the di-line is crossed and the Adx is below 20 (or 25), there may be opportunities to enter the potential for short trading, but only if di are above or below DI or if the price is trendy and may not prove to be the ideal time to start trading.
Trend Monster HeadquartersADX-DMI enhanced & modified for faster reaction
ADX (black line) above 80 = mega-trend peaked, reversal imminent, rare case scenario
ADX (black line) above 60 = trend topping out, reversal possible, depending on other indicators
ADX (black line) above 25 threshold = trend strenghening
DMI- (red line) - above 25 - bear trend strenghening
DMI+ (green line) - above 25 - bull trend strenghening
DMI- (red line) - coming off the bottom - bull trend weakening
DMI+ (green line) - coming off the bottom - bear trend weakening
BB and RSI Indicator Alert v0.3 by JustUncleLI have just recently revised this indicator alert for public release. This is for the 60sec Bollinger Band break Binary Option traders.
This indicator alert is a variation of one found in a well known Broker's marketing videos. It uses Bollinger bands, RSI and moving averages. Included is a pre-warning alert condition. The strategy and settings are designed for 1min charts and Binary Options, but it could work for up to 15 min charts.
The default settings are BB(14,2) and RSI(11) with 75/25 Levels boundaries. To be a valid trade the RSI needs to be within 75/25 channel. The optional Market direction filter is enabled by default and is calculated by two EMA (200 and 50):
When 200ema rising and 50ema above 200ema then market going up.
When 200ema falling and 50ema below 200ema then market going down.
A potential Bollinger Break reversal trades identified by shapes: The purple diamond is the pre-warning purple alert and the green and red pointers with the PUT/CALL labels are the trade alerts. Make Binary Option trade in specified direction 60sec (or can also use 120sec trade without Martingale).
* Notes and Hints *
The original videos specified a Martingale money management strategy, be careful using this management. When I use Martingale I recommend go to 3 levels: 10, 25, 65 if no win at 65 stop trading this alert and start next alert back at 10, you should recovery loss by future wins given you are able to get a reasonable ITM rate with this strategy. Alternatively instead of using Martingale use 120sec Binary Option trade.
Be wary of break alerts on a steep Bollinger, they tend to keep running away for awhile, especially if steep on both sides of Bollinger channel.
As with most of this style of indicator the alert conditions will redraw until the candle is closed. For me this is okay, as it is an Alert is only to a potential trade and final decision to trade is made by me.
You need to practise this and be aware of market news, sessions boundaries, slow trading periods etc. Plan your periods of when you should trade, I prefer Asian session before lunch and London sessions.
Insync Index [LazyBear]BB Support + Histo mode
-------------------------------
Code: pastebin.com
Show enclosing BB
Show Insync as Histo:
v02 - Configurable levels
---------------------------------
Small update to allow configuring the 95/75/25/5 levels.
Latest source code: pastebin.com
v01 - orginal description
---------------------------------
Insync Index, by Norm North, is a consensus indicator. It uses RSI, MACD, MFI, DPO, ROC, Stoch, CCI and %B to calculate a composite signal. Basically, this index shows that when a majority of underlying indicators is in sync, a turning point is near.
There are couple of ways to use this indicator.
- Buy when crossing up 5, sell when crossing down 95.
- Market is typically bullish when index is above 50, bearish when below 50. This can be a great confirmation signal for price action + trend lines.
Also, since this is typical oscillator, look for divergences between price and index.
Levels 75/25 are early warning levels. Note that, index > 75 (and less than 95) should be considered very bullish and index below 25 (but above 5) as very bearish. Levels 95/5 are equivalent to traditional OB/OS levels.
The various values of the underlying components can be tuned via options page. I have also provided an option to color bars based on the index value.
More info: The Insync Index by Norm North, TASC Jan 1995
drive.google.com
List of my free indicators: bit.ly
List of my app-store indicators: blog.tradingview.com
(Support doc: bit.ly)