Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6805 / 13644 ツリー ←次へ | 前へ→

【42371】リアルタイム株価取得 Ganga 06/9/8(金) 13:34 質問[未読]
【42375】Re:リアルタイム株価取得 かみちゃん 06/9/8(金) 20:09 発言[未読]
【42387】Re:リアルタイム株価取得 漂流民 06/9/9(土) 1:10 発言[未読]
【42406】Re:リアルタイム株価取得 Ganga 06/9/9(土) 16:44 お礼[未読]
【42405】Re:リアルタイム株価取得 Ganga 06/9/9(土) 16:40 お礼[未読]
【42434】Re:リアルタイム株価取得 漂流民 06/9/12(火) 1:20 発言[未読]
【42953】Re:リアルタイム株価取得 dragon 06/9/27(水) 15:38 質問[未読]
【43039】Re:リアルタイム株価取得 漂流民 06/9/29(金) 23:54 発言[未読]
【42419】Re:リアルタイム株価取得 パン 06/9/11(月) 8:35 発言[未読]
【42442】Re:リアルタイム株価取得 Ganga 06/9/12(火) 10:41 お礼[未読]
【42455】Re:リアルタイム株価取得 パン 06/9/12(火) 15:41 回答[未読]
【42458】Re:リアルタイム株価取得 Ganga 06/9/12(火) 16:45 質問[未読]
【42469】Re:リアルタイム株価取得 パン 06/9/12(火) 23:10 発言[未読]
【42559】Re:リアルタイム株価取得 Ganga 06/9/15(金) 6:48 質問[未読]
【42560】Re:リアルタイム株価取得 パン 06/9/15(金) 7:13 発言[未読]
【42589】Re:リアルタイム株価取得 Ganga 06/9/15(金) 20:05 お礼[未読]
【42597】Re:リアルタイム株価取得 パン 06/9/15(金) 22:18 発言[未読]
【42614】Re:リアルタイム株価取得 Ganga 06/9/16(土) 15:04 発言[未読]
【42804】Re:リアルタイム株価取得 パン 06/9/22(金) 12:08 発言[未読]

【42371】リアルタイム株価取得
質問  Ganga  - 06/9/8(金) 13:34 -

引用なし
パスワード
   こんにちは。日本株のトレーダーです。現在は日足データによるブレイクアウト手法で取引しております。今後、楽天証券のRSSデータを使って、分足データ一覧を作成し、日中ブレイクアウトの精度を高めたいと考えておりますが、取得したデータをどのように格納してゆけばよいのかが分からず、ご教示いただきたく質問をさせていただきます。(現在は高値・安値と現在値を表示させてブレイクアウトを判断しております。)エクセルは2003を使用しております。マクロにつきましては、自動記録を使用する程度の知識しか持ち合わせておりません。宜しくお願いいたします。

【42375】Re:リアルタイム株価取得
発言  かみちゃん E-MAIL  - 06/9/8(金) 20:09 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> 取得したデータをどのように格納してゆけばよいのかが分からず

私は、トレダーではありませんが、仕事の関係上、また、日ごろの勉強もかねて
株価情報を取得しています。
ただし、リアルタイムに必要ではないので、Yahoo!Financeなどから取得しています。

そこで、何かアドバイスができるかもしれないのですが、
どこから、何をどのように取得したいのでしょうか?

以下のURLを参考にされてもいいかもしれません。
http://www.geocities.jp/kameyama_kabu/
auto_kabu@freeml.com/" target="_blank">http://www.freeml.com/info/auto_kabu@freeml.com/
http://www.happy2-island.com/bbs/bbs.cgi?mode=view&no=276
http://www5f.biglobe.ne.jp/~uzy/smis/index.htm
http://invest-prg.rich-prj.com/

また、参考になるかどうかわかりませんが、以下のようなものもあるようです。
http://kabutogyanburu.blog50.fc2.com/blog-entry-965.html

【42387】Re:リアルタイム株価取得
発言  漂流民  - 06/9/9(土) 1:10 -

引用なし
パスワード
   ▼Ganga さん:
こんばんわ

>マクロにつきましては、自動記録を使用する程度の知識しか持ち合わせておりません。
正直、厳しいと思います。
かみちゃんさんのも合わせて、こちらも参考にされてはどうでしょうか?
http://www.infocart.jp/down/description.php?IID=7595
それでも分からないことがあるようでしたら質問するようにするといいと思います^^

【42405】Re:リアルタイム株価取得
お礼  Ganga  - 06/9/9(土) 16:40 -

引用なし
パスワード
   ▼かみちゃん さん:
こんにちは。Gangaです。
早速にも、いろいろ興味深いHPを紹介していただきまして有難うございました。
今の私には ”http://www5f.biglobe.ne.jp/~uzy/smis/index.htm”さんの
プログラムを参考にさせていただくのが精一杯かなと感じております。

>どこから、何をどのように取得したいのでしょうか?

私としましては、約130銘柄について5日間以上の30分足データを取得し、
現在、日足データで使用しているブレイクアウトの検知マクロをリアルタイムで適用させたいと考えております。
楽天証券と松井証券に口座を持っておりますが、楽天証券のRSS(リアルタイムスプレッドシート)では、30分足を作成するためのデータの格納方法が分からず、また、松井証券のソフトでは30分足データをCSVファイルで取り込めるのですが、個々の銘柄を自動で取り込む方法が分からなかったので質問させていただきました。
何か良い方法があればご教示いただけますと幸いです。
御礼のつもりが質問になってしまって申しわけありません。
お時間のある時で結構ですので、宜しくお願いいたします。

【42406】Re:リアルタイム株価取得
お礼  Ganga  - 06/9/9(土) 16:44 -

引用なし
パスワード
   ▼漂流民 さん:
こんにちは。返信有難うございました。
自分で納得するためにも、やはり勉強ですね。
また、質問させていただきますので、宜しくお願いいたします。

【42419】Re:リアルタイム株価取得
発言  パン E-MAIL  - 06/9/11(月) 8:35 -

引用なし
パスワード
   ▼Ganga さん:
今日は、パンと申します。

たぶん、作業の流れとしては松井証券にログインし30分足のデーターのページに行って銘柄コードをエクセルのセルより読み込みHPのテキストへ入力しCVSを保存、これを、ループで繰り返す動作で出来るはずです。
ログインとコントロールは下に松井のがあります(説明もあるので参考にしてください)
http://www23.tok2.com/home/kameyamakabu/beginner/wforum.cgi?no=34&reno=no&oya=34&mode=msgview&page=0
私も松井の口座はもってますが、30足がダウンロード出来るなんて知りませんでした、そこへどうやったらいけるか教えていただけませんか?

【42434】Re:リアルタイム株価取得
発言  漂流民  - 06/9/12(火) 1:20 -

引用なし
パスワード
   ▼Ganga さん:
こんばんわ

かみちゃんさんご紹介のリンク先見ました。
マケスピ起動→ログイン→RSS起動→セルA1に =RSS|'6758.T'!現在値 と入力
で「6758.T」の現在値が取得できるようですね^^
私はEトレしか持っていなので検証できませんが、
セルA1の30分足を取得するテスト。(未検証)
(testマクロを実行してください)

************************************************************************

'シートモジュール
Private Sub Worksheet_Calculate()
  If Range("A1").Value > mxv Then
    mxv = Range("A1").Value
  ElseIf Range("A1").Value < mnv Then
    mnv = Range("A1").Value
  End If
End Sub


'標準モジュール
Public stv As Long, mxv As Long, mnv As Long, nrow As Long

Sub test()
  Range("A2").Value = "初値"
  Range("B2").Value = "高値"
  Range("C2").Value = "安値"
  Range("D2").Value = "終値"
  nrow = 3
  Call SetProc
End Sub

Function SetProc()
  Dim ntm As Date

  ntm = Time()
  stv = Range("A1").Value
  mxv = Range("A1").Value
  mnv = Range("A1").Value

  If ntm >= TimeValue("09:00:00") And ntm <= TimeValue("15:00:00") Then
    Application.OnTime ntm + TimeValue("00:30:00"), "GetVal"
  Else
    Application.OnTime TimeValue("09:00:00"), "GetVal"
  End If

End Function

Function GetVal()
  Cells(nrow, 1).Value = stv
  Cells(nrow, 2).Value = mxv
  Cells(nrow, 3).Value = mnv
  Cells(nrow, 4).Value = Range("A1").Value
  nrow = nrow + 1
  Call SetProc
End Function

************************************************************************

ミスがあったらスイマセン。

※参考用なので、日付の処理、前引けから後場までの間の処理、決められた時間での処理、
複数銘柄の処理等は一切入れていません。
工夫して分からないようであればまた質問してください^^

※ちなみにシートモジュールと標準モジュール
VBA画面のそれぞれにコピペします
- VBAProject (Book1)
 - Microsoft Excel Objects
  - Sheet 1 (Sheet 1)   <- シート1のシートモジュール
  - Sheet 2 (Sheet 2)
  - Sheet 3 (Sheet 3)
  - ThisWorkbook
 - 標準モジュール
  - Module1         <- 標準モジュール

【42442】Re:リアルタイム株価取得
お礼  Ganga  - 06/9/12(火) 10:41 -

引用なし
パスワード
   ▼パン さん:
こんにちは。Gangaです。ご教示有難うございます。
ただ、教えていただいた方法は私にはまだ難しそうで、これから勉強いたします。

>私も松井の口座はもってますが、30足がダウンロード出来るなんて知りませんでした、そこへどうやったらいけるか教えていただけませんか?

上記の件ですが、松井証券の無料ソフト「ネットストックハイスピード」で個別の30分チャートを表示し、右クリックするとCSVファイルでの取り込みが可能となります。移動平均等のデータもあわせてダウンロードできます。多分ご存知ですよね?
私の書き方に問題があったのかも分かりませんので、誤解を招いたようでしたら、ごめんなさい。上記ソフトからの自動ダウンロードなんて可能なのでしょうか?
よろしければご検討ください。取り急ぎ御礼まで。

【42455】Re:リアルタイム株価取得
回答  パン E-MAIL  - 06/9/12(火) 15:41 -

引用なし
パスワード
   ▼Ganga さん:
早速の連絡ありがとうございます。
ネットストックハイスピードは使用していなかったのでわかりませんでした。
有難うございます。
まだ見ていないので責任持てませんが、ミギクリックでの後ショートカットキーかTABキーでダウンロードを選択できるなら前回の松井ログインとIEのコントロールでいけるはずです。
ログインは、モジュールにコピペで動作可能ですよ[考えるよりトライです]
動作が知りたければF8キーにて一つずつ確認できます。
ダウンロードは、作成できますので、順番を追っていきましょう。


>▼パン さん:
>こんにちは。Gangaです。ご教示有難うございます。
>ただ、教えていただいた方法は私にはまだ難しそうで、これから勉強いたします。
>
>>私も松井の口座はもってますが、30足がダウンロード出来るなんて知りませんでした、そこへどうやったらいけるか教えていただけませんか?
>
>上記の件ですが、松井証券の無料ソフト「ネットストックハイスピード」で個別の30分チャートを表示し、右クリックするとCSVファイルでの取り込みが可能となります。移動平均等のデータもあわせてダウンロードできます。多分ご存知ですよね?
>私の書き方に問題があったのかも分かりませんので、誤解を招いたようでしたら、ごめんなさい。上記ソフトからの自動ダウンロードなんて可能なのでしょうか?
>よろしければご検討ください。取り急ぎ御礼まで。

【42458】Re:リアルタイム株価取得
質問  Ganga  - 06/9/12(火) 16:45 -

引用なし
パスワード
   ▼パン さん
こんにちは。Gangaです。
教えていただいた件、moduleにコピペで動作の確認はできたのですが、
ログイン画面の後に表示される「ホーム」画面から、
「ネットストックハイスピード」の画面への移行方法が分かりません。
手動操作としてはページ左側の「ネットストックハイスピード」の項目を
左クリックするだけなのですが、どのように記述すればよいのか?で止まって
しまいました。ど素人なのでこんな状態です。
よろしければ、また教えてください。

【42469】Re:リアルタイム株価取得
発言  パン E-MAIL  - 06/9/12(火) 23:10 -

引用なし
パスワード
   ▼Ganga さん:
おたせしました、下のコードをコピペして(前回の後ろに)
実行してください(私はネットストックハイスピード申し込んでなくてクリックは出来るはずです、クリックでなくアドレスでいってますけど)

URL02 = URL01 + "/ITS/frame/FraHomeRtfBoot.jsp;" + dat02
   objIE.Navigate URL02

   Call wIE(objIE)
結果教えてください。

>▼パン さん
>こんにちは。Gangaです。
>教えていただいた件、moduleにコピペで動作の確認はできたのですが、
>ログイン画面の後に表示される「ホーム」画面から、
>「ネットストックハイスピード」の画面への移行方法が分かりません。
>手動操作としてはページ左側の「ネットストックハイスピード」の項目を
>左クリックするだけなのですが、どのように記述すればよいのか?で止まって
>しまいました。ど素人なのでこんな状態です。
>よろしければ、また教えてください。

【42559】Re:リアルタイム株価取得
質問  Ganga  - 06/9/15(金) 6:48 -

引用なし
パスワード
   ▼パン さん:
こんにちは。Gangaです。結果報告です。

コピペでやってみたのですが、タイムアウトのエラーが表示されてしまいました。
表示は「・・・操作をしていない状態が一定時間を超えました・・・」です。

某巨大掲示板に以下の内容があるのですが、どうしたらいいんでしょうか?

 ”… NSHSを起動する際、ネットストック会員画面で「起動する」ボタンを
   クリックしますが この時、PCにnshsファイルがダウンロードされます・・・
  …ファイルの中身は150桁を超える数字の羅列で、「起動する」を押すたびに
   毎回異なる値が入っているようです。…
  …ダウンロードしたBoot.nshsをダブルクリックすれば、NSHSを起動する事が
   出来ます。しかしnshsファイルには有効期限があるので、ダウンロード後
   一定時間(実験では30分程度?)しか使用できないようです。…  ”

 お願いばかりですいません。お時間のあるときで結構ですのでご検討ください。

【42560】Re:リアルタイム株価取得
発言  パン E-MAIL  - 06/9/15(金) 7:13 -

引用なし
パスワード
   ▼Ganga さん:
貼り付けた場所はどこでしょうか?

dat01 = objIE.Document.body.innerHTML
S1 = InStr(dat01, "MenuHome.jsp;")
dat02 = Mid$(dat01, S1 + 13, 61)

の後ろに貼り付けます、テストでは上手く行ってます

 *ファイルの中身は150桁を超える数字の羅列で、「起動する」を押すたびに
  毎回異なる値が入っているようです。…

の部分もクリアできていますので貼り付け位置がちがうようです。

 
   URL02 = URL01 + "/ITS/frame/FraHomeRtfBoot.jsp;" + dat02
   objIE.Navigate URL02

   Call wIE(objIE)

   URL02 = URL01 + "/ITS/home/RtfClientConnect.jsp;" + dat02
   objIE.Navigate URL02


>▼パン さん:
>こんにちは。Gangaです。結果報告です。
>
>コピペでやってみたのですが、タイムアウトのエラーが表示されてしまいました。
>表示は「・・・操作をしていない状態が一定時間を超えました・・・」です。
>
>某巨大掲示板に以下の内容があるのですが、どうしたらいいんでしょうか?
>
> ”… NSHSを起動する際、ネットストック会員画面で「起動する」ボタンを
>   クリックしますが この時、PCにnshsファイルがダウンロードされます・・・
>  …ファイルの中身は150桁を超える数字の羅列で、「起動する」を押すたびに
>   毎回異なる値が入っているようです。…
>  …ダウンロードしたBoot.nshsをダブルクリックすれば、NSHSを起動する事が
>   出来ます。しかしnshsファイルには有効期限があるので、ダウンロード後
>   一定時間(実験では30分程度?)しか使用できないようです。…  ”
>
> お願いばかりですいません。お時間のあるときで結構ですのでご検討ください。

【42589】Re:リアルタイム株価取得
お礼  Ganga  - 06/9/15(金) 20:05 -

引用なし
パスワード
   ▼パン さん:
こんにちは。Gangaです。
早速返信いただきまして有難うございました。うまくいきました。

 >貼り付けた場所はどこでしょうか?

 ご指摘のとおり、ログイン部分の直後にコピペしておりましたので、
 うまくいかなかったようです。

 教えていただいた部分は、URLを指定して移動するという意味のようですが、
 指定するURLは、クリックしたい部分のプロパティで確認するという考え方で
 よろしいのでしょうか?

 現在、ネットストックハイスピードが起動している状態です。

 ここから、
  チャート画面を呼び出し→銘柄・分足を指定→
   右クリックでメニューを呼び出し→CSV形式でのデータ出力を選択
    →特定のフォルダにファイル出力 
 といったような手順になるかと思います。
 
 どこまでお付き合いしていただけるのかわからないのですが、
 ひとつ宜しくお願いいたします。
 
 

【42597】Re:リアルタイム株価取得
発言  パン E-MAIL  - 06/9/15(金) 22:18 -

引用なし
パスワード
   ▼Ganga さん:

とりあえず、ハイスピードまでいけたのですね。
ここからは、私の環境では現在いけないので来週途中には入れるようになると思いますが、手探りになりますのでお時間をいただきたいものですが、


>▼パン さん:
> こんにちは。Gangaです。
> 早速返信いただきまして有難うございました。うまくいきました。
>
> >貼り付けた場所はどこでしょうか?
>
> ご指摘のとおり、ログイン部分の直後にコピペしておりましたので、
> うまくいかなかったようです。

指定するURLは、クリックしたい部分のプロパティで確認するという考え方で
 よろしいのでしょうか?
たぶんOKですが、URLの後半はセジュリティーIDになるはずですので、ログイン毎に変わるはずです、dat01にIDが入ります。

しばし、おじかんをください。


>
> 教えていただいた部分は、URLを指定して移動するという意味のようですが、
> 指定するURLは、クリックしたい部分のプロパティで確認するという考え方で
> よろしいのでしょうか?
>
> 現在、ネットストックハイスピードが起動している状態です。
>
> ここから、
>  チャート画面を呼び出し→銘柄・分足を指定→
>   右クリックでメニューを呼び出し→CSV形式でのデータ出力を選択
>    →特定のフォルダにファイル出力 
> といったような手順になるかと思います。
> 
> どこまでお付き合いしていただけるのかわからないのですが、
> ひとつ宜しくお願いいたします。
> 
>

【42614】Re:リアルタイム株価取得
発言  Ganga  - 06/9/16(土) 15:04 -

引用なし
パスワード
   ▼パン さん:
 Gangaです。いつも有難うございます。
 当方、全然急いでおりませんので、お時間のあるときにご検討ください。

【42804】Re:リアルタイム株価取得
発言  パン E-MAIL  - 06/9/22(金) 12:08 -

引用なし
パスワード
   ▼Ganga さん:
反応が無かったので回答は削除しました。

>▼パン さん:
> Gangaです。いつも有難うございます。
> 当方、全然急いでおりませんので、お時間のあるときにご検討ください。

【42953】Re:リアルタイム株価取得
質問  dragon E-MAIL  - 06/9/27(水) 15:38 -

引用なし
パスワード
   'シートモジュール
Private Sub Worksheet_Calculate()
  If Range("A1").Value > mxv Then
    mxv = Range("A1").Value
  ElseIf Range("A1").Value < mnv Then
    mnv = Range("A1").Value
  End If
End Sub

の中で  If Range("A1").Value > mxv Then の部分でエラー”型が一致しません”と返ります。
どのように修復すればいいのでしょうか?
お教えください。また、時刻も表示する場合、標準モジュルで

Public stv As Long, mxv As Long, mnv As Long, nrow As Long

Sub test()
  Range("A2").Value = "時刻"
  Range("B2").Value = "始値"
  Range("C2").Value = "高値"
  Range("D2").Value = "安値"
  Range("E2").Value = "終値"
  nrow = 3
  Call SetProc
End Sub

Function SetProc()
  Dim ntm As Date

  ntm = Time()
  stv = Range("A1").Value
  mxv = Range("A1").Value
  mnv = Range("A1").Value

  If ntm >= TimeValue("09:00:00") And ntm <= TimeValue("15:00:00") Then
    Application.OnTime ntm + TimeValue("00:20:00"), "GetVal"
  Else
    Application.OnTime TimeValue("09:00:00"), "GetVal"
  End If

End Function

Function GetVal()
  Cells(nrow, 1).Value = ntm
  Cells(nrow, 2).Value = stv
  Cells(nrow, 3).Value = mxv
  Cells(nrow, 4).Value = mnv
  Cells(nrow, 5).Value = Range("A1").Value
  nrow = nrow + 1
  Call SetProc
End Function
とすればいいのでしょうか?

【43039】Re:リアルタイム株価取得
発言  漂流民  - 06/9/29(金) 23:54 -

引用なし
パスワード
   ▼dragon さん:
こんばんわ
もう見てないかな?

>の中で  If Range("A1").Value > mxv Then の部分でエラー”型が一致しません”と返ります。
>どのように修復すればいいのでしょうか?
たぶん、A1セルに数字以外の値(空白も含めて)が入ってることが原因でしょう。
よく考えたら、ザラ場外では数字は入らないですね^^
下記のようにしてみましたがどうでしょう?


>お教えください。また、時刻も表示する場合、標準モジュルで

>とすればいいのでしょうか?
惜しいです、変数ntm は関数SetProc 内でしか使えないローカル変数です。
変数ntm を関数GetVal に引数として渡すか、グローバル変数にしてやる必要があります。
下記ではグローバル変数にしてみました。

※未実行です、間違ってたらすいません。

'シートモジュール
Private Sub Worksheet_Calculate()
  If IsNumeric(Range("A1").Value) = False Then Exit Sub
  If numflg = False Then
    stv = Range("A1").Value
    mxv = Range("A1").Value
    mnv = Range("A1").Value
    numflg = True
  End If
  If Range("A1").Value > mxv Then
    mxv = Range("A1").Value
  ElseIf Range("A1").Value < mnv Then
    mnv = Range("A1").Value
  End If
  edv = Range("A1").Value
End Sub


'標準モジュール
Public stv As Long, edv As Long, mxv As Long, mnv As Long, nrow As Long
Public ntm As Date
Public numflg As Boolean

Sub test()
  Range("A2").Value = "時刻"
  Range("B2").Value = "始値"
  Range("C2").Value = "高値"
  Range("D2").Value = "安値"
  Range("E2").Value = "終値"
  nrow = 3
  Call SetProc
End Sub

Function SetProc()
  ntm = Time()
  numflg = False

  If ntm >= TimeValue("09:00:00") And ntm <= TimeValue("15:00:00") Then
    Application.OnTime ntm + TimeValue("00:20:00"), "GetVal"
  Else
    Application.OnTime TimeValue("09:00:00"), "GetVal"
  End If
End Function

Function GetVal()
  Cells(nrow, 1).Value = ntm & " 〜 " & ntm + TimeValue("00:20:00")
  Cells(nrow, 2).Value = stv
  Cells(nrow, 3).Value = mxv
  Cells(nrow, 4).Value = mnv
  Cells(nrow, 5).Value = edv
  nrow = nrow + 1
  Call SetProc
End Function


P.S.
時間の経ったスレに質問を入れるより、新しくスレ立てて
ここのリンクを貼るようにした方が回答は付きやすいですよ^^

6805 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free