会社員KNIGHTの趣味三昧(卓球・盆太鼓・色々!)

会社員KNIGHTの趣味三昧(卓球・盆太鼓・色々!)

PR

Calendar

Category

カテゴリ未分類

(0)

卓球

(1193)

盆太鼓・盆踊り

(407)

トイドローン

(21)

その他

(334)

■■■■■■↓以下は凍結カテゴリー↓■■■■■■

(0)

KATS(自動売買プログラム)

(87)

「VB.NETで自動売買」入門

(24)

本日の取引

(1292)

デイトレ結果(勝ち)

(365)

デイトレ結果(負け)

(591)

夜間取引結果

(15)

今週の取引

(480)

今月の取引

(103)

明日の監視銘柄

(54)

株関連

(55)

草野球

(36)

Keyword Search

▼キーワード検索

Comments

accelwin@ Re[4]:【卓球】シェイクのラケット反転について(11/23) KNIGHTさんへ ご返信ありがとうございます…
KNIGHT@ Re[1]:【卓球】シェイクのラケット反転について(11/23) accelwinさんへ ブログへのコメント、どう…
accelwin@ Re:【卓球】シェイクのラケット反転について(11/23) 61歳でカットマンに挑戦し、2カ月目に突…
KNIGHT@ Re[1]:単身赴任を終え兵庫に戻ります(06/28) Tomohiro Takahashiさんへ コメント有難う…
Tomohiro Takahashi@ Re:単身赴任を終え兵庫に戻ります(06/28) お疲れ様でした。そのうち、私も頑張って…
KNIGHT@ Re[1]:第1回 日中杯 SpinOnline(WSS団体戦)(04/14) fukufuku1789さんへ いえいえ。むしろ私が…
fukufuku1789 @ Re:第1回 日中杯 SpinOnline(WSS団体戦)(04/14) 一緒に試合に出てくださりありがとうござ…
KNIGHT@ Re[1]:第15回 朝霧オープン卓球大会(チームマッチ)(01/21) fukufuku1789さんへ お疲れ様でした。今回…
fukufuku1789 @ Re:第15回 朝霧オープン卓球大会(チームマッチ)(01/21) 惜しい試合が多かったですね。 また卓球し…
KNIGHT@ Re[3]:2023年度台東区オープン年代別後期団体戦(12/10) マニャさんへ コメントどうも有難うござい…
Mar 25, 2008
XML
職場に.NET Frameworkによる株の自動売買プログラムを開発しようとしている後輩がいます。
「株はストライクと思った球だけ振れば良い」 と教えてくれた後輩です。

彼はC++/CLIを使って開発していますが、私が先に開発したというのもあるので
「こんな時はどうれば良いか」など質問される事があります。
会社帰りに同じ方面の電車に乗るのですが、今日は職場を出るのが同じタイミングだったので
自動売買プログラムの話で盛り上がりました。

最初に話題になったのは 楽天RSSの情報をDDEから取得する 話。
自分から一定間隔でリクエストを行い情報を取得する方法と、更新通知を開始して
イベントハンドラで処理する方法についての違いなどについて話しました。

リクエスト方式は自分のプログラム内でタイマーやループなどを仕込んで一定間隔で
自分から情報を取得する方法です。
組み方によってはマルチスレッドを意識しなくて済むのでコーディングが簡素になるのと
理解しやすいソースになるのがメリットだと思います。
デメリットは、全く更新していないかも知れない情報も必ず取得してしまうので無駄な
負荷が掛かるのと、私が一番気になるネックが「11:00過ぎになると楽天RSSが一旦
停止するが、その時リクエストを送るとタイムアウトで例外が投げられる」です。
それを回避する為に、皆さん昼休みには自動売買プログラムを止めて再起動したり、
結構面倒な運用が付きまといます。
これに対しイベント通知型は、更新があるたびにイベントハンドラが呼び出されるので
同時並行的に処理が流れるから厳密にマルチスレッド処理を行わないと異常終了したりします。
私はかなり苦労させられました。。。当然ロック制御などコーディングの敷居も高くなります。
逆に大きなメリットとして「更新通知を開始したままでも昼休みをそのまま通せる」事が
あります。KATSは昼休みに停止していませんが、昼休みの間はイベント通知が起きないだけで
異常終了する事はありません。
後輩は「そんな事ってネットで調べてもあんまり書いてないんで参考になりますわ」と
喜んでました。

他にHashTableやListの話題など色々話したのですが、その後後輩が素朴な疑問として
聞いてきた事は
「指値で注文しようとする時って、株価によって呼び値があるじゃないですか?
あれってどうやって計算してるんですか?」

でした。
私は元々Accessのテーブルに株価の範囲と呼び値を登録し、必要な時に検索していました。
でもよく考えると呼び値ってそうそう変わるものではないので、いちいちDBを検索しているのは
あまりにも効率が悪いです。
という事で、staticクラス(VBだとSharedクラス)でユーティリティを作り、株価を引数にして
呼び出せば呼び値を返してくれるメソッドを作りました。インスタンス化する必要なく
使えないと不便ですもんね。
ソース内は単にCase文が羅列しているだけの至って低次元なものです。
ちなみに制限値幅についても同様の方法で取得しています。

そんな感じで色々な話題で盛り上がっていたらすぐに駅に着いてしまいます(苦笑)。
彼との自動売買談義はずっと終わらないでしょう。
本人曰く「MATS」の開発は、徐々にですが進んでいるようです。
いつになるか分かりませんが、MATSが早く完成する事を心から願ってこの日記を書いてます。





お気に入りの記事を「いいね!」で応援しよう

Last updated  Mar 25, 2008 10:28:25 PM
コメント(6) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: