忍者ブログ

私から見るマーケットの姿

基本デイトレ。システムで本来出るはずだった損を裁量で防ぐスタイルのシステム売買を目指し、たまに記事を更新してます。

期間のある全数検索の出力

一応、readkabudataを使ってシミュレーションの編集画面で期間のある全数検索をして、Debugoutとappendtextができるようになったのでマクロを貼っておきます。今回の例では、カイリ率を使っています。

Runボタンで実行しますが、かなり重いです。Debugoutとappendtextのcalckairi(i,25)を消すと速くなります。

今の設定では東証1部で証券番号が8888~9999だけで検索するようになっていますので、使いたいときには1001~9999にしてください。
マクロのマニュアルの「マクロによる銘柄検索2」を参考にしてください。

また、出力される情報は

・日にち(data[i,0])
・検索ヒット数(count)
・証券番号(code)
・銘柄名(Meigaraname(code))
・終値(data[i,4])
・25日平均のカイリ率(calcKairi(i,25))

です。よかったら使ってください。

間違っているかも知れませんが、この記述の中ではopen[dno]やclose[dno]などは使えません
open[dno]→data[i,1]; (始値)
close[dno]→data[i,4]; (終値)
です。(マニュアルのreadkabudataを参照)


/----------------マクロの始まり------------------------------

sisuname:=’全数検索’;
Dnoloop:=off;
var i,stdno,code,varA,Dnum,SMAP,fnSMA,fnkairi,count,data[5000,6],p,a,temp;
begin

{$definit}



{$defend}

for code:=8888 to 9999 do
if (sijo(code)=0) then begin
Dnum:=readkabudata(data,'hiashi',code,true,true);
for i:=1 to Dnum do begin
statusout(code);
/--------------必要な条件を記述-----------------------------

if (calckairi(i,25) < -10)






/-----------------------------------------------------------
then begin
temp:=data[i,0]+' '+count+' '+code+' '+meigaraname(code)+' '+data[i,4]+' '+calckairi(i,25);
appendtext(temp,'c:\fchart\data\test.txt');
count:=count+1;
debugout(data[i,0],' ',count,' ',code,' ',meigaraname(code),' ',data[i,4],' ',calckairi(i,25))
end;
end;
end;
if count=0 then message('検出銘柄はありません')
else message(count+'銘柄が検出されました');
end;



/---------------ユーザー定義関数----------------------------

function CalcSMA(d,Dnum);
var a,i;
begin
a:=0;
if Dnum<=0 then exit;
if (d-Dnum)>0 then begin
for i:=d-Dnum+1 to d do
a:=a+data[i,4];
end;
result:=a/Dnum;
end;

function Calckairi(d,Dnum);
var a,b,i;
begin
a:=0;
if Dnum<=0 then exit;
if (d-Dnum)>0 then begin
for i:=d-Dnum+1 to d do begin
b:=calcSMA(i,25);
a:=data[i,4];
end;
end;
result:=((a-b)/b) *100;
end;


・今後の課題は、期間を指定できるようになること(Encdateで可能かな?)
・Buy,Sell関数を組み込むこと
・BuyP=0のナンピン防止のシステムを組み込むこと

です。
最終的な目標はExcelでシャープレシオ、IRRなどを計算できるようにすることです。


なにか、分からないことがあったらメールかコメントしてください。

PR