チャートから分足を保存(複数銘柄対応)
- UWSCのスクリプトで、チャート上の右クリックで表示される「CSV形式でデータ出力」を行います。
- 銘柄2.txtに記入したカテゴリ名,銘柄コードのCSVをカテゴリ毎のフォルダに順次保存します。
- 銘柄.txtに記入した銘柄コードのCSVを順次保存します。
- ジョイ・エクスプレス(野村証券)、ネットストック・ハイスピード(松井証券)のログインも実行します。
準備
- 銘柄2.txt(ファイル名は指定出来ます)あるいは銘柄.txtには、一行ずつ記入します。
- chart2.uwsと銘柄2.txt,銘柄.txtとは同じフォルダに入れておきます。
- パスワードを設定します。
- ネットストック・ハイスピード(松井証券)を利用するなら、証券会社をFALSEにします。
- データを保存するフォルダパスを、folderPathに設定します。
- 「CSV形式でデータ出力」の上でクリックされない場合は、x,yを調節して下さい。
- 日付+銘柄コードのファイル名か、銘柄コードのファイル名(ファイル名日付利用=FALSE にする)で保存されます。
チャート表示を設定
ジョイ・エクスプレス、ネットストック・ハイスピードを起動した時に、上記画像のように株式チャートの画面が出てくるように設定しておきます。チャート画面は単独のウインドウで表示されるように、MDI画面(メインウインドウ内に子ウインドウが開く)ではなくてSDI画面(ドキュメント毎にウインドウが開く)にしておきます。

CSVファイルを開くプログラムを変更
拡張子CSVのファイルは、Excelでは無くて、例えばメモ帳などのテキストエディタで常に開く設定にしておきます。

スクリプト
chart2.uwsとして、保存して下さい。
// チャートからCSVを保存するユーティリティ(複数銘柄対応) // http://www.moderns.co.jp/trade/ // 2011-05-08 カテゴリ利用 = FALSE //カテゴリ利用のfileNameを利用するならTRUE。銘柄.txtならFALSE fileName = "銘柄2.txt" //カテゴリ利用の銘柄リストのファイル名 password = "*****" // 野村用 ログインパスワードを設定して下さい。 maID = "*****" // 松井用 ログインIDを設定して下さい。 maPass = "*****" // 松井用 ログインパスワードを設定して下さい。 証券会社 = TRUE //野村ジョイ・エクスプレスにログインするならTRUE。ネットストック・ハイスピード(松井証券)を利用するなら、FALSE。 folderPath = "C:\" //データを保存するフォルダパス。このフォルダ以下に、[日付 + Data]のフォルダが作成される。 //ジョイ・エクスプレスのプログラムパス appPath = "C:\Program Files\joyExpress\Module\JoinvestExpress.exe" //チャート画面上で右クリック後カーソル移動幅。調節して下さい。 x = 69 y = 260 //フォントがMS Pゴシックなら、220 //windowTitle = "指数先物OPチャート" windowTitle = "株式チャート" //株式のチャートの場合 IFB 証券会社 THEN appTitle = "ジョイ・エクスプレス" 野村ログイン(appPath,password) ELSE appTitle = "ネットストック・ハイスピード" 松井ログイン(maID,maPass) ENDIF GETTIME(0) //CSVを保存するフォルダ folderPath = folderPath + G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + " Data\" ファイル名日付利用 = FALSE // ファイル名に日付を付けるならTRUE dateFileName = "" //ファイル名の日付部分を設定する。 IFB ファイル名日付利用 THEN dateFileName = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + " " //例 20110508 ENDIF //チャート画面が開くまで待機。 WHILE GETID( windowTitle ) < 0 SLEEP(1) WEND SLEEP(10) //長すぎるなら適宜修正 wNum = GETID(windowTitle) DIM FSO = CreateOLEObj("Scripting.FileSystemObject") //folderPathのフォルダが無ければ作成する。 IFB FSO.FolderExists(folderPath) = FALSE THEN FSO.CreateFolder (folderPath) ENDIF IFB カテゴリ利用 THEN fid = FOPEN(fileName, F_READ) ELSE fid = FOPEN("銘柄.txt", F_READ) ENDIF FOR 行 = 1 TO FGET(fid, -1) // 行数分を繰り返す IFB カテゴリ利用 THEN カテゴリ = FGET(fid, 行, 1) code銘柄 = FGET(fid, 行, 2) // 行の2つめの列のデータを取り出す IFB FSO.FolderExists(folderPath + カテゴリ) = FALSE THEN FSO.CreateFolder (folderPath + カテゴリ) ENDIF ELSE code銘柄 = FGET(fid, 行) // 行のデータを取り出す ENDIF //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入力処理開始。 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入力処理終了 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(0.5) WEND SLEEP(0.5) wNum2 = GETID("出力") IFB カテゴリ利用 THEN SENDSTR(wNum2, folderPath + カテゴリ + "\"+ FileName) ELSE SENDSTR(wNum2, folderPath + FileName) ENDIF KBD(VK_RETURN, DOWN, 40) SLEEP(0.5) CTRLWIN(wNum, ACTIVATE) NEXT FCLOSE( fid ) EXIT //アプリケーションを閉じるなら、この行を削除 // アプリケーションを閉じる CTRLWIN(GETID(appTitle), CLOSE2 ) SLEEP(2) CLKITEM(GETID(appTitle,"#32770"), "はい", clk_acc or clk_short, true, 1) Procedure 松井ログイン(maID,maPass) IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate("https://www.deal.matsui.co.jp/ITS/login/MemberLogin.jsp") BusyWait(IE) IESETDATA(IE,maID,"clientCD") IESETDATA(IE,maPass,"passwd") IESETDATA(IE,True,"","alt=ログイン") BusyWait(IE) IELINK(IE,"ネットストック・ハイスピード") BusyWait(IE) IE.Document.Frames("CT").Document.all.item("kidouButton").click Fend Procedure 野村ログイン(appPath,password) 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) Fend Procedure BusyWait(ie) repeat Sleep(0.2) until (! ie.busy) and (ie.readyState=4) Fend
銘柄.txt
銘柄.txtとして、保存して下さい。
9501 9502 9503
銘柄2.txt
通常は、銘柄2.txtとして、保存して下さい。ファイル名はスクリプト内で指定できます。
カテゴリ名,銘柄のコード の順に記載します。
ここでは、「電力」「225」カテゴリの2つを記載してあります。
電力,1939 電力,1941 電力,1942 電力,1959 電力,9501 電力,9502 電力,9503 電力,9504 電力,9505 電力,9506 電力,9507 電力,9508 電力,9509 電力,9511 225,1332 225,1334 225,1605 225,1721 225,1801 225,1802 225,1803 225,1812 225,1925 225,1928 225,1963 225,2002 225,2269 225,2282 225,2501 225,2502 225,2503 225,2531 225,2768 225,2801 225,2802 225,2871 225,2914 225,3086 225,3099 225,3101 225,3103 225,3105 225,3110 225,3382 225,3401 225,3402 225,3405 225,3407 225,3436 225,3861 225,3864 225,3865 225,3893 225,4004 225,4005 225,4021 225,4041 225,4042 225,4061 225,4063 225,4151 225,4183 225,4188 225,4208 225,4272 225,4324 225,4452 225,4502 225,4503 225,4506 225,4507 225,4519 225,4523 225,4543 225,4568 225,4689 225,4704 225,4901 225,4902 225,4911 225,5002 225,5020 225,5101 225,5108 225,5201 225,5202 225,5214 225,5232 225,5233 225,5301 225,5332 225,5333 225,5401 225,5405 225,5406 225,5407 225,5411 225,5541 225,5631 225,5701 225,5706 225,5707 225,5711 225,5713 225,5714 225,5715 225,5801 225,5802 225,5803 225,5901 225,6103 225,6301 225,6302 225,6305 225,6326 225,6361 225,6366 225,6367 225,6471 225,6472 225,6473 225,6479 225,6501 225,6502 225,6503 225,6504 225,6506 225,6508 225,6674 225,6701 225,6702 225,6703 225,6752 225,6753 225,6758 225,6762 225,6767 225,6770 225,6773 225,6841 225,6857 225,6902 225,6952 225,6954 225,6971 225,6976 225,7003 225,7004 225,7011 225,7012 225,7013 225,7201 225,7202 225,7203 225,7205 225,7211 225,7261 225,7267 225,7269 225,7270 225,7731 225,7733 225,7735 225,7751 225,7752 225,7762 225,7911 225,7912 225,7951 225,8001 225,8002 225,8015 225,8031 225,8035 225,8053 225,8058 225,8233 225,8252 225,8253 225,8267 225,8270 225,8303 225,8306 225,8308 225,8309 225,8316 225,8331 225,8332 225,8354 225,8355 225,8404 225,8411 225,8601 225,8604 225,8606 225,8628 225,8630 225,8725 225,8750 225,8766 225,8795 225,8801 225,8802 225,8803 225,8804 225,8815 225,8830 225,9001 225,9005 225,9007 225,9008 225,9009 225,9020 225,9021 225,9022 225,9062 225,9064 225,9101 225,9104 225,9107 225,9202 225,9301 225,9412 225,9432 225,9433 225,9437 225,9501 225,9502 225,9503 225,9531 225,9532 225,9602 225,9613 225,9681 225,9735 225,9737 225,9766 225,9983 225,9984
トラブルシューティング
- ジョインベスト・エクスプレスからジョイ・エクスプレスに自動的にアップデートされた場合、ファイルのパスは変わらないようです。
従って、スクリプトを次のように変更して下さい。appPath = "C:\Program Files\joinvestExpress\Module\JoinvestExpress.exe" - Windows VISTA,7の場合、「ユーザーアカウント制御の設定」を「通知しない」にする必要があるかもしれません。

使用規約
- このソフトウェアを使用したことによる一切の損害について作者は責任を負いません。
履歴
- 2011-05-08
- ネットストック・ハイスピード(松井証券)のログインに対応。CSVファイルをExcelで開かない前提に変更した。
- 2010-11-07
- 銘柄2.txtを利用し、カテゴリ名のフォルダ毎にCSVを保存できるようにした。銘柄のCode入力処理を変更。CSVにデータが無くファイルが開かれない場合に対処。
- 2010-08-12
- スクリプトを改良。
- 2009-11-26
- 「ジョインベスト・エクスプレス」から「ジョイ・エクスプレス」に変更。
- 2008-08-25
- 掲載

