証券会社選び

ちょっと調べてみたら、松井証券が日計りは無料なんですね。
あとは、SMBCが完全無料だっけか。

SMCBは口座開設したはず。
でも、書類はどっかに行った。

松井証券は長年使い続けたけど、もう必要ないと思って、IDとパスを捨てた。
でもまた必要になるかもしれない。

どっちも、また書類送ってもらえばいいんだけど、面倒くさいなあ。

っていうか、戻りたくないよ。本当に。
相場の世界はもう疲れたんだけど…

経済的にも、時間的にも自由を手に入れられるのって、やっぱり相場が一番確率が高いと思う。
少なくとも俺には。

時間的な自由だけだったら、今もなんだけど、ずっとは続けられないからね。
宝くじが当たったら別だけど。笑

この一年間、遊んでばかりいたようにも思うけど、それなりに真剣にも考えてきた。
考えるだけじゃなくて、少しは行動もした。

でも、ほとんど感触が掴めなかったのが現実。

だから、相場に戻ろうって短絡的な思考じゃないんだけど。
あれだけ固い決意で止めたんだから。

でも、まあなんというか。
ちょっと自尊心が傷つくことがあって、勝手に傷ついただけだけど。

相場の世界でまた、絶対的な自信を取り戻したいという気持ちが芽生えてきた。
逆に返り討ちにされるのにね。笑

40近くなると、恐ろしいくらいに保守的になる。
ただえさえ、保守的だった自分は、もう何もできなくなる。

このまま50になるんだったら死んだ方がマシ、って友人がこの前まじまじと言ってたな。
あいつなら、本当に死にそうだ…

これで658字、10分ちょい。
商品記事もこれくらいの速度で書ければいいのになあ。笑

深夜のネガ芋でした。

【ExcelVBA】新規ブックの作成、ブックを開く

VBAでブックを操作

 icon-check-square-o 新規ブックの作成

Sub sample01()
    Workbooks.Add
End Sub

WorkbooksコレクションのAddメソッドで、新規ブックを作成します。
Addメソッドは、コレクションに新しいメンバーを追加するメソッドです。


 icon-check-square-o ブックを開く

Sub sample02()
    Workbooks.Open Filename:="C:\Users\PCUser\Desktop.test01.xlsm"
End Sub

●保存先を指定してブックを開く
FileName:=”ドライブ名:フォルダ名:ファイル名:拡張子”

カレントフォルダのブックを開く場合は、ドライブ名、フォルダ名を指定する必要はありません。
カレントフォルダとは、現在選択されているフォルダのことです。

Workbooks.Open Filename:=”test01.xlsm”

引数名(Filename)は、省略することができます。
引数名を省略して、メソッドのすぐあとに引数の値を指定する方法を「標準引数」とよびます。

メソッドの引数が多いときは、名前付き引数を利用した方がステートメント(文、命令文)はわかりやすいですが、メソッドの引数が少ないときは省略しても問題ありません。

Workbooks.Open Filename:=”test01.xlsm”
       ↓
Workbooks.Open “test01.xlsm”

【ExcelVBA】そもそもマクロとは?VBAとの違いは?基本用語の解説

マクロの基本用語

 icon-check-square-o マクロとVBAの違い

ここではマクロの基本用語を簡単に紹介していきます。

まず、そもそもマクロとは何でしょう?
私もプログラミングをする際に、何気なくマクロやVBAという言葉を使ってしまっていますが、その違いを説明することはできません。

なのでこれを機会に、マクロの基本用語をしっかりと覚えておきたいと思います。

■マクロとは
VBAで記述されたプログラム

■VBAとは
マクロを作成するために用意されたプログラミング言語

なるほど。
マクロ=プログラム、VBA=プログラミング言語だったんですね。

もっと詳しく解説すると、VBAはOffice製品のアプリケーションを開発するために言語で、最初はVBAが搭載されていたのはExcelだけでした。
しかしOffice2000以降は、すべてのOffice製品にVBAは搭載されています。


 icon-check-square-o 用語解説

■キーワード
RangeやActiveCellなど。
マクロのために用意されている単語のこと。

■コメント
シングルクォーテーション(’)で始まる文はコメント行として、緑で表示されます。
コメント行はマクロの動作とは無関係なので、コードの説明やメモなど自分の好きなコメントを記述することができます。

■ステートメント
マクロの中の個々の命令文のこと。
マクロはステートメント単位で命令を実行していきます。

■VBE
Visual Basic Editorの略。
マクロの作成や編集など、VBAプログラミングの作業はすべてVBEで行われます。

■モジュール
マクロを記述するための専用シートです。

■プロジェクト
モジュールの集まり。
標準モジュール、ユーザーフォーム、クラスモジュール、Excelオブジェクト(ブック、ワークシート、グラフシート)を1つに束ねたものです。

【確率・統計学】うちにはそんなに貯蓄はない!平均と中央値の違い

平均貯蓄額と中央値

051216-659x1024

 icon-check-square-o 二人以上の家庭の平均貯蓄額

2013年の調査によると、二人以上の家庭の平均貯蓄額は約1100万円だそうです。

えー!うちはそんなに貯金ないよ?
と、心配になった方も多いでしょう。あっ、でもこのブログの読者はトレーダーが多いだろうから、お金持ちも多そうだな…

それでも、平均以上。貯蓄額が1100万円以上ある方は、半分以上もいないでしょう。
実際に貯蓄額が1100万円以上の方は、3割程度しかいません。つまり7割の方はそんなに貯金はないのです。

平均以下が7割なの?5割じゃないの?と思ったあなた。
ありがとうございます。最後までこの記事を読んでいただければ、少しはお役にたてるはずです。


 icon-check-square-o 平均の求め方

大学生レベルになってしまうので、詳しい説明は割愛しますが、平均にもいくつかの種類があります。

ふつう平均といったら相加平均のことをいうので、ここでも平均=相加平均として扱います。

平均の求め方は、なんとなくはわかりますよね?
そう、合計を個数で割ったものです。

平均=総和÷個数n

具体例を一つ示しましょうか。

【例】
ボーリングを5G投げたときのスコア

ボーリングスコア

計算式:(128+147+161+118+138)/5=138.4


 icon-check-square-o 平均の問題点

異常値が含まれていると、それに平均が引きずられてしまうということです。
これも具体例を用いた方が説明しやすそうですね。

【例】
5人の平均年収

平均年収

ビルゲッツさんのような異常値があると、総和が大きくなるので平均も高くなってしまいます。
5人の平均年収を9億400万円と考えるのは、おかしいですもんね。

この場合は、平均ではなく中央値で考えた方がいいです。


 icon-check-square-o 中央値とは

データが奇数個の場合、下から(上から)数えてちょうど真ん中に位置する値です。
先ほどの例の場合は、5人中3番目、500万円(Bさん)が中央値になります。

データが偶数個の場合、真ん中に近い二つの値の平均です。

【例】
22,58,11,24

中央値=(22+24)÷2=23

中央値は平均と違い、異常値に引きずられません。
なので比較をするときは、中央値を使った方が現実的かもしれませんね。


 icon-check-square-o 平均貯蓄額がやけに高い理由

もうおわかりでしょうか?
平均貯蓄額が思いのほか高く感じるのは、一部のお金持ちによって平均が引き上げられているからです、羨ましい。

実際に冒頭の調査だと、中央値は330万円で平均と大きな差があります。

これで安心したでしょうか。
もし、これでもうちにはそんなに貯蓄はない!という人は頑張ってください、はい私も頑張ります。


 icon-check-square-o 苦手な確率・統計

サンプルが少なすぎてアテにならないとはいえ、アンケートでは確率・統計学が一番興味があるという結果になっているので、今日はそのことについて記事を書きました。

ちなみに、このブログのメインコンテンツを行動経済学、Excel、確率・統計学の3つのどれにするかで迷っていますが、その中で一番知識がないのが確率・統計学です。

うーん、私の知識は高校生レベルくらいかな?
少なくとも大学生レベルの知識はないのは確かです。

それでもトレードは十分勝てると思いますけどね。
このブログを見てる中学生レベルの方は、ぜひ私の記事を参考にしてください。

【ExcelVBA】時間になったらLINEで自動的にメッセージを送る

マウス操作とキーストローク

 icon-check-square-o 外部アプリケーションの操作

ちょっと大げさなタイトル。
ここ数日、ExcelVBAで外部アプリケーションをどうにかできないかと試行錯誤してたのですが、なかなかどうして難しいようで。

正攻法じゃできなかったので、擬似的に。
マウス操作とキーストロークを使って、LINEでメッセージを送ってみました。


 icon-check-square-o LINEの起動

ExcelVBAでLINEを起動する方法は、前回の記事【ExcelVBA】他のアプリケーション(LINE)を起動する方法を参考にしてください。

ライン

LINEを起動したら、名前で検索(虫眼鏡マーク)のところに文字を入力したいのですが、どうやってもカーソルをここに合わせることができませんでした。

ログイン画面ではユーザー名のところにカーソルが合っていたので、そのままキーストロークを送ればよかったんですけどね。
仕方ないので、マウス操作を使うことにしました。

マウスポインタを合わせる位置などは、当然パソコンによって変わってくるので、ここに載せたコードをそのまま使っても上手く動作しないのであしからず。


 icon-check-square-o マウスポインタの位置を取得

Windowsの標準装備では、マウスポインタの座標を取得する方法ってないんですかね?

ググったらフリーソフトはたくさん出てきたんだけど、あまりフリーソフトをダウンロードするのは好きじゃないので、前に作った(パクッた)マクロを使ってマウスポインタの位置を取得します。

Public Declare Function GetCursorPos Lib “USER32” _
(lpPoint As POINTAPI) As Long

Public Type POINTAPI
x As Long
y As Long
End Type

Private Sub Auto_Open()
‘F12キーに「マウスの位置」を登録
Application.OnKey “{F12}”, “GET_POINTA”
End Sub

Sub GET_POINTA()

Dim Poi As POINTAPI
‘現在マウスポインタのある位置を取得
GetCursorPos Poi
MsgBox “x:” & Poi.x & ” y:” & Poi.y

End Sub

コードの説明・解説は割愛。
F12キーを押すと、現在のマウスポインタの座標をメッセージボックスに表示します。

なんだか備忘録というか、メモ書きみたいな記事だなあ。
イミフな方はごめんなさい。


 icon-check-square-o LINEでメッセージを送るマクロ

‘API宣言
Declare Sub Sleep Lib “kernel32” (ByVal dwMilliseconds As Long)

Declare Function ShowWindow Lib “USER32” _
(ByVal hwindow As Long, ByVal cmdshow As Long) As Long

Declare Function SetCursorPos Lib “USER32” (ByVal x As Long, ByVal x As Long) As Long

Declare Sub mouse_event Lib “USER32” _
(ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, _
ByValcButtons As Long, ByVal dwExtraInfo As Long)

Sub line_open()

Dim Ret As Long
Dim x As Long, y As Long
Dim i As Integer

Shell “C:\Program Files (x86)\Naver\LINE\line.exe”, 1
SendKeys “{Delete}”, True
‘ユーザー名
SendKeys “●●●●●●●●”, True
SendKeys “{Tab}”, True
‘パスワード
SendKeys “●●●●●●●●”, True
SendKeys “{Enter}”, True

Application.Wait Now + TimeSerial(0, 0, 4)

‘マウス操作
x = 390: y = 480 ‘名前で検索
Ret = SetCursorPos(x, y)
Sleep (2000)
Call mouse_Click ‘左クリック
Sleep (2000)
SendKeys “DHC”, True
SendKeys “{Enter}”, True

x = 380: y = 550
Ret = SetCursorPos(x, y)
Sleep (2000)
Call mouse_Click ‘ダブルクリック
Call mouse_Click
Sleep (2000)

SendKeys “こんばんは”, True
SendKeys “{Enter}”, True
SendKeys “{Enter}”, True

End Sub

‘左クリック
Public Sub mouse_Click()

mouse_event 2, 0, 0, 0, 0 ‘マウスの左ボタンを押す
mouse_event 4, 0, 0, 0, 0 ‘マウスの左ボタンを離す

End Sub

‘ダブルクリック
Public Sub mouse2_Click()

mouse_event 2, 0, 0, 0, 0
mouse_event 4, 0, 0, 0, 0
mouse_event 2, 0, 0, 0, 0
mouse_event 4, 0, 0, 0, 0

End Sub
‘マクロを実行する時刻
Sub start_time()
Application.OnTime EarliestTime:=TimeValue(“19:00″), Procedure:=”line_open”
End Sub

きったねえコードwww
こんなものをインターネット上で公開してもいいのか?という疑問を抱きつつ、要所だけ解説していきます。

1~11&:API関数の宣言
13~26:Shell関数でLINEを起動、SendKeys関数でキーストロークを送る

Application.Wait Now + TimeSerial(0, 0, 4)

現在の時刻から4秒間、アプリケーションを止めて待つ。
なかなか便利なコードですが、スリープとの使い分けは? >わかりませんw

‘マウス操作
x = 390: y = 480 ‘名前で検索
Ret = SetCursorPos(x, y)
Sleep (2000)
Call mouse_Click ‘左クリック
Sleep (2000)
SendKeys “DHC”, True
SendKeys “{Enter}”, True

虫眼鏡のところの座標がx:390,y:480あたりだったので、そこに合わせて左クリック。
カーソルが有効になったら名前で検索という入力欄に、”DHC”というキーストロークを送り、エンター。

という流れのコードです。
VBAわかる人には問題ないですよね、わからない人にはわけわかめですよね。

私の解説というか、この企画に問題があったようです…
次から、見切り発車で記事書くはやめよう。

DHC

DHCと入力してエンターを叩くと、玉川ヨシ子が出てきます。
この猫のスタンプ可愛いですよね。

実際の友達は練習に使いにくかったので、DHCを練習に使わせていただきました。
といっても、メッセージ送ることはできないけど。

x = 380: y = 550
Ret = SetCursorPos(x, y)
Sleep (2000)
Call mouse_Click ‘ダブルクリック
Call mouse_Click

猫のアイコン、DHCのあたりをダブルクリックします。

SendKeys “こんばんは”, True
SendKeys “{Enter}”, True
SendKeys “{Enter}”, True

メッセージ欄に”こんばんは”と入力。
エンターを2回叩くのは、確定したあとにエンターを叩くから。

ちなみに同じキーを2回叩く書式があったような気がしますが、修正が面倒なのでこのままにします。
あっ、ダブルクリックっていうサブプロシージャも作ってたみたい…

たまがわよしこ

ともあれ、無事に玉川ヨシ子にメッセージを送ることができました。
そしたら「ヨシ子は後ろを振り返らにゃいにゃ」という返信がくるんですねw


 icon-check-square-o 時間がきたらマクロを実行

‘マクロを実行する時刻
Sub start_time()
Application.OnTime EarliestTime:=TimeValue(“19:00″), Procedure:=”line_open”
End Sub

すっかり忘れてました。
タイトルに時間になったら~~って、書いてましたね。

説明不要、構文の通りです。
19:00になったら、line_openプロシージャを実行します。

なので、タイマーをかけるならstart_timeというマクロを実行してください。