GMOクリック証券で自動トレード
DMM バーチャル取引にログインして気づいたのだけど…取引ツールがflushアプリじゃん!
これじゃあ、プログラムからコントロールできねー。
まだ、ふつーのアプリの方がマシだったかも・・・。(win32経由で操れるから)
仕方ないので、他の業者を見て回って、GMOクリック証券を発見。
Web画面から取引できるっぽいことが書いてある。
デモ取引用のユーザー登録をして、自動化できないか試してみた。
まず、JavaからHttpUnit経由で操作できないか試してみた。
ふつーにアクセスしてみると、Java scriptでエラー。まぁ、これはよくある話だ。
仕方ないので、HTTPリクエストを直に発行しようと思ったら…なぞのパラメータ[priceid]があることに気づいた。
恐らくは、ユーザーの画面に表示されている価格のバージョン(時刻)だと思われる。
サーバー側でスリッページを判定するために必要だからね。
でも問題は、これがどこから出てきたのか分からないこと!
現在価格は小さなフラッシュアプリで表示しているので、こいつが取得して刻一刻と書きなおしているだと思われるが…この通信はChromeのデペロッパーツールでは解析してくれないみたい。
もう、お手上げ…。
仕方ないので、IEのブラウザコントロールでも使おうかと思ったら…WebDriverを見つけた。
これならJavaからコントロールできる!
ただ、ブラウザがイチイチ表示されるのはウザイ。
プラグインが要求されて、「インストールしますか?」ダイアログで止まっちゃったり。
プログラムの動作中に、ブラウザをうっかり触っちゃうと、Javaからの操作がズレちゃう。
だけど、フラッシュやJavaのアプレットが埋めこまれていても動作する。
(アプレット自体の操作はできないと思うけど)
おかげで、WebDriver経由でFireFoxを操作して、売り/買いの注文(成行)を出すことに成功した。
(まぁ、土日は取引時間外なので"時間外だよー"っていうエラーメッセージが返ってきたんだけど…)
月曜になったら取引成功時のメッセージが取れると思うので、それを成功判定に組み込めばOK。
あとは、エラー(特にJNI周りのヤツ)が 怖いので、別プロセスに分離できるようにしておこう。
ちなみに、GMO CFDの日経225はスプレッドが3~9円だそうな。
DMMは7~9円なので、その分GMOの方が有利かも。
まぁ、今日(土曜日)見たところでは 7円 になってたので、DMMと変わらんのだけど…。
あと、GMOのデモ取引は1ヶ月限定だそーな。
DMMは無期限(?)。ランキングもされるので、ホントは(バーチャル取引は)DMMでやりたかったんだけどなぁ。
| 固定リンク

コメント