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

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

PR

Calendar

Category

カテゴリ未分類

(0)

卓球

(1218)

盆太鼓・盆踊り

(407)

トイドローン

(21)

その他

(337)

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

(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) マニャさんへ コメントどうも有難うござい…
Feb 9, 2008
XML
現状のKATSがどうなっているかまとめた事がありませんでした。
仕様書を書く前に、せめてクラス図だけでも書いておこうと思います。

会社のPCならモデリングツールが入っていますが自宅PCには無いので、フリーの
UMLツールをダウンロードして書いてみました。

まずはシステムコンテキストダイアグラムから。
皆さんご存知だとは思いますが、KATSの構成はこんな感じになっています。

SystemContextDiaglam.JPG

ザラバ中に楽天RSSからリアルタイムデータを取得したり、監視銘柄抽出の時に
銘柄一覧を取得したりするためのクラス群は「RakutenRss」という名前空間です。

ClassDiagramRakutenRss.JPG

メインのDdeManagerというクラスが、NDdeというクラスライブラリのラッパーです。
全てのPublicメソッドはstaticです。
RequestStockItem()メソッドは全銘柄一覧を取得するメソッドです。
Request系メソッドは取得するデータ型毎にメソッドがあります。
IsArive()メソッドは楽天RSSの生死確認用メソッドです。
StartAdviceするのはStart()メソッドで、更新通知を開始する項目はIDdeAdviceという
インタフェースで渡します。監視する項目が変わってもDdeManagerを修正しないで
済むように、また煩雑なIF文を書かないようにStateパターンで実装しています。


余力情報、保有銘柄一覧、約定一覧などの取得や発注はクリック証券のWebサービス
APIを呼び出していますが、それらは「Gmo」という名前空間です。

ClassDiagramGmo.JPG

こちらはGmoProxyというクラスがクリック証券のWebサービスのラッパーです。
KATSはGmoProxyを使う事によってWebサービスを意識せずに各種情報の取得や
発注を行う事が出来ます。
GmoProxyのPublicメソッドは全てWebサービスのURLに準じています。
Webサービスの結果は全てXML形式で返るのですが、そのままだと扱いにくいので
画面に表示するにもプログラム中で使うにも都合が良いようにDataSetの形に
変換しています。


そしてKATSのメイン部分です。
メイン画面から開く各サブ画面(メインのバッチ処理以外)はこんな感じです。

ClassDiagramKATSSub.JPG

設定画面はSettingFormです。
各種設定をapp.config.xmlに読み書きする画面です。
購入候補登録画面は購入候補登録のバッチ処理を非同期で起動します。
その時、RakutenRssやGmoの名前空間を使用します。
購入候補はKATSDataSetを使ってRDB(Access)に登録します。
TableAdapterも使っていますが省略しています。
購入候補や売却候補の画面はKATSDataSetの内容を確認したり手直ししたり出来る
画面です。


メイン処理のクラス図も一応書きました。でもうまくまとまりません(^-^;

ClassDiagramKATSMain.JPG

自動購入処理と自動売却処理はそれぞれ別のBackGroundWorkerで非同期に
実行されます。
実際に起動されるロジックは設定画面で指定したロジックでTradeLogicFactoryが
app.config.xmlを見てインスタンス化し、起動します。
名前の通りFactoryパターンを使用しています。
売買ロジックを切り替える時にはプログラムを修正しなくても設定画面から修正すれば
良いようにしています。
各売買ロジックは色々なクラスを呼び出していますがロジック毎に違いますので
まとめて書いてます。

ざっとこんな感じです。





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

Last updated  Feb 10, 2008 03:20:10 PM
コメント(2) | コメントを書く


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

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