エクセルVBA自動発注 VBAの考え方 / 基本五要

発注情報の入力

一番下のエクセルアイコン(コードサンプル)でダウンロードしたエクセルブックを開くと下図のような表示が開きます

セルB1からセルB3は注文画面にアクセスするためのIDとパスワードを入力して、さらにセルB5以下のB列で発注条件を選択して、「IE操作」ボタンをクリックすることで証券会社の注文ページに情報を入力できます。

発注命令実行状態の参照

セルE1の指定でサンプリコードのどこまで実施するかを選べるようにしてありますので、ここでサンプルコードの任意の地点までを実行してその状態を確かめることができます。
最終はミスを避けるために「発注」のひとつ前の確認までとしています。
この確認画面に取引PASSを入力して送信することで、注文が実施されます。

岡三オンライン証券のRSSでは発注までが準備されていますが、楽天RSSはリアルタイムデータの取得に限定されているためにこうしたプログラムからの発注操作が必要になります。

これは証券会社(ここでは楽天証券)のホームページ(便宜上軽く開く携帯ページ)をプログラムから開いてそれをプログラムから操作(入力や実行など)して手作業と同じ手順で注文します。
直接証券会社のプログラムに介入するわけではないので実施速度はコンピュータでの方法としては極めて遅いのですが、手作業に比べると相当早いという印象を持たれると思います。

ホームページにはフォームと言う入力送信の仕組みがあります。
よくある会員登録やホームページからのメッセージやメール送信はこのフォームのデータをサーバー上のプログラムに渡して、そこから必要な処理を行うわけですが、証券会社の発注画面もこのような仕組みのものが多いのでこれを操作して発注処理ができるわけです。

<Form></Form>タグで囲まれた部分の<input>タグの情報は名称とデータという形でサーバーに渡されますが、このデータの部分を入力する方法は広くネット上で紹介されています。
方法もいくつかありますが、ここではそのうちの代表的な方法を記述しています。

楽天証券のケータイ用の発注画面を開いてID&パスワードを入力して画面を送り、ログインした状態の注文画面を開いて必要な情報を記述して送信するという作業をVBAから行っています。

ポストスクレイピング

これはスクレイピングと呼ばれる方法ですが、マーケットスピードの項で述べたようにスクレイピングにはウインドウズAPIを使って座標を指定して入力してゆくと言う方法もありますが、ここではホームページのソース画面を直接操作する(たぶん一般的と思われる)ポストスクレイピングと言う方法をとっています。

モジュール1には一旦開いたIE(インターネット・エクスプローラ)を閉じるための命令文と(「IEを閉じる」ボタン)、スクレイピング操作コードを簡略にするための自作関数が書いてあります。

モジュール2には参考用に、開いたホームページを読み取る命令文を記述しています。
これは「IE内容を取得表示」と言うボタンで呼び出せます。

モジュール3には本編の発注操作のサンプルを記述しています。

発注画面の表示/非表示

サンプル記述の発注命令文の

'IEの画面の大きさを指定し、IEを開く
With objIE
.Width = 300 '大きさ
.Height = 800
.Left = 700 '表示位置
.Top = 0
.Visible = True
.navigate "https://mobile.rakuten-sec.co.jp/"
End With

の部分がIEを開く命令文なのですが、このうちの、
「.Visible = True」を「.Visible = False」に変えると
IEの画面を隠したままですべての命令を実行できます。

スクレイピングの注意点

この方法は証券会社から保証されている方法ではありません。
証券会社側の都合で本の少し注文ページのソースの内容や形式を変更しただけで、まったく注文できなくなったり思わぬご発注が起きる可能性もあります。
また東証大証統合時のように、電子文化の進歩にともなって取引所自体の発注仕様が改変されることも今後ありえます。
このためこのページのサンプルからの動作もある日突然おかしなうごきになったり、場合によってはケータイ発注画面自体が時代の要請で消滅することもありえます。

そのような時には新仕様にあわせてその都度プログラムを組み直さなければなりません。

プログラミングによる自動売買にはこうしたイタチごっこは常につきものです。
そうした理由からもできるだけいろんな方法を学習しておくことが必要です。

  VBAコードサンプル エクセルファイル

下のメニューの「自動売買用VBAチップ ファイル一覧」などのリンクページから各種研究用・分析用のエクセルファイルをダウンロードできます。

エクセルでVBA自動売買システムを作る際に参考にしていただく素材集です。
このコーナーへのアクセスが多いようなら更に素材を追加します。

もっともよく知られたテクニカル指標の計算ファイルです。
トレンド系とオシレータ系の代表的なものを集めています。

ワイルダーの開発したテクニカル指標の計算ファイルです。
現在広く使われているのテクニカル計算法の基本的な指標群です。

バンド系、チャネル系テクニカル指標の計算ファイルです。
逆張りエリアや過熱エリアなどの境界検出に用いられます。

代表的な各種の移動平均をそろえた計算ファイル集です。
各テクニカル指標の移動平均部分で差し替え検証などを行うことができます。

エクセルで自立型の売買システムを作る際に参考にしていただく素材です。
更に素材を追加する予定です。

広告



 サイトからのお知らせ。
・12/19日 最新のお知らせや重要なサイトの更新は現在特にありません。

エクセル用無料ファイル(四本値&インジケーター)
 各種ファイルは利用者の共有資料です。(ダウンロードフリー)

・このサイトはグーグルクロム(PC)に最適化しています。

広告



TOP