Daily Report
Please do not lightly pass over this example. It is a powerful script that
will print a daily report of study values for the symbols on your custom quote
page.
function Slope(a,b: real): string;
begin
if a>b then Result:='/'
else if a<b then Result:='\'
else Result:='=';
end;
procedure StudyPrice(e,k: integer);
var
j: integer;
r1,r2: real;
begin
j:=FindStudy(e);
r1:=GetStudy(j,k,BarEnd);
r2:=GetStudy(j,k,pred(BarEnd));
write(FormatPrice(ConvertPrice(r1)),Slope(r1,r2),' ');
end;
procedure StudyPercent(e,k: integer);
var
j: integer;
r1,r2: real;
begin
j:=FindStudy(e);
r1:=GetStudy(j,k,BarEnd);
r2:=GetStudy(j,k,pred(BarEnd));
write(Align(Round(r1),4),Slope(r1,r2));
end;
procedure Price(r1,r2: real);
begin
write(FormatPrice(ConvertPrice(r1)),Slope(r1,r2),' ');
end;
procedure SetTemplate;
begin
Chart('IBMDEMO.D'); {any chart just so we can set
up template 5}
btnTemplate5.click;
Remove(eStudy);
AddStudy(eSto);
AddStudy(eRSI);
AddStudy(eAvE);
AddStudy(eSto);
AddStudy(eADX);
AddStudy(ePar);
mnuCLoseWindow.click;
end;
procedure DailyReport;
var
i,j,market: integer;
symbol: string;
r1,r2: real;
begin
SetTemplate;
Output(eClear);
writeln('Symbol Last Net High Low Ave1 Ave2 .%K %D RSI ADX +DI -DI
Parabolic ');
sList.loadfromfile(sPath+'custom.quo');
for i:=0 to pred(sList.count) do begin
market:=ord(sList.strings[i]);
symbol:=Copy(sList.strings[i], 2, 10);
if Find(market,symbol) then begin
Chart(symbol);
write(Align(symbol,6,eLeft));
Price(Last(BarEnd),Open(BarEnd));
write(Align(FormatPrice(GetData(eNet)),9),' ');
Price(High(BarEnd),High(pred(BarEnd)));
Price(Low(BarEnd),Low(pred(BarEnd)));
StudyPrice(eAvE,1);
StudyPrice(eAvE,2);
StudyPercent(eSto,2);
StudyPercent(eSto,3);
StudyPercent(eRSI,1);
StudyPercent(eADX,1);
StudyPercent(eADX,2);
StudyPercent(eADX,3);
j:=FindStudy(ePar);
r1:=GetStudy(j,1,BarEnd-1);
r2:=GetStudy(j,1,BarEnd-2);
writeln('
',FormatPrice(ConvertPrice(r1)),Slope(r1,r2));
mnuCloseWindow.click;
end;
end;
Output(eSort,73,false); {sort descending %K}
end;
begin
if Who=3 then DailyReport;
if Who=2 then Output(ePrint,false);
end;
Notes
The slope indicators tell you if the study is rising or falling. Study the
script so you understand what each indicator is reporting. The studies are
using your default settings. So everything is in your control.
|