Mike,
See if this helps:
{ExtFml( "ASI.BBandBot", Data Array, Periods, deviations)}
{ExtFml( "ASI.MACD", Data Array, Slow Periods, Fast Periods)}
{MACDBB}
Factor1:=Input("BB Factor1",0.1,10,3.4);
Deviations:=Input("BB Deviations",0.1,10,1.0);
pr := MP();
periods := ExtFml("ASI.HomodyneCyclePeriod",pr);
A1:= ExtFml("ASI.MACD",Pr,periods,periods/2.4);
BBtop:=ExtFml("ASI.BBandTop",A1,periods/factor1,deviations);
BBmid:=A1;
BBbot:= ExtFml("ASI.BBandBot",A1,periods/factor1,deviations);
BBtop;BBmid;BBbot; {end}
The first two lines of code are there to help you understand what the ASI DLL is looking for and can be eliminated.
The MACD is usually calculated by
mov( close, 12, E) - mov( close, 26, E)
In the case of this indicator it uses the Homodyne Cycle periods instead.
Periods are later divided by 2.4 in the A1 array and 3.4 in the BBtop and BBbot arrays.
The standard deviations in the BB bands are set to 1.0 which is pretty tight. You may wish to use a little longer period there.
Hope this helps,
Preston