とりあえず、楽天RSSの発注関数については理解したけど返済(利確)注文は
どう出せばいいのかな?
(ZACK IT編集)
楽天RSSにはもちろん返済用の関数も用意されているので今回は
その関数について解説していくよ。
建玉の返済注文を出す手順
※以下で説明している方法にて発注した株で、いかなる利益/損失が発生しても当サイトは一切責任を負わないものとする。あくまで楽天RSSの機能である発注関数を使用した注文方法の説明しているにすぎず、万一含み損や確定損失が出ても責任を負いかねる点に注意してほしい。※
前回のおさらいだが、前回は4桁の銘柄CDと最低限必要な引数を使って信用新規注文の出し方をご紹介した。
エクセルのVBAを使わずシート関数のみで自動売買を実現することがこのシリーズの目標だが、当然ながら新規注文を出したら返済注文も出せるようにならないとシステムトレード(自動売買)として成立しない。
まず返済注文を出す前に、新規注文出したものが約定しているかExcel上で確認が必要だ。
該当銘柄の注文状況を確認する(RssOrderList関数)
発注や約定履歴で活用する便利な関数が、RssOrderList関数。
マーケットスピードⅡでいうところの「注文照会」メニューで得られる情報を取得可能。
この関数については”注文番号”を取得できるため今後説明する訂正注文に関してもほぼ必須の関数となっていることから必ず把握しておこう。
この関数引数が一見多いものの、面倒であれば、
=RssOrderList()
と、このように引数無しで設定されているすべての履歴を参照することができる。
※横と縦どちらにも大きくセルを占有されてしまうので新規シートで一度試すことを強く勧める。はみ出たセルに既に値が入っていた場合警告なく消えてしまう事となる。
ただ見出し行を見てもピンとこないあまり使用頻度の低そうな情報も多いため、その場合は例えば下記のように取得したい情報のみの見出し行部分を先に作っておき、RssOrderListの引数であるヘッダー行のところの参照範囲として指定しよう。
いまいち分かりづらいと感じた方は下の画像を参照してほしい。
上記の画像ではA2セルに下記の関数を入力しています。
=RssOrderList($A$3:$K$3, 0, 2, , "A", 0, 0, 0, 0, 0)
赤文字の部分がヘッダー行として指定した範囲。A3からK3がヘッダー行ですよとユーザー側が指定してあげている訳だ。そしてA3からK3までに取得したい情報のヘッダーを予めこちらで入力しています。
※例)”注文番号”や”通常注文状況”等
この機能で新規発注した自身の注文がエラーなく出されているか、約定しているかを確認することが可能だ。例えば300株発注したものの100株のみ約定であれば通常注文状況に「一部約定」と表示される。
ヘッダー行に何を指定できるのかわからない場合は、
以上の順にみていくとプルダウンメニューの中から、RssOrderListを選択した状態で取得項目に表示されている部分が取得可能な項目。そしてこれがヘッダー部分に来るわけだ。
セルに直接関数や数式を入力する方法で説明しているが、慣れていない方はこのメニューから任意のセル(上記画像の表示開始セル)を選択して関数結果を返すことも可能。
ポジション(信用建玉)を確認する(RssMarginPositionList関数)
返済注文を出すうえで注文照会と同じくらいよく使用する関数。
それがRssMarginPositionList関数。
新規発注をした瞬間に即座に返済注文を出したいだけであれば注文照会で約定フラグが付いた瞬間返済注文でもいいが、通常であれば評価額とか損益率とか確認したうえで返済をするのが通例だろう。
そこで必要不可欠になってくるのがRssMarginPositionList関数。
こちらも引数指定なしで全項目呼び出せますので空きのある新規シートなどでまずはお試しいただいた方がすぐに理解できるだろう。勿論不要な項目をさっさと非表示にしたい場合は先述の注文約定メニューから必要な項目だけ抜き出してヘッダー行として指定しよう。
今回ヘッダー行はO3:W3を指定。
=RssMarginPositionList(O3:W3,”銘柄CD(全銘柄の場合は省略)”, "A", 0, 0, 0)
画像のような書式(罫線や色など)は見やすいように当サイトで加工。