日経平均株価の週足チャートと移動平均線 約17年間分(2003年~2019年)

日経平均株価の約17年間分(2003年~2019年)の動きを
週足チャートと移動平均線で俯瞰して見てみると、
現在(2019年11月)は、ちょうど、
上昇トレンド継続か?、それとも三番天井を打つか?
の転換点になっていることが分かる。

今までは、このような長期の俯瞰チャートを
ポイント・アンド・フィギュア または ローソク足だけ で
見ていたけれども、これに移動平均線を加えてみると、
今まで見えなかったものが、よく見えてくる。

前回高値(24,000円台)に到達して、上抜けたとしても、
その直後に すぐに下げてしまうようならば、
移動平均線の順番が入れ替わらないので、
失速してしまうリスクがある。

25,000円を上抜くほど、大きく上昇するか、あるいは、
24,000台で もみ合いながらも高値圏を維持できれば、
上昇時の「移動平均線パターン」になってくる。

上昇する時や、下落する時は、いつでも、
「移動平均線パターン」は、必ず 同じ経過を辿る。

だから、移動平均線は、
物理の諸法則と同じくらい、重要な意味を持つ。

ペイント練習用の「チャート隠し」ツール (カーソルキー版)

相場師朗先生の「株塾」で学んだ練習法の一つに、
チャート画面のハードコピー画像に、
売り買いのポイントや考察を書きこんで、
相場の流れをつかむ、という方法がある。

これを、野球やテニスなどの「素振り」練習のごとく、
毎日たくさん、習慣的にやることが推奨されている。

最初は、値動きの結果が見えている状態で、
つまり、カンニングしている状態で書き込んでいく。

ところがこのペイント練習は、
数をやっていくと、だんだんとマンネリ化して、
単純作業のように、手を抜いて行うようになりがちで、
これで脱落してしまう人も多い と想定される。

なので、ある程度分かってきたら、こんどは、
カンニングしなかった と仮定した想定で、
右の部分を一時的に隠して、本気で悩んで考えながら
こじつけて練習する、という練習を併用しながら、

だんだんとステップアップして実力をつけていくのが、
堅実なやりかただと思う。

ということで、
右の部分を一時的に隠して練習するのに、
私は、ちょっとしたツールを自作して使っている。

チャートギャラリーで建玉練習をする時のように、
キーボードの [右] カーソルキー で進めていきたい、
という こだわりがあるから、である。

ペイント練習用の「チャート隠し」ツール
ペイント練習用の「チャート隠し」ツール

以下のリンクをクリックすると、
ブラウザで1ページ開かれるので、
ペイント画面より前にこれを出して、
[右] カーソルキー でめくっていけばよい。

< ペイント練習用の、チャート隠しツール >
http://shunichi.hosono.com/chart-mask.html

このページは、普通の html ファイルなので、
ソースをコピーするか、ファイルに保存すれば
そのまま複製して、PCのハードディスクからでも起動できるし、
自分のPC環境に合わせて、内容を書き換えてもよい。

html の中に、以下の部分を貼り付ければ、動くと思う。
(Internet Explore か Edge で確認済み)

<script type="text/javascript">
<!--

window.focus();

Xsize = screen.width - 200
Ysize = screen.height

window.resizeTo( Xsize, Ysize ); // (左右 , 上下)
window.moveTo( 200, 0 ); // (左右 , 上下)

addEventListener("keydown", keydownfunc, false);

function keydownfunc( event ) {
var key_code = event.keyCode;

if( key_code === 37){ // 左に移動
window.moveBy( -5, 0); // (左右 , 上下)
window.resizeBy(+5, 0); // (左右 , 上下)
}
else if( key_code === 39){ // 右に移動
window.moveBy( 5, 0); // (左右 , 上下)
window.resizeBy(-5, 0); // (左右 , 上下)
}
}
// -->
</script>

チャートギャラリーの株価データを EXCELからピンポイントで参照する方法

パンローリング社の「チャートギャラリー」 というソフトは、
全銘柄の株価を過去30年分持っていて、そのデータを、
ActiveXコントロール で、VB や EXCEL等で利用することができる。

ところが、この機能については、
ソフトのヘルプ画面には記載されているが、
それ以外の情報があまりなく、
活用している人は多くないと思う。

パンローリング社のサイトで、
無料のサンプルプログラムが、
https://www.panrolling.com/etc/users/sakurai/
のサイトで公開されているけど、

株価を一括で読み出す方法は参考になるけれども、
ピンポイントで、たとえば

・「9101 日本郵船」の 「2019年7月17日」の「終値」を参照したい

というような場面で、どう使えばよいのか、分かりづらい。

メタトレーダー等、他のソフトとは違って、
「チャートギャラリー」は、プログラミングの専門家でなくても

EXCELから気軽に株価データをピンポイントで参照することができる

というのが特長であってほしい と思う。

先週、私がちょっと作ってみたので、
ノウハウを共有しておこうと思う。

「EXCELの関数」を作っておけば気軽に使える、

ので、独自関数として定義しておけばよい、ということになる。

次のような準備の後に、

・EXCELの「開発」タブの「Visual Basic」を選択

Visual Basic 設定

 

・マクロのセキュリティを押して、セキュリティセンターを表示

マクロのセキュリティ

 

・ActiveX の設定を確認

ActiveXの設定

 

・マクロの設定を確認

マクロの設定

 

・VBAの開発画面で、標準モジュールに追加して、プログラムを描き込む。

 

その後に、以下の関数を貼り付ければよい。
急いで作ったので、本格的に使うには、アレンジは必要かと思う。

関数の一覧

機能 関数名 引数 記述例
当日の始値を求める yori (銘柄コード, 取引日) =yori(1001, DATEVALUE(“2019/7/16”))
当日の高値を求める taka (銘柄コード, 取引日) =taka(1001, DATEVALUE(“2019/7/16”))
当日の安値を求める yasu (銘柄コード, 取引日) =yasu(1001, DATEVALUE(“2019/7/16”))
当日の終値を求める hike (銘柄コード, 取引日) =hike(1001, DATEVALUE(“2019/7/16”))
翌営業日の始値を求める yokuyori (銘柄コード, 取引日) =yokuyori(1001, DATEVALUE(“2019/7/16”))
翌営業日の終値を求める yokuhike (銘柄コード, 取引日) =yokuhike(1001, DATEVALUE(“2019/7/16”))
N営業日後を求める kdate (銘柄コード, 取引日, 加算日数N ) =kdate(1001, DATEVALUE(“2019/7/16”), 1)
銘柄名を求める kname (銘柄コード) =kname(1001)

 


'当日始値
Public Function yori(kcode As String, kdate As Date) As Long

    Dim Calendar As New ActiveMarket.Calendar
    Dim Prices As New ActiveMarket.Prices
    Dim DatePos As Long
    
    DatePos = Calendar.DatePosition(kdate, 1)
    
    Prices.Read kcode
       
    '翌日が休場日ならば、
    If Prices.IsClosed(DatePos) Then
       DatePos = DatePos + 1
       
       '2日後が休場日ならば、
       If Prices.IsClosed(DatePos) Then
          DatePos = DatePos + 1
                
          '3日後が休場日ならば、
          If Prices.IsClosed(DatePos) Then
             DatePos = DatePos + 1
          
          End If
       End If
    End If
    
    yori = Prices.Open(DatePos)

End Function

'当日高値
Public Function taka(kcode As String, kdate As Date) As Long

    Dim Calendar As New ActiveMarket.Calendar
    Dim Prices As New ActiveMarket.Prices
    Dim DatePos As Long
    
    DatePos = Calendar.DatePosition(kdate, 1)
    
    Prices.Read kcode
       
    '翌日が休場日ならば、
    If Prices.IsClosed(DatePos) Then
       DatePos = DatePos + 1
       
       '2日後が休場日ならば、
       If Prices.IsClosed(DatePos) Then
          DatePos = DatePos + 1
                
          '3日後が休場日ならば、
          If Prices.IsClosed(DatePos) Then
             DatePos = DatePos + 1
          
          End If
       End If
    End If
    
    taka = Prices.High(DatePos)

End Function

'当日安値
Public Function yasu(kcode As String, kdate As Date) As Long

    Dim Calendar As New ActiveMarket.Calendar
    Dim Prices As New ActiveMarket.Prices
    Dim DatePos As Long
    
    DatePos = Calendar.DatePosition(kdate, 1)
    
    Prices.Read kcode
       
    '翌日が休場日ならば、
    If Prices.IsClosed(DatePos) Then
       DatePos = DatePos + 1
       
       '2日後が休場日ならば、
       If Prices.IsClosed(DatePos) Then
          DatePos = DatePos + 1
                
          '3日後が休場日ならば、
          If Prices.IsClosed(DatePos) Then
             DatePos = DatePos + 1
          
          End If
       End If
    End If
    
    yasu = Prices.Low(DatePos)

End Function

'当日終値
Public Function hike(kcode As String, kdate As Date) As Long

    Dim Calendar As New ActiveMarket.Calendar
    Dim Prices As New ActiveMarket.Prices
    Dim DatePos As Long
    
    DatePos = Calendar.DatePosition(kdate, 1)
    
    Prices.Read kcode
       
    '翌日が休場日ならば、
    If Prices.IsClosed(DatePos) Then
       DatePos = DatePos + 1
       
       '2日後が休場日ならば、
       If Prices.IsClosed(DatePos) Then
          DatePos = DatePos + 1
                
          '3日後が休場日ならば、
          If Prices.IsClosed(DatePos) Then
             DatePos = DatePos + 1
          
          End If
       End If
    End If
    
    hike = Prices.Close(DatePos)

End Function

'翌営業日の始値
Public Function yokuyori(kcode As String, kdate As Date) As Long

    Dim Calendar As New ActiveMarket.Calendar
    Dim Prices As New ActiveMarket.Prices
    Dim DatePos As Long
    
    DatePos = Calendar.DatePosition(kdate, 1) + 1
    
    Prices.Read kcode
       
    '翌日が休場日ならば、
    If Prices.IsClosed(DatePos) Then
       DatePos = DatePos + 1
       
       '2日後が休場日ならば、
       If Prices.IsClosed(DatePos) Then
          DatePos = DatePos + 1
                
          '3日後が休場日ならば、
          If Prices.IsClosed(DatePos) Then
             DatePos = DatePos + 1
          
          End If
       End If
    End If
    
    yokuyori = Prices.Open(DatePos)

End Function

'翌営業日の終値
Public Function yokuhike(kcode As String, kdate As Date) As Long

    Dim Calendar As New ActiveMarket.Calendar
    Dim Prices As New ActiveMarket.Prices
    Dim DatePos As Long
    
    DatePos = Calendar.DatePosition(kdate, 1) + 1
    
    Prices.Read kcode
       
    '翌日が休場日ならば、
    If Prices.IsClosed(DatePos) Then
       DatePos = DatePos + 1
       
       '2日後が休場日ならば、
       If Prices.IsClosed(DatePos) Then
          DatePos = DatePos + 1
                
          '3日後が休場日ならば、
          If Prices.IsClosed(DatePos) Then
             DatePos = DatePos + 1
          
          End If
       End If
    End If
    
    yokuhike = Prices.Close(DatePos)

End Function

'取引日
Public Function kdate(kcode As String, startdate As Date, addcount As Integer) As Long

    Dim Calendar As New ActiveMarket.Calendar
    Dim Prices As New ActiveMarket.Prices
    Dim DatePos As Long
    
    DatePos = Calendar.DatePosition(startdate, 1) + addcount
    
    Prices.Read kcode
    
    '翌日が休場日ならば、
    If Prices.IsClosed(DatePos) Then
       DatePos = DatePos + 1
       
       '2日後が休場日ならば、
       If Prices.IsClosed(DatePos) Then
          DatePos = DatePos + 1
                
          '3日後が休場日ならば、
          If Prices.IsClosed(DatePos) Then
             DatePos = DatePos + 1
          
          End If
       End If
    End If
    
    kdate = Calendar.Date(DatePos)

End Function

'銘柄名
Public Function kname(kcode As String) As String

    Dim Names As New ActiveMarket.Names
    Dim C() As String, N() As String
    
    Names.AllNames AM_KINDFLAG_SPOTS, C, N
    
    mpos = Application.Match(kcode, C, False)
    
    If IsError(mpos) Then
       kname = mpos
    Else
       kname = N(mpos)
    End If
    
End Function

 

フォートラン プログラム用紙

家の中を整理していたら、
こんなものが発掘された。
「フォートラン プログラム用紙」

私は、これを使ったことはないけど、
その昔、コンピューターのプログラムは、
このような用紙に手書きで記入してから
入力専任者が入力する、というものだったらしい。

なぜそんな無駄なことを?? と思ったら、
昔は、今のようなエディタ等がないので、
入力した文字を都度訂正することができないので、
事前に完璧に清書しておく必要があったから? なのだろうか。

ワープロでさえも、最初の頃は、
事前に手書きで清書したものを入力する機械
として使われていたそうだ。

今はさすがにそんなことをしなくなったかもしれないけど、
事前に「人間が仕上げた 結果 」を入力して処理させる、
という発想は、あまり変わっていないのかもしれない。

便利になることと、効率的になることは、必ずしも一致しないのだろう。

細野俊一のトレーディング日記 再開

約16年前に、日経平均先物取引に初チャレンジした時の
「細野俊一のトレーディング日記」というホームページが、
自分のPCの中から発掘された。

その後、FXや株365等にチャレンジするも、
試行錯誤ばかりやっていて、利益が伴わなかったが、

今年になって相場師朗さんの書籍を見つけて、
「株塾」に入塾することになったのをきっかけに
利益を出す努力をしてみようと思い立った。

「株塾」3ヶ月目の節目なので、
トレーニングの過程を記録に残して、
自分の励みにしようと考えて、
次のブログを開始することにした。

「細野俊一のトレーディング日記」
https://usemanage.blogspot.com/

トレーディング関連の話は適時、
この新しいブログの方に更新していこうと思う。

ポイントアンドフィギュアによる、日経平均株価の値動き動画

日経平均株価の値動きを、一般的なチャートではなく、
ポイントアンドフィギュアという形のチャートで見ると、
「上下に」どのように動いてきたか? がよく見えてくる。

特に、レンジ相場から、支持線または抵抗線を突き破って
上下にブレイクアウトした時の、
値動きが跳んでいく様子が、よく見えてくる。

ポイントアンドフィギュアは、
時間の流れが一定速度ではないので、
途中経過が分かりづらい。

途中経過の歩みを見えるように改良したのが、
細野式ポイントアンドフィギュア である。

https://www.usemanage.jp/pfmonitor.asp

「ポイント&フィギュア」の基本に戻る

私はなぜ、「ポイント&フィギュア」にこだわるのか?

平成最期の日の今日、その答えが、とうとう分かった。
なぜ、こんな単純なことに気づかなかったのだろう。
今まで、遠回りしすぎていて、本質をすっかり見失っていた。

「ポイント&フィギュア」に独自の改良を加えて、
その欠点を補おうと、いろいろ工夫してみたが、
そんな必要も なかったかもしれない。

「ポイント&フィギュア」の極意は、
「価格の動きだけをシンプルに見せること」
なので、その基本に帰ったら、見るべきものが見えてきた。

「ポイント&フィギュア」だからこそ実現できる売買手法が、すごいのだった。

令和元年、「細野式トレーディング」が本格始動します。

https://www.usemanage.jp/pandf/

 

3DプリンタのSDカード内のファイル数は少なくしておこう

3Dプリンタ「ANYCUBIC I3 MEGA」を使っていたけど、ここ最近、

「印刷開始直後に、すぐに終了して、何も動かない」
「印刷途中なのに、終了してしまう」

という、おかしな事象が起きるようになった。

機械の調子が悪いわけでもなく、ファイルの中身も問題なさそうだし、
この事象が発生するファイルと発生しないファイルがあって、
一体何が原因なのか分からないので、気持ちが悪かった。

いろいろ調べてみたら、SDカードからプリントする場合、
ファイル数が増えてきたり、
日本語のファイル名が存在すると調子が悪くなる、
という事象があるらしい。

いつも使っているSDカードを調べてみたら、
日本語名のフォルダが1つあって、
ファイルが60個以上あった。

これらのファイルを、下のフォルダへ移動させたら、
おかしな事象はすべて解決した。

「SDカード内のファイル数」が原因だったというのは意外だったけど、
安価な3Dプリンタでは、まだまだ このレベルのトラブルは
覚悟しておく必要がありそうだ。

Y!mobileは取り止めて、楽天モバイルの「スーパーホーダイ」へ、のりかえた。

先週、2台のスマホのうち、1台を MINEO にのりかえて、これは成功だった。
けど もう1台の ワイモバイルへの のりかえは、失敗した。

MNPを複数かけていたのが悪かったのかどうか分からないが、
ワイモバイルから、審査結果がきて、
「ご契約を見合わせて頂くことになりました。」

そこで急遽、別のサービスをさがしてみたところ、
「楽天ダイヤモンド会員向け特典」というのが目に止まって、
楽天モバイル(R-Mobile)の「スーパーホーダイ」が
かなり良さそうなので、それに決めた。

これは、一番安いプランで、
規定の通信容量2Gを超えた場合に、
スピードが1Mbps (混雑時は 300kbps)までしか落ちない
というもので、私の場合は、これで十分だった。

スピードが 128kbps とか 200kbps まで落ちてしまうと
明らかに、使い勝手が 大幅に落ちるけど、
300kbps だと、かなり違うことが分かっている。
(以前使っていた POINTY が 300kbpsだった)

格安SIM は、安いけど遅い のを覚悟して使うものなので、
規定の通信容量を使い切った後の速度を
とっても重要視した方がよいと思う。

アプリ更新、ダウンロード等 を「手動」にして
動画閲覧等も 必ず Wifi環境で行うようにすれば、
通信容量は それほど消費しないと思う。

MINEO と Y!mobile へ、のりかえた。

今月は、格安SIMへの変更を2台分やった。

au解約済の iPhone6S と
au契約中の iPhoneX である。

iPhone6Sの方は、SIMロック解除をしていなくて、
auを解約してから100日を超えると、
もう SIMロック解除は できないとのこと。

auのSIMロック状態のまま使えるのは
「MINEO」(VoLTE非対応版)だけらしいので、
それしか選択肢がなかった。

さて、iPhoneX の方は、
昨年、4年縛りで機種変更してしまったので、
2年目には絶対に解約しようと決めていたが、

1年経つと、各種キャンペーンの割引が終了して
月額料金が高くなることに気づいたので、
1年経たないのに、すぐに解約することにした。

残金は残り3年で払い続けるけど、
違約金とかを考慮しても、
前倒しで解約した方が、結局安くなる。

iPhoneXは My au のWEB画面から
SIMロック解除ができたので、
のりかえ先は、ワイモバイルにした。

ワイモバイルのオンラインショップで、
「Android One S1」が 100円のタイムセールで付いていて、
家族割りで 500円引きで、
「Yahooプレミアム」(月額約500円相当)が含まれていて、
ソフトバンクの WiFi スポットも使えて、
回線の品質も良さそうなので、これにした。

使えるエリアは auに比べれば狭くなるかもしれないけど、
どうせ docomoも一緒に持ち歩いているので、
あまり気にしなくてもいいだろう。

格安SIMに買えても、1年縛りとか2年縛りとか、
期間限定の割引(333キャンペーン、ワンキュッパ割 等)
が付いてきたので、またその頃に再検討しようと思う。

3大キャリア(ドコモ、au、ソフトバンク)と
MVNO(格安SIM提供会社)のどちらを選ぶか?について、
私の基準は、

・新発売のiPhoneに機種変更する時は 3大キャリア が有利
・手持ちの機器を使用する場合は、格安SIM が有利

だったけど、
その垣根がなくなりつつある。

やがては、個人ユーザーは全てMVNOを使うようになって、
3大キャリアは 法人向け(卸売)または セレブ向けの
上級ブランドに格上げされるのでは? と予測したい。

現時点では、高額なスマホ代を払い続けるのは、もったいないと思う。


My Company Links

合資会社ユースマネージメント
ドメインサービス
ユースマネージモール umall.jp

My Website Links

細野俊一のトレーディング日記
大安心と大冒険を求めて
「生命の科学」学習メモ
細野俊一の雑記ブログ
インターネット活用の入り口

Facebook Pages

ポイント&フィギュア活用研究会
合資会社ユースマネージメント
ユースマネージモール
アダムスキー「生命の科学」活用研究会
細野俊一 (宇宙哲学研究家)