岡三RSSで日本株:Excelマクロ使用(現物取引)

岡三オンライン証券の岡三RSSではExcelシートへの直接記入以外にも、Excelマクロ上で関数をコマンドを呼び出して注文する方法がサポートされている。

以前の記事で、Excelシートのセルに直接注文関数を入力して発注する例を説明した。

しかし、場合によってはExcelセルへのコマンドの直接記入だけでなく、ExcelマクロやVBAを使って計算や発注を行いたいことがある。

例えば、Excelファイルの自動保存をしたり、時系列データをファイルに保存したりする場合にはExcelマクロを使う。

そのため、Excelマクロを使う場合の発注方法についても説明する。

Excelマクロの使い方

以前説明した、Excelシートに直接記入して発注する方法は以下のページ。

今回は、Excelマクロを使った方法であるが、Excelマクロを使うためには事前に少しExcelの設定が必要である。

その最初の最初のExcelの設定は以下の外部ページがわかりやすい。

Office TANAKA - 今さら聞けないVBA[マクロってどこに書けばいいの?]
エクセルVBA超入門!たった10分でスタート地点に立つための方法
エクセルVBA…まず何をしたら良いかわからない…!という声をよく耳にします。今回はVBAプログラミングをいざ書き始める直前の状態を目標に、エクセルVBAの最低限のセッティングの仕方についてお伝えします。

とりあえず、上のリンクを参考にしてExcelマクロでVBAプログラミングを入力できるようにしておく。

また、以下のリンクを参考にしてVBAの参照設定で「岡三RSS」の参照にチェックを入れておく。

Office TANAKA - Excel VBA Tips[マクロで参照設定を操作する]

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シート例を以下に示す。

ABCDEFGHIJKLMNOPQRS
銘柄コード市場コード売買区分執行条件単価数量期間指定期間預り区分注文完了注文画面パスワード発注ID発注条件(逆指値)発注単価(逆指値)注文確認省略注意画面省略未使用発注関数
3776 31312100T  11abcdefgh=ROW(A2)&"new"&TEXT(TODAY(),"YYMMDD")  11 =IF(A2<>"",1,0)

発注関数のセル(S2セル)で、A2セルが空白以外の時に1となるようにif関数でフラグを立てている。

S2セルが1のとき、NEWORDER関数で発注されるようにマクロでなっている。

ここで、Excelシートのシート名は「Sheet1」であると想定している。

違う場合はソースコードの " With Worksheets("Sheet1") " の部分に適宜適切なシート名を入れること。

Excelマクロを使った売買の実行手順

  1. Excel例の2行目以降を全コピーしてExcelシートのA1セルに貼り付ける。
  2. ソースコードの例をマクロにコピペする。
  3. マクロを実行する。

するとS2セルが1の場合、NEWORDERが実行される。

マクロを実行するには、VBAの編集画面でF5キーを押すか、Excelから→「開発」→「マクロ」のボタンを押す。

売買する株の銘柄や価格、数量などは適宜自分に合わせて入力すること。

信用取引の場合については次回に示す。

タイトルとURLをコピーしました