システムトレードブログ

UWSCでイザナミを自動的に操作する(2)

トレシズ自動売買の開発方法

引き続き、UWSCでイザナミを操作する方法の続編です。

ユーザー様からお問い合わせをいただいたこともありテストしながら調べてみましたが、以下のような感じで動作するようです。

■UWSC側(デスクトップにtest.uwsという名前で保存)
----------------------------------------------------
// イザナミのパスを入力
Public IZANAMI_PATH = "C:\Program Files (x86)\izaneo\izaneo.exe"

ifB FOPEN(IZANAMI_PATH, F_EXISTS) = FALSE
MSGBOX("イザナミのパスが間違っています。")
EXITEXIT
endIf

WID = GETID(EXEC(IZANAMI_PATH))
SLEEP(3)

ACW(WID,0,0,1024,768)
SLEEP(0.1)

BTN(left,click,920,110)
//FUKIDASI("開始ボタンはここ", 920, 110, 3)
SLEEP(5)

// ここに株価更新ボタン処理を記述

BTN(left,click,250,70)
//FUKIDASI("検証するボタンはここ", 250, 70, 3)
SLEEP(5)

BTN(left,click,150,110)
//FUKIDASI("設定の読み込み(ファイル)ボタンはここ", 150, 110, 3)
SLEEP(1)

// 設定の読み込み(ファイル)ウィンドウの位置と大きさを調整
PID = GETID(GET_ACTIVE_WIN)
ACW(PID,0,0,400,400)

BTN(left,click,210,140)
//FUKIDASI("ストラテジーはここ", 210, 140, 3)
SLEEP(1)

KBD(VK_ALT,DOWN,100)
KBD(VK_O,CLICK,100)

EXITEXIT

While True
x = G_MOUSE_X y = G_MOUSE_Y // マウス位置
id = GETID(GET_ACTIVE_WIN) // アクティブウィンドウ
ofx = x - STATUS(id, ST_X) // 相対位置
ofy = y - STATUS(id, ST_Y)
moji = "x="+ofx + ", y="+ofy
Fukidasi(moji, x, y, 3)
Sleep(0.5)
Wend
----------------------------------------------------

上記は座標で操作している感じですが、座標がずれると動作しなくなりますので、

座標を調べる際には「EXITEXIT」の文字を削除しますとマウス位置を確認することができます。

あと、まだ対応できてはいないのですが「株価更新」で「更新する」ボタンが表示される際にクリックする処理が必要になりますね〜。

あと、設定の読み込み(ファイル)ウィンドウでストラテジーを選択する際は、

おそらく上記のようなクリックで操作するよりは、

「ファイル名(N)」にファイル名を入力するような形式にしたほうが汎用性が高くなると思います笑

ファイル名の自動入力が終われば、あとはAlt+Oの同時押しでファイルを読み込めます。

KBD(VK_ALT,DOWN,100)
KBD(VK_O,CLICK,100)

ここまでが自動化できれば、おそらくその後の自動化は難しくなく、おそらく結構簡単にいけると思いますね〜。

あと重要なのはSLEEP(5)などといった部分で、

これは5秒待つという意味ですが、この速度はご自身のPCの処理速度に合わせて適宜変更する必要があるとは思います。

基本的には、動作は遅くなりますが、それでも大き目の数字にしておくとエラーが少なくなると思います笑

トレシズの「自動売買の開発方法」の記事

前々記事:株の自動売買ツールを作る(11)
前の記事:UWSCでイザナミを自動的に操作する(1)
今の記事:UWSCでイザナミを自動的に操作する(2)
次の記事:株の自動売買ツールを作る(12)
次々記事:UWSCでイザナミを自動的に操作する(3)

おすすめ記事

株の自動売買ツールを作る(6)

今日も株システムトレード情報局面白かったですね〜笑特に逆指値と成行のバランスや…

UWSCでイザナミを自動的に操作する(3)

以下のソースでイザナミのバックテスト完了までいけます。バックテスト完了までにか…

> このページのURLをPCメールアドレスに送る