
岡三オンライン証券の岡三RSSではExcelシートへの直接記入以外にも、Excelマクロ上で関数をコマンドを呼び出して注文する方法がサポートされている。
以前の記事で、Excelシートのセルに直接注文関数を入力して発注する例を説明した。
しかし、場合によってはExcelセルへのコマンドの直接記入だけでなく、ExcelマクロやVBAを使って計算や発注を行いたいことがある。
例えば、Excelファイルの自動保存をしたり、時系列データをファイルに保存したりする場合にはExcelマクロを使う。
そのため、Excelマクロを使う場合の発注方法についても説明する。
Excelマクロの使い方
以前説明した、Excelシートに直接記入して発注する方法は以下のページ。
今回は、Excelマクロを使った方法であるが、Excelマクロを使うためには事前に少しExcelの設定が必要である。
その最初の最初のExcelの設定は以下の外部ページがわかりやすい。

とりあえず、上のリンクを参考にしてExcelマクロでVBAプログラミングを入力できるようにしておく。
また、以下のリンクを参考にしてVBAの参照設定で「岡三RSS」の参照にチェックを入れておく。
Excelマクロから日本株を売買する(現物取引)
以前説明した方法では、日本株(現物)の取り引きを発注するためにExcelセルにNEWOERDER関数を直接記入した。
今回のように、マクロを使って売買する場合には、NEWORDER関数をマクロに記述する。
VBAの例を以下に示す。
Sub TradeGo()
Dim i As Long
Dim norder As String
With Worksheets("Sheet1")
For i = 2 To 98
If .Cells(i, 19) = 1 Then
norder = NEWORDER(.Cells(i, 1), .Cells(i, 2), .Cells(i, 3), .Cells(i, 4), .Cells(i, 5), .Cells(i, 6), .Cells(i, 7), .Cells(i, 8), .Cells(i, 9), .Cells(i, 10), .Cells(i, 11), .Cells(i, 12), .Cells(i, 13), .Cells(i, 14), .Cells(i, 15), .Cells(i, 16), .Cells(i, 17))
End If
Next i
End With
End Sub
NEWORDER関数の引数はExcelシートのセルを参照している。
ここで、norder = NEWORDER(. . . ) となっているが、norder ってなに? と思うかもしれない。
もっともである。
しかし、これについては岡三RSSマニュアルのExcelマクロ例にそうかいてあるだけで、それ以上の説明はない。
ただ、それでちゃんと動作しているので気にしないことにする。
また、i = 2 to 98 となっているのは、Excelシートの行をコピペして増やしても売買できるようにするためである。
上のソースコードに対応するExcelシート例を以下に示す。
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S |
銘柄コード | 市場コード | 売買区分 | 執行条件 | 単価 | 数量 | 期間指定 | 期間 | 預り区分 | 注文完了 | 注文画面 | パスワード | 発注ID | 発注条件(逆指値) | 発注単価(逆指値) | 注文確認省略 | 注意画面省略 | 未使用 | 発注関数 |
3776 | 3 | 1 | 312 | 100 | T | 1 | 1 | abcdefgh | =ROW(A2)&"new"&TEXT(TODAY(),"YYMMDD") | 1 | 1 | =IF(A2<>"",1,0) |
発注関数のセル(S2セル)で、A2セルが空白以外の時に1となるようにif関数でフラグを立てている。
S2セルが1のとき、NEWORDER関数で発注されるようにマクロでなっている。
ここで、Excelシートのシート名は「Sheet1」であると想定している。
違う場合はソースコードの " With Worksheets("Sheet1") " の部分に適宜適切なシート名を入れること。
Excelマクロを使った売買の実行手順
- Excel例の2行目以降を全コピーしてExcelシートのA1セルに貼り付ける。
- ソースコードの例をマクロにコピペする。
- マクロを実行する。
するとS2セルが1の場合、NEWORDERが実行される。
マクロを実行するには、VBAの編集画面でF5キーを押すか、Excelから→「開発」→「マクロ」のボタンを押す。
売買する株の銘柄や価格、数量などは適宜自分に合わせて入力すること。
信用取引の場合については次回に示す。