岡三RSSで日経平均先物をトレード(Excelマクロ使用)

前回は岡三オンライン証券の岡三RSSを使ってExcel上で日経平均先物を売買する方法を説明した。

その際、注文関数はExcelシートのセルに直接記入したが、マクロで注文関数を呼び出して売買を実行することもできる。

今回はマクロを使用する方法を説明する。

岡三RSSをExcelマクロで使用するための事前準備についても触れる。

日経平均先物の新規注文(Excelマクロ使用)

下のExcel記入例は、前回のExcel直接記入例と1点を除いて同じである。

違いは、S2セルが1になっていることだけ。

Excelマクロ上で、S2が1かどうかを判定して、注文関数を実行するようにすればよい。

ABCDEFGHIJKLMNOPQRS
先物コード限月取引種類建玉番号建玉枝番号 売買区分執行条件単価数量注文確認完了 メッセージ注文画面パスワード発注 ID有効期間区分メモ発注条件(逆指値)発注単価(逆指値)発注関数 1の時発注される
N225mini01  38200001111abcdefgh="FN"&ROW()&TEXT(TODAY(),"YYMMDD")1autobuy  1

それをするためのVBAコードは最後に示す。

ここでは、S列のセルの値が1の場合に注文を出すようにすることを覚えておけばよい。

また、使用するExcelシートのシート名はSheet1であることを想定している。

日経平均先物の決済注文(Excelマクロ使用)

すでに持っている建玉を決済する場合もExcelシートの記入はほとんど同じである。

ABCDEFGHIJKLMNOPQRS
先物コード限月取引種類建玉番号建玉枝番号 売買区分執行条件単価 数量注文確認 完了 メッセージ注文画面 パスワード発注 ID 有効期間区分メモ発注条件(逆指値)発注単価(逆指値)発注関数 1の時発注される
N225mini0220180122E01N309463341 18200001111abcdefgh="FR"&ROW()&TEXT(TODAY(),"YYMMDD")1autobuyR  1

 

新規注文との違いは、取引種類を「2」とすることと、建玉番号、建玉枝番号を入れることである。

また、使用するExcelシートのシート名はSheet2を想定している。

それと、売買区分は「3」が買いを意味し、「1」が売りを意味する。

従って、買いエントリーを売りで決済する場合は売買区分は「1」にする。

Excel VBAソースコード

注文を出すためのExcel VBAのソースことを下に示す。

Sub TradeGo()
    Dim i As Long
    Dim norder As String

    With Worksheets("Sheet1")
        For i = 2 To 31
            If .Cells(i, 19) = 1 Then
                norder = FNEWORDER(.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), .Cells(i, 18))
            End If
        Next i
    End With

    With Worksheets("Sheet2")
        For i = 2 To 31
            If .Cells(i, 19) = 1 Then
                norder = FNEWORDER(.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), .Cells(i, 18))
            End If
        Next i
    End With

End Sub

ここでは、新規注文の判定と決済注文判定を行い、S列のセルが1である場合にFNEWORDER関数で注文を出すようにしている。

マクロで岡三RSSのコマンドがうまく動作しない場合は下記を参考にしてVBAの参照設定で岡三RSSにチェックが入っているか確認する。

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

これでExcelマクロを使って先物の新規注文と決済が可能になった。

自動売買を行うためには、S1セルにただの数字の1ではなく、ある条件を満たしたときに1となるようにIf文で条件設定をしてやればよい。

条件文の例も今後示していくつもり。

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