前回までの記事で、ツールインストールなどの環境準備とエクセルで株価をリアルタイム表示できることを実践しました。

今回の記事で、実際に発注を行いたいと思います。これができれば自動売買への道は確立されます!
発注のための設定
それでは「発注!どーん!」と行きたいところですが、その前にいろいろ設定が必要です。
私はこの設定をしていないがために発注できずに心折れかけてました…。皆様刮目ください。
発注機能を有効にする
前回の記事の事前準備と同じく、マーケットスピードⅡ→エクセルの順に起動し、
一番左の接続状態アイコンが”接続中”にします。
その後、隣の発注機能アイコンをクリックして、以下の”発注可”状態にします。

これをやっていないと、エクセルから発注ができずエラーになります…
よく見ればわかることなんですけど、ここのタブを軽視してました…
そのほか発注に必要な設定をする
次に、各種設定→RSSの設定をクリックします。

その中の”注文確認画面”と”取引注意喚起画面”の表示するのチェックを外します。
チェックしたままだと、発注時に「発注しますか?」というようなダイアログが出てきてしまい、目指している自動売買に手動の手順が入ってしまうためです。
また、1回あたり発注上限金額も設定しておきます。
これを設定していないと、同じくエラーが出てきてしまうので発注できません。
金額自体は任意ですが、私は小規模でやろうと思っているので、10万円に設定しました。

実際にエクセルから発注してみる
さて、これで発注までの準備は整いました。
ここからはVBAのコードを書いていきます。エクセルの関数からも発注はできるみたいですが、VBAのほうがPythonと連携取れやすいかなーと思った次第。
VBA、正直苦手です。エディタが使いにくい…いちいち構文エラーでダイアログ表示すんな!あとでちゃんと直すから!ってなります…
それはさておき本題へ。
VisualBasicエディタを開く
開発タブ→VisualBasicをクリックして、エディタを開きます。
(開発タブがないという方はオプションから表示できますので、ご自身でお調べください)
参照設定
発注にはマーケットスピードⅡRSSが提供する関数を参照するので、参照設定を行います。
(これにも気づかずに少しはまりました….)
ツール→参照設定の順にクリックします。
下記の画面が開くので、”Marketspeed2_Rss_Vba”にチェックを入れてOKをクリックします。

これで発注関数を呼び出すことができます。
発注コードを書く
続いて、ThisWorkbookをダブルクリックします。

で、右側の真っ白いところに、下記のコードを書き込みます。
Sub OrderTest()
Dim ret
ret = RssStockOrder_V( _
OrderId:=100, _
BrandCode:="6740", _
buysell:="3", _
OrderType:="0", _
SOR:="1", _
Quantity:=100, _
PriceType:="1", _
Price:=20, _
ExpiryType:="1", _
AccountType:="0" _
)
Debug.Print ret
End Sub
上記のサンプルコードは、”JDIを20円で100株、特定口座で買い注文を入れる(期限は本日中)”というコードです。
発注を実行するには、先頭のSub OrderTestの行を選択して、上の再生ボタンを押して実行ください。
※このコードを実行すると、実際に買い注文を入れてしまうので自己判断で実行ください
実行結果
マーケットスピードⅡの画面を見ると、実際に注文できていることを確認できました!

ちなみに、逆指値付きの売り注文/買い注文、セット注文などもできます。
マーケットスピードⅡの関数一覧のページにだいたいの使い方が書いてありますのでご参考まで。
エクセルから発注もできたので、いよいよ…
さて、エクセルから株の発注ができることも確認できましたし、いよいよ売買自動化できそうです。
あとはエクセルから株価などを拾って、「今が買い時!」とか判断できる仕組みを作りますかね。
ここらへんAIとかがやれないかなーとかも思ったり。今私が思い描いている以上のことができるのでは….と夢は膨らみます!
皆様もご興味があれば、楽天証券のマーケットスピードⅡ使ってみてください!


コメント