Forums Indicator discussion Volume Zone Oscillator: Discussion

Tagged: , ,

Viewing 17 posts - 1 through 17 (of 17 total)
  • Author
    Posts
  • #10875
    Anti
    Participant

      Most of you may have recognized that the volume zone oscillator (VZO) indicator has been discussed in some threads. I really like this indicator but I also see some problems and weaknesses which I’d like to discuss with you. Maybe it is possible to find solutions for some problems.

      One purpose of the VZO is to identify overbought and oversold areas. In all sources around the web the values +/- 60, +/-40, and +/- 15 are described as beeing most important. And indeed they are. It is recommended to sell when VZO is above +40 and brake this level (you should buy if last VZO was below -40 and then is above). During trending market conditions the VZO is more bounded in the upper/lower indicator region. For an up trend it is recommended to sell when VZO brakes through the +60 level and to buy when VZO reaches some regions below -15 and come back above.

      Unfortunately especially before prizes rise/fall, these levels seems to be not that important. For instance, have a look at attached image. The left red line indicates such a condition during which VZO is only above +15 (problem 1). Another problem is the shift during up/down trends towards the higher or lower indicator values. In such a situation the VZO often gave wrong signals. The red line on the right side in attached image indicates a sell signal that occurs during an up trend. Nevertheless, prize don’t drop afterwards (problem 2).

      Maybe problem 1 can’t be solved. But I thought it could be possible to correct VZO for trending/strong trending markets (problem 2) to reduce the risk of false signals. Any suggestions or ideas how this could be done? I assume the we first have to decide if we see weak, strong, or no trending conditions (e.g. by applying one fast and two slow MAs?). Any thoughts?

      • This topic was modified 8 years, 6 months ago by Anti.
      Attachments:
      You must be logged in to view attached files.
      #10883
      simplex
      Moderator

        I think what you’re marking as ‘inefficiencies’ or ‘false signals’ is the typical behaviour of an indicator that’s meant to be very reactive to fast changing short term conditions: works as designed ;-)

        Taken as the only indicator defining your entries it will certainly empty your account in no time. But show me a single indicator this rule does not apply to!


        @gg53
        already had a post where he noted a certain modification in his version. Maybe this is a topic to consider.

        And I think that things will clear up when our work in G.’s really simple thread proceeds. It’s a question of combining the right indicators and rules to a system.

        At the moment, I would opt for a Clear Method or ‘peak & trough’ approach, maybe using several timeframes, rather than old school MA crossings. If your MA crosses are reactive enough, they will also produce whipsaws or false signals. You can’t avoid that totally. The longer I’m experimenting with that Clear Method the better I like it.

        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)

        #10886
        Anti
        Participant

          I think what you’re marking as ‘inefficiencies’ or ‘false signals’ is the typical behaviour of an indicator that’s meant to be very reactive to fast changing short term conditions: works as designed ;-) Taken as the only indicator defining your entries it will certainly empty your account in no time. But show me a single indicator this rule does not apply to! @gg53 already had a post where he noted a certain modification in his version. Maybe this is a topic to consider. And I think that things will clear up when our work in G.’s really simple thread proceeds. It’s a question of combining the right indicators and rules to a system. At the moment, I would opt for a Clear Method or ‘peak & trough’ approach, maybe using several timeframes, rather than old school MA crossings. If your MA crosses are reactive enough, they will also produce whipsaws or false signals. You can’t avoid that totally. The longer I’m experimenting with that Clear Method the better I like it. s.

          Yes, I agree that false signals is typical behaviour of indicators. But it doesn’t mean that it can’t be made better. I try to apply VZO as filter for some prize action ideas. When I only focus on the 40 level my “system” works incredibly great. However, I believe that any correction for trending conditions may increase number of (successful) trades, although the use of MAs is not first choice. Perhaps a function which will return a continuous value for a trend would work better.

          Regarding the modifications of GG53: I tried to implement it before a week or so. However, I haven’t succeed (see attached code) …

          Nevertheless I’ll continue my search for trend adaptation. Will let you know if I found something interesting.

          • This reply was modified 8 years, 6 months ago by Anti.
          Attachments:
          You must be logged in to view attached files.
          #10891
          gg53
          Participant

            I think what you’re marking as ‘inefficiencies’ or ‘false signals’ is the typical behaviour of an indicator that’s meant to be very reactive to fast changing short term conditions: works as designed ;-) Taken as the only indicator defining your entries it will certainly empty your account in no time. But show me a single indicator this rule does not apply to! @gg53 already had a post where he noted a certain modification in his version. Maybe this is a topic to consider. And I think that things will clear up when our work in G.’s really simple thread proceeds. It’s a question of combining the right indicators and rules to a system. At the moment, I would opt for a Clear Method or ‘peak & trough’ approach, maybe using several timeframes, rather than old school MA crossings. If your MA crosses are reactive enough, they will also produce whipsaws or false signals. You can’t avoid that totally. The longer I’m experimenting with that Clear Method the better I like it. s.

            Yes, I agree that false signals is typical behaviour of indicators. But it doesn’t mean that it can’t be made better. I try to apply VZO as filter for some prize action ideas. When I only focus on the 40 level my “system” works incredibly great. However, I believe that any correction for trending conditions may increase number of (successful) trades, although the use of MAs is not first choice. Perhaps a function which will return a continuous value for a trend would work better. Regarding the modifications of GG53: I tried to implement it before a week or so. However, I haven’t succeed (see attached code) … Nevertheless I’ll continue my search for trend adaptation. Will let you know if I found something interesting.

            That’s not the way I’ve implemented my MOD’s.

            I agree that the 40 level is great and accurate.

            Trying to find “more” signals usually leads to less acuurate indicators, although it is annoying to see missed “obvious” opportunities.

            The indicator is showing Volume based opportunities, and you have to accept the fact that there are other ones, which are not neccessarilly signaled by Volume.

             

            What I showed in some screenshots is the accurate combination of ForexGT_VolumeOsc combined with the Peak&Trough on chart indicator or histogram.

             

            G.

            #10892
            simplex
            Moderator

              To be honest: this is exactly the kind of mod I had in mind, but I didn’t have enough time to implement it yet:

              Regarding the modifications of GG53: I tried to implement it before a week or so. However, I haven’t succeed (see attached code) …

              Looking at your code, and letting G’s reply aside for now, I would suggest some minor modifications of your code. Your main routine is as follows:

              int start() {
                 double delta=2.0/(1.0+VZOPeriod);
                 double TV=0.0,VP=0.0;
                 for(int i=Bars-1;i>0;i--) {
                    double R = (MathAbs(Open-Close)*MathPow(High-Low,-1))*Volume;
                    if(Close<Close) {
                       R=-(MathAbs(Open-Close)*MathPow(High-Low,-1))*Volume;
                    }
                    if(i==Bars-1) {
                       VP=R;
                       TV=(MathAbs(Open-Close)*MathPow(High-Low,-1))*Volume;
                    }
                    else {
                       VP=delta*R+(1-delta)*VP;
                       TV=delta*(MathAbs(Open-Close)*MathPow(High-Low,-1))*Volume+(1-delta)*TV;
                    }
                    VZOBuffer=100*VP/TV;
                 }
                 return(0);
              }

              For me, this is a bit hard to read because of algorithmic redundancies. To remove these, I declared a new variable V and referred to this afterwards:

              int start() {
                 double delta = 2.0 / (1.0 + VZOPeriod);
                 double TV = 0.0, VP = 0.0;
                 for(int i = Bars - 1; i > 0; i--) {
                    double V = ( MathAbs(Open - Close) * MathPow(High - Low, -1) ) * Volume;
                    double R = V;
                    if(Close < Close) {
                       R = -V;
                    }
                    if(i == Bars - 1) {
                       VP = R;
                       TV = V;
                    }
                    else {
                       VP = delta * R + (1 - delta) * VP;
                       TV = delta * V + (1 - delta) * TV;
                    }
                    VZOBuffer = 100 * VP / TV;
                 }
                 return(0);
              }

              Benefits: the code is easier to understand, redundant calculations are removed, and you have only one single line in your code to modify if you’re working on this particular detail.

              What I also did was to insert a number of blanks to make single lines easier to read. I removed blank lines here for the sake of compactness.

              I did not compile or load your indicator, but there seems to be an issue in your main loop: you start it with for(int i = Bars - 1; i > 0; i--) , and later you have following if-statement: if(Close < Close)   The index will most probably produce a runtime error (array out of range) in strict mode, so the main loop would better start with for(int i = Bars - 2; i > 0; i--) . In non-strict mode, the runtime environment will just ignore the error and proceed program execution without notification and with possibly negative effects on the indicator’s precision.

              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)

              #10895
              Anti
              Participant

                Thank you!

                #10897
                pipatronic
                Participant

                  Anti, I have had the VZO up on my screen alongside my other indis for a couple of weeks now with +40,0 and -40 levels displayed.

                  I have found that it has to be used with other indis otherwise it will drain your account as simplex has said,  I will do a video over the weekend on my “take” of it

                  pip

                  skype : pipatronic

                  #10902
                  Anti
                  Participant

                    Hi Pipatronic,

                    as mentioned in my second post I also tested it in conjunction with a prize action method. Unfortunately quite often I see many big moves that were predicted by my other indicator but not by VZO. Nevertheless – looking forward to see your great video.

                    #10905
                    pipatronic
                    Participant

                      Use the spaghetti indicator on a 4 hour time frame to find a suitable pair that have both got to extreme levels, next bring up your main chart of that pair (with your VZO on) and you will most likely find that the VZO is at extreme levels (if not possibly ignore the trade). Go down to a 1 hour chart or lower depending on your trading style to pin point your entry – video at weekend – get popcorn ready !!!

                      Pip

                      skype : pipatronic

                      #10908
                      BalrogTrader
                      Participant

                        Use the spaghetti indicator on a 4 hour time frame to find a suitable pair that have both got to extreme levels, next bring up your main chart of that pair (with your VZO on) and you will most likely find that the VZO is at extreme levels (if not possibly ignore the trade). Go down to a 1 hour chart or lower depending on your trading style to pin point your entry – video at weekend – get popcorn ready !!! Pip

                        Looking forward to watch it. Maybe I should refresh your Video thread as well.

                        Best regards…

                        Nothing has ever motivated me more than this...

                        #10909
                        Anti
                        Participant

                          Thank you, @Pipatronic.

                          Has someone wrote a modificated VZO indicator as GG53 suggested (weighting volume by | open – close | / (high – low) ratio)? Also following simplex suggestions I haven’t succeed.

                          A happy new year to all that celebrate it today! Wish you tons of green pips.

                          #10914
                          simplex
                          Moderator

                            I absolutely agree:

                            Trying to find “more” signals usually leads to less acuurate indicators, although it is annoying to see missed “obvious” opportunities.

                            It’s not about finding ‘all’ possible entries, but a sufficient number of entries with a low quote of false entries.

                            When looking at the plan G. laid out in his REALLY simple thread, we should not follow the attempt to over-optimize a certain single-pair indicator like VZO. After integrating VZO, Clear Method (P&T), and Currency Strength, we’re on the multi-pair field. The number of possible entries will increase as compared to a single-pair approach, and also the quality of the entries should be enhanced.

                            I think it will be possible to find a sufficient number of high-quality entries that way – but there’s still some work to do!

                            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)

                            #10923
                            smallcat
                            Participant

                              Happy New Year to all of you, the penguins …

                              This is nice discussion. I tried to implement the code based on Anti’s idea at other thread :

                              if ((high – low) != 0) {  res = (MathAbs(close-open)/(high-low) ) * Vol }

                              else { res = Vol }

                              I am not sure, it is a right approach or not. And i do not so clear about the code above :  if(Close < Close) , 

                              May be it is better to use PrevClose = close(i+1)  and CurClose = close(i). Then we compare the both result?

                              #10946
                              pipatronic
                              Participant

                                I was hoping to do a video on the VZO indi but have not been able to do so, I seem to be having more luck with it on the DAX30 (true volume ??) using it as an extra filter to take out bad trades, I guess the code needs changing as per G’s suggestion. I will keep it on my chart as I do believe it has its merits and report back when I have something that makes sense, it can dance about like a demon at times !!!

                                Side note; I have noticed that some of the peaks and troughs on the indi line up with the red and yellow dots on G’s OBV divergence indi.

                                Pip

                                skype : pipatronic

                                #10972
                                tankhang
                                Participant

                                  Hi

                                   

                                  After some ‘digging’.. I found that VZO(n) is quite similar to standard MT4 OBV with EMA(n).. where ‘n’ represent how many bar backs..

                                  the picture tells everything..

                                   

                                  Regards

                                  tankhang

                                  Attachments:
                                  You must be logged in to view attached files.
                                  #10975
                                  simplex
                                  Moderator

                                    Yes:

                                    After some ‘digging’.. I found that VZO(n) is quite similar to standard MT4 OBV with EMA(n).. where ‘n’ represent how many bar backs.. the picture tells everything

                                    … and the original article written by Waleed Aly Khalil over here tells even more (quote from the abstract):

                                    The main idea of the VZO was to try to change the OBV to look like an oscillator rather than an indicator

                                    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)

                                    #10976
                                    gg53
                                    Participant

                                      Hi After some ‘digging’.. I found that VZO(n) is quite similar to standard MT4 OBV with EMA(n).. where ‘n’ represent how many bar backs.. the picture tells everything.. Regards tankhang

                                      Std. MT4 OBV is NOT an oscillator, and doesn’t have OB/OS areas.

                                       

                                      G.

                                    Viewing 17 posts - 1 through 17 (of 17 total)
                                    • You must be logged in to reply to this topic.
                                    Scroll to Top