かきくけこうもりのよろず投資日記(旧サイト)
 
このサイトは移転しました。サイト右側のリンクから、新しいブログに移動できます。
 


排他制御

自動売買の注文処理は、売買シグナル発生時にスレッドを作成して、そのスレッド中で発注をしようと考えています。そこで、同時に発注をするときにオブジェクトの同期がうまくかみ合うかどうかを調べるため、試しに5つのスレッドを作って、5つ同時に発注をしてみました。するとページ遷移のエラーが返されてきました。
そこで、synclockでWEBにアクセスするクラスを排他制御してみると、エラーは発生しなくなりました。でもこれではHTTPWebRequestやHTTPWebResponseを使う意義がさらに薄れてしまいます_| ̄|○(昨日触れたように、WebBrowserよりもむしろ遅いので)。まあ、もともと株価のログをとったり売買アルゴリズムを計算させているスレッドと発注のスレッドは別スレッドなので、あまり影響は無いといえば無いのですが。
ページ遷移のエラーの問題はクッキーの問題だろうと考えて、HTTPWebResponseで得られたクッキーをHTTPWebRequestのCreate時に渡して、クッキーをインスタンス化してみようと考えたのですが、色々やってみてもちょっとうまく行きませんでした(というかCookieContainerオブジェクトを複製する方法がみつからなかった)。もしクッキーを複製できれば、ログイン時に得られたクッキーと同じものを持つ複数のHTTPWebRequestオブジェクトを構築して、スレッド1つごとにそれらのオブジェクトを割り当てて同時に発注できそう……とか考えたのですが、ダメっぽいです。となると、同時に発注するには複数回ログインしなければならないのか?ということになりますが、あほらしいのでやめておきます。
マケスピはこのごろあまり停止しないのですが、今日はマケスピもRSSも停止していないのに、ごく一部の銘柄(日経先物と株価指数)の取得が9時26分に停止してしまいました。このように何故か先物だけが止まるケースがたまにあるのでちょっと困っています。マケスピ全体が止まるのならば、netstat等に相当する処理を適用すればマケスピ停止を発見できそうなのですが、ごく一部の銘柄のみとなると、本当に止まっているのか、それとも実際に売買されていないだけなのかという区別がつきません。DDEのイベントによる取得処理のほかに、RSSに直接アクセスして値をとってくるような処理も必要なのかもしれません。

チャーハン!!チャーハン!!
     ゚・ 。  ・。 ゚・ 。  ・。     ゚・ 。  ・。 ゚・ 。  ・。
        ゚・ 。 。・゚・⌒ヽ 。・゚。・          ゚・ 。 。・゚・⌒)
......................    -=≡ (( ヽニニフ━o  _ _ o━ヽニニフ )) ・。
......................    -=≡((ヽニ(⌒。・゚。・ ミ ( ゚∀゚)彡。・゚。・⌒) ニフ ))
.......................    -=≡   ((ヽニニフ━o   o━ヽニニフ )) ゚・
............................   -=≡((.ヽニ(⌒・゚・。彡 ( ⌒) ミ 。・゚・⌒)フ ))
 ゚・ 。  ・。 ゚・ 。 -=≡((ヽニニフ━o c し' o━ヽニニフ ))



7月25日(火) | トラックバック(0) | コメント(0) | 日記 | 管理

この記事へのコメント投稿はできない設定になっています
コメントはありません。


(1/1ページ)