2015年10月04日 (日) | Edit |

とりあえず一番オーソドックスなケースの動作確認ができたので、書いてみます。これからやってみたい人のご参考になれば(^^;

まず、RSSはリアルタイムスプレッドシートの事で、Webサイトの更新を配信するXMLの事じゃありません。。(私はずーっと勘違いしてました)
何が出来るかと言うと、Excelでリアルタイム株価が取得できます。
楽天RSSと岡三RSSがありますが、発注までできるのは岡三RSSです。(※マクロを使ってブラウザ制御などが出来る場合は楽天RSSでも発注は出来ると思います。ただ、ブラウザ制御は動作が不安定な気がするのと、秒単位の時間がかかると思います。また、今後Webサイトの仕様が変わって動作しなくなった場合など、いちいち対応しなければいけないでしょう。)
岡三RSSの場合は発注関数が用意されているので、通常のExcel関数を記述する要領で書いておけば発注が出来ます。もちろん、発注関数をマクロから呼び出すことも出来ます。

詳細はこちらを。
岡三RSS

あといろいろ調べていたら、みなさんおなじみのタクマ先生がマンガで記事を書いてくださっていました。
【マンガ・シストレ】岡三RSS使ってみました 短時間で発注画面システム完成のワケ
すごく分かりやすい!
こちらの記事は2009年のものなので、最後に「確認画面の省略が出来ず、発注ボタンを押さなければならない」とありますが、今は省略が出来るようになっているので完全自動化できます。マンガでは仕掛けの自動発注までを書かれておられますが、手仕舞いも同じ要領でできます。

詳しい使い方は、こちらの日本株サンプルファイルを見ればだいたい分かると思います。(※岡三オンライン証券で口座を開設して岡三RSSのアドインをインストールしないと動作しません)
サンプルファイル(岡三RSS用シート)
各関数の仕様などはマニュアルを。
マニュアルダウンロード

以下は手仕舞い方法のポイントを。
日本株サンプル.xlsの保有(手動)シートでは、手動更新の関数を使っていますが、これをリアルタイムにします。
POSITION_M → POSITION
横に現在値等も表示できるようにしておきます。
=IF(OR(A3="",A3="***END***"),"",QUOTE(A3,,"現在値"))
※A3には銘柄コードが入ってます
で、建値や現在値などからシグナルを出します。
シグナルが出たら手仕舞い注文(REPAYMENTORDER)を呼ぶようにしておきます。
=IF(シグナル="○", REPAYMENTORDER(.....))
タクマ先生も言っておられますが、引数が多いので間違わないように注意が必要です。
※私の場合は、ある時間になったら上記の関数をシートに書き出す処理をマクロで行っています。

あと、上記の方法はExcel関数だけで完結していますが、マクロから呼び出したい場合は、関数マニュアルの7ページに書いてある方法で呼び出せます。


Public Sub 日本株注文()
  Dim norder As String
  norder = NEWORDER("8690","",3,0,0,1000,"T","","0",0,0,"","N001")
  Call MsgBox(norder)
End Sub

ちなみに戻り値は「発注待ち」、「発注完了」、「発注金額オーバー」しかないようです。
注文関数の戻り値は何がありますか。

今のところ私はExcelシートに書いた関数だけで株価を監視していますが、複雑なことをしようと思ったらマクロを常駐させて監視する必要があるかもしれません。その場合は、Application.OnTimeで自関数を呼び出す方法が良さそうです。
FAQ
5秒ごとにマクロを実行させるには、どのように記述すればよいでしょうか。
時間指定をしたいのですが、時刻はどのように記述すればよいのでしょうか。
マクロを実行すると、このマクロが終了するまで、QUOTE関数の現在値が更新されません。

あと、発注が重複して何回もされてしまうんじゃ…と心配になるかと思いますが(私はなりました)、重複を防ぐために発注関数のパラメータに発注IDを指定することになっているので大丈夫です。発注IDが同じ場合は注文が出ないようになっています(サーバーへ命令が行くことも無く、Excel内で完結しているようです)。

※10/27追記
POSITIONで取得した値を元にREPAYMENTORDERを出す場合、当然ですがREPAYMENTORDERで手仕舞いした銘柄の情報についてはPOSITIONで取得できなくなります。非同期ですのでタイミングによっては意図した動作をしない事があるかもしれません。手仕舞いに関しては、いったんマクロに制御を移して手仕舞い処理を完結してからシートへ処理を戻すのが良さそうです。


にほんブログ村 株ブログ 株日記へ

広告
2015年09月06日 (日) | Edit |

せっかく開いたカブドットコム証券ではやりたい事ができなかったので…(TT)
(後場引け成り手仕舞いをしたかったんだけど、Uターン注文では指定出来なかった。指値-不成ならできるようだけど違うし。時間指定注文っていうのもあったんだけど14:30以降は指定できません。。これから口座開こうという方はご注意ください。)

なので、今週は睡眠時間を削って大急ぎで岡三RSSをいじりまくり、なんとか形になったみたい! メモ書き。

とりあえず逆指値の順張り戦略のみに対応。
発注から手仕舞いまで自動でできるようにした(つもり)。

□確認できた事
・発注できること(指値、成行)
□確認できてない事
・場中に意図したタイミングで発注できるか?
・手仕舞い

実際にやってみないとテスト出来ないのが辛い。。。
(次に順張りシグナルが出たら使ってみるつもりなんだけど、シグナルが当分でなかったりして。。)

※岡三RSSでは発注するときに逆指値の指定が出来ないのでクライアント側で価格を判定して成行または指値で発注する必要あり。
※その分、資金拘束が無いので優先順位を「約定した順」にする事が出来そう。約定率があがって資金効率が良くなるハズ…資金管理を見直す必要アリかも。

□使い方
1.イザナミのシグナルを張り付け
2.仕掛けボタンを押す
あとは、寄り前ぐらいから価格の条件が合えば自動発注してくれるハズ。

□問題点
前日夜にシグナル貼り付けて仕掛けボタンを押してからずっとPCつけっぱなし!?って主婦的な感覚からするとちょっと…なんだよなぁ。。。
朝PCを自動起動させてUWSC(使った事ないけど)を使ってボタンだけ押させる、というのが良さそうなんだけど、ノートパソコンだからか? BIOSに自動起動出来そうなメニューがない。。
VPSを借りる?という手も考えてみたけど意外と高い(月3000円前後くらい)。Linux系OSなら安いみたいだけどWindowsじゃないと意味ないし。だったらパソコンの電気代のほうが安いよね。。

□とりあえず
1.夜にシグナルを貼り付けておいて
2.朝9時前に仕掛けボタンを押す
というスタイルになりそう。
場中はパソコンつけっぱなし。ディスプレイだけ落とそうっと。。

□ちゃんと動いたらやりたいこと(今後の課題)
売り戦略対応

ちゃんと動きますように。(-人-)


にほんブログ村 株ブログ 株日記へ

広告