[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
基本デイトレ。システムで本来出るはずだった損を裁量で防ぐスタイルのシステム売買を目指し、たまに記事を更新してます。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
株価データの桁ファイル
データソースにより、同じ銘柄でも株価、出来高がまちまちになっています。 Fchartでは、各データソース間の桁の違いにに対応するため、データソース毎に桁ファイル(datadot.ket, mujinzo.ket, kabujoho.ket, pan.ket)を用意しています。 Fchartの表示桁が合わない場合は、データソースの株価の桁とFchartの桁を、その桁ファイルで調整して下さい。桁ファイルはテキストなのでメモ帳で編集することが出来ます。
例
コードの後の1桁目が株価、2桁目が出来高の桁修正。
1で10倍、2で100倍、-1で1/10、-2で1/100になります。
9020,-2,-2
この例では、NTTの株価と出来高を2桁づつ落としています。
--------------------------------------------------------------------------------------------
ちょっととっつきにくいreadkabudataについてマニュアルのマクロにそって簡単な解説などを書いていこうと思います
まず、readkabudataは
ReadKabuData(DataV, AshiS ,CodeN ,[ReadAllDataFlagB ,CheckDateFlagB ,SaveFpacDataFlagB ] )N
のように使います。
(例、readkabudata(data,'hiashi',1010,true,true)) これ例では対象は日経平均になります。
で、このreadkabudataはどのように機能するかと言うと、codenの部分に指定した銘柄の日付、始値、高値、安値、終値、出来高などを自動的にdataへ収納する機能を持ちます。
Data[Dno,0]が日付、
Data[Dno,1]=始値、
Data[Dno,2]=高値、
Data[Dno,3]=安値、
Data[Dno,4]=終値、
Data[Dno,5]=出来高
という感じです。
下記のマクロは日経平均を使ったreadkabudataの機能を出力するマクロなので、readkabudataがちょっととっつきにくいという人は一度このマクロを起動させてみてください。
実際に自分の目で見てみたほうがわかりやすいと思います。
/---------------------------------------------------------------------
sisuname:='test';
sisuerror:=off;
var Dnum,data,temp;
begin
Dnum:=readkabudata(data,'hiashi',1010,true,true);
if Dnum>0 then begin
debugout(data[dno,0],' ',data[dno,1],' ',data[dno,2],' ',data[dno,3],' ',data[dno,4],' ',data[dno,5]);
temp:=data[dno,0]+' '+data[dno,1]+' '+data[dno,2]+' '+data[dno,3]+' '+data[dno,4]+' '+data[dno,5];
appendtext(temp,'c:\fchart\data\test.txt');
end;
end;
/-------------------------------------------------------------------
また、Dnoloop:=off;がいまいちわからないという人はこの記述にDnoloop:=off;を追加してみてください。
もうひとつ、日経平均のみではなく、複数の銘柄を扱っている同様のマクロを載せておきます。
重いので、なるべくチャートの表示期間を短くして試してみてください。(最短、推奨)
/-------------------------------------------------------------------
sisuname:='test';
sisuerror:=off;
var Dnum,data,temp,code;
begin
for code:=9950 to 9999 do begin
Dnum:=readkabudata(data,'hiashi',code,true,true);
if Dnum>0 then begin
debugout(data[dno,0],' ',meigaraname(code),' ',data[dno,1],' ',data[dno,2],' ',data[dno,3],' ',data[dno,4],' ',data[dno,5]);
temp:=data[dno,0]+' '+code+' '+data[dno,1]+' '+data[dno,2]+' '+data[dno,3]+' '+data[dno,4]+' '+data[dno,5];
appendtext(temp,'c:\fchart\data\test.txt');
end;
end;
end;
/-------------------------------------------------------------------
もし、検索期間を指定したいなら、このブログの記事の’期間のある全数検索の出力’を参照。
/---------------------------------------------------------------------------
for Code:=1001 to 9999 do
//東証1部のみ
if (Sijo(Code)=0)
then
begin
/データ読み込み
Dnum:=ReadkabuData(Data,'HiAshi',Code);
/(中略)
if CheckIdoHeikin(CheckEndDno,Para1,Para2,Para3) then begin
count:=count+1;
Debugout(count,': ',Code,' ',MeigaraName(Code),' ',data[Dnum,0]);
end;
/---------------------------------------------------------------------------
これだけでは使えませんが、上記のDebugoutを使うことで検索にヒットした銘柄の
1.順番
2.証券番号
3.銘柄名
4.ヒットした日付
を得ることができます
重要なのはこの部分ですね
count:=count+1;
Debugout(count,': ',Code,' ',MeigaraName(Code),' ',data[Dnum,0]);
end;