チャートから分足を保存(複数銘柄対応)
- UWSCのスクリプトで、チャート上の右クリックで表示される「CSV形式でデータ出力」を行います。
- 銘柄.txtに記入した銘柄コードのCSVを順次保存します。
- ジョイ・エクスプレス(野村証券)に対応。
- ネットストック・ハイスピード(松井証券)には、ログイン処理を除き対応。
準備
- 銘柄.txtには、コードを一行ずつ記入します。
- chart2.uwsと銘柄.txtとは同じフォルダに入れておきます。
- ジョイ・エクスプレスを起動した時に、上記画像のように株式チャートの画面が出てくるように設定しておきます。チャート画面は単独のウインドウで表示されるように、MDIではなくてSDI画面にしておきます。
- スクリプトの最初で、パスワードを設定します。
- 「CSV形式でデータ出力」の上でクリックされない場合は、x,yを調節して下さい。
- 銘柄コードが入力されない場合は、x2,y2を調節して下さい。
- 日付+銘柄コードのファイル名か、銘柄コードのファイル名(ファイル名日付利用=FALSE にする)で保存されます。
スクリプト
chart2.uwsとして、保存して下さい。
// チャートから分足を保存(複数銘柄対応) // http://www.moderns.co.jp/trade/ // 2010-08-12 //ログインパスワードを設定して下さい。 password = "*****" //チャート画面上で右クリック後カーソル移動幅。調節して下さい。 x = 69 y = 260 //フォントがMS Pゴシックなら、220 //チャート画面上で銘柄コード入力欄へのカーソル移動幅。調節して下さい。 x2 = 170 //左側ツールボックスを表示しないなら、100 y2 = 35 //windowTitle = "指数先物OPチャート" windowTitle = "株式チャート" //株式のチャートの場合 //利用するアプリに合わせて設定して下さい。 appTitle = "ジョイ・エクスプレス" // 松井証券を利用するなら、"ネットストック・ハイスピード" に変更。 appPath = "C:\Program Files\joyExpress\Module\JoinvestExpress.exe" app起動 = TRUE //ジョイ・エクスプレスにログインするならTRUE。ネットストック・ハイスピード(松井証券)を利用するなら、FALSE。 //CSVを保存するフォルダ "C:\分足\"に保存する場合は、前もって、分足フォルダを作成しておきます。 folderPath = "C:\" ファイル名日付利用 = TRUE GETTIME(0) dateFileName = "" //ファイル名の日付部分を設定する。 IFB ファイル名日付利用 THEN dateFileName = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + " " //例 20080815+空白 ENDIF //Excelが開いていなかったら、Excelを起動する。 TRY Excel = GetActiveOLEObj("Excel.Application") EXCEPT Excel = CreateOLEObj("Excel.Application") ENDTRY Excel.WorkBooks.Add Excel.Visible = True //PRINT excel //アプリを起動。 IFB app起動 THEN Exec(appPath) WHILE GETID("ログイン","#32770") < 0 SLEEP(1) WEND CTRLWIN( GETID("ログイン","#32770"), ACTIVATE) IDnum = GETID("ログイン","#32770") SENDSTR(IDnum, password , 2, true) //パスワード入力 KBD(VK_RETURN, CLICK, 40) ENDIF //チャート画面が開くまで待機。 WHILE GETID( windowTitle ) < 0 SLEEP(1) WEND SLEEP(10) //長すぎるなら適宜修正 wNum = GETID(windowTitle) fid = FOPEN("銘柄.txt", F_READ) FOR 行 = 1 TO FGET(fid, -1) // 行数分を繰り返す code銘柄 = FGET(fid, 行) // 行のデータを取り出す //PRINT code銘柄 FileName = dateFileName + code銘柄 //ウインドウの座標・大きさを取得 xx = STATUS( wNum, ST_X ) yy = STATUS( wNum, ST_Y ) width = STATUS( wNum, ST_CLWIDTH ) height = STATUS( wNum, ST_CLHEIGHT ) SLEEP(2) //銘柄のCode入力処理開始。この処理を別途記載のスクリプトに置き換えることも可能。 BTN(LEFT, CLICK, xx+x2, yy+150, 300) //一端、入力欄からカーソルをはずさないと、次にクリックした時に全体が選択されない。 //CLKITEM(wNum,"Mouse mode.ico",clk_acc or clk_short,true,1) //矢印のアイコンクリックでも良い。 //Code欄をクリック。全体も同時に選択される。 BTN(LEFT, CLICK, xx+x2, yy+y2, 300) SLEEP(2) SENDSTR(wNum, code銘柄) //銘柄CODEを入力 KBD(VK_RETURN, CLICK, 40) SLEEP(2) //銘柄のCode入力処理終了 wNum = GETID( windowTitle ) CTRLWIN( wNum, ACTIVATE) //CSVを保存 BTN(RIGHT, CLICK, xx+200, yy+height/3, 300) //右クリック BTN(LEFT, CLICK, xx+200+x, yy+height/3+y, 300) //「CSV形式でデータ出力」の文字列の上をクリック //「出力」ダイアログが開くまで待機。 WHILE GETID("出力") < 0 SLEEP(1) WEND SLEEP(1) wNum2 = GETID("出力") SENDSTR(wNum2, folderPath + FileName) KBD(VK_RETURN, DOWN, 40) //CSVファイルが開くまで待機。 WHILE GETID( FileName ) < 0 SLEEP(1) WEND SLEEP(1) //Excelのファイルを閉じる CTRLWIN(GETID(FileName), ACTIVATE) SLEEP(2) CTRLWIN(GETID(FileName), CLOSE) CTRLWIN(wNum, ACTIVATE) NEXT FCLOSE( fid ) // アプリケーションを閉じる CTRLWIN(GETID(appTitle), CLOSE2) SLEEP(2) CLKITEM(GETID(appTitle, "#32770"), "はい", clk_acc or clk_short, true, 1)
銘柄.txt
銘柄.txtとして、保存して下さい。
9501 9502 9503
ネットストック・ハイスピード 対応方法
松井証券のネットストック・ハイスピードは一端ブラウザからログインしてから起動するため、この起動処理は手作業で前もって行っておきます。
chart2.uwsにおいて、
appTitle = "ネットストック・ハイスピード" app起動 = FALSE
に、変更しておきます。
銘柄のCode入力処理
銘柄のCode入力処理のスクリプトを次のスクリプトに置き換えることもできます。
処理速度はこちらの方が速いです。
//銘柄のCode入力処理開始。 w_ID = GetID(windowTitle) o_HND = GetCtlHND(w_ID, "ComboBox") o_ID = HNDtoID(o_HND) CTRLWIN(w_ID, ACTIVATE) SENDSTR(o_ID, code銘柄, 1, True) KBD(VK_RETURN) //銘柄のCode入力処理終了
トラブルシューティング
- ジョインベスト・エクスプレスからジョイ・エクスプレスに自動的にアップデートされた場合、ファイルのパスは変わらないようです。
従って、スクリプトを次のように変更して下さい。appPath = "C:\Program Files\joinvestExpress\Module\JoinvestExpress.exe" - Windows VISTA,7の場合、「ユーザーアカウント制御の設定」を「通知しない」にする必要があるかもしれません。

使用規約
- このソフトウェアを使用したことによる一切の損害について作者は責任を負いません。
履歴
- 2010-08-12
- スクリプトを改良。
- 2009-11-26
- 「ジョインベスト・エクスプレス」から「ジョイ・エクスプレス」に変更。
- 2008-08-25
- 掲載

