Archive for 11月, 2009

出来高での判断を売買代金によるそれに変更

最近はニコニコ動画でスタートレック ヴォイジャーを観てます。

でんででん♪ でんでででで♪ いま96話

 

 

宮元むなし たっぷり海老フライ定食

20091030 宮元むなし.jpg

さすがに6本は食べてると飽きますがw

 

さて、ずっと気になっていたのですが。

売買単位と株価が多様となった昨今、1株あたりの価値が大きく異なる銘柄を、「出来高n万株以上」という判断をするのはどうなんだろう・・。というお話。

エビ6本でも安いエビなら満足度も低いわけです。

この機会に、今まで出来高で判断していた部分を、売買代金での判断に変更してみますよ。

ChArt 題名「予期しない出来事」

チャートによるアート。 ちゃアート ・・ってのはどうでしょう。(新ジャンル)

20091104ss.png
 
ようするに再計算しようとしたら、さらにぶっ壊れただけなんですが。
 
 
まぁ、もとになる分足データはあるので再計算しますけどね・・。

データ破損の原因が判明

今日はちょっとプログラミング寄りなお話。

ずっともやもやしていたデータ破損の原因が判明しました。

 

原因:意図せず行った参照渡しで、別箇所での値変更が発生していました。

 

VBのプリミティブ型の引数はByRefにしない限りは基本、値渡し(ByVal)ですよね。

うちのシステムでは、株式市場の取引日とザラ場時間のみを表わすようにDate型をラップしたKabuDate2型というのを用意しているわけですが、こいつを・・

・・とここまで書いてめんどくなった。

 

くどくど説明するより、再現コード。

20091106ss.png

 

艦長。トゥボックがニーリックスに変質してしまっています・・。
 

VBではクラスのインスタンスをByVal渡しした時には参照が渡されるという仕様は百も承知なのですが、これを忘れていた、というか忘れてもいなかったのですが・・なんというか・・、そう・・。見落としていた。・・いや、ちがう。こんなの書いてる時点で気づかなくてもしかたない・・。うーん。

ニーリックスに変質するタイミングがコード的に遠い位置の場合、ちょっと見つけにくいバグになります。

どうしてもByValという表記は値渡しをイメージしてしまいますよね・・。

 

というお話。