Detecting Consecutive Higher Troughs in an Uptrend Using Zigzag and Moving Average

28 Mar 2016
0 comment
0 attachment

This ProBuilder code snippet is designed to screen for stocks that are in an uptrend and have formed two consecutive higher troughs, which can be a bullish signal. The code uses a combination of moving averages and the Zigzag indicator to achieve this.


ma = average[100]
up = summation[50](ma>ma[1])=50
zz = zigzag[2](low)
creux = zz>zz[1] and zz[1]ll[1] then
        llh=1
    else
        llh=0
    endif
endif
screener[up and llh]

Explanation of the code:

  • ma = average[100]: This line calculates the 100-period moving average of the price.
  • up = summation[50](ma>ma[1])=50: Here, the code checks if the moving average has increased over the last 50 periods. The ‘up’ variable will be true if all 50 comparisons are true, indicating a strong uptrend.
  • zz = zigzag[2](low): The Zigzag indicator is used with a 2% deviation to identify significant lows (troughs) in the price.
  • creux = zz>zz[1] and zz[1]: This condition checks for a trough that is higher than the previous trough, which could indicate a potential reversal or continuation of an uptrend.
  • if creux then: If the above condition is true, the following block of code will execute.
  • ll=zz[1]: This line stores the value of the previous trough.
  • if zz[1]>ll[1] then: This condition checks if the current trough is higher than the last trough.
  • llh=1: If the current trough is higher, ‘llh’ is set to 1, indicating two consecutive higher troughs.
  • else llh=0: If not, ‘llh’ is set to 0.
  • screener[up and llh]: The screener function will return stocks that meet both conditions: being in a strong uptrend and having two consecutive higher troughs.

This code is useful for identifying potential buying opportunities in an uptrend, based on the technical analysis concept of “higher lows” which often signifies continuing bullish momentum.

Related Post

Check out this related content for more information:

https://www.prorealcode.com/topic/detecter-un-creux/#post-86921

Visit Link
What is a Snippet? A snippet is a small, reusable chunk of code designed to solve specific tasks quickly. Think of it as a shortcut that helps you achieve your coding goals without reinventing the wheel. How to Use: Simply copy the snippet and paste it into your project where needed. Don't forget to tweak it to fit your context. Snippets are not just time-savers; they're also learning tools to help you become a more efficient coder.
Nicolas Master
I created ProRealCode because I believe in the power of shared knowledge. I spend my time coding new tools and helping members solve complex problems. If you are stuck on a code or need a fresh perspective on a strategy, I am always willing to help. Welcome to the community!
Author’s Profile

Comments

Search Snippets

Showing some results...
Sorry, no result found!

Snippets Categories

global
35
indicator
133
strategy
171

Recent Snippets

How to Create a Simple MTF Trend Dashboard with EMA and SMA
indicator
This indicator builds a compact multi-timeframe (MTF) dashboard that shows whether price is trading above or below a [...]
How to Display Per-Bar Volume Accumulation in Real Time (Intrabar Updates)
global
This snippet tracks and displays the current bar’s accumulated volume while the bar is still forming, instead of only [...]
Ticks Counter: Count Tick Updates Per Bar on Tick or Time Charts
global
This snippet counts how many tick updates have occurred for the current bar by incrementing a per-bar counter on each [...]
How to Build a Step-Based Trailing Stop That Moves to Break-Even First
strategy
This snippet implements a step trailing stop that advances in fixed increments once price reaches predefined profit [...]
Utilizing Arrays to Track and Compare Indicator Values Within the Same Bar in ProBuilder
indicator
This ProBuilder code snippet demonstrates how to use arrays to compare the values of an indicator (RSI in this case) [...]
Logo Logo
Loading...