home *** CD-ROM | disk | FTP | other *** search
- { EVO.TAS
- This script will calculate the Elphick Volume Oscillator (EVO)
- -----------------------------------------------------
- To run this, you should have a ticker file containing
- only NYSE Up Vol, NYSE Dn Vol, and NYSE Total Vol
- I keep my NYSE Up & Dn Vol in separate ticker files in
- the CLOSE field and the NYSE Total Vol is the VOL field
- of my NYSE Composite.
- -----------------------------------------------------
- Calculate EVO as
- CVI = cumulative sum of (up vol-down vol)/total vol
- EVO = (3 day EMA of CVI - 10 day EMA of CVI) * 100
- }
- #output_file evo.lst
- NYUPname = 'SPNU'; { Change to your NYSE UP Vol ticker}
- NYDNname = 'SPND'; { Change to your NYSE DN Vol ticker}
- NVOLname = 'NYSE'; { Change to your NYSE Total Volume}
- NYUP : ARRAY; { Up Vol}
- NYDN : ARRAY; { Dn Vol}
- NVOL : ARRAY; { Total Vol}
- NYSE : ARRAY; { NYSE Comp}
- VLdiff : ARRAY; { Up - Dn}
- CVI : ARRAY; { Cum Vol Index}
- EVO : ARRAY; { EVO goes here}
- if ticker = NYUPname then
- NYUP = C; { Up Vol in the CLOSE field}
- if ticker = NYDNname then
- NYDN = C; { Dn Vol in the CLOSE field}
- if ticker = NVOLname then
- begin
- NVOL = V; { Total Vol in the VOLUME field}
- NYSE = C; { Save for graph}
- end;
- if last_ticker = 0 then return;
- VLdiff = DIV(SUB(NYUP,NYDN),NVOL); { (UP - DN)/TOTAL}
- CVI = CUM(VLdiff);
- EVO = SUB(MOV(CVI,3,'E'),MOV(CVI,10,'E')); {10ema-3ema}
- EVO = MULBY(EVO,100); { EVO * 100}
- {At this point, the EVO and CVI are computed and held in arrays
- EVO and CVI. Let's graph them under NYSE Composite}
- OPENGRAPH(3); { Start 3 graphs}
- GRAPH(NYSE,'NYSE Composite');
- GRAPH(CVI,'Cumulative Volume Index');
- GRAPH(EVO,'Elphicks Volume Oscillator');
- CLOSEGRAPH();
- WRITELN('Cumulative Volume Index(CVI) for ',DATE,' is ',CVI);
- WRITELN('Elphicks Volume Oscillator(EVO) for ',DATE,' is ',EVO);
-
-