プロジェクトSMIS《システムトレード研究開発》

 自作トレーディングツールA

 トレーディングツールを自前で作成することを目標に、手始めに簡単なものからということでティックデータ取得ツール(SMIS-RDATA)を作成してきました。

 システムのバックテストを行う為に毎朝ツールを起動し、データを集めていくわけですが・・・。

 あっ、いけね。寝坊してしまった。。。
 ツールの起動を忘れた。。。



 4.寝坊しても大丈夫。。。 SMIS-RDATAの自動起動

 データの保存はいいのだけれど、起動し忘れてしまった。。。 orz
 実際プロマネもよくやっています。
 日中足のデータを公開しているところがあれば良いのですが・・・。

 ということで自作トレーディングツールの自動起動について考えていきます。

 ところで、楽天RSS(リアルタイムスプレッドシート)を使用するには、「マーケットスピード」へログインし「RSS(リアルタイムスプレッドシート)」を起動させる必要があります。

 と、そんな時に実にタイムリーというかラッキーにもプロマネが参加しているMLにある方から「マーケットスピードの起動とログイン」についての投稿がありました。

 プロマネも早速その情報を利用させて頂きました。この場をお借りして、情報の投稿者の方ならびにML管理者と参加者の皆様にお礼申し上げます。(このMLに興味がある方はこちらからどうぞ)

 稼動中のSMISでも利用しているUWSCを用い、マーケットスピードを起動し、ログインします。
 続いてRSSを起動し、最後にSMIS-RDATAのマクロを起動します。


// マーケットスピードの起動
Exec("C:\Program Files\MarketSpeed\MarketSpeed\MarketSpeed.exe")
sleep(1)

// マーケットスピードの位置を指定
ACW(GETID("MARKET SPEED VER","MDIFrame"),85,107,800,600,0)
sleep(1)

// ログインをクリック
BTN(LEFT,CLICK,835,145,313)
sleep(1)

ID=getid("Market Speed - ログイン","#32770",0.1)
sendstr(ID,"ログインID",1,true)          // ログインIDを入力
sendstr(ID,"パスワード",2,true)          // ログインパスワードを入力
clkitem(ID,"OK",clk_btn or clk_short,true,1)  // OKボタン
sleep(1)

// RSS起動
Exec("C:\Program Files\MarketSpeed\MarketSpeed\RSS.exe")
sleep(10)

// Excelの起動
Excel = CreateOLEObj("Excel.Application")
Excel.Visible = True
sleep(1)

// SMIS-RDATA Open
Excel.WorkBooks.Open(FileName :="d:\user\SMIS-R\SMIS-RDATA.xls", updatelinks := True, readOnly :=False) ※ここは改行しないで1行で記述
sleep(1)

// マクロスタート
Excel.Run("kansi")


 上記を start.UWS という名前にし UWSC.exe と同じフォルダに保存します。
 これを月曜〜金曜まで、毎日指定時刻に起動するわけですが、プロマネは下記のバッチファイルを作成しWindowsのタスクスケジューラーにより起動させるという手法をとっています。


.\UWSC\UWSC .\start.UWS

 上記を start.bat という名前にし、任意のフォルダに保存します。
 プロマネの環境は下のようになっているので上記の記述になります。


 ...-\SMIS-R (SMIS-RDATA,start.batを格納)
   |
   L\UWSC (UWSC.exe,start.UWSを格納)


 皆様の環境によってバッチファイル内の Path を変更すればよいでしょう。

 あとはタスクマネージャーで上記のバッチファイルを指定して起動時刻を設定すれば完了です。



自作トレーディングツール@   プロジェクトSMIS《システムトレード研究開発》   PCの自動起動