hey jon.... patrick's orignal forum dll had a composite creator.... however it also ploted as an indicator , which is not your goal.....
one solution could be thru the use of excel.... export the data to it, do the math, and import the combined data back ..... if your handy with excel.....
another simplier method would be to create your indicator in each of the o,h,l,c,v versions.... then plot each, right click and copy each plot..... paste into the proper column of your composites data sheet.... then your composite will plot normally.....
the formula below can be improved tremendously, but should give you an idea..... if the file path length becomes an issue, read the bottom part here about character hogs......h
----------------------------------------------
type:=Input("open,high,low,close,volume",1,5,1);
a:= .5* Security("C:\Metastock Data\nasdaq 100\amat",O ) + .3* Security("C:\Metastock Data\nasdaq 100\csco",O ) + .2* Security("C:\Metastock Data\nasdaq 100\aapl",O );
aa:=.5* Security("C:\Metastock Data\nasdaq 100\amat",H ) + .3* Security("C:\Metastock Data\nasdaq 100\csco",H ) + .2* Security("C:\Metastock Data\nasdaq 100\aapl",H );
aaa:=.5* Security("C:\Metastock Data\nasdaq 100\amat",L ) + .3* Security("C:\Metastock Data\nasdaq 100\csco",L ) + .2* Security("C:\Metastock Data\nasdaq 100\aapl",L );
aaaa:=.5* Security("C:\Metastock Data\nasdaq 100\amat",C ) + .3* Security("C:\Metastock Data\nasdaq 100\csco",C ) + .2* Security("C:\Metastock Data\nasdaq 100\aapl",C );
aaaaa:=.5* Security("C:\Metastock Data\nasdaq 100\amat",V ) + .3* Security("C:\Metastock Data\nasdaq 100\csco",V ) + .2* Security("C:\Metastock Data\nasdaq 100\aapl",V );
If(type=1,a,If(type=2,aa,If(type=3,aaa,If(type=4,aaaa,If(type=5,aaaaa,a)))))
-----------------------------------------------