PR
Windows

岡三RSSをWindows VPS仮想デスクトップで運用する

岡三RSSとは

岡三RSSとは岡三オンライン証券が提供しているExcelのアドインです。

RSSとはリアルタイム・スプレッド・シートの略でリアルタイムに株価の情報をExcelにスプレッドシートに反映します。

ただ、リアルタイムとは人間が見るとだいたいそう見える程度の意味で高速取引などはできません(それでも人間がトレードツールを操作するよりは速いと思いますが)。

ExcelのRSSを使ったサービスには岡三RSSも含め以下のようなものがあります。

証券会社 サービス 対応商品
岡三オンライン証券 岡三RSS 日本株
RSS 366 FX FX
RSS 365 CFD CFD
楽天証券 MARKET SPEED Ⅱ RSS

日本株
アメリカ株
先物
海外先物
オプション

岡三RSSの料金と無料条件

岡三RSSの利用料金は基本的には5,093円/35日です。

ただ、前月の21日〜当月20日の取引手数料が2,000円(税込)以上なら当月25日に35日分の利用料無料日数が付与されます。

そのため、1ヶ月の取引手数料が2,000円以上であれば実質無料で使えます(Excelで自動売買をやろうというのに2,000円未満の取引手数料という人はあまりいないのではないでしょうか)。

ちなみに現物株式の取引手数料(定額プラン)は以下のようになっています。

1日の約定代金合計 取引手数料上限
100万円以下 0円
200万円以下 1,430円
300万円以下 1,950円
400万円以下 2,530円
500万円以下 3,080円
100万円増加ごとに 550円増加

Excelのスキルで売買ロジックを作成・変更できる

個人で自動売買の開発ができるプラットフォームとしてはRSSの他にMT4やkabuステーションAPIがあります。

しかし、MT4もkabuステーションAPIも自動売買するには「プログラミング」が必要です(MT4はプログラミングせずに取引ツールとしてのみ使うこともできますが)。

岡三RSSによる自動売買はVBAで開発することもできますが、Excelのスキルだけでも売買ロジックを作成、変更できるのが大きなメリットです。

ただ、ちょっとしたコツは必要です。

例えば日本株の発注はNEWORDER_CL関数でできます。

=NEWORDER_CL("銘柄コード" , "市場コード" , 売買区分 , 執行条件 , 単価 , 数量 , "期間指定" , 期間 , 預り区分 , 完了メッセージ , "注文画面" , "パスワード" , "発注ID" , 発注条件(逆指値指定時) , 発注単価(逆指値指定時) , 注文確認 , "注意画面" )

NEWORDER_CLのような発注系関数で重要なのが「発注ID」です。

A1セルがTRUEになったら発注する場合、以下のように記述します。

=IF(A1,NEWORDER_CL(……,"発注ID",……))

ExcelはA1セルがFALSEからTRUEに変わった後、1度だけでなく何度もNEWORDER_CL関数を呼び出します(NEWORDER_CLでなくユーザー定義関数でも同様です)。

そのExcelの挙動のために何度も発注が実行されると困ったことになるため、NEWORDER_CLは発注IDを記憶していて複数回呼び出されても過去に使われた発注IDが指定されていれば何もしません。

一旦、Excelを終了して再起動すれば発注IDの記憶はクリアされます。

そのため、発注IDとして何を指定するかがVBAなしで自動売買するキーとなります。

もちろん、VBAからNEWORDER_CL関数を呼び出すこともできるのですが、それでは売買ロジックを変更するたびにプログラム修正が必要になり、RSSのメリットを活かせません。

CSV処理用のユーザー定義関数

株式の保有情報はPOSITION関数でExcelシートに表示させます。

=POSITION( "フィルタリング 1" , "フィルタリング 2" , "日本株保有情報" , 表示先 )

保有情報を見るだけであれば以下の使い方でも問題ありません。

A B C D
1 =POSITION(“”,”0″,”銘柄コード”,A2) =POSITION(“”,”0″,”銘柄名”,B2) =POSITION(“”,”0″,”取得単価”,C2) =POSITION(“”,”0″,”現在値”,D2)
2 1366 iF225Wベア ¥771 ¥612
3 1469 400ベア2倍 ¥1,582 ¥1,149

しかし、「現在値が取得単価の105%以上なら売り注文を出す」を以下のように記述すると誤った注文が出る場合があります

A B C D E F
1 =POSITION(“”,”0″,”銘柄コード”,A2) =POSITION(“”,”0″,”銘柄名”,B2) =POSITION(“”,”0″,”取得単価”,C2) =POSITION(“”,”0″,”現在値”,D2) 発注判定 発注
2 1366 iF225Wベア ¥771 ¥612 =C2*1.05<=D2 =IF(E2,=NEWORDER_CL(……))
3 1469 400ベア2倍 ¥1,582 ¥1,149 =C3*1.05<=D3 =IF(E3,=NEWORDER_CL(……))

上図の2行目以降は株式の保有状況によって変化しますが、異なる銘柄の情報が同じ行に並ぶタイミングがあるためです。

一瞬なので人間が見るだけなら問題にならないのですが、上図のE列が誤った情報でTRUEになるとF列で発注されてしまいます。

この問題に対応するためには以下のように記述します。

A B C D E F G
1 =POSITION(“”,”0″,”CSV”,A2) 銘柄コード 銘柄名 取得単価 現在値 発注判定 発注
2 1366,iF225Wベア,…… =CSV_String(A2,0) =CSV_String(A2,1) =CSV_Currency(A2,14) =CSV_Currency(A2,3) =D2*1.05<=E2 =IF(E2,=NEWORDER_CL(……))
3 1469,400ベア2倍,…… =CSV_String(A3,0) =CSV_String(A3,1) =CSV_Currency(A3,14) =CSV_Currency(A3,3) =D3*1.05<=E3 =IF(E3,=NEWORDER_CL(……))

上図A1セルのようにPOSITION関数に”CSV”を渡すとA2セル以下に

1366,iF225Wベア,東証,604,624,-20,-3.21%,現物,387,0,387,,387,771,771,298377,233748,-64629,-21.66%,特定預り,,,,

のような複数の株式保有情報をCSV(カンマで区切られた複数の値)にした文字列が表示されます。

このCSVを以下のようなユーザー定義関数で処理してシートに表示します。

Private Function CSV_String(csv As String, index As Integer)
    CSV_String = CVErr(xlErrNA)
    If csv = "" Or csv = "***END***" Then
        Exit Function
    End If
    Dim 配列 As Variant
    配列 = Split(csv, ",")
    CSV_String = 配列(index)
End Function
Private Function CSV_Long(csv As String, index As Integer)
    CSV_Long = CVErr(xlErrNA)
    If csv = "" Or csv = "***END***" Then
        Exit Function
    End If
    
    Dim 配列 As Variant
    配列 = Split(csv, ",")
    
    Dim l As Long
    l = 配列(index)
    
    CSV_Long = l
End Function
Private Function CSV_Currency(csv, index As Integer)
    CSV_Currency = CVErr(xlErrNA)
    If IsError(csv) Then
        Exit Function
    End If
    If csv = "" Or csv = "***END***" Then
        Exit Function
    End If
    
    Dim 配列 As Variant
    配列 = Split(csv, ",")
    
    Dim c As Currency
    c = 配列(index)
    
    CSV_Currency = c
End Function

Windows VPS仮想デスクトップで運用する

岡三RSSを普段使いのPCで運用するのが様々な問題があります。

  • PCに負荷がかかると自動売買実行が遅れる
  • PCのトラブルで岡三RSSが停止する

そのため、自動売買ではWindows VPS仮想デスクトップがよく使われます。

FX自動売買(MT4/MT5)専用のWindows VPS仮想デスクトップも提供されています。

しかし、岡三RSSには以下の理由によりFX自動売買専用Windows VPS仮想デスクトップはマッチしません。

  • Office SALが必要(MT4/MT5には不要)
  • 4GB以上のメモリが必要(MT4/MT5は2GB以上)
  • RDS SALが必須(人気のFX自動売買専用Windows VPS仮想デスクトップでは無料)

下表はメモリ4GBの仮想デスクトップでマイクロソフトOfficeを使うためのWindows VPS各社の料金です(各種割引は反映されていません)。

Office
SAL
RDS
SAL
メモリ
4GB
基本料金
合計
ABLENET VPS 2,800円 1,320円 3,490円 7,610円
KAGOYA CLOUD VPS 3,641円 1,386円 3,960円 8,987円
さくらのVPS for Windows Server 3,740円 1,320円 4,488円 9,548円
ConoHa for Windows Server 2,530円 990円 4,719円 8,239円
仮想デスクトップサービス『XServer クラウドPC』 3,740円 0円 6,501円 10,241円

コメント