2008年11月27日木曜日

イベントの削除

ところで、各種サンプルで

何かのイベント+=メソッド名

何かのイベント-=メソッド名

っていうコードを見るけれど、これ、イベント削除されないよね?それぞれ右辺で暗黙に別々のデリゲートオブジェクトが生成されてそれを追加したり削除したりしているから。


以前ここに書いてあった内容はデタラメでした。このエントリをご参照ください。

アルファバージョン完成

とりあえず注文ができるようになり最低限の機能の実装は完了した。

はっちゅう君プラスのアドイン

ベータバージョンに向けてのTODO:
1.建て玉や返済注文の情報の表示
2.トレード回数や損益の情報の表示
3.引け前のワーニングや強制決済
4.暇だったらグラフィックを無駄に凝る
5.暇だったらxamlを外部から読めるようにしてデザインをカスタマイズできるようにする。
6.さらに暇だったらはっちゅう君のリフレクションを下にスタンドアローン版を作る
7.さらに暇で、しかも利益でVista搭載のPCが変えたらサイドバーガジェット版を作る。
8.さらに暇で、タッチパネル搭載型のvista sideshowデバイスが入手しやすくなったらsideshowガジェットを作る

でもしばらくは今のままでいいや。

それにしても、動きのない日だったので、デバッグで証拠金の10%が飛んだ。成り行き注文恐るべし

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ファイルとして作成してあります。はっちゅう君プラスと同じディレクトリに置くと直接実行できて、ブラックショールズモデルに基づいたシミュレーションデータが表示されます。