Wavemeter [theEccentricTrader]█ OVERVIEW
This indicator is a representation of my take on price action based wave cycle theory. The indicator counts the number of confirmed wave cycles, keeps a rolling tally of the average wave length, wave height and frequency, and displays the statistics in a table. The indicator also displays the current wave measurements as an optional feature.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a high price equal to or above the price it opened.
• A red candle is one that closes with a low price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Wave Cycles
A wave cycle is here defined as a complete two-part move between a swing high and a swing low, or a swing low and a swing high. As can be seen in the example above, the first swing high or swing low will set the course for the sequence of wave cycles that follow; a chart that begins with a swing low will form its first complete wave cycle upon the formation of the first complete swing high and vice versa.
Wave Length
Wave length is here measured in terms of bar distance between the start and end of a wave cycle. For example, if the current wave cycle ends on a swing low the wave length will be the difference in bars between the current swing low and current swing high. In such a case, if the current swing low completes on candle 100 and the current swing high completed on candle 95, we would simply subtract 95 from 100 to give us a wave length of 5 bars.
Average wave length is here measured in terms of total bars as a proportion as total waves. The average wavelength is calculated by dividing the total candles by the total wave cycles.
Wave Height
Wave height is here measured in terms of current range. For example, if the current peak price is 100 and the current trough price is 80, the wave height will be 20.
Amplitude
Amplitude is here measured in terms of current range divided by two. For example if the current peak price is 100 and the current trough price is 80, the amplitude would be calculated by subtracting 80 from 100 and dividing the answer by 2 to give us an amplitude of 10.
Frequency
Frequency is here measured in terms of wave cycles per second (Hertz). For example, if the total wave cycle count is 10 and the amount of time it has taken to complete these 10 cycles is 1-year (31,536,000 seconds), the frequency would be calculated by dividing 10 by 31,536,000 to give us a frequency of 0.00000032 Hz.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
█ FEATURES
Inputs
Show Sample Period
Start Date
End Date
Position
Text Size
Show Current
Show Lines
Table
The table is colour coded, consists of two columns and, as many as, nine rows. Blue cells display the total wave cycle count and average wave measurements. Green cells display the current wave measurements. And the final row in column one, coloured black, displays the sample period. Both current wave measurements and sample period cells can be hidden at the user’s discretion.
Lines
For a visual aid to the wave cycles, I have added a blue line that traces out the waves on the chart. These lines can be hidden at the user’s discretion.
█ HOW TO USE
The indicator is intended for research purposes, strategy development and strategy optimisation. I hope it will be useful in helping to gain a better understanding of the underlying dynamics at play on any given market and timeframe.
For example, the indicator can be used to compare the current range and frequency with the average range and frequency, which can be useful for gauging current market conditions versus historic and getting a feel for how different markets and timeframes behave.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY , do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green. You can avoid this problem by utilising the sample period filter.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
It is also worth noting that the sample size will be limited to your Trading View subscription plan. Premium users get 20,000 candles worth of data, pro+ and pro users get 10,000, and basic users get 5,000. If upgrading is currently not an option, you can always keep a rolling tally of the statistics in an excel spreadsheet or something of the like.
Komut dosyalarını "wave" için ara
Elliott Wave Oscillator Signals by DGTElliott Wave Principle , developed by Ralph Nelson Elliott, proposes that the seemingly chaotic behaviour of the different financial markets isn’t actually chaotic. In fact the markets moves in predictable, repetitive cycles or waves and can be measured and forecast using Fibonacci numbers. These waves are a result of influence on investors from outside sources primarily the current psychology of the masses at that given time. Elliott wave predicts that the prices of the a traded currency pair will evolve in waves: five impulsive waves and three corrective waves. Impulsive waves give the main direction of the market expansion and the corrective waves are in the opposite direction (corrective wave occurrences and combination corrective wave occurrences are much higher comparing to impulsive waves)
The Elliott Wave Oscillator (EWO) helps identifying where you are in the 5-3 Elliott Waves, mainly the highest/lowest values of the oscillator might indicate a potential bullish/bearish Wave 3. Mathematically expressed, EWO is the difference between a 5-period and 35-period moving average based on the close. In this study instead 35-period, Fibonacci number 34 is implemented for the slow moving average and formula becomes ewo = ema(source, 5) - ema(source, 34)
The application of the Elliott Wave theory in real time trading gets difficult because the charts look messy. This study (EWO-S) simplifies the visualization of EWO and plots labels on probable reversals/corrections. The good part is that all plotting’s are performed on the top of the price chart including a histogram (optional and supported on higher timeframes). Additionally optional Keltner Channels Cloud added to help confirming the price actions.
What to look for:
Plotted labels can be used to follow the Elliott Wave occurrences and most importantly they can be considered as signals for possible trade setup opportunities. Elliott Wave Rules and Fibonacci Retracement/Extensions are suggested to confirm the patters provided by the EWO-S
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely
Disclaimer : The script is for informational and educational purposes only. Use of the script does not constitutes professional and/or financial advice. You alone the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
My WaveThis is my implementation in TradingView of my modified version of the "Weis Wave".
Given the limitations of TradingView in alter past variable values, whenever the close change direction and the wave don't I sum the volume to the present wave and also to a possible future wave.
This results in columns of a mixed color within the columns of the histogram. By changing the percentage input you can and must keep this extra columns to a minimum.
You must insert two copies of the indicator on your chart and "unmerge down" one of them. On the overlayed you must * format and edit and unmark Histup and Histdown, on the unmerged down you must * format and edit and unmark BetaZigZag and stableZigZag.
You can also unmark Bar Color on both if you don't want to colour the bars according to the waves.
Trend: If the buying waves are longer than the selling waves the immediate trend is up, and vice versa.
Look out for a change in trend if in an uptrend the selling waves begin to increase in time and distance or the buying waves shorten, and vice versa.
From the volume histogram you can get the force of the buying and selling waves.
From the price waves you get the result of that force. You can also spot the "shortening of the thrust" up or down.
Comparing the two you can spot "effort without result" "ease of movement".
References: "Trades About To Happen" David H. Weis, Division 2 of the Richard D. Wyckoff Method of Trading in Stocks.
Relative Wave: Volatility IncludedFor the setup shown, it is best used with the following scripts I have written:
1. Indicator: Volatility Candle Based
2. Multi-Period Charts (use 2 of them): @ 30m and 1H settings
3. Relative Wave: Volatility Included.
Indicator Description: Relative Wave: Volatility Included (RW: Vol)
Pine Script v6 – Technical Overview
🔍 Purpose
The Relative Wave: Volatility Included (RW: Vol) is a custom oscillator designed to measure price position relative to dynamic upper and lower bounds that are influenced by volatility. It incorporates trend filtering, momentum smoothing, and zone detection, providing a composite view of price waves and potential reversal signals.
🧠 How It Works
1. Core Concept: Relative Position within Volatility Bands
The indicator calculates a Relative Wave Index, which measures where the current price sits between recent upper and lower bands derived from standard deviation. These bounds are sorted over a historical window to filter for sensitivity.
2. Sensitivity & Smoothing
Trend Length (Historical_Bar_Count): Defines how many bars are used to build the volatility-adjusted trend range.
Sensitivity Control: Adjusts how reactive the index is to recent price changes.
EMA Smoothing: Custom exponential moving averages are used to smooth values for fast, slow, and overall momentum.
3. Components & Visuals
RW Short-Term Fast Line: Plotted as colored circles indicating quick changes in trend.
RW Short-Term Slow Line: A smoother trend line for signal filtering.
RW Overall Momentum Line: Step-style line measuring broader directional trend.
RW Wave Line: A smoothed average of recent crests and troughs, acting as a cyclical midline reference.
Zone Lines (5/20/50/80/95): Visual thresholds often used as overbought/oversold regions.
⚙️ Key Inputs & Their Effects
Trend Length: Longer = smoother but laggy trends; shorter = more responsive but volatile.
Sensitivity: Higher values = less sensitivity; lower = more reactive.
Signal Lengths (Fast/Slow/Overall): Control the degree of smoothing for each plotted line.
Crest/Trough Lookback: Determines how crests and troughs are calculated from past wave behavior.
✅ Trade Signal Logic
The script defines bullish and bearish conditions based on the interaction of:
RW Wave direction
Overall Momentum direction
Slow Line behavior
Relative positioning (e.g., below or above 50)
Bullish Example:
RW Wave and Momentum are both rising
Values are below 50 (potential upside room)
Slow Line may be falling or just crossed upward
Bearish Example:
RW Wave and Momentum are falling
Values are above 50 (potential downside room)
Slow Line rising or crossed downward
🎨 Visual Aids & Colors
Green: Bullish momentum
Red: Bearish momentum
Blue/Purple Circles: Transition points and fast line status
White/Midrange Lines: Reference zones (like RSI levels)
📈 Best Use Cases
Identifying shifts in market direction before price breakout
Confirming trend strength using wave/momentum alignment
Spotting oversold/overbought zones with volatility context
Combining with other indicators (e.g., price action or volume)
How the Relative Wave Indicator, Volatility-Based Candle Signals, and Multi-Time Period Charts Work Together
This strategy combines three core components—Relative Wave, Volatility Candle Signals, and Multi-Time Period Analysis—to build a layered, high-probability trading framework.
🔷 1. Relative Wave Indicator (used on 3-minute chart)
The Relative Wave Indicator is a momentum and volatility-based oscillator that tracks price movement within a defined range using historical highs and lows derived from standard deviation bands. It smooths price action using fast and slow custom EMAs to identify underlying trend strength and reversals.
Key Features:
Tracks short-term wave structure
Detects momentum shifts based on rising/falling conditions
Uses color-coded momentum signals to help spot turning points early
The wave line and overall momentum line help confirm the quality of trend setups
🔶 2. Volatility Candle-Based Indicator (used on 3-minute chart)
The Volatility Candle Signal highlights significant price action based on expanding or contracting volatility. This tool helps identify moments of potential breakout or reversal by evaluating candle size, wick structure, and deviation from recent ranges.
Key Purpose:
Pinpoints actionable moments when volatility is entering or exiting the market
Works in tandem with Relative Wave to validate whether a momentum shift is strong enough to act on
🕰 3. Multi-Time Period Chart Confirmation (30-minute & 2-hour)
To avoid false signals and ensure alignment with broader market context, two higher timeframes (30m and 2h) are used as confirmation filters.
How They Integrate:
The 30-minute chart provides mid-range trend direction—ideal for intraday bias
The 2-hour chart offers broader trend context and helps avoid trading against dominant macro trends
These are used as overlays or separate indicators that mirror Relative Wave or other trend-detection tools to show whether the short-term setup aligns with bigger picture momentum
✅ Optimal Setup
Execution Timeframe: 3-minute chart
Confirmation Timeframes: 30-minute and 2-hour charts
Ideal Conditions for Trade Entry:
Relative Wave shows bullish/bearish alignment (e.g., wave and momentum lines rising with value <50 for bulls, >50 for bears)
Volatility candles indicate a breakout or reversal
Both the 30m and 2h multi-timeframe indicators confirm the trend direction or support a momentum shift
This integrated approach minimizes noise and increases confidence in each trade setup by ensuring that short-term signals are supported by volatility behavior and broader market context.
[MAD] WaveBuilderThe WaveBuilder indicator is a powerful technical analysis tool that combines wave calculations, channel formation, and smoothing techniques to identify trends, reversals, and potential trading opportunities.
It provides users with customizable settings for different timeframes, smoothing averages, channel levels, and alert conditions, making it a comprehensive and versatile tool for analyzing market dynamics.
----------------------
Wave Settings:
The Wave Settings section in the Multitimeframe WaveTrend indicator allows you to configure parameters related to the wave calculations based on different timeframes and lengths. This section focuses on four different lengths. Here are the details of the Wave Settings (4 Lengths):
Timeframe 1 (TF1): This parameter allows you to select the first timeframe for the wave calculation. You can choose any valid timeframe.
Weight (F1): This setting represents the weight for Timeframe 1. It is a floating-point value that affects the impact of this timeframe in the wave calculation.
Multiplier 2 (TF2): This parameter specifies the multiplier for the second timeframe. It determines the ratio between Timeframe 2 and Timeframe 1.
Weight (F2): This setting represents the weight for Timeframe 2. It determines the influence of Timeframe 2 in the wave calculation.
Multiplier 3 (TF3): This parameter defines the multiplier for the third timeframe. It determines the ratio between Timeframe 3 and Timeframe 1.
Weight (F3): This setting represents the weight for Timeframe 3. It determines the impact of Timeframe 3 in the wave calculation.
Multiplier 4 (TF4): This parameter specifies the multiplier for the fourth timeframe. It determines the ratio between Timeframe 4 and Timeframe 1.
Weight (F4): This setting represents the weight for Timeframe 4. It determines the influence of Timeframe 4 in the wave calculation.
WaveBuilder Fast: This parameter sets the length of the fast wave average. It represents the number of bars considered in the calculation of the fast wave average.
WaveBuilder Slow: This parameter sets the length of the slow wave average. It represents the number of bars considered in the calculation of the slow wave average.
The Wave Settings allow you to configure different timeframes, multipliers, and weights for wave calculations. These settings provide flexibility in customizing the indicator's behavior based on your preferred trading strategy and market conditions.
----------------------
Counter Oscillator:
The Counter Oscillator section in the Multitimeframe WaveTrend indicator enables you to configure parameters related to a counter oscillator. This oscillator helps identify potential reversals or countertrend movements.
Here are the details of the Counter Oscillator settings:
Multiplier Counter (TF5): This parameter allows you to select the multiplier counter timeframe. It determines the ratio between the multiplier counter and the main timeframes.
Weight (F5): This setting represents the weight for the multiplier counter. It determines the influence of the multiplier counter in the counter oscillator calculation.
Length (will_length): This parameter sets the length or period of the counter oscillator. It represents the number of bars considered in the counter oscillator calculation.
The Counter Oscillator settings provide additional insights into the market by analyzing countertrend movements. By adjusting the multiplier counter and length parameters, you can customize the counter oscillator to suit your trading preferences.
----------------------
Wave Smoothing and Mixing:
The Wave Smoothing and Mixing section in the Multitimeframe WaveTrend indicator allows you to configure parameters related to the smoothing and mixing of the wave calculations. Here are the details of the Wave Smoothing and Mixing settings:
Average 1 Type: This parameter allows you to select the type of smoothing average for the first average. You have various options such as WMA, HMA, VWMA, LMA, RMA, SMA, EMA, and more.
Length 1: This setting determines the length or period of the first smoothing average. It represents the number of bars considered in the calculation.
Average 2 Type: This parameter allows you to select the type of smoothing average for the second average.
Length 2: This setting determines the length or period of the second smoothing average.
Mix Factor AVG1-AVG2: This parameter controls the mixing factor between the first and second smoothing averages. It affects the weighting or blending of the two averages.
POW - Factor: This parameter adjusts the power factor, which can compress or expand the resulting values. It allows you to fine-tune the output based on your preferences.
The Wave Smoothing and Mixing settings enable you to smooth the wave calculations and mix different averages to create a more refined and customized output. By selecting the desired smoothing types, adjusting the lengths, and modifying the mix factor and power factor, you can tailor the indicator to your specific trading style.
----------------------
Channel Levels and Alert Mode:
The Channel Levels and Alert Mode section in the Multitimeframe WaveTrend indicator allows you to configure parameters related to the channel levels and the alert mode. Here are the details of the Channel Levels and Alert Mode settings:
Channel Width: This parameter determines the width or range of the channel levels. It represents the distance between the upper and lower channel lines.
Channel Shift Up/Down: This setting allows you to shift the entire channel up or down. It represents the vertical offset of the channel lines.
Alert Mode (Alertmode): This parameter determines the type of alert triggered by the indicator based on the channel levels.
You have options such as Outside, CrossIn, CrossOut, ChangeDir-All, and ChangeDir-Outside.
Channel Levels: The upper and lower channel levels are calculated based on the channel width and offset. They provide visual boundaries for the price movement within the channel.
The Channel Levels and Alert Mode settings help define the channel levels and specify the conditions for generating alert notifications.
By adjusting the channel width, offset, and selecting the appropriate alert mode, you can customize the indicator's behavior according to your trading requirements.
----------------------
Dynamic Channel:
The Dynamic Channel section in the Multitimeframe WaveTrend indicator allows you to configure parameters related to the dynamic channel formation.
This feature helps create channels based on different smoothing averages.
Here are the details of the Dynamic Channel settings:
Channel Average 1 Type: This parameter allows you to select the type of smoothing average for the first channel average.
Length 1: This setting determines the length or period of the first channel average.
Channel Average 2 Type: This parameter allows you to select the type of smoothing average for the second channel average.
Length 2: This setting determines the length or period of the second channel average.
MA 1 / MA 2 Mix Factor: This parameter controls the mixing factor between the first and second channel averages. It affects the weighting or blending of the two averages.
Mixing Off Dynamic in Weight: This parameter allows you to mix off the dynamic in weight.
Smoothing Type: This parameter allows you to select the type of smoothing for the trend within the dynamic channel.
Smoothing Length: This setting determines the length or period of the trend smoothing within the dynamic channel.
The Dynamic Channel settings enable you to create channels based on different smoothing averages and adjust the weighting between them. Additionally, you can apply further smoothing to the trend within the dynamic channel. This feature helps identify trends and potential trade opportunities within the channel.
----------------------
Speed of Change Rate:
The Speed of Change Rate section in the Multitimeframe WaveTrend indicator allows you to configure parameters related to the rate of change in the indicator. Here are the details of the Speed of Change Rate settings:
Plot Speed (plot_speed): This setting determines whether to plot the speed of change on the chart.
Speed Scaling (change_factor): This parameter adjusts the scaling factor for the speed of change.
Speed Smoother (smoothtype_change): This parameter allows you to select the type of smoothing average for the speed of change calculation.
Speed Length (change_length): This setting determines the length or period of the speed of change calculation.
The Speed of Change Rate settings provide insights into the rate at which the indicator values are changing. By visualizing and analyzing the speed of change, you can identify potential acceleration or deceleration in the price movement.
----------------------
Signal Main Configuration:
The Signal Main Configuration section in the Multitimeframe WaveTrend indicator allows you to configure parameters related to the signal input and passthrough. Here are the details of the Signal Main Configuration settings:
Signal Type (inputtype): This parameter determines the type of signal input. You have options such as MultiBit and NoInput.
Select L1 Indicator Signal (inputModule): This parameter allows you to select the source of the L1 indicator signal. You can choose any valid input source, such as the closing price or another indicator.
Signal Passthrough (Passthrough): This setting enables or disables the passthrough of the signal. When enabled, the indicator passes the input signal to the output.
The Signal Main Configuration settings allow you to define the type of signal input and control whether to pass the signal through the indicator or not. This feature provides flexibility in integrating the indicator with other trading strategies or indicators.
----------------------
Multibit Modified Channel:
The Multibit Modified Channel section in the Multitimeframe WaveTrend indicator allows you to configure parameters related to the modified channel based on the multibit input. Here are the details of the Multibit Modified Channel settings:
Input Bull (CH_Trendup_in): This parameter allows you to specify the input channel for bullish signals.
Bull Offset (trendfactorbull): This setting determines the offset for the bullish signals in the modified channel.
Input Bear (CH_Trenddown_in): This parameter allows you to specify the input channel for bearish signals.
Bear Offset (trendfactorbaer): This setting determines the offset for the bearish signals in the modified channel.
The Multibit Modified Channel settings enable you to modify the channel based on the multibit input. By specifying the input channels for bullish and bearish signals and adjusting the respective offsets,
you can customize the channel representation based on your trading strategy.
Multibit Output:
The Multibit Output section in the Multitimeframe WaveBuilder indicator allows you to configure parameters related to the output of the multibit signals and alerts. Here are the details of the Multibit Output settings:
Output Bull (CH_Buy_out): This parameter specifies the output channel for bullish signals.
Output Bear (CH_Sell_out): This parameter specifies the output channel for bearish signals.
Show Alerts (showalerts): This setting determines whether to display alert notifications for the multibit signals.
The Multibit Output settings define the output channels for bullish and bearish signals and control the display of alert notifications. This allows you to visualize and receive alerts for the multibit signals generated by the indicator.
----------------
Here a overview from the settings
--------------------------------
The pipeline of the WaveBuilder can be understood in the following structured manner:
----------
Wave Calculation:
Wave calculation is performed using the input parameters, resulting in wave values.
The wave values are then averaged using Average 1 and Average 2, and the weighted average is obtained.
The weighted average is mixed with other factors to create a mixed value.
----------
Channel Formation:
The mixed value is multiplied by a weight to generate a dynamic part.
The dynamic part is combined with the static channel and the multibit modification to form a base value.
----------
Smoothing and Mixing:
The base value is averaged using Average 1 and Average 2, and the weighted average is calculated.
The mixed2 value is obtained by smoothing the weighted average.
The mixed2 value is further processed using power compression (POW) to refine the output.
----------
Plotting:
The final smoothed and processed values are plotted to visualize the indicator on the chart.
By following this pipeline, the WaveBuilder combines wave calculations, channel formation, smoothing techniques, and power compression to provide valuable insights into market trends and potential trading opportunities.
--------------------------------
Librarys used:
djmad/Signal_transcoder_library
djmad/MAD_MATH
djmad/Mad_Standardparts
Moving Average Resting Point [theEccentricTrader]█ OVERVIEW
This indicator uses peak and trough prices to calculate the moving average resting point and plots it as a line on the chart. The lookback length is variable and the indicator can plot up to three lines with different lookback lengths and colors.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a high price equal to or above the price it opened.
• A red candle is one that closes with a low price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Support and Resistance
• Support refers to a price level where the demand for an asset is strong enough to prevent the price from falling further.
• Resistance refers to a price level where the supply of an asset is strong enough to prevent the price from rising further.
Support and resistance levels are important because they can help traders identify where the price of an asset might pause or reverse its direction, offering potential entry and exit points. For example, a trader might look to buy an asset when it approaches a support level , with the expectation that the price will bounce back up. Alternatively, a trader might look to sell an asset when it approaches a resistance level , with the expectation that the price will drop back down.
It's important to note that support and resistance levels are not always relevant, and the price of an asset can also break through these levels and continue moving in the same direction.
Wave Cycles
A wave cycle is here defined as a complete two-part move between a swing high and a swing low, or a swing low and a swing high. As can be seen in the example above, the first swing high or swing low will set the course for the sequence of wave cycles that follow; a chart that begins with a swing low will form its first complete wave cycle upon the formation of the first complete swing high and vice versa.
Wave Length
Wave length is here measured in terms of bar distance between the start and end of a wave cycle. For example, if the current wave cycle ends on a swing low the wave length will be the difference in bars between the current swing low and current swing high. In such a case, if the current swing low completes on candle 100 and the current swing high completed on candle 95, we would simply subtract 95 from 100 to give us a wave length of 5 bars.
Average wave length is here measured in terms of total bars as a proportion as total waves. The average wavelength is calculated by dividing the total candles by the total wave cycles.
Wave Height
Wave height is here measured in terms of current range. For example, if the current peak price is 100 and the current trough price is 80, the wave height will be 20.
Amplitude
Amplitude is here measured in terms of current range divided by two. For example if the current peak price is 100 and the current trough price is 80, the amplitude would be calculated by subtracting 80 from 100 and dividing the answer by 2 to give us an amplitude of 10.
Resting Point
The resting point is here calculated by subtracting the current trough price from the current peak price and adding the difference to the current trough price to output the price in the middle of the two prices. Essentially it is the current trough price plus the amplitude. For example, if the current peak price is 100 and the current trough price is 80, the resting point 90.
The moving average resting point is here calculated by subtracting the moving average trough price from the moving average peak price, dividing the answer by two and adding the difference to the moving average trough price.
Frequency
Frequency is here measured in terms of wave cycles per second (Hertz). For example, if the total wave cycle count is 10 and the amount of time it has taken to complete these 10 cycles is 1-year (31,536,000 seconds), the frequency would be calculated by dividing 10 by 31,536,000 to give us a frequency of 0.00000032 Hz.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
█ FEATURES
Inputs
Show MARP 1
Show MARP 2
Show MARP 3
MARP 1 Length
MARP 2 Length
MARP 3 Length
MARP 1 Color
MARP 2 Color
MARP 3 Color
█ HOW TO USE
This indicator can be used like any other moving average indicator to analyse trend direction and momentum, identify potential support and resistance levels, or for filtering trading strategies and developing new ones.
Sine Wave TheoryThere are some ideas out there that the market is like a collection of quantum events and that it could all be broken down into sine waves. I created this script to put that to the test.
The idea is simple, I tested 3 different factors that could be put into sine wave form.
1.) Bar Change
2.) Volume Average Change
3.) Coin Flip
For the bar change, I simply allow the sine wave to move upwards or downwards if the bars have changed color in their sequence. For example, if there were 3 red bars and 1 green bar, it would not move the sine wave up or down until the green bar appeared.
For the average volume change, it was the same idea, except that the sine wave could only move up or down if the volume had moved up or below the average value of the length given for calculating the average volume.
Finally, the coin flip simply simulates flipping a coin, and allows the sine wave to move one direction or the other once it has a side that is different from the previous chosen side. For example, heads, heads, heads, tails (once it flipped to tails, this would allow it to move a direction).
The sine wave trading theory that I watched claimed that if you know the correct sine wave # (which is how large the peak is, and/or the sine wave count which is how many peaks and valleys occur) that you can successfully predict future trades. Their claims that the reason it does not look like a perfect sine wave for these events is because there is different amounts of trading going on, thus the timing will be slightly off.
I am posting this to disagree with their ideas. For example, if you select to turn on trading for coin flip and turn off bar change, you will see the coin flip did better on the default settings!
It just so happens that any setting will eventually be good, making all the sine wave variations just completely random if you win or not.
I posted this to demonstrate how silly trading sine waves is. The real trick is using cosine and tangent waves... lol j/k
I hope this helps someone avoid this scam concept.
Cyclic Smoothed RSI with Motive-Corrective Wave Indicator
This indicator uses the cyclic smoothed Relative Strength Index (cRSI) instead of the traditional Relative Strength Index (RSI). See below for more info on the benefits to the cRSI.
My key contributions
1) A Weighted Moving Average (WMA) to track the general trend of the cRSI signal. This is very helpful in determining when the equity switches from bullish to bearish, which can be used to determine buy/sell points. This is then is used to color the region between the upper and lower cRSI bands (green above, red below).
2) An attempt to detect the motive (impulse) and corrective and waves. Corrective waves are indicated A, B, C, D, E, F, G. F and G waves are not technically Elliot Waves, but the way I detect waves it is really hard to always get it right. Once and a while you could actually see G and F a second time. Motive waves are identified as s (strong) and w (weak). Strong waves have a peak above the cRSI upper band and weak waves have a peak below the upper band.
3) My own divergence indicator for bull, hidden bull, bear, and hidden bear. I was not able to replicate the TradingView style of drawing a line from peak to peak, but for this indicator I think in the end it makes the chart cleaner.
There is a latency issue with an indicator that is based on moving averages. That means they tend to trigger right after key events. Perfect timing is not possible strictly with these indicators, but they do work very well "on average." However, my implementation has minimal latency as peaks (tops/bottoms) only require one bar to detect.
As a bit of an Easter Egg, this code can be tweaked and run as a strategy to get buy/sell signals. I use this code for both my indicator and for trading strategy. Just copy and past it into a new strategy script and just change it from study to a strategy, something like this:
strategy("cRSI + Waves Strategy with VWMA overlay", overlay=overlay)
The buy/sell code is at the end and just needs to be uncommented. I make no promises or guarantees about how good it is as a strategy, but it gives you some code and ideas to work with.
Tuning
1) Volume Weighted Moving Average (VWMA): This is a “hidden strategy” feature implemented that will display the high-low bands of the VWMA on the price chart if run the code using “overlay = true”.
- If the equity does not have volume, then the VWMA will not show up. Uncheck this box and it will use the regular WMA (no volume).
- defines how far back the WMA averages price.
2) cRSI (Black line in the indicator)
- Increase to length that amount of time a band (upper/lower) stays high/low after a peak. Reduce the value to shorten the time. Just increment it up/down to see the effect.
- defines how far back the SMA averages the cRSI. This affects the purple line in the indicator.
- defines how many bars back the peak detector looks to determine if a peak has occurred. For example, a top is detected like this: current-bar down relative to the 1-bar-back, 1-bar-back up relative to 2-bars-back (look back = 1), c) 2-bars-back up relative to 3-bars-back (lookback = 2), and d) 3-bars-back up relative to 4-bars-back (lookback = 3). I hope that makes sense. There are only 2 options for this setting: 2 or 3 bars. 2 bars will be able to detect small peaks but create more “false” peaks that may not be meaningful. 3 bars will be more robust but can miss short duration peaks.
3) Waves
- The check boxes are self explanatory for which labels they turn on and off on the plot.
4) Divergence Indicators
- The check boxes are self explanatory for which labels they turn on and off on the plot.
Hints
- The most common parameter to change is the . Different stocks will have different levels of strength in their peaks. A setting of 2 may generate too many corrective waves.
- Different times scales will give you different wave counts. This is to be expected. A counter impulse wave inside a corrective wave may actually go above the cRSI WMA on a smaller time frame. You may need to increase it one or two levels to see large waves.
- Just because you see divergence (bear or hidden bear) does not mean a price is going to go down. Often price continues to rise through bears, so take note and that is normal. Bulls are usually pretty good indicators especially if you see them on C,E,G waves.
----------------------------------------------------------------------------------------------------------------------------
cyclic smoothed RSI (cRSI) indicator
----------------------------------------------------------------------------------------------------------------------------
The “core” code for the cyclic smoothed RSI (cRSI) indicator was written by Lars von Theinen and is subject to the terms of the Mozilla Public License 2.0 at mozilla.org Copyright (C) 2017 CC BY, whentotrade / Lars von Thienen. For more details on the cRSI Indicator:
The cyclic smoothed RSI indicator is an enhancement of the classic RSI, adding
1) additional smoothing according to the market vibration,
2) adaptive upper and lower bands according to the cyclic memory and
3) using the current dominant cycle length as input for the indicator.
It is much more responsive to market moves than the basic RSI. The indicator uses the dominant cycle as input to optimize signal, smoothing, and cyclic memory. To get more in-depth information on the cyclic-smoothed RSI indicator, please read Decoding The Hidden Market Rhythm - Part 1: Dynamic Cycles (2017), Chapter 4: "Fine-tuning technical indicators." You need to derive the dominant cycle as input parameter for the cycle length as described in chapter 4.
Hope this helps and good luck.
[blackcat] L1 Elliott Wave3 CatcherLevel: 1
Background
Elliott wave theory is a method of technical analysis that looks for recurring long-term price patterns that are related to persistent changes in investor sentiment and psychology. The theory identifies waves that are identified as impulse waves that form a pattern and corrective waves that counteract the larger trend.
Function
L1 Elliott Wave3 Catcher is trying to observe Elliott wave more clear with different color candles.
Key Signal
var7 --> bull reveral signal which exists along motive wave
var7-var9 --> long in green color; short in red color; retracement in fuchsia color
var26/27/28 --> they are used for wave swing low detection and long entry
Pros and Cons
Pros:
1. Exhibit Elliott waves in different color candles
2. Highlight motive wave with yellow candles
3. Detect bottom and long entry points
Cons:
1. No complete long and short entries can be obtained
2. It cannot be applied for crypto due to lack of financial() functions
Remarks
Tribute to Elliott
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
Any Problems with ELLIOTT WAVES? Here my secret to count the EW!Hi at all!
Have someone any problems to count the Elliott Waves correctly? Then use my modified indicator.
The indicator shows a fast and a slow RSI oscillator.
I use this indicator to find the 3. wave on any big wave -> so I can find always trend wave und can indicate with that than the correction wave.
I set an example on the chart, so you can look at the peaks the RSI oscillator shows. The highest peak show the 3. wave of Elliott Waves. If you know the 3. wave you can immediately see the wave 1, 2 and of course 4 and 5.
For better instruction this indicator get green and red, if the fast RSI is higher or lower than the slow RSI. This color changing helps also to see every spectrum of a wave.
UCS_TTM_Wave A & B & CThis is a replica of TTM Wave A B C.
The ABC Waves are comprised of various moving averages and oscillators (MACD) used to visualize the overall strength and direction of a given market across multiple time frames.
The “A Wave” measures short term relative strength and direction of a market, the “C Wave” measures longer term strength and the “B Wave” plots the same for a medium time period.
Here is the link to the ACTUAL Indicator - members.simpleroptions.com
Instruction -
Load the Indicator three times, Turn Off the Other two Waves. For eg., Wave A - Check / Wave B - Uncheck / Wave C - Uncheck. = This will plot Wave A.
PaddingThe Padding library is a comprehensive and flexible toolkit designed to extend time series data within TradingView, making it an indispensable resource for advanced signal processing tasks such as FFT, filtering, convolution, and wavelet analysis. At its core, the library addresses the common challenge of edge effects by "padding" your data—that is, by appending additional data points beyond the natural boundaries of your original dataset. This extension not only mitigates the distortions that can occur at the endpoints but also helps to maintain the integrity of various transformations and calculations performed on the series. The library accomplishes this while preserving the ordering of your data, ensuring that the most recent point always resides at index 0.
Central to the functionality of this library are two key enumerations: Direction and PaddingType. The Direction enum determines where the padding will be applied. You can choose to extend the data in the forward direction (ahead of the current values), in the backward direction (behind the current values), or in both directions simultaneously. The PaddingType enum defines the specific method used for extending the data. The library supports several methods—including symmetric, reflect, periodic, antisymmetric, antireflect, smooth, constant, and zero padding—each of which has been implemented to suit different analytical scenarios. For instance, symmetric padding mirrors the original data across its boundaries, while reflect padding continues the trend by reflecting around endpoint values. Periodic padding repeats the data, and antisymmetric padding mirrors the data with alternating signs to counterbalance it. The antireflect and smooth methods take into account the derivatives of your data, thereby extending the series in a way that preserves or smoothly continues these derivative values. Constant and zero padding simply extend the series using fixed endpoint values or zeros. Together, these enums allow you to fine-tune how your data is extended, ensuring that the padding method aligns with the specific requirements of your analysis.
The library is designed to work with both single variable inputs and array inputs. When using array-based methods—particularly with the antireflect and smooth padding types—please note that the implementation intentionally discards the last data point as a result of the delta computation process. This behavior is an important consideration when integrating the library into your TradingView studies, as it affects the overall data length of the padded series. Despite this, the library’s structure and documentation make it straightforward to incorporate into your existing scripts. You simply provide your data source, define the length of your data window, and select the desired padding type and direction, along with any optional parameters to control the extent of the padding (using both_period, forward_period, or backward_period).
In practical application, the Padding library enables you to extend historical data beyond its original range in a controlled and predictable manner. This is particularly useful when preparing datasets for further signal processing, as it helps to reduce artifacts that can otherwise compromise the results of your analytical routines. Whether you are an experienced Pine Script developer or a trader exploring advanced data analysis techniques, this library offers a robust solution that enhances the reliability and accuracy of your studies by ensuring your algorithms operate on a more complete and well-prepared dataset.
Library "Padding"
A comprehensive library for padding time series data with various methods. Supports both single variable and array inputs, with flexible padding directions and periods. Designed for signal processing applications including FFT, filtering, convolution, and wavelets. All methods maintain data ordering with most recent point at index 0.
symmetric(source, series_length, direction, both_period, forward_period, backward_period)
Applies symmetric padding by mirroring the input data across boundaries
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with symmetric padding applied
method symmetric(source, direction, both_period, forward_period, backward_period)
Applies symmetric padding to an array by mirroring the data across boundaries
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with symmetric padding applied
reflect(source, series_length, direction, both_period, forward_period, backward_period)
Applies reflect padding by continuing trends through reflection around endpoint values
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with reflect padding applied
method reflect(source, direction, both_period, forward_period, backward_period)
Applies reflect padding to an array by continuing trends through reflection around endpoint values
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with reflect padding applied
periodic(source, series_length, direction, both_period, forward_period, backward_period)
Applies periodic padding by repeating the input data
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with periodic padding applied
method periodic(source, direction, both_period, forward_period, backward_period)
Applies periodic padding to an array by repeating the data
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with periodic padding applied
antisymmetric(source, series_length, direction, both_period, forward_period, backward_period)
Applies antisymmetric padding by mirroring data and alternating signs
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with antisymmetric padding applied
method antisymmetric(source, direction, both_period, forward_period, backward_period)
Applies antisymmetric padding to an array by mirroring data and alternating signs
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with antisymmetric padding applied
antireflect(source, series_length, direction, both_period, forward_period, backward_period)
Applies antireflect padding by reflecting around endpoints while preserving derivatives
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with antireflect padding applied
method antireflect(source, direction, both_period, forward_period, backward_period)
Applies antireflect padding to an array by reflecting around endpoints while preserving derivatives
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with antireflect padding applied. Note: Last data point is lost when using array input
smooth(source, series_length, direction, both_period, forward_period, backward_period)
Applies smooth padding by extending with constant derivatives from endpoints
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with smooth padding applied
method smooth(source, direction, both_period, forward_period, backward_period)
Applies smooth padding to an array by extending with constant derivatives from endpoints
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with smooth padding applied. Note: Last data point is lost when using array input
constant(source, series_length, direction, both_period, forward_period, backward_period)
Applies constant padding by extending endpoint values
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with constant padding applied
method constant(source, direction, both_period, forward_period, backward_period)
Applies constant padding to an array by extending endpoint values
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with constant padding applied
zero(source, series_length, direction, both_period, forward_period, backward_period)
Applies zero padding by extending with zeros
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with zero padding applied
method zero(source, direction, both_period, forward_period, backward_period)
Applies zero padding to an array by extending with zeros
Namespace types: array
Parameters:
source (array) : Array of values to pad
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with zero padding applied
pad_data(source, series_length, padding_type, direction, both_period, forward_period, backward_period)
Generic padding function that applies specified padding type to input data
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
padding_type (series PaddingType) : Type of padding to apply (see PaddingType enum)
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with specified padding applied
method pad_data(source, padding_type, direction, both_period, forward_period, backward_period)
Generic padding function that applies specified padding type to array input
Namespace types: array
Parameters:
source (array) : Array of values to pad
padding_type (series PaddingType) : Type of padding to apply (see PaddingType enum)
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to array length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to array length if not specified
Returns: Array ordered with most recent point at index 0, containing original data with specified padding applied. Note: Last data point is lost when using antireflect or smooth padding types
make_padded_data(source, series_length, padding_type, direction, both_period, forward_period, backward_period)
Creates a window-based padded data series that updates with each new value. WARNING: Function must be called on every bar for consistency. Do not use in scopes where it may not execute on every bar.
Parameters:
source (float) : Input value to pad from
series_length (int) : Length of the data window
padding_type (series PaddingType) : Type of padding to apply (see PaddingType enum)
direction (series Direction) : Direction to apply padding
both_period (int) : Optional - periods to pad in both directions. Overrides forward_period and backward_period if specified
forward_period (int) : Optional - periods to pad forward. Defaults to series_length if not specified
backward_period (int) : Optional - periods to pad backward. Defaults to series_length if not specified
Returns: Array ordered with most recent point at index 0, containing windowed data with specified padding applied
Weierstrass Function (Fractal Cycles)THE WEIERSTRASS FUNCTION
f(x) = ∑(n=0)^∞ a^n * cos(b^n * π * x)
The Weierstrass Function is the sum of an infinite series of cosine functions, each with increasing frequency and decreasing amplitude. This creates powerful multi-scale oscillations within the range ⬍(-2;+2), resembling a system of self-repetitive patterns. You can zoom into any part of the output and observe similar proportions, mimicking the hidden order behind the irregularity and unpredictability of financial markets.
IT DOESN’T RELY ON ANY MARKET DATA, AS THE OUTPUT IS BASED PURELY ON A MATHEMATICAL FORMULA!
This script does not provide direct buy or sell signals and should be used as a tool for analyzing the market behavior through fractal geometry. The function is often used to model complex, chaotic systems, including natural phenomena and financial markets.
APPLICATIONS:
Timing Aspect: Identifies the phases of market cycles, helping to keep awareness of frequency of turning points
Price-Modeling features: The Amplitude, frequency, and scaling settings allow the indicator to simulate the trends and oscillations. Its nowhere-differentiable nature aligns with the market's inherent uncertainty. The fractured oscillations resemble sharp jumps, noise, and dips found in volatile markets.
SETTINGS
Amplitude Factor (a): Controls the size of each wave. A higher value makes the waves larger.
Frequency Factor (b): Determines how fast the waves oscillate. A higher value creates more frequent waves.
Ability to Invert the output: Just like any cosine function it starts its journey with a decline, which is not distinctive to the behavior of most assets. The default setting is in "inverted mode".
Scale Factor: Adjusts the speed at which the oscillations grow over time.
Number of Terms (n_terms): Increases the number of waves. More terms add complexity to the pattern.
MACD Fake Filter [RH]Introducing a new indicator for the TradingView community based on the MACD indicator! This innovative tool goes beyond traditional MACD signals by analyzing positive and negative waves to determine the average height of the waves to filter false cross-over or cross-under signals during the sideways market.
There are two types of waves created by the MACD line, one is a positive wave above the "zero" line and another is a negative wave below "zero" line. Each wave has peaks. This indicator will find the average height of the positive waves' peaks and plot as a green line(by default). Vice-versa it will also find the average height of the negative waves' peaks and plot as a red line(by default).
Example :
This indicator will show labels when the MACD line crosses-under the MACD signal line above the average height of the positive waves.
Vice-versa, the indicator will show labels when the MACD line crosses-above the MACD signal line below the average height of the negative waves.
Example:
Alerts are also available for these types of cross-over and cross-under.
GKD-V Weis Wave [Loxx]Giga Kaleidoscope GKD-V Weis Wave is a Volatility/Volume module included in Loxx's "Giga Kaleidoscope Modularized Trading System".
█ Giga Kaleidoscope Modularized Trading System
What is Loxx's "Giga Kaleidoscope Modularized Trading System"?
The Giga Kaleidoscope Modularized Trading System is a trading system built on the philosophy of the NNFX (No Nonsense Forex) algorithmic trading.
What is the NNFX algorithmic trading strategy?
The NNFX (No-Nonsense Forex) trading system is a comprehensive approach to Forex trading that is designed to simplify the process and remove the confusion and complexity that often surrounds trading. The system was developed by a Forex trader who goes by the pseudonym "VP" and has gained a significant following in the Forex community.
The NNFX trading system is based on a set of rules and guidelines that help traders make objective and informed decisions. These rules cover all aspects of trading, including market analysis, trade entry, stop loss placement, and trade management.
Here are the main components of the NNFX trading system:
1. Trading Philosophy: The NNFX trading system is based on the idea that successful trading requires a comprehensive understanding of the market, objective analysis, and strict risk management. The system aims to remove subjective elements from trading and focuses on objective rules and guidelines.
2. Technical Analysis: The NNFX trading system relies heavily on technical analysis and uses a range of indicators to identify high-probability trading opportunities. The system uses a combination of trend-following and mean-reverting strategies to identify trades.
3. Market Structure: The NNFX trading system emphasizes the importance of understanding the market structure, including price action, support and resistance levels, and market cycles. The system uses a range of tools to identify the market structure, including trend lines , channels, and moving averages.
4. Trade Entry: The NNFX trading system has strict rules for trade entry. The system uses a combination of technical indicators to identify high-probability trades, and traders must meet specific criteria to enter a trade.
5. Stop Loss Placement: The NNFX trading system places a significant emphasis on risk management and requires traders to place a stop loss order on every trade. The system uses a combination of technical analysis and market structure to determine the appropriate stop loss level.
6. Trade Management: The NNFX trading system has specific rules for managing open trades. The system aims to minimize risk and maximize profit by using a combination of trailing stops, take profit levels, and position sizing.
Overall, the NNFX trading system is designed to be a straightforward and easy-to-follow approach to Forex trading that can be applied by traders of all skill levels.
Core components of an NNFX algorithmic trading strategy
The NNFX algorithm is built on the principles of trend, momentum, and volatility . There are six core components in the NNFX trading algorithm:
1. Volatility - price volatility ; e.g., Average True Range , True Range Double, Close-to-Close, etc.
2. Baseline - a moving average to identify price trend
3. Confirmation 1 - a technical indicator used to identify trends
4. Confirmation 2 - a technical indicator used to identify trends
5. Continuation - a technical indicator used to identify trends
6. Volatility / Volume - a technical indicator used to identify volatility / volume breakouts/breakdown
7. Exit - a technical indicator used to determine when a trend is exhausted
What is Volatility in the NNFX trading system?
In the NNFX (No Nonsense Forex) trading system, ATR ( Average True Range ) is typically used to measure the volatility of an asset. It is used as a part of the system to help determine the appropriate stop loss and take profit levels for a trade. ATR is calculated by taking the average of the true range values over a specified period.
True range is calculated as the maximum of the following values:
-Current high minus the current low
-Absolute value of the current high minus the previous close
-Absolute value of the current low minus the previous close
ATR is a dynamic indicator that changes with changes in volatility . As volatility increases, the value of ATR increases, and as volatility decreases, the value of ATR decreases. By using ATR in NNFX system, traders can adjust their stop loss and take profit levels according to the volatility of the asset being traded. This helps to ensure that the trade is given enough room to move, while also minimizing potential losses.
Other types of volatility include True Range Double ( TRD ), Close-to-Close, and Garman-Klass
What is a Baseline indicator?
The baseline is essentially a moving average, and is used to determine the overall direction of the market.
The baseline in the NNFX system is used to filter out trades that are not in line with the long-term trend of the market. The baseline is plotted on the chart along with other indicators, such as the Moving Average (MA), the Relative Strength Index ( RSI ), and the Average True Range (ATR).
Trades are only taken when the price is in the same direction as the baseline. For example, if the baseline is sloping upwards, only long trades are taken, and if the baseline is sloping downwards, only short trades are taken. This approach helps to ensure that trades are in line with the overall trend of the market, and reduces the risk of entering trades that are likely to fail.
By using a baseline in the NNFX system, traders can have a clear reference point for determining the overall trend of the market, and can make more informed trading decisions. The baseline helps to filter out noise and false signals, and ensures that trades are taken in the direction of the long-term trend.
What is a Confirmation indicator?
Confirmation indicators are technical indicators that are used to confirm the signals generated by primary indicators. Primary indicators are the core indicators used in the NNFX system, such as the Average True Range (ATR), the Moving Average (MA), and the Relative Strength Index ( RSI ).
The purpose of the confirmation indicators is to reduce false signals and improve the accuracy of the trading system. They are designed to confirm the signals generated by the primary indicators by providing additional information about the strength and direction of the trend.
Some examples of confirmation indicators that may be used in the NNFX system include the Bollinger Bands , the MACD (Moving Average Convergence Divergence), and the Stochastic Oscillator. These indicators can provide information about the volatility , momentum, and trend strength of the market, and can be used to confirm the signals generated by the primary indicators.
In the NNFX system, confirmation indicators are used in combination with primary indicators and other filters to create a trading system that is robust and reliable. By using multiple indicators to confirm trading signals, the system aims to reduce the risk of false signals and improve the overall profitability of the trades.
What is a Continuation indicator?
In the NNFX (No Nonsense Forex) trading system, a continuation indicator is a technical indicator that is used to confirm a current trend and predict that the trend is likely to continue in the same direction. A continuation indicator is typically used in conjunction with other indicators in the system, such as a baseline indicator, to provide a comprehensive trading strategy.
What is a Volatility / Volume indicator?
Volume indicators, such as the On Balance Volume (OBV), the Chaikin Money Flow ( CMF ), or the Volume Price Trend ( VPT ), are used to measure the amount of buying and selling activity in a market. They are based on the trading volume of the market, and can provide information about the strength of the trend. In the NNFX system, volume indicators are used to confirm trading signals generated by the Moving Average and the Relative Strength Index . Volatility indicators include Average Direction Index, Waddah Attar, and Volatility Ratio. In the NNFX trading system, volatility is a proxy for volume and vice versa.
By using volume indicators as confirmation tools, the NNFX trading system aims to reduce the risk of false signals and improve the overall profitability of trades. These indicators can provide additional information about the market that is not captured by the primary indicators, and can help traders to make more informed trading decisions. In addition, volume indicators can be used to identify potential changes in market trends and to confirm the strength of price movements.
What is an Exit indicator?
The exit indicator is used in conjunction with other indicators in the system, such as the Moving Average (MA), the Relative Strength Index ( RSI ), and the Average True Range (ATR), to provide a comprehensive trading strategy.
The exit indicator in the NNFX system can be any technical indicator that is deemed effective at identifying optimal exit points. Examples of exit indicators that are commonly used include the Parabolic SAR , the Average Directional Index ( ADX ), and the Chandelier Exit .
The purpose of the exit indicator is to identify when a trend is likely to reverse or when the market conditions have changed, signaling the need to exit a trade. By using an exit indicator, traders can manage their risk and prevent significant losses.
In the NNFX system, the exit indicator is used in conjunction with a stop loss and a take profit order to maximize profits and minimize losses. The stop loss order is used to limit the amount of loss that can be incurred if the trade goes against the trader, while the take profit order is used to lock in profits when the trade is moving in the trader's favor.
Overall, the use of an exit indicator in the NNFX trading system is an important component of a comprehensive trading strategy. It allows traders to manage their risk effectively and improve the profitability of their trades by exiting at the right time.
How does Loxx's GKD (Giga Kaleidoscope Modularized Trading System) implement the NNFX algorithm outlined above?
Loxx's GKD v1.0 system has five types of modules (indicators/strategies). These modules are:
1. GKD-BT - Backtesting module ( Volatility , Number 1 in the NNFX algorithm)
2. GKD-B - Baseline module (Baseline and Volatility / Volume , Numbers 1 and 2 in the NNFX algorithm)
3. GKD-C - Confirmation 1/2 and Continuation module (Confirmation 1/2 and Continuation, Numbers 3, 4, and 5 in the NNFX algorithm)
4. GKD-V - Volatility / Volume module (Confirmation 1/2, Number 6 in the NNFX algorithm)
5. GKD-E - Exit module (Exit, Number 7 in the NNFX algorithm)
(additional module types will added in future releases)
Each module interacts with every module by passing data between modules. Data is passed between each module as described below:
GKD-B => GKD-V => GKD-C(1) => GKD-C(2) => GKD-C(Continuation) => GKD-E => GKD-BT
That is, the Baseline indicator passes its data to Volatility / Volume . The Volatility / Volume indicator passes its values to the Confirmation 1 indicator. The Confirmation 1 indicator passes its values to the Confirmation 2 indicator. The Confirmation 2 indicator passes its values to the Continuation indicator. The Continuation indicator passes its values to the Exit indicator, and finally, the Exit indicator passes its values to the Backtest strategy.
This chaining of indicators requires that each module conform to Loxx's GKD protocol, therefore allowing for the testing of every possible combination of technical indicators that make up the six components of the NNFX algorithm.
What does the application of the GKD trading system look like?
Example trading system:
Backtest: Strategy with 1-3 take profits, trailing stop loss, multiple types of PnL volatility , and 2 backtesting styles
Baseline: Hull Moving Average
Volatility/Volume: Weis Wave as shown on the chart above
Confirmation 1: Vortex
Confirmation 2: Williams Percent Range
Continuation: Fisher Transform
Exit: Rex Oscillator
Each GKD indicator is denoted with a module identifier of either: GKD-BT, GKD-B, GKD-C, GKD-V, or GKD-E. This allows traders to understand to which module each indicator belongs and where each indicator fits into the GKD protocol chain.
Giga Kaleidoscope Modularized Trading System Signals (based on the NNFX algorithm)
Standard Entry
1. GKD-C Confirmation 1 Signal
2. GKD-B Baseline agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility / Volume agrees
Baseline Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility / Volume agrees
6. GKD-C Confirmation 1 signal was less than 7 candles prior
Continuation Entry
1. Standard Entry, Baseline Entry, or Pullback; entry triggered previously
2. GKD-B Baseline hasn't crossed since entry signal trigger
3. GKD-C Confirmation Continuation Indicator signals
4. GKD-C Confirmation 1 agrees
5. GKD-B Baseline agrees
6. GKD-C Confirmation 2 agrees
1-Candle Rule Standard Entry
1. GKD-C Confirmation 1 signal
2. GKD-B Baseline agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
Next Candle:
1. Price retraced (Long: close < close or Short: close > close)
2. GKD-B Baseline agrees
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility / Volume agrees
1-Candle Rule Baseline Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 1 signal was less than 7 candles prior
Next Candle:
1. Price retraced (Long: close < close or Short: close > close)
2. GKD-B Baseline agrees
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility / Volume Agrees
PullBack Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is beyond 1.0x Volatility of Baseline
Next Candle:
1. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility / Volume Agrees
█ GKD-C Weis Wave
What is Weis Wave?
The Weis Wave Indicator is a technical analysis tool used by traders to analyze market trends and identify potential turning points in financial markets. It was developed by David Weis, a trader and market analyst with over 45 years of experience.
The Weis Wave Indicator is based on the principles of market waves, which are the repetitive patterns of market behavior that occur in financial markets. These waves are characterized by price movements that occur in a series of up and down trends, and they are used by traders to identify potential market reversals or breakouts.
The Weis Wave Indicator is a histogram that represents the difference between the cumulative sum of the bullish and bearish waves. The indicator is plotted on a chart as a series of bars that change color depending on the direction of the market trend. If the market is trending up, the bars will be green, while if the market is trending down, the bars will be red.
The formula for the Weis Wave Indicator is based on the accumulation and distribution of volume over time. It uses a cumulative delta volume calculation to determine the strength of market trends and identify potential turning points. The formula is as follows:
Weis Wave Volume = Net Buying Volume - Net Selling Volume
The Weis Wave Indicator is used by traders to identify potential market trends and turning points. It is particularly useful in identifying market breakouts and reversals, as well as in detecting divergences between price and volume. The indicator is commonly used in conjunction with other technical analysis tools, such as moving averages, trend lines, and support and resistance levels, to confirm market trends and generate trading signals.
Specifically, the Weis Wave Volume Indicator is an oscillator that measures the volume of price changes. It combines both momentum and volume to indicate buying and selling pressure. The indicator is designed to show a bull market when the volume is increasing and the price is rising, and a bear market when the volume is decreasing and the price is falling ¹.
The Weis Wave Plugin creates wave charts along with their corresponding wave volume. Wave charts were first created by Richard D. Wyckoff. In his famous course on stock market technique, he instructed students to “think in waves.” Wave analysis was an integral part of his trading method. The Weis Wave is an adaptation of Wyckoff’s method that handles today’s volatile markets ².
This indicator has the option of either ATR, volume, or partial close for source input.
(1) Weis Wave Volume Indicator - Trend Following System. www.trendfollowingsystem.com Accessed 4/7/2023.
(2) Weis Wave Plugin: A Modern Adaptation of the Wyckoff Wave & Volume. weisonwyckoff.com Accessed 4/7/2023.
(3) Weis Wave Volume Indicator: Simple But Extremely Effective. howtotradeblog.com Accessed 4/7/2023.
(4) How to use the Weis Waves indicator in ATAS. atas.net Accessed 4/7/2023.
Requirements
Inputs
Chained: GKD-B Baseline
Solo: NA, no inputs
Baseline + Volatility/Volume: GKD-B Baseline
Outputs
Chained: GKD-C indicators Confirmation 1 or Solo Confirmation Complex
Solo: GKD-BT Backtest
Baseline + Volatility/Volume: GKD-BT Backtest
Additional features will be added in future releases.
Direction Analysis WavesDescription
It is an indicator that aims to provide information about the direction of the trend, the basis of which is the CCI, CMO and MFI indices.
Symbols on the indicator are for informational purposes. Information about colors and symbols is given below.
Blue Wave: Graphical representation of the Commodity Channel Index (CCI) curve.
Green/Red Wave: Graphical representation of the Chande Momentum Oscillator (CMO) curve. This curve turns green when it rises above zero, and turns red when it falls below zero.
Yellow Wave: Graphical representation of the Money Flow Index (MFI) curve.
Blue Line: CCI line.
Green/Red Cross: CCI line shows green cross on red cross below 0 value.
Warning
As a result, this indicator should be expected to give an idea of the trend direction, not a trading signal.
Version
v1.0
Squeeze M + ADX + TTM (Trading Latino & John Carter) by [Rolgui]About this indicator:
This indicator aims to combine two good performing strategies, which can be used separately or together, mainly for investment positions, although it can also be used for intraday trading.
Strategy 1) Squeeze Oscillator and Average Directional Index:
This strategy is taught by Jaime Aibsai, which determines market entries based on reading the direction of the price movement (Directionality of the Oscillator) along with the strength of the Oscillator (Slope of the ADX).
Both tools are configured according to Jaime Abisai's strategy, by default (note that point 23 of the ADX is represented by point 0 on the panel, to make reading easier, its interpretation is not affected). Anyway you can adjust the input data according to your interest.
*You can see this setting in the first panel.
Strategy 2) Squeeze Momentum and Trade The Market Waves:
This strategy can be consulted either in John F. Carter's books or on his website.
This market reading is based on Price Volatility (Bollinger Bands and Keltner Channels interaction) and its Trend (Exponential Moving Averages), showing entries at times when price volatility is low and taking filtering active trend using T.T.M. Waves.
To configure the indicator in the same way that Carter does, it would be enough to turn off the ADX, turn on the Squeeze Momentum signals along with the T.T.M. Waves, and importantly, change the Linear Momentum value to 12 (this configuration can be found in his book).
*You can see this setting in the second panel.
Why this indicator?
I've added and removed the above flags as I needed to query them (which became tedious for me). The main objective of having merged them into one is to make their reading more agile and comfortable and thus improve the decision-making capacity of the trader who wishes to use them.
Credits and Acknowledgments:
I would like to give credits to other authors, for the sections of code that I have used to make this technical indicator. Thanks to @LazyBear, @matetaronna, @jombie and @joren for contributing to the community and keeping their code open. It is priceless!
Feel free to combine and practice your trading with both strategies, personally, they improved my profitability and this is why I recommend researching more about them. I've been using it for crypto investing, let me know if it's worth for you on stock market!
If you have any questions or suggestions you can leave it in the comments!
Greetings!
VolatWave‴ | Volatility Wave‴What does it do?
This indicator allows you to identify possible asset top and bottom reversals by having a prior Volatility acting among the price movement with a sequential positive (top reversal) or negative (bottom reversal) waves.
How does it work?
Everytime the wave starts showing a curved top movement (ascending price movment) or a curved bottom movement (descending price movment), it might be signing that a price reversal is on its way. It is possible to adjust the wave shape by increasing/decreasing its gradient value analysis, but it's so easy to use that most of the times no reconfiguration is needed, just add it and let it guide you.
Important to mention that the positive wave band, histogram bars and moving average line are calculate totally separete from the the negative wave.
What's my filling?
I'm still testing this indicator for only a week and so far still trying to understand its signs. I'm using it in conjunction with Volume Wave (VolWave) and Price Spread Wave (PSWave).
Indicator attributes:
- generally waves formation makes a symmetrical arc
- when the second half of a wave is elongated (compared to its first half), it suggests a lack of directional force of the current movement
- peak / bottom formation suggests reversal of the current movement
- smaller amplitude of a wave (compared to the previous wave) suggests loss of power, and vice-verse
- indicates divergence indication between peaks / bottoms
- when the volatility bar touches the volatility wave band, it suggests imminent reversal of the current movement
- wave band opening suggests movement increasing strength in that direction
- wavelengths (distance between two peaks / bottoms) tend to be similar
- subsequent wave rarely occurs
Technical information:
- the calculation of the positive movement is independent of the calculation of the positive movement
- the black line in the upper and lower zone is the average of the wave that is overcome, suggests strength in movement
- bands suggest delimitation of a wave's peak / bottom
To have access to this indicator, please DM me.
Don't contact me in the comment area.
Weis Pip Wave jayyWhat you see here is the Weis pip wave. The Weis pip wave shows how far in price a Weis wave has traveled through the duration of a Weis wave. The Weis pip wave is used in combination with the Weis cumulative volume wave. The two waves must be set to the same "wave size" and using the same method as described by Weis.
Using the traditional Weis method simply enter the desired wave size in the box "Select Weis Wave Size". In the example shown, it is set to 5 points. Each wave for each security and each timeframe requires its own wave size. Although not the traditional method a more automatic way to set wave size would be to use ATR. This is not the true Weis method but it does give you similar waves and, importantly, without the hassle of selecting a wave size for every chart. Once the Weis wave size is set then the pip wave will be shown.
I have put a zigzag of a 5 point Weis wave on the above bar chart. I have added it to allow your eye to get a better appreciation for Weis wave pivot points. You will notice that the wave is not in straight lines connecting wave tops to bottoms this is a function of the limitations of Pinescript version 1. This script would need to be in version 4 to allow straight lines. I will elaborate on the Weis pip zigzag 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. Weis specifically uses candle/bar closes to define all wave action.
David Weis did a futures.io video which is a popular source of information about his method.
Cheers jayy
PS This script was published a day ago, however, I had included some links to the website of a person that uses Weis pip waves and also a dropbox link that contains the Weis wave chart for May 27, 2020, published by David Weis. Providing those links is against TV policy and so the script was hidden by TV. This is the identical script with the identical settings but without the offending links. If you want to see the pip Weis method in practice then search Weis pip wave. I have absolutely no affiliation. If you want to see Weis chart in pdf then message me and I will give a link or the Weis pdf. Why would you want to see the Weis chart for May 27, 2020? Merely to confirm the veracity of my algorithm. You could compare my chart () from the same period to the Weis chart. Both waves are for the ES!1 4 hour chart and both for a wave size of 5.
Fractal Resonance ComponentLazyBear's WaveTrend port has been praised for highlighting trend reversals with precision and punctuality (minimal lag). But strong "3rd Wave" trends can "embed" or saturate any oscillator flashing several premature crosses while stuck overbought/oversold. This happens when the trend stretches over a longer timescale than the oscillator's averaging window or filter time constant. Our solution: simultaneously monitor many oscillator timescales. Watch for fresh crossovers in "dominant" timescales alternating most smoothly between the overbought (red shade) and oversold (green shade) range.
Fractal Resonance Component facilitates simultaneous viewing of eight timescales that are power of 2 multiples of the chart timescale. Each timescale shows lead line, lag line, lead-lag difference, and crossover marks. Add 4 to 8 copies to your chart for a good multi-fractal read. Format * the "Timescale Multiplier" attribute of each row to be twice that of the row above for a sequence like 1, 2, 4, 8, 16, 32, 64, 128...
Fractal Resonance Component shifts its timescales along with your choice of main chart timescale:
1 minute chart: 1 minute through 128 minute (~2 hour) oscillators.
1 hour chart: 1 hour through 128 hour (~2 week) oscillators.
Daily chart: 1 day through 128 day (~4 month) oscillators.
Crossovers in different oscillator ranges tend to have different meanings:
Minor (< 75%) crossovers: small green/red dot
usually noise
Overbought/Sold crossovers (shaded 75 to 100%): black outlined dot (o)
reliable reversal indicators (when they appear alone)
Extreme Overbought (> 100%) crossovers: black outlined plus (+).
Can be a major reversal in fast markets, but usually portend the end of Elliot 3rd waves with just a small corrective (4th wave) retrace before the larger impulsive (5-wave) sequence resumes in original direction.
The final 5th-wave terminus should appear later as a lone non-extreme (black outlined circle) crossover on a slower timescale coincident with weaker (non-extreme) dot crosses on this timescale.
Careful examination of historical charts leads to many useful observations such as:
Dominant crossovers punctuating true reversals are usually in the green/red shaded ranges with black outlined dots (o) rather than minor or Extreme (+) ranges.
Due to market's fractal nature, two well-separated timescales like 1 minute and 1 hour can show dominant crosses simultaneously in opposite directions, e.g. the 1 minute showing a very short term high and the 1 hour a medium term low nearby.
Staying Nimble
Watch out for embedding on your supposedly dominant timescale -- a second cross while stuck in the overbought/oversold region suggests a stronger, longer trend than expected. Drop your eyes to a slower timescale below for the real dominant whose crossover will validate main trend reversal.
Embedding can often be predicted even at the first cross mark by checking whether the green lead line of the next slower timescale (one row below) has already hit the Overbought or especially the Extreme Overbought range but isn't close to rolling over. Fractal Resonance Bar (to be published) uses this principle to mark embedded timescales with white stripes, warning of a powerful trend wave on longer timescales you shouldn't fight until the white stripes subside.
Overnight gaps surge all timescales in ways that obscure the dominant timescale, so for shorter than daily charts, these methods work best on Futures contracts that only suffer weekend gaps.
Neon Momentum Waves StrategyIntroduction
The Neon Momentum Waves Strategy is a momentum-based indicator designed to help traders visualize potential shifts in market direction. It builds upon a MACD-style calculation while incorporating an enhanced visual representation of momentum waves. This approach may assist traders in identifying areas of increasing or decreasing momentum, potentially aligning with market trends or reversals.
How It Works
This strategy is based on a modified MACD (Moving Average Convergence Divergence) method, calculating the difference between two Exponential Moving Averages (EMAs). The momentum wave represents this difference, while an additional smoothing line (signal line) helps highlight potential momentum shifts.
Key Components:
Momentum Calculation:
Uses a fast EMA (12-period) and a slow EMA (26-period) to measure short-term and long-term momentum.
A signal line (20-period EMA of the MACD difference) smooths fluctuations.
The histogram (momentum wave) represents the divergence between the MACD value and the signal line.
Interpreting Momentum Changes:
Momentum Increasing: When the histogram rises above the zero line, it may indicate strengthening upward movement.
Momentum Decreasing: When the histogram moves below the zero line, it may signal a weakening trend or downward momentum.
Potential Exhaustion Points: Users can define custom threshold levels (default: ±10) to highlight when momentum is significantly strong or weak.
Visual Enhancements:
The neon glow effect is created by layering multiple plots with decreasing opacity, enhancing the clarity of momentum shifts.
Aqua-colored waves highlight upward momentum, while purple waves represent downward momentum.
Horizontal reference lines mark the zero line and user-defined thresholds to improve interpretability.
How It Differs from Traditional Indicators
Improved Visualization: Unlike standard MACD histograms, this approach provides clearer visual cues using a neon-style wave format.
Customizable Thresholds: Rather than relying solely on MACD crossovers, users can adjust sensitivity settings to better suit their trading style.
Momentum-Based Approach: The strategy is focused on visualizing shifts in momentum strength, rather than predicting price movements.
Potential Use Cases
Momentum Trend Awareness: Helps traders identify periods where momentum appears to be strengthening or fading.
Market Structure Analysis: May complement other indicators to assess whether price action aligns with momentum changes.
Flexible Timeframe Application: Can be used across different timeframes, depending on the trader’s strategy.
Important Considerations
This strategy is purely momentum-based and does not incorporate volume, fundamental factors, or price action confirmation.
Momentum shifts do not guarantee price direction changes—they should be considered alongside broader market context.
The strategy may perform differently in trending vs. ranging markets, so adjustments in sensitivity may be needed.
Risk management is essential—traders should apply proper stop-losses and position sizing techniques in line with their risk tolerance.
Conclusion
The Neon Momentum Waves Strategy provides a visually enhanced method of tracking momentum, allowing traders to observe potential changes in market strength. While not a predictive tool, it serves as a complementary indicator that may help traders in momentum-based decision-making. As with any technical tool, it should be used as part of a broader strategy that considers multiple factors in market analysis.
Smoothed Candle Averages- NovaTheMachineThis script utilizes a series of moving averages that the user is able to change as they see fit for their own use.
The averages plotted for the first 2 waves are the High-Low rays of the selected period of time with the chosen moving average style.
The Bias is the Heikin Ashi High-Low ray plotted over the chosen time period, while the Secondary Bias is a higher Timeframe Bias for the same period of time on a selected higher timeframe.
The visuals for each ray are able to be changed to either; lines, solid wave, or dynamic wave.
The Dynamic waves will change color according to the total dissection and utilize the Min-Max range selected as a weight for the strength of the trend. Thus providing an at-a-glance overview of the price relative to trend.
The key objective with this script is to gauge the longer term trend with the current price action, to establish patterns and determine strength of moves both away from and towards the moving average/bias.
When both waves are trending with the Bias, it can be reasoned that there is a strong trend established, when waves and Bias are mixed or trending sideways it can be reasoned there is a range forming or potential for a direction change. When price has broken the waves and biases we can reasonably assume that a new trend has been formed, using the waves and biases again to determine the strength and length of the trend.
The Table will display whether the current price is above or below each wave, and whether the price is continuing or retracing. The Signals plotted are used to help identify when price has broken a wave more swiftly.
WPO Modified [BackQuant]The Wave Period Oscillator (WPO), developed by Akram El Sherbini, is a sophisticated technical analysis tool that offers traders a dynamic way to interpret market cycles. Its design is inspired by the natural ebb and flow of markets, which often follow cyclical patterns driven by underlying economic, political, and psychological factors. The oscillator's unique contribution to market analysis lies in its ability to smooth out the "noise" inherent in daily price movements, thus providing a clearer view of the market's rhythmic fluctuations over time.
-----> Time Cycle Oscillators' in the IFTA Journal 2018 (page 66 - 77), as found below:
ifta.org
El Sherbini's WPO is grounded in the concept of wave period analysis, which suggests that financial markets move in waves or cycles. The oscillator translates these movements into a visual tool that oscillates above and below a central zero line. Peaks and troughs on the oscillator correspond to the crests and troughs of market price waves, providing a visual representation of the market's heartbeat.
The WPO is not merely a tool for identifying trends but also for detecting shifts in market momentum. It does this through a mathematical model that measures divergence—when the direction of the oscillator deviates from the direction of price movement. Such divergences can be precursors to potential reversals or continuations in the market, offering traders advance notice of significant changes in price direction.
Further refining its utility, the WPO incorporates methods for calculating divergence that are sensitive to the unique conditions of different markets and securities. This includes adjusting for volatility and market velocity, allowing the oscillator to provide relevant signals regardless of the market environment.
In practical terms, traders use the WPO to time their entries and exits with greater precision. When the oscillator shows a high peak or a deep trough, it can signal that a market is potentially overbought or oversold, respectively. The WPO's smoothing property ensures that these signals are not just reactionary to short-term price spikes or drops, but indicative of more substantial, sustained movements.
By providing a more measured and smoothed analysis of market cycles, the WPO helps to filter out insignificant price movements and focus on the ones that matter—those that indicate a significant wave of buying or selling pressure. This can be particularly valuable in the cryptocurrency markets, where volatility is high, and traditional indicators may struggle to provide clear signals.
For traders and analysts alike, the Wave Period Oscillator represents a convergence of technical precision and market psychology. By focusing on the periodic nature of market movements, it aligns traders with the rhythm of the markets, potentially leading to more harmonious trading decisions that are in step with the market's natural waves.
Please see the backtest here:
For more simple terms:
You can use this indicator as a the oscillator
Above 0 for long
Below 0 for short
OR
WPO MA
Above 0 for long
Below 0 for short