2008年11月24日月曜日

注文処理を実装した



まだ枚数を一枚に固定しているが、注文処理を実装してしまったぞ。
テストをまったくしていないというか、そもそもクリック証券の先物の口座はまだ開けていないのだが。
今日開けるかと思ったら振り替え休日かよ。

アドイン

チェックボックス五つをチェックしないとロック解除にならないのでお気軽にお試しください、と言いたいところですが、ロック解除していないときでも返済注文は行うようになっている+そもそもぜんぜんテストしていないのでご注意ください。何があっても免責ね。

それにしてもLINQのノリが楽しい(ステートメントを使っているわけではないけれど)。五つのチェックボックスが全てチェックされているのを確かめるのに
private bool isOrderLockReleased()
{
return mimohutaPanel
.ChkLockRelease
.Children
.OfType<checkbox>()
.All((chk) => (chk.IsChecked.HasValue && chk.IsChecked.Value));
}
これですむのだ。
また、五つのチェックボックスのうちひとつでもチェックが外されたら全部を外すコードは
foreach (CheckBox chk in mimohutaPanel.ChkLockRelease.Children.OfType()) {
chk.Unchecked += delegate {
foreach (CheckBox _chk in mimohutaPanel.ChkLockRelease.Children.OfType<checkbox>()) {
_chk.IsChecked = false;
}
};
}
簡潔、簡潔。

2008年11月22日土曜日

スキップリスト



少し前にスキップリストのデバッグ用に作ったUIの画像。なかなか面白い。
二つのアイテムを選択してその区間における色々な量の平均値やら最大値やら合計値やらを計算して表示するという所まで作ってからアドインの作成に進むつもりだったのだが結局見切り発車したのでこのアプリはスキップリストの構造が見れる所まで。


その後もう少しまともなコードになりました。ソースコードが必要な方はこちらのエントリをご参照ください。

マイクロソフトへ

ずっとマイクロソフトが嫌いだった。今でもそれはほとんど変わらない。
でも、今、生まれて初めてマイクロソフトに願う事がある。
100% pure .net OSを作ってくれ!!。ああ、それは100%ロジカルでシステマティックな世界。僕らがJAVAに見た夢。

マケスピ in はっちゅう君


とりあえずアドインとして作成した歩み値表示を見ながらのトレードというのを実地でやってみたかったので、マーケットスピードをはっちゅう君の中に表示させるアドインを作ってしまった。なかなかいい感じであった。

歩み値を取得して独自の方法で表示するだけだったらそもそもマケスピのRSSという選択肢があるわけで、この体制は本末転倒も甚だしい。はやく注文処理も自作のアドインに実装させなくては。

2008年11月20日木曜日

途中経過公開



はっちゅう君アドイン
今の所注文操作は実装していませんので、お気軽にお試しください。

インストール方法:解凍して出てくる.addinファイルをはっちゅう君のアドインマネージャ画面にドラッグアンドドロップ。インストールボタンが出てくると思うので指示に従う。

なお、.Net framework3.5が必要な気がします。

また、アドインの実体は通常dllファイルとして作成しますが、私のアドインの場合デバッグの利便性のためにexeファイルとして作成してあります。はっちゅう君プラスと同じディレクトリに置くと直接実行できて、ブラックショールズモデルに基づいたシミュレーションデータが表示されます。

2008年11月17日月曜日

わりと形になってきた



デバッグ用にブラックショールズモデルのオイラー法による離散化をシミュレートしてフェイクのデータを生成できるようにした。
(こんな事が可能なのはこの人のおかげというその伊藤先生が先日亡くなられたそうですが・・・。ご冥福をお祈りします)

さらに下1/4を経過した後には一定の時間間隔でデータをまとめるようにした。それぞれの時間間隔における始値、高値、終値、安値を頂点とする四辺形を表示しているので、ローソク足と比べて一般的な方法ではないけれど、四本値の情報はちゃんと入っている。なお、高値、安値の頂点はVWATの時刻に表示するようにしているので、ヒゲをちょうど中央に書く普通のローソク足と比べて少しだけ情報量が多い。

さらに、なんと、まとめる時間間隔をリアルタイムにグリグリできるのだ。区間に加法的に関連付けられる量を任意の区間に対して効率的に計算できるツリー状のデータ構造(スキップリストを使用)の本領発揮である。

さて、後は注文機能を付ければ完成というところまできてしまったが、注文機能の実装で危険のないようにするにはどうすれば良いのだろうか。

2008年11月15日土曜日

実も蓋もない


フルスクラッチついでにフォームのタイトルを変えた。

夕場は次の日の扱いになるとはいえ、相場データのTimeプロパティが次の日の日付で来るのには面食らった。