チャートから分足を保存(先物)

  • UWSCのスクリプトで、ノムラ・エクスプレスを起動し、チャート上の右クリックで表示される「CSV形式でデータ出力」を行います。
  • スクリプトを修正すれば、松井証券のネットストック・ハイスピードでも利用可能です。

準備

このスクリプトでは、日経225先物と225先物miniの2つが表示されているチャートから、データ出力を行います。

日経225先物チャート

  • ノムラ・エクスプレスを起動した時に、上記画像のように2つのチャートが表示されている指数先物OPチャートの画面が出てくるように設定しておきます。
  • サンプルスクリプトは1分足のファイル名にしていますが、チャート上に表示されている分足・日足などでデータが出力されます。
  • チャート画面が単独のウインドウで表示されるように、MDIではなくてSDI画面にしておきます。
  • スクリプトの最初で、パスワードを設定します。
  • 「CSV形式でデータ出力」の上でクリックされない場合は、x,yを調節して下さい。
  • folderPath = "C:\" の行で、保存するフォルダを指定できます。フォルダは前もって作成しておきます。
  • 「日付 1.CSV」「日付 1mini.CSV」のファイル名で保存します。

スクリプト

chart.uwsとして保存します。

// ログインパスワードを設定して下さい。
password = "*****"

// チャート画面上で右クリック後カーソル移動幅。調節して下さい。
x = 69
y = 265

windowTitle = "指数先物OPチャート"
//windowTitle = "株式チャート"	//株式のチャートの場合

appTitle = "ノムラ・エクスプレス"
appPath = "C:\Program Files\nomuraExpress\Module\JoinvestExpress.exe"

//CSVを保存するフォルダ  "C:\分足\"に保存する場合は、前もって、分足フォルダを作成しておきます。
folderPath = "C:\"


GETTIME(0)
// ファイル名を変数に代入する。
fileName1 = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + " 1"	//例 20080815 1
fileName1mini = G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + " 1mini"	//例 20080815 1mini

// Excelが開いていなかったら、Excelを起動する。
TRY
	Excel = GetActiveOLEObj("Excel.Application")
EXCEPT
	Excel = CreateOLEObj("Excel.Application")
ENDTRY
Excel.Visible = True
//print excel

// アプリケーションが起動していたら、一端閉じる。ジョイ・エクスプレスではCLOSEでは不可
IFB GETID( appTitle )>=0 THEN
	CTRLWIN(GETID( appTitle ),CLOSE2)
	WHILE (GETID( appTitle ,"#32770",0.1) < 0 ) and GETID( appTitle )>=0
		SLEEP(1)
	WEND
	CLKITEM(GETID( appTitle ,"#32770",0.1),"はい",clk_acc or clk_short,true,1)
	SLEEP(5)
ENDIF

// アプリケーションを起動。
EXEC(appPath)

WHILE (GETID("ログイン","#32770",0.1) < 0 )
	SLEEP(1)
WEND
CTRLWIN( GETID("ログイン","#32770",0.1),ACTIVATE)

IDnum = GETID("ログイン","#32770",0.1)
SENDSTR(IDnum, password ,2,true)	//パスワード入力
KBD(VK_RETURN,CLICK,40)

//チャート画面が開くまで待機。
WHILE GETID( windowTitle ) < 0
	SLEEP(1)
WEND
SLEEP(10)		//長すぎるなら適宜修正

wNum = GETID( windowTitle )
CTRLWIN( wNum, ACTIVATE)

// ウインドウの座標・幅高さを取得
xx = STATUS( wNum, ST_X )
yy = STATUS( wNum, ST_Y )
width = STATUS( wNum, ST_CLWIDTH )
height =  STATUS( wNum, ST_CLHEIGHT )

// 1分足の保存
BTN(RIGHT,CLICK, xx+200, yy+height/3, 300)	//右クリック
BTN(LEFT,CLICK, xx+200+x, yy+height/3+y, 300)	//「CSV形式でデータ出力」の文字列の上をクリック
SLEEP(5)
wNum2 = GETID("出力")
SENDSTR(wNum2, folderPath + fileName1)
KBD(VK_RETURN,DOWN,40)
SLEEP(10)

CTRLWIN(wNum,ACTIVATE)

// 1分足miniの保存
BTN(RIGHT,CLICK, xx+width-250, yy+height/3,300)
BTN(LEFT,CLICK, xx+width-250+x, yy+height/3+y,300)
SLEEP(5)
wNum2 = GETID("出力")
SENDSTR(wNum2, folderPath + fileName1mini)
KBD(VK_RETURN,DOWN,40)
SLEEP(10)

// Excelのファイルを閉じる
CTRLWIN( GETID(fileName1mini), ACTIVATE )
SLEEP(2)
CTRLWIN( GETID(fileName1mini), CLOSE )

CTRLWIN( GETID(fileName1), ACTIVATE )
SLEEP(2)
CTRLWIN( GETID(fileName1), CLOSE )

// アプリケーションを閉じる
CTRLWIN( GETID(appTitle), CLOSE2 )
SLEEP(2)
CLKITEM( GETID(appTitle,"#32770",0.1),"はい",clk_acc or clk_short,true,1)

トラブルシューティング

  • ジョインベスト・エクスプレスからジョイ・エクスプレスに自動的にアップデートされた場合、ファイルのパスは変わらないようです。
    従って、スクリプトを次のように変更して下さい。
    appPath = "C:\Program Files\joinvestExpress\Module\JoinvestExpress.exe"
    
  • Windows 7の場合、「ユーザーアカウント制御の設定」を「通知しない」にする必要があるかもしれません。

    ユーザーアカウント制御の設定


使用規約

  • このソフトウェアを使用したことによる一切の損害について作者は責任を負いません。

履歴

2010-07-27
スクリプトを修正し、指定したフォルダに保存できるように変更。
オリックス・マーケットステーションの設定を削除。
ジョイ・エクスプレスが起動していた時に閉じて再起動できなかったバグを修正。
2009-12-06
スクリプトを修正
2008-08-16
「チャートから分足を保存」を掲載