MetaStock™ Zone Forum & FAQ Artykuły Linki Elliott Waves EasyLanguage™ Zone

A B C D E F G H I J K L M N O P R S T U V W Y Z #

Volume - Up/Down Swing Average by Jose Silva

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: tan ming <reminiscenostalgia[at]hotmail.com>
To: equismetastock[at]yahoogroups.com <equismetastock[at]yahoogroups.com>
Date: Wednesday, March 1, 2006, 9:25:29 AM
Subject: [EquisMetaStock Group] Zigzag and average volume

Hi Jose, I had read the link and plot the code from you. However it display volume for UpSwing and DownSwing but didn't display and average volume. Between one tough and peak, the indicator should display the average volume.
There will be one value only which :

is sum of volume between the tough and peak divided by the number of bars between tough and peak.

Perhaps you might miss the point. Conveying idea across email maybe one of the difficult thing to do.

Regards.
Adrian

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: Jose Silva <josesilva22[at]yahoo.com>
To: equismetastock[at]yahoogroups.com <equismetastock[at]yahoogroups.com>
Date: Wednesday, March 1, 2006, 2:23:51 PM
Subject: [EquisMetaStock Group] Re: Zigzag and average volume

Adrian, the previously posted indicator plots average Volume for the up/downSwings as per your original request.

Set the "Avg Volume: [1]UpSwing, [2]DownSwing, [3]Both" user input to [3] to see both up/downSwing average Volume.

Multiply this output by peak/trough signals to get single values, as in the indicator below:


Volume - Up/Down Swing Average

{ Up/DownSwing Average Volume v3.0

CCopyright 2006 Jose Silva.
For personal use only.
http://www.metastocktools.com }

{ User inputs }
choose:=Input("Avg Volume: [1]UpSwing, [2]DownSwing, [3]Both",1,3,
3);
ch:=Input("ZigZag minimum change %",.01,100,5);
plot:=Input("Up/Down [1]Avg Vol [2]Swings, [3]ZigZag, [4]Pk/Tr",1,4,
1);

{ ZigZag }
zz:=Zig(C,ch,%);

{ Up/Down bar count }
pkBars:=PeakBars(1,C,ch);
trBars:=TroughBars(1,C,ch);

{ Peaks/Troughs }
pk:=pkBars=0;
tr:=trBars=0;

{ ---------- *** UpSwing Volume *** ---------- }

{ Up swings }
UpSwing:=zz>Ref(zz,-1);

{ Up swing volume }
UpSwingVol:=V*UpSwing;

{ Accumulate & reset UpVolume }
acc:=Cum(UpSwingVol);
accUpVol:=acc-ValueWhen(1,pkBars=0,acc);

{ Average UpSwing Volume }
avgUpVol:=accUpVol/Max(trBars,.00001);

{ Restrict avg Volume to peak bar }
avgUpVolPk:=Ref(avgUpVol,-1)*pk;

{ --------- *** DownSwing Volume *** --------- }

{ Down swings }
DwSwing:=zz<Ref(zz,-1);

{ Down swing volume }
DwSwingVol:=V*DwSwing;

{ Accumulate & reset DownVolume }
acc:=Cum(DwSwingVol);
accDwVol:=acc-ValueWhen(1,trBars=0,acc);

{ Average DownSwing Volume }
avgDwVol:=accDwVol/Max(pkBars,.00001);

{ Restrict avg Volume to trough bar }
avgDwVolTr:=Ref(avgDwVol,-1)*tr;

{ Choose Volume display }
swingAvgVol:=
If(choose=1,avgUpVol,
If(choose=2,avgDwVol,
avgUpVolPk-avgDwVolTr));

{ Plot in own window }
If(plot=1,swingAvgVol,
If(plot=2,UpSwing-DwSwing,
If(plot=3,zz,pk-tr)))


Volume_Up-DownSwing_Average

> Perhaps you might miss the point. Conveying idea across email maybe one of the difficult thing to do.

Usually yes, but perhaps not in this case. Please read my reply from the original post:

"I'll leave (your) requests 3 & 4 for you as an exercise in adapting existing code."

Adrian, please consider the following:

  1. Information in this usergroup is mainly posted for the potential benefit of the majority of members.

    Please consider other group members who may not know what this post is about, and include previous posts as reference so that the thread makes some sense.

  2. Information in this usergroup is mainly posted for the potential benefit of the majority of members.

    You will have a better chance of success with your code requests if it also offers potential value to other members.

  3. Information in this usergroup is mainly posted for the potential benefit of the majority of members.

    If a custom solution to your request is potentially valuable only to yourself, please consider employing the services of a professional programmer. If the custom programming costs involved are not worth your while, then it is also likely that it won't be worth someone else's time.

jose '-)
http://www.metastocktools.com

Source / From: TOP
Metastockusers[at]yahoogroups[dot]com  

Equis and MetaStock® and MetaStock Professional® are registered trademarks of Equis International. Achelis Binary Wave®, The DownLoader®,
Expert Advisor®, OptionScope®, Quotecenter® and Smart Charts® are trademarks of Equis International, a Thomson Reuters company.

TradeStation® Pro, TradeStation® 2000i, OptionStation®, SuperCharts®, PowerEditor® and EasyLanguage®
are registered trademarks of TradeStation Technologies, Inc. Other names and marks referred to are the property of their respective owners.

All information provided on this website is for educational purposes only. Trading involves risk, including possible loss of principal and other losses.

Ten i inne materiały na tej stronie zostały zamieszczone zostały jedynie w celach edukacyjnych, nie ponoszę żadnej odpowiedzialno¶ci za ich stosowanie.

Gra na giełdzie i rynkach walutowych (FOREX) niesie ze sob± ryzyko poważnych strat finansowych!