[HA] Heikin-Ashi Shadow Candles// For overlaying Heikin Ashi candles over basic charts, or for use in it's own panel as an oscillator.
// Enjoy the visual cues of HA candles, without giving up price action awareness.
// Good for learning and comparison.
// Aug 11 2022
Release Notes: * Bugfix: Candle color was based on classic direction not HA direction (did not update cover photo).
// Aug 12 2022
Release Notes: * Implemented true oscillator mode.
Provided as separate plot (styles tab) or mode switch option (Inputs tab). TV gets spazzy with "styles tab" "default hidden" plots, and will reset them if any variables are modified that affect them (i.e. wick color override). Mode switch should be sufficient for both users.
// Aug 21 2022
Republished because of typo in indicator name prevented search.
Komut dosyalarını "2022年+美股英伟达+交易税费+计算方法" için ara
Inverse MACD + DMI Scalping with Volatility Stop (By Coinrule)This script is focused on shorting during downtrends and utilises two strength based indicators to provide confluence that the start of a short-term downtrend has occurred - catching the opportunity as soon as possible.
This script can work well on coins you are planning to hodl for long-term and works especially well whilst using an automated bot that can execute your trades for you. It allows you to hedge your investment by allocating a % of your coins to trade with, whilst not risking your entire holding. This mitigates unrealised losses from hodling as it provides additional cash from the profits made. You can then choose to hodl this cash, or use it to reinvest when the market reaches attractive buying levels.
Alternatively, you can use this when trading contracts on futures markets where there is no need to already own the underlying asset prior to shorting it.
ENTRY
The trading system uses the Momentum Average Convergence Divergence (MACD) indicator and the Directional Movement Index (DMI) indicator to confirm when the best time is for selling. Combining these two indicators prevents trading during uptrends and reduces the likelihood of getting stuck in a market with low volatility.
The MACD is a trend following momentum indicator and provides identification of short-term trend direction. In this variation it utilises the 12-period as the fast and 26-period as the slow length EMAs, with signal smoothing set at 9.
The DMI indicates what way price is trending and compares prior lows and highs with two lines drawn between each - the positive directional movement line (+DI) and the negative directional movement line (-DI). The trend can be interpreted by comparing the two lines and what line is greater. When the negative DMI is greater than the positive DMI, there are more chances that the asset is trading in a sustained downtrend, and vice versa.
The system will enter trades when two conditions are met:
1) The MACD histogram turns bearish.
2) When the negative DMI is greater than the positive DMI.
EXIT
The strategy comes with a fixed take profit combined with a volatility stop, which acts as a trailing stop to adapt to the trend's strength. Depending on your long-term confidence in the asset, you can edit the fixed take profit to be more conservative or aggressive.
The position is closed when:
Take-Profit Exit: +8% price decrease from entry price.
OR
Stop-Loss Exit: Price crosses above the volatility stop.
In general, this approach suits medium to long term strategies. The backtesting for this strategy begins on 1 April 2022 to 18 July 2022 in order to demonstrate its results in a bear market. Back testing it further from the beginning of 2022 onwards further also produces good returns.
Pairs that produce very strong results include SOLUSDT on the 45m timeframe, MATICUSDT on the 2h timeframe, and AVAUSDT on the 1h timeframe. Generally, the back testing suggests that it works best on the 45m/1h timeframe across most pairs.
A trading fee of 0.1% is also taken into account and is aligned to the base fee applied on Binance.
Ethereum Logarithmic Regression BandsOverview
This indicator displays logarithmic regression bands for Ethereum. Logarithmic regression is a statistical method used to model data where growth slows down over time. I initially created these bands in 2021 using a spreadsheet, and later coded them in TradingView in 2022. Over time, the bands proved effective at capturing bull market peaks and bear market lows. In 2025, I decided to share this indicator because I believe these logarithmic regression bands offer the best fit for the Ethereum chart.
How It Works
The logarithmic regression lines are fitted to the Ethereum (ETHUSD) chart using two key factors: the 'a' factor (slope) and the 'b' factor (intercept). The formula for logarithmic regression is 10^((a * ln) - b).
How to Use the Logarithmic Regression Bands
1. Lower Band:
The lower (blue) band forms a potential support area for Ethereum’s price. Historically, Ethereum has found its lows within this band during past market cycles. When the price is within the lower band, it suggests that Ethereum is undervalued.
2. Upper Band:
The upper (red) band forms a potential resistance area for Ethereum’s price. The logarithmic band is fitted to the past two market cycle peaks; therefore, there is not enough historical data to be sure it will reach the upper band again. However, the chance is certainly there! If the price is within the upper band, it indicates that Ethereum is overvalued and that a potential price correction may be imminent.
NFP RangesPlots the NFP daily ranges for NFP days. Includes extended hours ranges when the time frame is sub 1D, otherwise, only the daily range is taken.
NFP Dates are pre-populated through 2029 and historically through 2022. Will update script to include farther-out dates before they become necessary.
JPMorgan G7 Volatility IndexThe JPMorgan G7 Volatility Index: Scientific Analysis and Professional Applications
Introduction
The JPMorgan G7 Volatility Index (G7VOL) represents a sophisticated metric for monitoring currency market volatility across major developed economies. This indicator functions as an approximation of JPMorgan's proprietary volatility indices, providing traders and investors with a normalized measurement of cross-currency volatility conditions (Clark, 2019).
Theoretical Foundation
Currency volatility is fundamentally defined as "the statistical measure of the dispersion of returns for a given security or market index" (Hull, 2018, p.127). In the context of G7 currencies, this volatility measurement becomes particularly significant due to the economic importance of these nations, which collectively represent more than 50% of global nominal GDP (IMF, 2022).
According to Menkhoff et al. (2012, p.685), "currency volatility serves as a global risk factor that affects expected returns across different asset classes." This finding underscores the importance of monitoring G7 currency volatility as a proxy for global financial conditions.
Methodology
The G7VOL indicator employs a multi-step calculation process:
Individual volatility calculation for seven major currency pairs using standard deviation normalized by price (Lo, 2002)
- Weighted-average combination of these volatilities to form a composite index
- Normalization against historical bands to create a standardized scale
- Visual representation through dynamic coloring that reflects current market conditions
The mathematical foundation follows the volatility calculation methodology proposed by Bollerslev et al. (2018):
Volatility = σ(returns) / price × 100
Where σ represents standard deviation calculated over a specified timeframe, typically 20 periods as recommended by the Bank for International Settlements (BIS, 2020).
Professional Applications
Professional traders and institutional investors employ the G7VOL indicator in several key ways:
1. Risk Management Signaling
According to research by Adrian and Brunnermeier (2016), elevated currency volatility often precedes broader market stress. When the G7VOL breaches its high volatility threshold (typically 1.5 times the 100-period average), portfolio managers frequently reduce risk exposure across asset classes. As noted by Borio (2019, p.17), "currency volatility spikes have historically preceded equity market corrections by 2-7 trading days."
2. Counter-Cyclical Investment Strategy
Low G7 volatility periods (readings below the lower band) tend to coincide with what Shin (2017) describes as "risk-on" environments. Professional investors often use these signals to increase allocations to higher-beta assets and emerging markets. Campbell et al. (2021) found that G7 volatility in the lowest quintile historically preceded emerging market outperformance by an average of 3.7% over subsequent quarters.
3. Regime Identification
The normalized volatility framework enables identification of distinct market regimes:
- Readings above 1.0: Crisis/high volatility regime
- Readings between -0.5 and 0.5: Normal volatility regime
- Readings below -1.0: Unusually calm markets
According to Rey (2015), these regimes have significant implications for global monetary policy transmission mechanisms and cross-border capital flows.
Interpretation and Trading Applications
G7 currency volatility serves as a barometer for global financial conditions due to these currencies' centrality in international trade and reserve status. As noted by Gagnon and Ihrig (2021, p.423), "G7 currency volatility captures both trade-related uncertainty and broader financial market risk appetites."
Professional traders apply this indicator in multiple contexts:
- Leading indicator: Research from the Federal Reserve Board (Powell, 2020) suggests G7 volatility often leads VIX movements by 1-3 days, providing advance warning of broader market volatility.
- Correlation shifts: During periods of elevated G7 volatility, cross-asset correlations typically increase what Brunnermeier and Pedersen (2009) term "correlation breakdown during stress periods." This phenomenon informs portfolio diversification strategies.
- Carry trade timing: Currency carry strategies perform best during low volatility regimes as documented by Lustig et al. (2011). The G7VOL indicator provides objective thresholds for initiating or exiting such positions.
References
Adrian, T. and Brunnermeier, M.K. (2016) 'CoVaR', American Economic Review, 106(7), pp.1705-1741.
Bank for International Settlements (2020) Monitoring Volatility in Foreign Exchange Markets. BIS Quarterly Review, December 2020.
Bollerslev, T., Patton, A.J. and Quaedvlieg, R. (2018) 'Modeling and forecasting (un)reliable realized volatilities', Journal of Econometrics, 204(1), pp.112-130.
Borio, C. (2019) 'Monetary policy in the grip of a pincer movement', BIS Working Papers, No. 706.
Brunnermeier, M.K. and Pedersen, L.H. (2009) 'Market liquidity and funding liquidity', Review of Financial Studies, 22(6), pp.2201-2238.
Campbell, J.Y., Sunderam, A. and Viceira, L.M. (2021) 'Inflation Bets or Deflation Hedges? The Changing Risks of Nominal Bonds', Critical Finance Review, 10(2), pp.303-336.
Clark, J. (2019) 'Currency Volatility and Macro Fundamentals', JPMorgan Global FX Research Quarterly, Fall 2019.
Gagnon, J.E. and Ihrig, J. (2021) 'What drives foreign exchange markets?', International Finance, 24(3), pp.414-428.
Hull, J.C. (2018) Options, Futures, and Other Derivatives. 10th edn. London: Pearson.
International Monetary Fund (2022) World Economic Outlook Database. Washington, DC: IMF.
Lo, A.W. (2002) 'The statistics of Sharpe ratios', Financial Analysts Journal, 58(4), pp.36-52.
Lustig, H., Roussanov, N. and Verdelhan, A. (2011) 'Common risk factors in currency markets', Review of Financial Studies, 24(11), pp.3731-3777.
Menkhoff, L., Sarno, L., Schmeling, M. and Schrimpf, A. (2012) 'Carry trades and global foreign exchange volatility', Journal of Finance, 67(2), pp.681-718.
Powell, J. (2020) Monetary Policy and Price Stability. Speech at Jackson Hole Economic Symposium, August 27, 2020.
Rey, H. (2015) 'Dilemma not trilemma: The global financial cycle and monetary policy independence', NBER Working Paper No. 21162.
Shin, H.S. (2017) 'The bank/capital markets nexus goes global', Bank for International Settlements Speech, January 15, 2017.
Macros ICT KillZones [TradingFinder] Times & Price Trading Setup🔵 Introduction
ICT Macros, developed by Michael Huddleston, also known as ICT (Inner Circle Trader), is a powerful trading tool designed to help traders identify the best trading opportunities during key time intervals like the London and New York trading sessions.
For traders aiming to capitalize on market volatility, liquidity shifts, and Fair Value Gaps (FVG), understanding and using these critical time zones can significantly improve trading outcomes.
In today’s highly competitive financial markets, identifying the moments when the market is seeking buy-side or sell-side liquidity, or filling price imbalances, is essential for maximizing profitability.
The ICT Macros indicator is built on the renowned ICT time and price theory, which enables traders to track and leverage key market dynamics such as breaks of highs and lows, imbalances, and liquidity hunts.
This indicator automatically detects crucial market times and optimizes strategies for traders by highlighting the specific moments when price movements are most likely to occur. A standout feature of ICT Macros is its automatic adjustment for Daylight Saving Time (DST), ensuring that traders remain synced with the correct session times.
This means you can rely on accurate market timing without the need for manual updates, allowing you to focus on capturing profitable trades during critical timeframes.
🔵 How to Use
The ICT Macros indicator helps you capitalize on trading opportunities during key market moments, particularly when the market is breaking highs or lows, filling Fair Value Gaps (FVG), or addressing imbalances. This indicator is particularly beneficial for traders who seek to identify liquidity, market volatility, and price imbalances.
🟣 Sessions
London Sessions
London Macro 1 :
UTC Time : 06:33 to 07:00
New York Time : 02:33 to 03:00
London Macro 2 :
UTC Time : 08:03 to 08:30
New York Time : 04:03 to 04:30
New York Sessions
New York Macro AM 1 :
UTC Time : 12:50 to 13:10
New York Time : 08:50 to 09:10
New York Macro AM 2 :
UTC Time : 13:50 to 14:10
New York Time : 09:50 to 10:10
New York Macro AM 3 :
UTC Time : 14:50 to 15:10
New York Time : 10:50 to 11:10
New York Lunch Macro :
UTC Time : 15:50 to 16:10
New York Time : 11:50 to 12:10
New York PM Macro :
UTC Time : 17:10 to 17:40
New York Time : 13:10 to 13:40
New York Last Hour Macro :
UTC Time : 19:15 to 19:45
New York Time : 15:15 to 15:45
These time intervals adjust automatically based on Daylight Saving Time (DST), helping traders to enter or exit trades during key market moments when price volatility is high.
Below are the main applications of this tool and how to incorporate it into your trading strategies :
🟣 Combining ICT Macros with Trading Strategies
The ICT Macros indicator can easily be used in conjunction with various trading strategies. Two well-known strategies that can be combined with this indicator include:
ICT 2022 Trading Model : This model is designed based on identifying market liquidity, structural price changes, and Fair Value Gaps (FVG). By using ICT Macros, you can identify the key time intervals when the market is seeking liquidity, filling imbalances, or breaking through important highs and lows, allowing you to enter or exit trades at the right moment.
Silver Bullet Strategy : This strategy, which is built around liquidity hunting and rapid price movements, can work more accurately with the help of ICT Macros. The indicator pinpoints precise liquidity times, helping traders take advantage of market shifts caused by filling Fair Value Gaps or correcting imbalances.
🟣 Capitalizing on Price Volatility During Key Times
Large market algorithms often seek liquidity or fill Fair Value Gaps (FVG) during the intervals marked by ICT Macros. These periods are when price volatility increases, and traders can use these moments to enter or exit trades.
For example, if sell-side liquidity is drained and the market fills an imbalance, the price might move toward buy-side liquidity. By identifying these moments, which may also involve breaking a previous high or low, you can leverage rapid market fluctuations to your advantage.
🟣 Identifying Liquidity and Price Imbalances
One of the important uses of ICT Macros is identifying points where the market is seeking liquidity and correcting imbalances. You can determine high or low liquidity levels in the market before each ICT Macro, as well as Fair Value Gaps (FVG) and price imbalances that need to be filled, using them to adjust your trading strategy. This capability allows you to manage trades based on liquidity shifts or imbalance corrections without needing a bias toward a specific direction.
🔵 Settings
The ICT Macros indicator offers various customization options, allowing users to tailor it to their specific needs. Below are the main settings:
Time Zone Mode : You can select one of the following options to define how time is displayed:
UTC : For traders who need to work with Universal Time.
Session Local Time : The local time corresponding to the London or New York markets.
Your Time Zone : You can specify your own time zone (e.g., "UTC-4:00").
Your Time Zone : If you choose "Your Time Zone," you can set your specific time zone. By default, this is set to UTC-4:00.
Show Range Time : This option allows you to display the time range of each session on the chart. If enabled, the exact start and end times of each interval are shown.
Show or Hide Time Ranges : Toggle on/off for visual clarity depending on user preference.
Custom Colors : Set distinct colors for each session, allowing users to personalize their chart based on their trading style.These settings allow you to adjust the key time intervals of each trading session to your preference and customize the time format according to your own needs.
🔵 Conclusion
The ICT Macros indicator is a powerful tool for traders, helping them to identify key time intervals where the market seeks liquidity or fills Fair Value Gaps (FVG), corrects imbalances, and breaks highs or lows. This tool is especially valuable for traders using liquidity-based strategies such as ICT 2022 or Silver Bullet.
One of the key features of this indicator is its support for Daylight Saving Time (DST), ensuring you are always in sync with the correct trading session timings without manual adjustments. This is particularly beneficial for traders operating across different time zones.
With ICT Macros, you can capitalize on crucial market opportunities during sensitive times, take advantage of imbalances, and enhance your trading strategies based on market volatility, liquidity shifts, and Fair Value Gaps.
BTC/USD Inflation priced in! ~Period 2009 - 2023 (by TAS)The script creates a custom indicator titled "BTC Adjusted for Economic Factors.
Adjusted BTC Price is plotted in red, making it more prominent. The adjusted price is Bitcoin's historical closing prices adjusted for cumulative inflation over time, based on the Core Consumer Price Index (CPI) annual inflation rates from 2009 onwards.
The script calculates the adjusted price of Bitcoin by taking into account the effect of inflation on its value. It uses annual CPI rates for each year from 2009 to 2022 to calculate a cumulative inflation factor. The script assumes a placeholder inflation rate of 2.5% for 2023, indicating that this value should be updated when the actual rate is available. The script suggests adding CPI rates for additional years as they become available to maintain the accuracy of the adjustment.
Here's a breakdown of how the script works:
Core CPI Annual Inflation Rates: It starts by defining the annual inflation rates for each year from 2009 to 2022, expressed as a percentage divided by 100 to convert to a decimal.
Cumulative Inflation Calculation: The script calculates cumulative inflation starting from the year 2009 up to the current year. For each year that has passed since 2009, it multiplies the cumulative inflation factor by (1 + cpiRate), where cpiRate is the inflation rate for that year. This effectively compounds the inflation rate over time.
Adjusting Bitcoin's Price: The script then adjusts Bitcoin's closing price (close) for the calculated cumulative inflation to get the adjusted price (adjustedPrice).
Plotting the Prices: Finally, it plots both the original and the adjusted Bitcoin prices on the chart, allowing users to visually compare how inflation has theoretically impacted Bitcoin's value over time.
--------------------------------------------------------------------------------------------------
Important to notice, Fib. Retracements from the 2017 cycle top to the recent top (¬80K) doesn't look invalidated.
--------------------------------------------------------------------------------------------------
Inputs and feedback are welcome!
Bitcoin's Logarithmic ChannelLogarithmic growth is a reasonable way to describe the long term growth of bitcoin's market value: for a network that is experiencing growing adoption and is powered by an asset with a finite and disinflationary supply, it’s natural to expect a more explosive growth of its market capitalization early on, followed by diminishing returns as the network and the asset mature.
I used publicly available data to model the market capitalization of bitcoin, deriving thereform a set of three curves forming a logarithmic growth channel for the market capitalization of bitcoin. Using the time series for the circulating supply, we derive a logarithmic growth channel for the bitcoin price.
Model uses publicly available data from July 17, 2010 to December 31, 2022. Everything since the beginning of 2023 is a prediction.
Past performance is not a guarantee of future results.
SandTigerSandTiger is an auto-counting tool that counts naturally occurring events in a price series. This version has been reduced to 377 lines of code and should run faster than previous versions. Although not shown here, I highly recommend running my 'ELB' script with SandTiger. ELB is an 'event locator' and will mark all points that SandTiger numbers - giving you visual cues as to where these points are located. ELB also displays support/resistance levels.
SandTiger is designed to be used with MAGENTA - a counting system for Forex and other markets.
MAGENTA is a free and open framework for understanding and explaining price movement in financial markets. Any materials associated with MAGENTA are strictly for educational purposes only.
SandTiger tracks Component Values, Dyads, and Sum Table Values (STV's) over straight and curved trends, allowing a trader to discern where directional shifts are likely to occur.
SandTiger requires just 3 things to function accurately:
1) A correct starting point (this will typically be an obvious trend turn high or low in a series of price moves).
2) A 'push 1' count ('push 1' runs from the starting point to the event prior to the first terminal of the first FCT or Fractured Counter-Trend).
3) A 'high prime' value (the high prime count runs from the starting point through to the second terminal of the first FCT with no skips).
FRAMEWORK OVERVIEW: 'Component' values are filtered from the prime set (including the half prime and further reductions). Once we have the comp table we add the values to get a 'total'. With the 'total' we divide and multiply by two to get two additional values. 'Derivatives' are based on various calculations using these three values.
We're looking for 'total/2' to count into either itself, 'total', 'total*2', or a derivative. Comp counts are in Tx form and counted from trend start. If the trend doesn't turn on a comp value it will likely turn on a Dyad or STV value. If that also doesn't happen it's likely you have a 'curved' trend/sequence that will turn on one of the above after moving away from its high/low. This can also be traded using SandTiger's 'Seg Terminals' skip option.
Sum tables and Dyad values are drawn from the 'primes' and Dyads use the 'push1' value as well. In a structural trend, primes are gotten by counting pushpulls 1 & 2 in 'Ti' form. Comps, Sum table values, and Dyads are equivalent, sequences can turn on either value type belonging to the 1st or 2nd prime set. Both STV's and Dyads are counted in 'Tx' form (except where count-through signals occur).
Types and antitypes correlate and are associated with a 12-count 'cycle.' (Ti = 'Terminals Included'; Tx = 'Terminals eXcluded'; both refer to FCT terminals)
THE STRATEGY:
For Structures: Trade Comps, Dyads, and STV's from sets 1 (all) and 2 (Dyads and STV's only) in the 'main' segment then on the 'carry-over' by skipping segment terminals. If a PC or cycle caps the sequence, trade that as well.
For NSM's: Trade movements that flash a signal prior to the end of the initial cycle. The mark will be the push1 value. Twelve will be the 'high prime.' Skip interrupts and trade carry-over values.
The first version of SandTiger was conceived/planned/authored by Erek A.D. and coded by Erek A.D. and @SimpleCryptoLife beginning in August 2022 and finishing in Dec. 2022
The current version was written and developed July 3, 2023 and has been refined and upgraded by Erek A.D. through Jan. 2024...
Rotation Cycles GraphRotation Cycles Graph Indicator
Overview:
The Rotation Cycles Graph Indicator is designed to visualize rotation cycles in financial markets. It aims to provide insights into shifts between various market phases, including growth, weakening, recovery, and contraction, allowing traders to potentially identify changing market dynamics.
Key Components:
Z-Score Calculation:
The indicator employs Z-score calculation to normalize data and identify deviations from the mean. This is instrumental in understanding the current state of the market relative to its historical behavior.
Ehlers Loop Visualization:
The Ehlers Loop function generates a visual representation of rotation cycles. It utilizes x and y coordinates on the chart to represent market conditions. These coordinates determine the position and categorization of the market state.
Table Visualization:
At the bottom of the chart, a table categorizes market conditions based on x and y values. This table serves as a reference to understand the current market phase.
Customizable Parameters:
The indicator offers users the flexibility to adjust several parameters:
Length and Smoothness: Users can set the length and smoothness parameters for the Z-score calculation, allowing for customization based on the market's volatility.
Graph Settings: Parameters such as bar scale, graph position, and the length of the tail for visualization can be fine-tuned to suit individual preferences.
Understanding Coordinates:
The x and y coordinates plotted on the chart represent specific market conditions. Interpretation of these coordinates aids in recognizing shifts in market behavior.
This screenshot shows visual representation behind logic of X and Y and their rotation cycles
Here is an example how rotation marker moved from growing to weakening and to the contraction quad, during a big market crush:
Note:
This indicator is a visualization tool and should be used in conjunction with other analytical methods for comprehensive market analysis.
Understanding the context and nuances of market dynamics is essential for accurate interpretation of the Rotation Cycles Graph Indicator.
Big thanks to @PineCodersTASC for their indicator, what I used as a reference
Cycles: 4x dual inputs: Swing / Time Cycles projected forward//Purpose/Premise:
To project forward vertical 'cycle' lines based on user-input anchor points, and to search for confluence.
The idea being that if several well-anchored cycles agree (i.e. we see multiple bunched vertical line confluence in the future), then this may add support to an already existing trade idea, or may indicate an increased likelihood of a shift in direction.
//Usage & notes:
~In the above chart I've anchored to obvious swing lows and swing highs in Btc/Usd from 2020-2022. You could also use fixed time-based cycles from a favored start anchor point. Bars per cycle are printed at the top of each cycle box if your're interested in time cycles. I.e. for 1, 2, 3 month cycles: for BTC you could use 30, 60, 90 bars on daily; for S&P you could use 20, 40, 60 bars on daily.
~On first loading the indicator you will be asked select 'start date', and 'end date' for each of 4 sessions (8x clicks on chart). After this you can easily reset points by clicking the indicator display line three dots>> reset points. Or you can simply drag the vertical box edges (purple lines) to change your cycle anchor points.
~Be sure the start anchor point is before the end anchor point or box/lines won't appear.
~When you drop down to low timeframes you might get bar_index error due to history available: you need then to click the three dots on indicator display line >> reset points >> 8x clicks on the chart.
~Vertical projected lines will match the color of the cycle box they origninate from.
~Lines will project into the future as far as is allowed by tradingview (500 bars max)
//Inputs:
~Time start and end dates for each cycle (change these as described above, or input manually)
~Show/hide each cycle (default is show all 4)
~Formatting options: color of forward projected lines, line width, line style, line / box / text color.
~Box transparancy: Set to 100 to make boxes invisible & declutter the chart. Set to 0 for maximum opacity. Default is 80.
thanks to @Sathyamurthie for his ideas on cycle confluence which caused me to write this.
HK Percentile Interpolation One
This script is designed to execute a trading strategy based on Heikin Ashi candlesticks, moving averages, and percentile levels.
Please note that you should keep your original chart in normal candlestick mode and not switch it to Heikin Ashi mode. The script itself calculates Heikin Ashi values from regular candlesticks. If your chart is already in Heikin Ashi mode, the script would be calculating Heikin Ashi values based on Heikin Ashi values, which would produce incorrect results.
The strategy begins trading from a start date that you can specify by modifying the `startDate` parameter. The format of the date is "YYYY MM DD". So, for example, to start the strategy from January 1, 2022, you would set `startDate = timestamp("2022 01 01")`.
The script uses Heikin Ashi candlesticks, which are plotted in the chart. This approach can be useful for spotting trends and reversals more easily than with regular candlestick charts. This is particularly useful when backtesting in TradingView's "Rewind" mode, as you can see how the Heikin Ashi candles behaved at each step of the strategy.
Buy and sell signals are generated based on two factors:
1. The crossing over or under of the Heikin Ashi close price and the 75th percentile price level.
2. The Heikin Ashi close price being above certain moving averages.
You have the flexibility to adjust several parameters in the script, including:
1. The stop loss and trailing stop percentages (`stopLossPercentage` and `trailStopPercentage`). These parameters allow the strategy to exit trades if the price moves against you by a certain percentage.
2. The lookback period (`lookback`) used to calculate percentile levels. This determines the range of past bars used in the percentile calculation.
3. The lengths of the two moving averages (`yellowLine_length` and `purplLine_length`). These determine how sensitive the moving averages are to recent price changes.
4. The minimum holding period (`holdPeriod`). This sets the minimum number of bars that a trade must be kept open before it can be closed.
Please adjust these parameters according to your trading preferences and risk tolerance. Happy trading!
Pure Morning 2.0 - Candlestick Pattern Doji StrategyThe new "Pure Morning 2.0 - Candlestick Pattern Doji Strategy" is a trend-following, intraday cryptocurrency trading system authored by devil_machine.
The system identifies Doji and Morning Doji Star candlestick formations above the EMA60 as entry points for long trades.
For best results we recommend to use on 15-minute, 30-minute, or 1-hour timeframes, and are ideal for high-volatility markets.
The strategy also utilizes a profit target or trailing stop for exits, with stop loss set at the lowest low of the last 100 candles. The strategy's configuration details, such as Doji tolerance, and exit configurations are adjustable.
In this new version 2.0, we've incorporated a new selectable filter. Since the stop loss is set at the lowest low, this filter ensures that this value isn't too far from the entry price, thereby optimizing the Risk-Reward ratio.
In the specific case of ALPINE, a 9% Take-Profit and and Stop-Loss at Lowest Low of the last 100 candles were set, with an activated trailing-stop percentage, Max Loss Filter is not active.
Name : Pure Morning 2.0 - Candlestick Pattern Doji Strategy
Author : @devil_machine
Category : Trend Follower based on candlestick patterns.
Operating mode : Spot or Futures (only long).
Trades duration : Intraday
Timeframe : 15m, 30m, 1H
Market : Crypto
Suggested usage : Short-term trading, when the market is in trend and it is showing high volatility .
Entry : When a Doji or Morning Doji Star formation occurs above the EMA60.
Exit : Profit target or Trailing stop, Stop loss on the lowest low of the last 100 candles.
Configuration :
- Doji Settings (tolerances) for Entry Condition
- Max Loss Filter (Lowest Low filter)
- Exit Long configuration
- Trailing stop
Backtesting :
⁃ Exchange: BINANCE
⁃ Pair: ALPINEUSDT
⁃ Timeframe: 30m
⁃ Fee: 0.075%
⁃ Slippage: 1
- Initial Capital: 10000 USDT
- Position sizing: 10% of Equity
- Start: 2022-02-28 (Out Of Sample from 2022-12-23)
- Bar magnifier: on
Disclaimer : Risk Management is crucial, so adjust stop loss to your comfort level. A tight stop loss can help minimise potential losses. Use at your own risk.
How you or we can improve? Source code is open so share your ideas!
Leave a comment and smash the boost button!
Thanks for your attention, happy to support the TradingView community.
Strategy Template + Performance & Returns table + ExtrasA script I've been working on since summer 2022. A template for any strategy so you just have to write or paste the code and go straight into risk management settings
Features:
>Signal only Longs/only Shorts/Both
>Leverage system
>Proper fees calculation (even with leverage on)
>Different Stop Loss systems: Simple percentage, 4 different "move to Break Even" systems and Scaling SL after each TP order (read the disclaimer at the bottom regarding this and the TV % profitable metric)
>2 Take Profit systems: Simple percentages, or Risk/reward ratios based on SL level
>Additional option on TP so last one "rides free" until closure of position or Stoploss is hit (for more than 1 orders)
>Up to 5 TP orders
>Show or hide SL/TP levels on demand
>2 date filters. Manual filter is nothing new, enter two dates/hours and filter will turn on. BUT automatic filter is another thing (thanks to user @bfr_ for his help in codingthis feature)
>AUTOMATIC DATE FILTER. Allows you to split all historical data on the chart in X periods, then choose the range of periods used. Up to 10 but that can be changed, instructions included. Useful for WalkForward simulations, haven't seen a script in TradingView that allows you to do this and test your strategy on "unseen data" automatically
EXTRA SETTINGS
Besides, some additions I like to add to my codes:
>Returns table for monthly and weekly performance. Requires recalculation on every tick. This is a modified version of @QuantNomad's work. May add lower TF options later on
>Volume Based S/R system. Original work from @shtcoinr
>One feature that was made by me, the "portfolio table". Yields info and metrics of your strategy, current position and balance. You're able to turn it off and change its size
Should anyone find an error, or have any idea on how to improve this code, please contact me. Future updates could come, stay tuned
DISCLAIMER:
In order to have accurate StopLoss hit, I had to change the previous system, which was a "close position on candle close" instead at actual stoploss level. It was fixed, but resulted on inflation of the number of trading orders, thus reducing the percent profitable and making it strongly biased and unreal. Keep that in mind, that "real" profitability could be 2x or 3x the metric TradingView says. If your strategy has a really high trading frequency, resulting in 3000+ orders, might be a problem. Try to make use of the automatic/manual date filter as workaround, I have no means of changing this, seems it is not a bug but an intended design of the PineScript Code
Multi-Asset Month/Month % change 10yr Averages10 Year Averages of Month-on-Month % change: Shows current asset, and 3x user input assets
-For comparing seasonal tendencies among different assets.
-Choose from a variety of monthly average measures as source: sma(close, length), sma(ohlc4, length); as well as sma's of vwap, vwma, volume, volatility. (sma = simple moving average).
-Averages based on month cf previous month: i.e. Feb % = Feb compared to Jan; Jan % = Jan compared to prev year's Dec. Average of the last 10yrs of these values is the printed value.
-Plot on current year (2023), or previous year (2022). If Plotting on current year, and a month of year has not yet occured, a 9yr average will be printed.
/// notes ///
-daily bars in month is a global setting; so choose assets which have similar trading days per month. i.e. Crypto: length = 30 (days per month); Stocks/FX/Indices: length = 21 (days per month).
-only plots on Daily timeframe.
10yr Avgs; Plotting with Year = 2022; using sma(close, 21) as source for average M/M change
Weis V5 zigzag jayySomehow, I deleted version 5 of the zigzag script. Same name. I have added some older notes describing how the Weis Wave works.
I have also changed the date restriction that stopped the script from working after Dec 31, 2022.
What you see here is the Weis zigzag wave plotted directly on the price chart. This script is the companion to the Weis cumulative wave volume script.
What is a Weis wave? David Weis has been recognized as a Wyckoff method analyst he has written two books one of which, Trades About to Happen, describes the evolution of the now-popular Weis wave. The method employed by Weis is to identify waves of price action and to compare the strength of the waves on characteristics of wave strength. Chief among the characteristics of strength is the cumulative volume of the wave. There are other markers that Weis uses as well for example how the actual price difference between the start of the Weis wave from start to finish. Weis also uses time, particularly when using a Renko chart
David Weis did a futures io video which is a popular source of information about his method. (Search David Weis and futures.io. I strongly suggest you also read “Trades About to Happen” by David Weis.
This will get you up and running more quickly when studying charts. However, you should choose the Traditional method to be true to David Weis technique as described in his book "Trades About to Happen" and in the Futures IO Webcast featuring David Weis
. The Weis pip zigzag wave shows how far in terms of bar close price a Weis wave has traveled through the duration of a Weis wave. The Weis zigzag wave is used in combination with the Weis cumulative volume wave. The two waves should be set to the same "wave size".
To use this script, you must set the wave size: Using the traditional Weis method simply enter the desired wave size in the box "How should wave size be calculated", in this example I am using a traditional wave size of .25. Each wave for each security and each timeframe requires its own wave size. Although not the traditional method devised by David Weis a more automatic way to set wave size would be to use Average True Range (ATR). Using ATR is not the true Weis method but it does give you similar waves and, importantly, without the hassle described above. Once the Weis wave size is set then the zigzag wave will be shown with volume. Because Weis used the closing price of a wave to define waves a line Bar highs and bar lows are not captured by the Weis Wave. The default script setting is now cumulative volume waves using an ATR of 7 and a multiplication factor of .5.
To display volume in a way that does not crowd out neighbouring volumes Weis displayed volume as a maximum of 3 digits (usually). Consider two Weis Wave volumes 176,895,570 and 2,654,763,889. To display wave volume as three digits it is necessary to take a number such as 176,895,570 and truncate it. 176,895,570 can be represented as 177 X 10 to the power of 6. The number displayed must also be relative to other numbers in the field. If the highest volume on the page is: 2,654,763,889 and with only three numbers available to display the result the value shown must be 265 (265 X 10 to the power of 7). Since 176,895,570 is an order of magnitude smaller than 2,654,763,889 therefore 175,895,570 must be shown as 18 instead of 177. In this way, the relative magnitudes of the two volumes can be understood. All numbers in the field of view must be truncated by the same order of magnitude to make the relative volumes understandable. The script attempts to calculate the order of magnitude value automatically. If you see a red number in the field of view it means the script has failed to do the calculation automatically and you should use the manual method – use the dialogue box “Calculate truncated wave value automatically or manually”. Scroll down from the automatic method and select manual. Once "manual" is selected the values displayed become the power values or multipliers for each wave.
Using the manual method you will select a “Multiplier” in the next dialogue box. Scan the field and select the largest value in the field of view (visible chart) is the multiplier of interest. If you select a lower number than the maximum value will see at least one red “up”. If you are too high you will see at least one red “down”. Scroll in the direction recommended or the values on the screen will be totally incorrect. With volume truncated to the highest order values, the eye can quickly get a feel for relative volumes. It also reduces the crowding and overlapping of values on the screen. You can opt to show the full volume to help get a sense of the magnitude of the true volumes.
How does the script determine if a Weis wave is continuing to grow or not?
The script evaluates the closing price of each new bar relative to the "Weis wave size". Suppose the current bar closes at a new low close, within the current down wave, at $30.00. If the Weis wave size is $0.10 then the algorithm will remember the $30.00 close and compare it to the close of the next bar. If the bar close price does not close equal to or lower than $30.00 or close equal to or higher than $30.10 then the wave is still a down wave with a current low of $30.00. This is true even if the bar low is less than $30.00 or the bar high is greater than 30.10 – only the bar’s closing price matters. If a bar's closing price climbs back up to a close of $30.11 then because the closing price has moved more than $0.10 (the Weis wave size) then that is a wave reversal with a new up-trending wave. In the above example if there was currently a downward trending wave and the bar closes were as follows $30.00, $30.09, $30.01, $30.05, $30.10 The wave direction would continue to stay downward trending until the close of $30.10 was achieved. As such $30.00 would be the low and the following closes $30.09, $30.01, $30.05 would be allocated to the new upward-trending wave. If however There was a series of bar closes like this $30.00, $30.09, $30.01, $30.05, $29.99 since none of the closes was equal to above the 10-cent reversal target of $30.10 but instead, a new Weis wave low was achieved ($29.99). As such the closes of $30.09, $30.01, $30.05 would all be attributed to the continued down-trending wave with a current low of $29.99, even though the closing price for the interim bars was above $30.00. Now that the Weis Wave low is now 429.99 then, in order to reverse this continued downtrend price will need to close at or above $30.09 on subsequent bar closes assuming now new low bar close is achieved. With large wave sizes, wave direction can be in limbo for many bars before a close either renews wave direction or reverses it and confirms wave direction as either a reversal or a continuation. On the zig-zag, a wave line and its volume will not be "printed" until a wave reversal is confirmed.
The wave attribution is similar when using other methods to define wave size. If ATR is used for wave size instead of a traditional wave constant size such as $0.10 or $2 or 2000 pips or ... then the wave size is calculated based on current ATR instead of the Weis wave constant (Traditional selected value).
I have the option to display pseudo-Ord volume. In truth, Ord used more traditional zig-zag pivots of bar highs and lows. Waves using closes as pivots can have some significant differences. This difference can be lessened by using smaller time frames and larger wave sizes.
There are other options such to display the delta price or pip size of a Weis Wave, the number of bars in a wave, and a few other options.
Moving Average Cross and RSIThis is the updated version of the MAC cross Short/ Long indicator i had posted earlier in 2022.
This script includes a RSI and EMA of the RSI with fixed OB and OS Levels.
The purpose is to refine the amount of trades taken from the moving average cross on the 30 minute timeframe.
In the overlay, the red and green dots indicate weather the moving cross is a long or a short signal.
The theory when back tested is:
When the short signal is given, the EMA must be below 30 to enter a short.
When the long signal is given, the EMA must be above 64 to enter a long, anything in between is a false signal.
Only the first dot is meant to be a long or a short signal, not meant to be interpreted as being consecutive.
The data window is meant to be built in a way to easily set up indicators or strategies using Tradelab.ai software.
DR/IDR Candles [LuxAlgo]This indicator displays defining ranges (DR) and implied defining ranges (IDR) constructed from two user set sessions (RDR/ODR) as graphical candles on the chart. The script introduces additional graphical elements to the original DR/IDR concept and as such can be thought as a graphical method in addition to a technical indicator.
Additionally, this script can display various Fibonacci retracements from the constructed DR/IDR if enabled within the settings.
Settings
Regular Session: Enable/disable regular session's DR/IDR alongside setting the session time. By default, 09:30 - 10:30 am.
Overnight Session: Enable/disable overnight session's DR/IDR alongside setting the session time. By default, 03:00 - 04:00 am.
UTC Offset: UTC offset for the time zone, by default -5 (EST)
Retracements
Reverse: Inverts source range upper/lower value for constructing the retracements.
From: Source range used to construct the retracements, by default DR is used.
By default, the 0.5 retracement (average line) is displayed.
Usage
The used sessions are highlighted by a gray background. DRs are highlighted by dashed lines while IDRs are highlighted by solid ones. The maximum/minimum price between each user set session is highlighted by solid wicks.
The color of the DRs/IDRs/wicks are determined by the price position relative to the DR; if price is above the DR maximum, then a blue color is used. If price is below, then an orange color is used, and if price is within the DR range, then a gray color is used.
Additionally, the area of the DR range is used to highlight the number of time price is located within the DR, with a longer background highlighting a higher number of occurrences. This can help highlight if the DR levels were potentially useful as support/resistance.
When price is outside the IDR range, the area between the price and IDR is highlighted, in blue if price is above the IDR, and orange if it is under.
The original author of the DR/IDR concept describes 3 rules using the price position relative to the DR/IDR levels:
1.) If price on the 5-minute timeframe closes above the DR high after 10:30 AM or 04:00 AM then the DR low will likely be the low of the trading session.
2.) If price on the 5-minute timeframe closes below the DR low after 10:30 AM or 04:00 AM then the DR high will likely be the high of the trading session.
3.) If price closes above the IDR high after 10:30 AM or 04:00 AM it is an early indication that the low of the DR will be the low of the day and vice versa.
We can see that the above rules are cases of conditional probabilities.
There is no significant data supporting or regarding any statistical probability of the above rules to be true, which are more than uncertain given the stochastic nature of prices. The lack of precision of these rules is also a concern (time zone dependance, applicable markets, etc...).
Credits
Credits to trader TheMas7er who originally created the DR/IDR concept in November of 2022. This script was derived from his proposed session times & rules for trading.
Weird Renko StratThis strategy uses Renko, it generates a signal when there is a reversal in Renko. When using historical data, it provides a good entry and an okay exit. However, in a real-time environment, this strategy is subject to repaint and may produce a false signal.
As a result, the backtesting result should not be used as a metric to predict future results. It is highly recommended to forward-test the strategy before using it in real trading. I forward test it from 12/18/2022 to 12/21/2022 in paper trading, using the alert feature in Tradingview. I made 60 trades trading the BTCUSDT BINANCE 3 min with 26 as the param and under the condition that I use 20x margin, compounding my yield, and having 0 trading fee, a steady loss is generated: from $10 to $3.02.
This is quite interesting. As if I flip the signal from "Long" to "Short" and another way too, it will be a steady profit from $10 to $21.85. Hence, if I'm trying to anti-trade the real-time alert signal, the current "4 Days Result" will be good. Nevertheless, I still have to forward-test it for longer to see if it will fail eventually.
Dive into the setting of the strategy
- Margin is the leverage you use. 1 means 1x, 10 means 10x. It affects the backtest yield when you backtest
- Compound Yield button is for compound calculation, disable it to go back to normal backtesting
- Anti Strategy button is to do the opposite direction trade, when the original strat told you to "Long", you "Short" instead. Enable it to use the feature
- Param is the block size for the Renko chart
- Drawdown is just a visual tool for you in case you want to place a stop loss (represent by the semitransparent red area in the chart)
- From date Thru Date is to specify the backtest range of the strategy, This feature is turned off by default. It is controlled by the Max Backtest Timeframe which will be explain below
- Max Backtest Timeframe control the From date Thru Date function, disable it to enable the From Date Thru Date function
Param is the most important input in this strategy as it directly affects performance. It is highly recommended to backtest nearly all the possible parameters before deploying it in real trading. Some factors should be considered:
- Price of the asset (like an asset of 1 USD vs an asset of 10000 USD required different param)
- Timeframe (1-minute param is different than 1-month param)
I believe this is caused by the volatility of the selected timeframe since different timeframe has different volatility. Param should be fine-tuned before usage.
Here is the param I'm using:
BTCUSDT BINANCE 3min: 26
BTCUSDT BINANCE 5min: 28
BTCUSDT BINANCE 1day: 15
Background of the strategy:
- The strategy starts with $10 at the start of backtesting (customizable in setting)
- The trading fee is set to 0.00% which is not common for most of the popular exchanges (customizable in setting)
- The contract size is not a fixed amount, but it uses your balance to buy it at the open price. If you are using the compound mode, your balance will be your current total balance. If you are using the non-compound mode, it will just use the $10 you start with unless you change the amount you start with. If you are using a margin higher than 1, it will calculate the corresponding contract size properly based on your margin. (Only these options are allowed, you are not able to change them without changing the code)
TASC 2022.12 Short-Term Continuation And Reversal Signals█ OVERVIEW
TASC's December 2022 edition Traders' Tips includes an article by Barbara Star titled "Short-Term Continuation And Reversal Signals". This is the code that implements the concepts presented in this publication.
█ CONCEPTS
The article takes two classic indicators, the Commodity Channel Index (CCI) and the Directional Movement Indicator (DMI), makes changes to the traditional ways of visualizing their readings, and uses them together to generate potential signals. The author first discusses the benefits of converting the DMI indicator to an oscillator format by subtracting the −DI from the +DI, which is then displayed as a histogram. Next, the author shows how the use of an on-chart visual framework (i.e., choosing the line style and color, coloring price bars, etc.) can help traders interpret the signals produced the considered pair of indicators.
█ CALCULATIONS
The article offers the following signals based on the readings of the DMI and CCI pair, suitable for several types of trades:
• Short-term trend change signals:
A DMI oscillator above zero indicates that prices are in an uptrend. A DMI oscillator below the zero line and falling means that selling pressure is dominating and price is trending down. The sign of the DMI oscillator is indicated by the color of the price bars (which correlates with the color of the DMI histogram). Namely, green, red and grey price bars correspond to the DMI oscillator above, below and equal to zero . Colored price bars and the DMI oscillator make it easy for trend traders to recognize changes in short-term trends.
• Trend continuation signals:
Blue circles appear near the bottom of the oscillator chart border when the DMI is above the zero line and the price is above its simple moving average in an uptrend . Dark red circles appear near the top of the chart in a downtrend when the DMI oscillator is below its zero line and below the 18-period moving average. Trend continuation signals are useful for those looking to add to existing positions, as well as for traders waiting for a pullback after a trend has started.
• Reversal signals:
The CCI signals a reversal to the downside when it breaks out of its +100 and then returns at some point, crossing below the +100 level. This is indicated by a magenta-colored diamond shape near the top the chart. The CCI signals a reversal to the upside when it moves below its −100 level and then at some point comes back to cross above the −100 level. This is indicated by a yellow diamond near the bottom of the chart. Reversal signals offer short-term rallies for countertrend traders as well as for swing traders looking for longer-term moves using the interplay between continuation and reversal signals.
TASC 2022.11 Phasor Analysis█ OVERVIEW
TASC's November 2022 edition Traders' Tips includes an article by John Ehlers titled "Recurring Phase Of Cycle Analysis". This is the code that implements the phasor analysis indicator presented in this publication.
█ CONCEPTS
The article explores the use of phasor analysis to identify market trends.
An ordinary rotating phasor diagram is a two-dimensional vector, anchored to the origin, whose rotation rate corresponds to the cycle period in the price data stream. Similarly, Ehlers' phasor is a representation of angular phase rotation along the course of time. Its angle reflects the current phase of the cycle. Angles -180, -90, +90 and +180 degrees correspond to the beginning, valley, peak and end of the cycle, respectively.
If the observed cycle is very long, the market can be considered trending . In his article, John Ehlers defined trending behavior to occur when the derived instantaneous cycle period value is greater that 60 bars. The author also introduced guidelines for long and short entries in a trending state. Depending on the tuning of the indicator period input, a long entry position may occur when the phasor angle is around the approximate vicinity of −90 degrees, while a short entry position may occur when the phasor angle will be around the approximate vicinity of +90 degrees. Applying these definitive guidelines, the author proposed a state variable that is indicated by +1 for a trending long position, 0 for cycling, and −1 for a trending short position (or out).
The phasor angle, the cycle period, and the state variable are made available with three selectable display modes provided for this TradingView indicator.
█ CALCULATIONS
The calculations are carried out as follows.
First, the price data stream is correlated with cosine and sine of a fixed cycle period. This produces two new data streams that correspond to the projections of the frequency domain phasor diagram to the horizontal (so-called real ) and vertical (so-called imaginary ) axis respectively. The wavelength of the cycle period input should be set for the midrange vicinities of the phasor to coincide with the peaks and valleys of the charted price data.
Secondly, the phase angle of the phasor is easily computed as the arctangent of the ratio of the imaginary component to the real component. The difference between the current phasor values and its last is then employed to calculate a derived instantaneous period and market state. This computation is then repeated successively for each individual bar over the entire duration of the data set.
[blackcat] L1 Relative Strength Volume-Adjusted EMALevel 1
Background
Vitali Apirine proposed an idea of “Relative Strength Moving Averages, Part 2 (RS VA EMA)” on October 2022.
Function
Based on my understanding, Vitali combines the merits of RSI, volume and EMA to improve moving average performance. It takes the relative volume strength into account and includes a measurement between positive and negative volume flow in the calculation, which gives direction to the volume input. In details, volume is considered positive when the close is higher than the previous close and negative when the close is lower than the previous close. I used 2 period lagged signal as trigger so that the pair fast and slow lines can form golden cross and dead cross where entry signal can be produced.
Remarks
Feedbacks are appreciated.