以前作ったプログラムの改良版です。以前のバージョンでは、銘柄の登録が面倒だったので今回は簡単に複数の銘柄を一発で登録できるようにしました。
楽天RSSとエクセルで急騰銘柄をキャッチしよう(1)
楽天RSSとエクセルで急騰銘柄をキャッチしよう(2)
設計
1.監視銘柄の複数登録を一発でできるようにする
2.5分間の間に1%以上上昇するものを急騰、1%以上下落したものを急落とする。(タイマーを5分前の株価を記録)
3.15分間の間に3%以上上昇するものを急騰、3%以上下落したものを急落とする。(タイマーを15分前の株価を記録)
4.どれくらいGU,GDして始まったかギャップ率に記録する。
5.過去5日間の高値を記録し監視。
6.急騰、急落銘柄は視覚的にわかりやすく告知する。
準備
楽天RSSの使い方やエクセルマクロの使い方はこちらで確認してください。
【システムトレード】楽天RSSとエクセルで急騰銘柄をキャッチしよう(1)
表示画面作成
プログラムを入力する前に表示画面の作成を行います。下記画像のようにB5からU5まで項目を入力をします。
B5から「コード」「銘柄名」「信用貸借区」「前日比率」「始値」「前日終値」「高値」「安値」「現在値」「5分前」「15分前」「30分前」「直近高値」「5日高値 」「ギャップ率」「上昇率」「上昇率2」「初値接近」「高値接近」「5日高値接近」を入力します。項目名は中央寄せにします。※表示の倍率を75%ぐらいにすると見やすくなります「表示→ズーム→75%」。
下記のシート名を「Sheet1」から「監視」に変更します。
マクロを記入
上部タブから「開発」をクリックします。上部左のメニューから「Visual Basic」をクリックします。
VBAの入力画面が表示されるので左メニューから「Sheet1(監視)」をダブルクリックします。するとコード入力画面が表示されるので下記コードをコピーします。
sheet1コピー内容
Private Sub CommandButton1_Click()
Dim i As Integer
i = 6
Do Until Cells(i, 2) = ""
code = Cells(i, 2).Value
Cells(i, 3).Value = "=RSS|'" & code & ".TJ'!銘柄名称"
Cells(i, 4).Value = "=RSS|'" & code & ".TJ'!信用貸借区分"
Cells(i, 5).Value = "=RSS|'" & code & ".TJ'!前日比率"
Cells(i, 6).Value = "=RSS|'" & code & ".TJ'!始値"
Cells(i, 7).Value = "=RSS|'" & code & ".TJ'!前日終値"
Cells(i, 8).Value = "=RSS|'" & code & ".TJ'!高値"
Cells(i, 9).Value = "=RSS|'" & code & ".TJ'!安値"
Cells(i, 10).Value = "=RSS|'" & code & ".TJ'!現在値"
Cells(i, 16).Value = "=ROUND(((F" & i & "/G" & i & ")*100)-100,2)"
Cells(i, 16).NumberFormatLocal = "0.00"
Cells(i, 17).Value = "=(J" & i & "/K" & i & "*100)-100"
Cells(i, 17).NumberFormatLocal = "0.00"
Cells(i, 18).Value = "=(J" & i & "/L" & i & "*100)-100"
Cells(i, 18).NumberFormatLocal = "0.00"
Cells(i, 19).Value = "=((J" & i & "-F" & i & ")/J" & i & ")*100"
Cells(i, 19).NumberFormatLocal = "0.00"
Cells(i, 20).Value = "=((J" & i & "-N" & i & ")/J" & i & ")*100"
Cells(i, 20).NumberFormatLocal = "0.00"
Cells(i, 21).Value = "=((J" & i & "-O" & i & ")/J" & i & ")*100"
Cells(i, 21).NumberFormatLocal = "0.00"
i = i + 1
Loop
End Sub
次に左メニューから「Sheet1(監視)」を選択し右クリックをします。そこから「挿入」→「標準モジュール」をクリックします。
Module1のコード入力画面が表示されるので下記コードをコピーします。
Module1コピー内容
Sub スタート()
'初期化
Range("C1").Value = 0
Range("A1").Value = ""
Range("B1").Value = ""
'急騰急落告知を実行
Call 急騰急落告知
'15分前 30分前を初期化
Range("J6:J1000").Copy
Range("L6:L1000").PasteSpecial Paste:=xlPasteValues
Range("J6:J1000").Copy
Range("M6:M1000").PasteSpecial Paste:=xlPasteValues
Range("H6:H1000").Copy
Range("N6:N1000").PasteSpecial Paste:=xlPasteValues
End Sub
Sub 急騰急落告知()
Beep '音を鳴らす
Sheets("監視").Select
Range("A1").Value = Now
Range("B1").Value = Now + TimeValue("00:05:00")
Range("J6:J1000").Copy
Range("K6:K1000").PasteSpecial Paste:=xlPasteValues
If Range("C1").Value = "" Or Range("C1").Value > 7 Then
Range("C1").Value = 0
End If
Range("C1").Value = Val(Range("C1")) + 1
If Range("C1").Value = 4 Then
Range("J6:J1000").Copy
Range("L6:L1000").PasteSpecial Paste:=xlPasteValues
End If
If Range("C1").Value = 7 Then
Range("J6:J1000").Copy
Range("M6:M1000").PasteSpecial Paste:=xlPasteValues
'高値コピー
Range("H6:H1000").Copy
Range("N6:N1000").PasteSpecial Paste:=xlPasteValues
Range("C1").Value = 1
End If
Application.OnTime Now + TimeValue("00:05:00"), "急騰急落告知", Now + TimeValue("00:10:00")
End Sub
実行ボタンを配置
上部タブから「開発」をクリックします。上部メニューから「挿入」をクリックし下記写真のパーツをクリックします。
適当にシート内をクリックし「ボタン」を作成します。作成した「ボタン」の上を右クリックしプロパティを選択します。プロパティウィンドウが表示されるのでその項目から「Caption」を選択し「CommandButton1」と書かれている文字を「登録」に変更します。
上部メニューから「挿入」をクリックし下記写真のパーツをクリックします。
適当にシート内をクリックし「ボタン」を作成します。すると「マクロの登録画面」が表示されるので「スタート」を選択し「OK」ボタンをクリックします。
作成したボタン上で右クリックし「テキスト編集」を選択します。ボタン名を「実行」に変更します。
使い方
銘柄登録はB6から下へ銘柄コードを入力します。入力が終わったら「登録」ボタンを押します。すると一気に登録できると思います。
実行ボタンを押すとタイマーが作動し「上昇率」「上昇率2」を監視できるようになります。「上昇率」は5分、「上昇率2」15分に対応しています。寄りの9時に実行してください。
急騰、急落を色で告知するようにする
下記記事を参考に告知できるように配色してください。
【システムトレード】楽天RSSとエクセルで急騰銘柄をキャッチしよう(2)