53歳限界プログラマの憂鬱

SU/CAR-ST-APplication-cellsから派生したプログラマのブログ

来訪ありがとうございます
シストレツールを自作してました
自分用の記事が多いのであまり役には立たないブログでした

f:id:sucar:20150414193802p:plain

自作システム詳細目次

システムQに市場限定フラグ追加

久々にシステムに手を入れたので記録

ちなみにシステムは2つあって

  • 旧システム C言語でシグナルを出す 
  • 新システム R言語でシグナルを出す

ということなんだけど

supercar.hatenablog.com

ということで

  • 旧システム システムQに改名
  • 新システム システムRに改名

となりました(それがどうしたw)

で、システムQの方で

bin/data1000_200

----------------------------------------------------

ls -r ~/stockstr |head -1000 > ./data.cfg
./bin/picdaihhntr |sort |uniq > ./code/a.txt
# 除外コード処理 jjhishi.txt
cat ./code/bb.txt ./code/jjhishi.txt |sort |uniq > ./code/b.txt
rm ./code/bb.txt
cat ./code/a.txt ./code/b.txt | sort | uniq > ./code/all.txt
cat ./code/b.txt ./code/all.txt | sort | uniq -u > ./code/code.cfg
ls -r ~/stockstr |head -200 > ./data.cfg
# 共通な行を抜き出す
cat ./code/code.cfg ./code/T1.txt | sort | uniq -d > ./code/codeT1.cfg

---------------------------------------------------

./code/T1.txt 東証1部のcodeを羅列したものを準備しとけば

./code/codeT1.cfgを作ってくれる

 以下は参考過去記事

abenomix.hatenablog.com

まあ、sortとuniqの応用テク

bin/data1000  も忘れずに

----------------------------------------------------

ls -r ~/stockstr |head -1000 > ./data.cfg
./bin/picdaihhntr |sort |uniq > ./code/a.txt
# 除外コード処理 jjhishi.txt
cat ./code/bb.txt ./code/jjhishi.txt |sort |uniq > ./code/b.txt
rm ./code/bb.txt
cat ./code/a.txt ./code/b.txt | sort | uniq > ./code/all.txt
cat ./code/b.txt ./code/all.txt | sort | uniq -u > ./code/code.cfg
# 共通な行を抜き出す
cat ./code/code.cfg ./code/T1.txt | sort | uniq -d > ./code/codeT1.cfg

-----------------------------------------------

で、C言語ソースの方でこの./code/codeT1.cfgが使われるようにしないといけない

main/simxp8trsu_nobug.c

------------------------------------------------

:

int main (void) {
//2016/8/11 市場切り替え対応
#ifdef SHIJOU
  char* c_cfg=SHIJOU;
#else
  char* c_cfg=".\\code\\code.cfg";
#endif
//

:

-----------------------------------------

こうやっておけば、SHIJOUが定義されてれば、c_cfgを変えられる

(simxp7trsu_nobug.cも同様に)

で、

awk/mt_h.awk

----------------------------------------------------

:

$1=="T1" {
 # print "#define SHIJOU \".\\\\code\\\\T1.txt\""

  print "#define SHIJOU \"./code/T1.txt\""
}

:

-----------------------------------------------------

これで

f:id:sucar:20160811123911p:plain

とルールを記述しとけば対象が東証1部onryになる

という仕掛け

まあ、メタプログラミング的な手法のおかげで仕様拡張がいろいろできて面白いなw