Home › Forums › Trading Systems Discussion › Filtering by Volume
- This topic has 227 replies, 14 voices, and was last updated 7 years, 4 months ago by
smallcat.
-
AuthorPosts
-
There was some talk recently relating volume filters for trading, but I did not find a thread focusing on this topic.
I think it was @gg53 who mentioned the usefulness of a normalized volume indicator. I’ve got a prototype in the making, not yet mature enough for posting.
Even knowing that we’re not talking about real volume in this case but about tick frequency, I’ll stick to the term volume for the sake of simplicity.
So some conceptual notes:
Normalization: when working intraday, it seems obvious to choose the daily average volume as a reference: normVolume := (currentVolume – averageVolume) / averageVolume, where averageVolume is a simple SMA covering a rolling time window of one day (288 bars for M5). Following this formula, the average normalized volume would be equal to 1 all the time.
This means: normalized volume smaller than 1 -> below average, larger than 1 -> above average. In the pic, this level is shown as a dotted white line, and another line at level = 2 to indicate extreme spikes.
Grey histogram: normalized volume per bar.
White line: average normalized volume, calculated by a simple linear FIR filter as introduced by John F. Ehlers.
Green/red histogram: indicates direction of a bar (these buffers remain empty if bar direction is indifferent). This has been restricted to half the volume histogram value for easier viewing.
Blue dots: if average normalized volume is above daily average, the blue dot appears at the volume line.
Large red dots: in the case of extraordinary volume spikes, a large red dot is shown at the top of that volume peak as a warning signal: something unusual might be happening here.
Small red dots: for a certain span of time after that volume spike occured, smaller red dots mark a ‘danger zone’. In my first approach, I simply take the length of the FIR filter for this danger zone.
If any red dot appears, a blue dot at the same bar is erased – don’t know yet whether this is a good idea, though.
General idea to use this filter:
If a blue dot is visible, trading is allowed: volume is above average, and no extraordinary volume spike was detected.
Another, more restrictive filter strategy could be to trade only when blue dots are sloping upwards.
Any comments & suggestions welcome!
s.
Attachments:
You must be logged in to view attached files.A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
For me, any indicator should be a visual assistant in trading and not clutter the screen with too much analysis.
Gadi_NormalizedVolume is already done (can be founf @FF “Killing Zone” thread), now I’m working on Extreme Volume Oscillator, which will show “Overbought/Oversold” extreme areas.
The challenge was to take the Volume which, like price chart, is not horizontal and make an oscillator out of it.
Now it display Extreme Volumes spikes. Since the market is “normal” most of the time (like 80%), the extremes are the remaining 20% that extends above/below the 40% lines.
The beauty of it is that its reaction is immediate and short, i.e. you can enter immediatly on breakout.
See attached. It’s a prototype and needs further development.
My suggestion to your indicator is to put extra indicative “dots” on the chart itself.
G.
Attachments:
You must be logged in to view attached files.Thank you for your hint:
Gadi_NormalizedVolume is already done (can be founf @FF “Killing Zone” thread)
But yours is posted as ex4, and mine is mq4 on my disc – so I’ll clearly prefer mine for easier maintenance
.
My suggestion to your indicator is to put extra indicative “dots” on the chart itself.
Can easily be done, but this feature is not in focus at the moment. Im trying to find an algorithm that provides an edge, visualization is a B priority at the moment.
See attached. It’s a prototype and needs further development.
Interesting ‘chainsaw’ look!
Extreme Volume Oscillator, which will show “Overbought/Oversold” extreme areas
That’s really interesting! Could hardly be achieved by analyzing volume alone, without looking at prices, correct?
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
One more thought:
The challenge was to take the Volume which, like price chart, is not horizontal and make an oscillator out of it.
Starting from my above mentioned formula:
normVolume := (currentVolume – averageVolume) / averageVolume
that would be a choice:
normVolume := 1 - ( (currentVolume – averageVolume) / averageVolume )
This will provide an oscillator without a challenge – don’t know though whether it’s the oscillator you’re after.
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
One more thought:
The challenge was to take the Volume which, like price chart, is not horizontal and make an oscillator out of it.
Starting from my above mentioned formula:
normVolume := (currentVolume – averageVolume) / averageVolume
that would be a choice:normVolume := 1 - ( (currentVolume – averageVolume) / averageVolume )
This will provide an oscillator without a challenge – don’t know though whether it’s the oscillator you’re after. s.I want the indie to accurately pin-point Peaks & Troughs.
See my last post at the “Trading made REALLY easy”.
As to code sharing: I’ll start doing that when more members here will start contributing.
As far as I can see, there are only 4-5 members that are actually contributing something (and you among the best of them), but the rest are just seeking to download free indicators.
G.
Thanks a lot – I appreciate that:
As far as I can see, there are only 4-5 members that are actually contributing something (and you among the best of them), but the rest are just seeking to download free indicators.
4 – 5 contributors of 1250 members: yes, that’s not so much, and maybe even a bit better than the average rate of most FX communities.
Not everybody around is a coder, and educating new coders really takes a considerable amount of time. Increasing the number of coders takes time.
But this forum provides a feature that most other forums are lacking: if several contributors trust each other (and the admin!
), they can open a private or even hidden group to support a closer cooperation.
And coding education could also be done in groups to provide access to those coding newbies who are really willing to go for it and who continue to prove that. But I would not start such a project being the only tutor … two is a minimum, better three. Students’ access should be limited, too. Time is a valuable resource.
There’s free material available to provide basics and concept. Tutors would have to provide guidance, Q & A, code review, and support the development of a good coding style from the first day on. The latter is essential for success, IMO, and underrated by many coders.
See my last post at the “Trading made REALLY easy”.
Thanks: I’ll take a look.
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
different market session have different volume (asian-lowest volume,london & new york – more active).
consider that we are now at the 1st-quarter of london market session (ie bar#50 on M15).
we want to calculate average volume of previous 100 bars to the left (50 bars london session + 50 bars asian session) in order to identify whether the volume on the current bar is extreme/not (below/above average).
Do we need to distinguish the avg volume for those 2 groups? will it give any significant difference?
sorry for my poor english
the idea of coding education is interesting.
I would like to participate (as a student of course)
i think the lack of contributors has several different reasons.
Surely most of them are the ones just looking for a quick way to riches through advanced indicators for free. Those are found all over all Forex related forums.
Then we got the people who can´t code, but would like to participate. But even if they would like to , the knowledge and technical terms used, can be quite intimidating.
Just look at the first post of simplex in this thread. It´s maybe normal and quite understandable for guys like you gg53 and simplex , but for many other people it´s tough stuff. I know this from other areas of life. for example i can´t understand why people don´t even know where the liver is. Or that the heart is not on the left side of their body .. Nurses and doctors are working in the same building , in the same industry. But when the expert doc talk begins…the nurses can´t really participate.
So yes i confess…i don´t have a f***ing clue what a “ simple linear FIR filter as introduced by John F. Ehlers” is .. :)
The idea of “Coding study groups” is really interesting, but i guess it´ll be not so easy to find tutors that will stay motivated enough while dealing with those basic issues of coding newbies.
"A dream you dream alone is only a dream. A dream you dream together is a reality." (John Lennon)
Ouh – sorry for that:
So yes i confess…i don´t have a f***ing clue what a “ simple linear FIR filter as introduced by John F. Ehlers” is .. :)
See here!
And for a more trading related approach try John F. Ehlers book Cycle Analytics For Traders, especially Chapter 1: Unified Filter Theory. Ehlers also mentioned FIR filters in several free white papers, but the book is best, IMO. One free paper explaining the concept is this one.
Ehlers’ stuff mostly is a bit sophisticated. When starting to code, simpler tasks are better.
Step by step …
but for many other people it´s tough stuff
Yes, that’s true! And it can be hard work to learn all the lessons required. I just have to say that plainly. It takes personal committment to really go that way.
for example i can´t understand why people don´t even know where the liver is.
… and what an FIR filter is … ?
(Never mind!)
Best, simplex
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
we want to calculate average volume of previous 100 bars to the left (50 bars london session + 50 bars asian session) in order to identify whether the volume on the current bar is extreme/not (below/above average). Do we need to distinguish the avg volume for those 2 groups? will it give any significant difference?
Why so difficult? One day seems to be a ‘natural’ choice. The average volume calculated over one day provides a ‘natural’ anchor. I’m sure it can be argued that different averaging periods would be better for certain tasks, but I wound always ask for a specific reason to quit an approach that seems so obvious.
I think it depends on the specific goal of your filtering approach whether to split the averaging per session or calculating over one complete day.
My simple goal when making my proposal was just to find those periods of a day when a smoothed volume (white line) is above average, thus increasing the probability for larger swings and reducing the probability to catch a whipsaw trade.
What would be the purpose of ‘your’ volume filter?
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
Volume should be averaged by Sessions, not by Daily average.
Sessions are: London, London+NY, NY, Asian
G.
Volume should be averaged by Sessions, not by Daily average.
Wouldn’t you say that this depends on the trading strategy?
If not, why would you average by session?
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
…. One free paper explaining the concept is this one. Ehlers’ stuff mostly is a bit sophisticated. When starting to code, simpler tasks are better. Step by step …
… and what an FIR filter is … ?
(Never mind!) Best, simplex
Thanks a lot mate. I think this can be used to create my “delicate channel” that i plan to create since last year … Am still thinking from where to begin ..
Edit: If i am not understand it wrongly, it is like an “automatic control”, that we can find in many parts of production machine or robot, normally using steeping motor. Some part of the output is given back as input, and together with the original input, they will be processed again … and again …-
This reply was modified 7 years, 6 months ago by
smallcat.
Attachments:
You must be logged in to view attached files.Starting from my above mentioned formula: normVolume := (currentVolume – averageVolume) / averageVolume that would be a choice: normVolume := 1 – ( (currentVolume – averageVolume) / averageVolume ) This will provide an oscillator without a challenge – don’t know though whether it’s the oscillator you’re after.
One more thought about that oscillator: it can be linearized around the nought line using a final logarithmic transform. I prefer a log basis of 2 instead of the more common basis 10.
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
Volume should be averaged by Sessions, not by Daily average.
Wouldn’t you say that this depends on the trading strategy? If not, why would you average by session? s.
No, volume average isn’t strategy depended.
Daily average will “miss” good trades in the asian session – where volume is much lower than the average.
Highest volume is in the London+NY overlapping session, and there is no reason for that fact to influence and raise the other sessions “average” by using daily average.
G.
If i am not understand it wrongly, it is like an “automatic control”, that we can find in many parts of production machine or robot, normally using steeping motor. Some part of the output is given back as input, and together with the original input, they will be processed again … and again …
That’s not quite correct. A plain FIR filter has got a static set of filter coefficients. What you’ve put on the table in your drawing looks like something adaptive or self-adjusting. That’s another kind of story.
It can be done with FIR filters, but might be simpler using an IIR filter as a basis.
The plain concept is explained better in Ehlers’ book I mentioned. In that white paper different conceptional aspects are involved. That’s why I suggested to look for the book. I don’t have a free paper in mind that really shows FIR (and also IIR) filtering from sketch. If you find one: I’m interested (just to share it, if it’s copyright free).
And I would suggest that you do yourself a favour and start your filter coding career with non-adaptive algorithms. After you’ve mastered these, it would be interesting to promote yourself to the next level. If you like to discuss that in detail, a new topic would make sense. PM me, if you’re not sure about it.
s.
EDIT: please forgive me linking to those wikipedia articles all the time. I know that for most of you that level of math shown there is pretty tough! There are simpler ways to to deal with the topic, because the basic idea is pretty simple. We just have to find the papers. Please share if you find them! Usually Ehlers’ free papers are really good and easier to understand. Maybe I’ll start a new topic where we can focus on them.
-
This reply was modified 7 years, 6 months ago by
simplex.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
Thankyou guys for a very interesting discussion and viewpoints.
My aim is to check/determine whether the volume of the current bar is above/below avg volume
-
This reply was modified 7 years, 6 months ago by
haikanoz.
My aim is to check/determine whether the volume of the current bar is above/below avg volume
Ok: so let’s assume that volume tends to be below average during the Asian session, and around or above average during London / New York (especially when the latter overlap). This should be true for most pairs.
Now you’ve got to decide whether it makes sense (analyze your strategy!) to trade during that low volume Asian session.
If yes: average per session (gg53 approach)
If no: average per day or even longer (simplex proposal)
Just my 2 cents for the moment. Would be interested to develop this discussion further.
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
My aim is to check/determine whether the volume of the current bar is above/below avg volume
Ok: so let’s assume that volume tends to be below average during the Asian session, and around or above average during London / New York (especially when the latter overlap). This should be true for most pairs. Now you’ve got to decide whether it makes sense (analyze your strategy!) to trade during that low volume Asian session. If yes: average per session (gg53 approach) If no: average per day or even longer (simplex proposal) Just my 2 cents for the moment. Would be interested to develop this discussion further. s.
Since I’m not new to the Volume and almost all aspects of it, I can only say that from vast experience daily average Volume means nothing.
But you are welcome to research it again.
G.
hi simplex i m too working on this concept as i told u i m not coder but by observing u friend code i m trying to convert my concept in code
as per my first observation it must b of four stages (concept still not mature enough for posting). currently done first part just want to show u so posting this img
special thanks to gg53,VlanFx,Mariusz,and U
these r basically tgt points
e.g green on positive and red on positive means the market will further go up but it will shur come to these point back
green on negative and red on negative means these r buying tgts when market reverse from sell
-
This reply was modified 7 years, 6 months ago by
fasttrade.
Attachments:
You must be logged in to view attached files.As practically always, G, …
Since I’m not new to the Volume and almost all aspects of it, I can only say that from vast experience daily average Volume means nothing. But you are welcome to research it again.
… your feedback makes me think again. Thanks for that!
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
That’s not quite correct. A plain FIR filter has got a static set of filter coefficients. What you’ve put on the table in your drawing looks like something adaptive or self-adjusting. That’s another kind of story. It can be done with FIR filters, but might be simpler using an IIR filter as a basis. The plain concept is explained better in Ehlers’ book I mentioned. In that white paper different conceptional aspects are involved. That’s why I suggested to look for the book. I don’t have a free paper in mind that really shows FIR (and also IIR) filtering from sketch. If you find one: I’m interested (just to share it, if it’s copyright free). And I would suggest that you do yourself a favour and start your filter coding career with non-adaptive algorithms. After you’ve mastered these, it would be interesting to promote yourself to the next level. If you like to discuss that in detail, a new topic would make sense. PM me, if you’re not sure about it. s. EDIT: please forgive me linking to those wikipedia articles all the time. I know that for most of you that level of math shown there is pretty tough! There are simpler ways to to deal with the topic, because the basic idea is pretty simple. We just have to find the papers. Please share if you find them! Usually Ehlers’ free papers are really good and easier to understand. Maybe I’ll start a new topic where we can focus on them.
Thanks a lot bro …
Edit: found some Ehler’s code in MT4 @Forxe-TSD, will try to look at it (some interesting codes and pdf posted by mladen : https://www.forex-tsd.com/forum/exclusive-forum/elite-section/3686-/page130 )the idea of coding education is interesting. I would like to participate (as a student of course)
+1
-
This reply was modified 7 years, 6 months ago by
-
AuthorPosts
- You must be logged in to reply to this topic.