テーマ:トレイダー(465)
カテゴリ:IB
今までAPI(DDE)に「webクエリ」とロケマを組み合わせた「ムリヤリ自動化」システムを稼働させて来たが、このwebクエリが不安定でもうひとつ気に入らない。エンジンが2基あっても、すぐに片肺になってしまうのは精神衛生上よろしくない。
webクエリなどに頼らずにブローカーのデータを使えば良いのだが、なぜかIBは「始値」を表示してくれないのは以前にも書いた通り。そこで、何とか始値データを取得してやろうと、イロイロ検討を始めた。 始値(寄付)はきっかり何時何分と決まらないので、立会開始時刻から継続してデータをモニターし、前回値(前日終値やnull値)から変化した時点で記録する、という方法を考えた。しかし、VBAでDOループ等を使うと負荷が大きくてその間他の処理が出来なくなってしまい、ボツ! 次にイベント機能を使って、セルのデータが変化したら起動という方法。これなら他の処理と並行して監視してくれるので、ループでスタックする心配がない。ところが、やってみたら手入力と違ってVBAによるセルへの書き込みではコレが使えなかった。 ontimeというプロシージャを使う方法も試したが、これは単発であり、一定間隔で起動することが出来ないため、やはりうまく使えなかった。 最後の手段はロケマの「繰り返し」を使い、立会開始時刻から一定間隔でコマンドボタンをクリックし続ける、という原始的な方法(笑)。これでようやく始値を記録することが出来た。ヤレヤレ 225指数等はこれで問題ないが、先物等ではたまたま前日終値と当日始値が同じというケースには誤作動してしまう。これは値段だけでなくvolume等も併用して判定するか しかし、始値ひとつでこんなに苦労するとは思わなかった(丸2日!) ま、ドシロウトなりにいろんなことが勉強にはなったが。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2007年07月19日 15時41分22秒
コメント(0) | コメントを書く
[IB] カテゴリの最新記事
|
|