Math Cross Check

Hi Experts,

I just need to know is there any better way to accomplish Zig -Zag points. as in attached I have macro which populate points by based on formula in H2 & I2.

my logic behind this is - if price retraced or expand 38.20% from one point to other point range. then register new point.

want to create formula which include 3 criteria.
1 if price move either side 38.20% from one point to other point range then register new point.
2.there is minimum 4 data point distance between two points.
3.there is minimum 3% price change from one point to other point.

or total new logic which is I am not aware off.

Basically I want ZigZag point from data set of Open High Low Close.ZigZag Points

<<Excel TA added--byundt, Microsoft Excel Topic Advisor>>
Naresh PatelTraderAsked:
Who is Participating?
TommySzalapskiConnect With a Mentor Commented:
y axis is price and x axis is, what, business days? hours?
Anyway, let's say you have two points on the graph x1,y1 and x2,y2. You want is to know if the angle is above some certain value.
The slope of the line is (y2-y1)/(x2-x1). If the slope is a high positive number, it's a high upward angle (price is rising quickly). If the slope is a large negative number, the price is dropping quickly.

That formula will always give you the exact slope of the line between the two points. So if you want the angle to be above a certain amount for a zig or a zag, you can use that.

The best part is that you don't need any trig functions. If you wanted an actual angle then take the inverse tangent of the slope, but a higher slope will be a higher angle, so you don't need it.

Of course you want to use the absolute value of the slope abs((y2-y1)/(x2-x1)) when deciding if the slope is steep enough.
In order to suggest a "better way to accomplish Zig -Zag points" we would need to know how "better" is defined here.

What is the goal in making the zigzag points? Your algorithm appears to be working and is tunable.

One other approach would be to find the max and min and then find the local maxes and mins between those points (such that the new max point is nearer to the original min point than the new min) and just keep doing that until it stops finding points (with some threshold for min distance between points).
Naresh PatelTraderAuthor Commented:
As I run macro I see there is not matching criteria 2 in some cases. I.e. there is minimum 4 data point distance between two points.

Better way - including criteria angle of each point. So it removes side way data prices. So if angle is above x degree then ignore that point.

Do you understand what i am talking as this is may be very new to you. It is financial market language.

Pls reply and suggest - m i hunting on right direction?

Thank You
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

The "angle" could easily be computed using rise/run. i.e the change in y divided by the change in x. Just pick a value for the threshold and you should be good.
Naresh PatelTraderAuthor Commented:
may I have sample of your thought ?
Naresh PatelTraderAuthor Commented:

Sorry for delay actually i am taking much time than usually. give me one more day. little busy on socials. generally i dont keep open question more than a one day.

Naresh PatelTraderAuthor Commented:
Ok need to workout on your recent post, if I will need any help -  shoot new question. As of closing this question.

Thanks You Very Much Your Comment It Is Very Useful.
Naresh PatelTraderAuthor Commented:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.