ここはトレードとプログラミングのサイトだよ!
でもメインは雑談だ ^_^;
| 軍資金 | 100,000円 |
|---|---|
| 預託保証金 | 180,565円 |
| 保有建玉損益 | -68,773円 |
| 証拠金維持率 | 134% |
| 決済時点損益 | 80,565円 |
| 実質損益 | 11,792円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 147.573 | 3,200単位 | 150.583 | 9,631円 | 2,263円 | 11,894円 |
| 売 | 145.761 | 13,800単位 | 150.585 | -66,560円 | -14,107円 | -80,667円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 144.859 | 1,000単位 | 5,724円 | 1,688円 | 7,412円 |
| 146.312 | 1,000単位 | 4,271円 | 514円 | 4,785円 |
| 150.464 | 700単位 | 83円 | 22円 | 105円 |
| 151.478 | 500単位 | 447円 | 39円 | -408円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 143.786 | 4,000単位 | -27,196円 | -7,163円 | -34,359円 |
| 144.393 | 3,000単位 | -18,576円 | -5,270円 | -23,846円 |
| 146.689 | 3,000単位 | -11,688円 | -792円 | -12,480円 |
| 146.706 | 1,000単位 | -3,879円 | -312円 | -4,191円 |
| 146.800 | 1,000単位 | -3,785円 | -540円 | -4,325円 |
| 149.735 | 900単位 | -765円 | -15円 | -780円 |
| 149.839 | 900単位 | -671円 | -15円 | -686円 |
Xの方でやってる今日の戦績報告でも判るように、値が動きゃね、こんなボクでも獲れるんかなぁ~・・・ ってな感じ?!
それにしても先々週頭あたりからの円安は辛かった!
今回の円安の動きって、自民党の総裁選の結果だよね?
高市総裁に決定して、まぁ、ある程度期待感はあって景気感も良くなんだろなぁ~・・・ とは、考えなくもなかったよ?!
でもねぇ、どっかで・・・
けっこう右派寄りな日本万歳って人たちが応援してたってイメージがあってね。
高市総裁がそういう考えな議員さんってのも知ってるけれど、でも、いざ現実になったらそれ一辺倒で行動はできんじゃなかろうか?
具体的には靖国参拝とかね、やっぱ立場が変わればそういう気持ちがあったって実際に行動に移すとなるとタイミング的なもんもあるだろうと、ボクは思うわけだ。
ボクはそれはそれでアリだと思うんだけれどね・・・ と、ちょっと思想的な内容で脱線したな。
そういうわけで、今回、日本万歳って人たち = そういう面で高市総裁への期待が大き過ぎちゃうと、現実的なことを考えて高市総裁が自分らの思っていることと違う行動を示した時の反発が強いんじゃね?
判り易いように昨今の日本人ファーストを例に出したけれど、他には裏金議員の役職登用とかさ。
おいおい・・・ ちょい期待外れだぞ?!的な動きが、市場にも出て円高方向に戻るの早いんじゃね?
・・・ なぁ~んて淡い期待を・・・ じゃないな、曲がり屋なりの予想というか、そんな気持ちでいたのが先週,先々週だったんだよ。
でも、やっぱ予想なんかダメだね。
動きに合わせてフットワーク軽く付いてくのが一番なんだろうな・・・
絶対に影響が出そうなニュースの前には、引き上げて様子見とか出来るようでないとダメなんだろうな・・・
・・・ってことを、何度も何度も繰り返してて、もう何度目の繰り返しかわからんことを、繰り返したのが特に先々週だったんだけれど・・・
先週は、ちょっと(ボクにとっては)持ち直して(=円高方向)くれたので 2,000円ちょっと口座額を積み上げできた。
持ち直せたのは、まぁ、ちょっと落ち着いたってだけで、今のレベルは十分安値圏だよなぁ~ やっぱり。
まだまだ、今週の首班指名とかあるし、それキッカケに 150円台から大きく円安方向に動く可能性は・・・
高いよなぁ~ (´Д`)ハァ…
| 軍資金 | 100,000円 |
|---|---|
| 預託保証金 | 178,286円 |
| 保有建玉損益 | -77,978円 |
| 証拠金維持率 | 120% |
| 決済時点損益 | 78,286円 |
| 実質損益 | 308円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 145.585 | 2,000単位 | 151.905 | 12,639円 | 1,979円 | 14,618円 |
| 売 | 145.857 | 13,700単位 | 151.907 | -82,872円 | -12,813円 | -95,685円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 144.859 | 1,000単位 | 6,782円 | 1,577円 | 8,359円 |
| 146.312 | 1,000単位 | 5,329円 | 402円 | 5,731円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 143.786 | 4,000単位 | -31,428円 | -6,694円 | -38,122円 |
| 144.393 | 3,000単位 | -21,750円 | -4,919円 | -26,669円 |
| 146.689 | 3,000単位 | -14,862円 | -441円 | -15,303円 |
| 146.706 | 1,000単位 | -4,937円 | -195円 | -5,132円 |
| 146.800 | 1,000単位 | -4,843円 | -423円 | -5,266円 |
| 149.969 | 1,000単位 | -1,674円 | -114円 | -1,788円 |
| 150.772 | 200単位 | -174円 | -19円 | -193円 |
| 152.469 | 500単位 | 413円 | -8円 | 405円 |
あちゃ~・・・
ちょっとね、サマリーと他の数値の情報のタイミングがズレちゃってっから、細部まで確認されちゃうと若干の違いがあるかも・・・
今さ、ボクは食道狭窄言うて、食道の一部というかけっこうな長い範囲が潰れちゃっててねぇ
今日(祝日 10月13日)というか、昨日か・・・
昨日の3日前から12日までの3日間、水がまったく喉を通らんかったのさ!
マジでつれぇ~・・・ ^_^;
だもんでこのFXの今週の報告もさ、ホントは土日・・・ いや、SBI証券って土曜にだいたいメンテやるから、どうしても日曜日になっちゃうんだけどね
身体がダルくて、できんかったのさ
したっけ、今日は祝日でお休みだからこんな時間にアップしたけれど、でもFXは祝日関係ないからね
まぁ、口座情報と個別情報は日曜日の市場が動いてない時になんとかアップ!
サマリーだけは月曜になって・・・ で、そんなわけでちょいズレあるかもって言い訳でした
それにしても、この急な円安にはマイッたなぁ~ (´Д`)ハァ…
ボクの中では高市ショックだな ^_^;
まぁ、堪え切れればいいやってことなんだけれど、おかげで軍資金見てもらうとわかるけれど追加で3万円入れちゃったよ!
とりあえず今ある数字は飛ばしたくないからねぇ・・・
それと、もうちょいガマンすれば以前のレベルまで意外と円高方向にもどってくるんじゃね?
な~んて甘い期待もあったり
そうなれば追加資金は余剰資金ってことで、引き下ろすこともできるしね
その時点で、大きく勝負しようと思えばそれもまた良しということで
どっちにしろ、総裁選へ向かう最中,総裁選後に向けて徐々に円安になってく渦中において、すぐに戻るだろう・・・ などと思っていい気になって売り建て連発したのが今の状況になっちゃったんだろなぁ~
連発してて、けっこう決済できた売り建てもあったからさ
それで調子もいいなって・・・ まぁ、失敗する時は毎回おんなじ錯覚,勘違いすんだよね
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 141,908円 |
| 保有建玉損益 | -39,196円 |
| 証拠金維持率 | 145% |
| 決済時点損益 | 71,908円 |
| 実質損益 | 32,712円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 147.796 | 8,000単位 | 147.432 | -2,913円 | 2,322円 | -591円 |
| 売 | 145.158 | 12,000単位 | 147.434 | -27,312円 | -11,293円 | -38,605円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 144.859 | 1,000単位 | 2,573円 | 1,468円 | 4,041円 |
| 146.312 | 1,000単位 | 1,120円 | 293円 | 1,413円 |
| 147.895 | 3,000単位 | -1,389円 | 230円 | -1,159円 |
| 148.599 | 1,000単位 | -1,167円 | 107円 | -1,060円 |
| 148.663 | 500単位 | -615円 | 46円 | -569円 |
| 149.472 | 500単位 | -1,020円 | 53円 | -967円 |
| 149.847 | 1,000単位 | -2,415円 | 125円 | -2,290円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 143.786 | 4,000単位 | -14,592円 | -6,235円 | -20,827円 |
| 144.393 | 3,000単位 | -9,123円 | -4,574円 | -13,697円 |
| 146.689 | 3,000単位 | -2,235円 | -96円 | -2,331円 |
| 146.706 | 1,000単位 | -728円 | -80円 | -808円 |
| 146.800 | 1,000単位 | -634円 | -308円 | -942円 |
正直、ちょっとイージーになりすぎた。
その結果、せっかく減らせた売り玉塩ポジが、再び 12,000単位と増やしてしまったよ・・・
とほほ・・・ (´Д`)ハァ…
現段階じゃ、146.689の3,000単位の売り玉塩ポジ、それ以下の計 5,000単位はなんとか決済まで持ち込めるかなぁ・・・
もちろんそれは週明け以降で、円高方向に進んでくれればの他力本願の話になっちゃうんだけれど。
でも、そろそろ上手な損切りのやり方を考えないとなぁ~
やっぱり性格的にスパッと損切りができんのよね ^_^;
なにか良い方法ないかなぁ・・・
スワップが -4,500円以上ある塩ってる2ポジ、どうしたもんかねぇ~
今現在なら決済に・・・ なんて言ってるポジも、これ以上抱えてたらマイナススワップ大きくなっちゃって、なかなか決済できなくなっちゃうし。
やっぱ安易な売り建てはダメだよなぁ~・・・
せっかくの日々,毎週の報告を見ると、着実に増やしていけてるんだよな。
そこだけ見ると自信にもなるんだが、その一方で塩ポジも同じように増やしているんだよな
それを上手に立ち回る術を得んと、最終的な利益はずっと行って来いでチャラ・・・
ヘタこいたら、一瞬で利益じゃなくて損失を抱えちゃうことになっちゃうからなぁ~
ここの部分さえ上手に対応できるようになれば・・・
良いやり方を見つけられれば・・・
今週の報告
9月 4週目(9月22~27日)
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 136,029円 |
| 保有建玉損益 | -46,201円 |
| 証拠金維持率 | 136% |
| 決済時点損益 | 66,029円 |
| 実質損益 | 19,828円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 147.006 | 3,000単位 | 149.512 | 7,518円 | 1,563円 | 9,081円 |
| 売 | 145.439 | 11,000単位 | 149.514 | -44,822円 | -10,460円 | -55,282円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 144.859 | 1,000単位 | 4,653円 | 1,360円 | 6,013円 |
| 146.312 | 1,000単位 | 3,200円 | 185円 | 3,385円 |
| 149.847 | 1,000単位 | -335円 | 18円 | -317円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 143.786 | 4,000単位 | -22,912円 | -5,782円 | -28,694円 |
| 144.393 | 3,000単位 | -15,363円 | -4,234円 | -19,597円 |
| 146.800 | 1,000単位 | -2,714円 | -195円 | -2,909円 |
| 147.766 | 1,000単位 | -1,748円 | -83円 | -1,831円 |
| 148.235 | 1,000単位 | -1,279円 | -83円 | -1,362円 |
| 148.708 | 1,000単位 | -806円 | -83円 | -889円 |
>そうなると最終的には、やっぱ口座情報の実質損益が一番重要ってなっちゃうね!
前回の最後の一文なのだ。
一番重要なのが実質損益なんて自分で語ったわりに、今週の実質損益は 19,828円
1万円オーバーの減益になっちまった・・・ (´Д`)ハァ…
なんなんだよ、このタイミングでの円安は・・・
その理由は、なんなの?!
・・・と、なってもな~んも自分から調べようとせず、ただ流れに身を任せるのみ。
それがバランストレードだっ!
けっきょく最終的にトバなきゃOK!
どんなに含み損を抱えていようが、それ以上に利確額が上回っていれば問題なし!
それがバランストレードだっ!
そうだよっ!
けっきょく最終的にトバなきゃOK!
来週には円高方向に進むかもしれんじゃないか・・・
そうなりゃ、今の含み損が減ってって相対的に一番重要な実質損益が増えてくわけなのだ。
なにせ抱えている買い玉より塩ポジ売り玉の方を多いわけだから!
買い玉 3,000単位 VS 11,000単位 売り玉
1ティック円高に動く毎に +7円増えるっ!
まだまだ戦えちゃうぜっ!
それがバランストレードだっ!
まぁ、けっきょくは、なぁ~んも考えてねぇ~
行き当たりばったり、その場しのぎの出たとこ勝負!
それがバランストレードだっ!
誰か、助けてくれよぉ~・・・ \;o;/
2025年 9月21日 14時22分
今週の報告
9月 3週目(9月14~20日)
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 133,568円 |
| 保有建玉損益 | -31,681円 |
| 証拠金維持率 | 215% |
| 決済時点損益 | 63,568円 |
| 実質損益 | 31,887円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 146.718 | 4,000単位 | 147.971 | 5,009円 | 1,386円 | 6,395円 |
| 売 | 144.390 | 8,000単位 | 147.973 | -28,661円 | -9,415円 | -38,076円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 144.859 | 1,000単位 | 3,112円 | 1,265円 | 4,377円 |
| 146.312 | 1,000単位 | 1,659円 | 91円 | 1,750円 |
| 147.852 | 2,000単位 | 238円 | 30円 | 268円 |
| 建単価 | 単位数 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|
| 143.786 | 4,000単位 | -16,748円 | -5,384円 | -22,132円 |
| 144.393 | 3,000単位 | -10,740円 | -3,936円 | -14,676円 |
| 146.800 | 1,000単位 | -1,173円 | -95円 | -1,268円 |
今回より、ホールド中の個別ポジもちゃんと表記するようにしてみたぞ。
もしかしたらこれがある方が、見る人が見ればかぶくんまんはこんなトレードしてんだなぁ~・・・ と、より想像が付きやすいのではなかろうか?
だからって、ボクのトレードが参考になるかは全く別な話だが。^_^;
そんなわけでねぇ・・・
売り建て塩ポジ、でっけぇ~の2つ。
含み損の額よりも頭を痛めてるってか、悩みの種なのが未現実スワップの大きさなんだよね。
評価損益がどんなに大きくなろうとも、こんなのは耐えりゃいいだけ。
決済時点でプラスになるまで損切りしなきゃね、なんとかなるんだよ・・・ って、もちろん全体のバランスも考えての話だけれどさ。
そっちではなく未現実スワップは、その額がおっきければそんだけホールド(この場合、塩漬け期間になるんだけれど)が長いわけで、確実にこれはマイナスになるわけだ。
日々、確実に増えていくマイナス。
だからある程度の額になったら・・・ スパンで・・・ 損切りってのは、王道な手段なのだろう。
ただね、今のボクは損切りしちゃうと、それだけでむちゃくちゃメンタルがやられちゃうからね。
まったく別な意味での『利確千力』ってのかな・・・ とにかく、損切りしたくない!
また最近はね、この未現実スワップ額がトータルでどんなに増えようとも、その日に増える未現実スワップのマイナス分以上その日に利確しちゃえば、その時点でイッテコイでチャラじゃん?
例えばの話、その日未現実スワップのマイナス分が -100円だよ・・・ と。
でも、その日の利確額は 1,000円ありました!
この場合、その日の儲け額となると、けっきょく 1,000円 + -100円 で 900円の儲けとなるが、そのような考え方ならば未現実スワップはその時点で 0円となるわけで翌日に持ち越す必要はないのだな。
まぁ、現在、Xの方でね、日々の決済の報告をしてるわけだが、そっちでは個別に利確額だけを報告させてもらっていて儲け額ではないんだけれどね。
今は、意識せんでも、なんとかこういうふうに考えられる(利確額より儲け額)ようになれればなぁ~って思ってんだよね。
そうなると最終的には、やっぱ口座情報の実質損益が一番重要ってなっちゃうね!
2025年 9月15日 15時42分
いよいよ・・・ これから『終わりの始まり』がやってくるのかもしれない・・・
VBAなのだ。
ボクは、よく正規表現を使う。
VBAで正規表現となると、VBScript.RegExpをCreateObjectで読み込んでて・・・ ってのが一般的だと思う。
なんとそのVBScript.RegExpが、もっと言うとVBScriptを廃止にするとマイクロソフトから公式に発表されたとのことらしい。
2027年からだったかな?
マイクロソフトのメーラーソフトと言えば、Outlookだ。
Officeファミリーの1つだ。
ボクはOffice 365ユーザでVBA使いだ。
なのでOutlookにもVBAが組み込まれて今までも、もちろんOutlook VBAは使ってきた。
そのOutlookに、現在、右上の方に『新しい Outlook を試す』ってのがある。
なので試したところ、なんか違和感。
ソフトウェアというよりもガシェットというか・・・
どうもWEBベースのアプリらしい。
まぁ、それはいいのだが、開発タブがない!
いろいろと調査の結果、時期OutlookよりVBAが消えるとのこと・・・
やっぱりOfficeファミリーのメインと言えば、Word,Excel,Accessの3製品だろう。
これらに関しては、今のところ今後もサポートは続けていくとのこと。
ただそのExcelにしてもExcel in Pythonなるものが出てきたり・・・
まぁ、これに関しては完全にVBAの互換というわけでなく、ボクの感覚ではシート関数みたいなモノになるのかな?
また製品版というのかな?
マイクロソフトの統合開発ツールと言えば『Visual Studio』なのだ。
以前はVisual C++,Visual Basicがツートップというか、ちょうどJavaがブームになった頃はVisual J++なんて開発言語があったが
その後に.NETが出てきてメンバーもガラリと変わってVC++.net,VB.net,VC#.netに・・・ 2000年当初の話だ。
時間が流れて、2020年にVB.netは完全に新規機能の開発を止めたとかで・・・
まぁ、製品版のVBが止まってしまったってのは.NETが出てきた時点で覚悟は出来ていた。
だからこそVBAの方に流れていったのだが、とうとう、そのVBAも終わりに向けて動き始めたという感じなのだ。
もっと突き詰めて言えば、ボクの仕事がなくなる・・・
ボクの飯の種がなくなる・・・ ってことなのだ。
あと15年・・・ いや、10年!
VBA、現役で活躍してくれんかなぁ~・・・
最近、急にモチベーションが落ちた一因の一つだったりする話だ。
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 126,539円 |
| 保有建玉損益 | -30,450円 |
| 証拠金維持率 | 162% |
| 決済時点損益 | 56,539円 |
| 実質損益 | 26,089円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 146.571 | 4,000単位 | 147.663 | 4,365円 | 2,237円 | 6,602円 |
| 売 | 144.890 | 10,000単位 | 147.665 | -27,741円 | -9,311円 | -37,052円 |
前回よりもトータルでの儲け額が +6,000円の上積み!
それはそれで嬉しいことなんだけれどねぇ~
やっぱりずっと懸念してるように、塩ポジである売り玉を減らすことがなかなかできない。
平均で 144.890かぁ~
個別の建て玉を見てみると・・・
| エントリー額 | 単位数 | 未実現スワップ |
|---|---|---|
| 143.786 | 4,000単位 | -4,867円 |
| 144.393 | 3,000単位 | -3,548円 |
| 146.191 | 1,000単位 | -862円 |
| 147.135 | 1,000単位 | -17円 |
| 147.260 | 1,000単位 | -17円 |
こんな感じだ。
最近は、エントリーした額に対する差額のマイナスはそれほど気にならなくなった。
損切りしなきゃ、変な話絶対にプラスで終わるわけだから。
そう思えるようになってから、気にならなくなったのだ。
問題は未現実のスワップなのだよ。
こいつは確実に日数毎にマイナス額が増えていくわけで、絶対にだ。
それに対する支えは、今週の実質損益額なのだな。
先週よりも +6,000円の上積みの 26,000円余り。
といあえず当面の目標は 30,000円オーバーかなぁ・・・
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 119,373円 |
| 保有建玉損益 | -28,807円 |
| 証拠金維持率 | 170% |
| 決済時点損益 | 49,373円 |
| 実質損益 | 20,566円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 146.463 | 3,000単位 | 147.478 | 3,044円 | 2,026円 | 5,070円 |
| 売 | 144.642 | 9,000単位 | 147.480 | -25,536円 | -8,341円 | -33,877円 |
あ、あのぉ~・・・ ここを読んでいるみんなに、相談というか、確認というか、お願いというか・・・
ボクのね、実質損益が2万円オーバー行ってんだよ?!
なんか、計算間違いしちゃったのかな? ^_^;
ボクが考えている公式(?)は、改めて以下の通り。
軍資金 = これはボクが自腹で準備した金額
預託保証金 = 口座額
保有建玉損益 = 含み損益額
決済時点損益 = 今年1年間で決済した時点での損益額
以上のことから
預託保証金 = 軍資金 + 決済時点損益
つまり口座額・・・ 預託保証金から軍資金と保有建玉損益を引いた金額が、現時点での純損益額 = 実質損益なんだと思うんだ。
まぁ、もっと簡単に言っちゃえば・・・
決済時点損益 - 保有建玉損益 = 実質損益
それを踏まえて、見てみると!
20,566円!
20,566円!!
大事なとこなので、3回表示しますっ!
20,566円!!!
間違ってないよね?!
現時点でのボクの儲け 20,566円で合ってるよね?!
2025年 8月26日 18時00分
てなわけで。
みんな、VBAやってる?! ^_^;
別にねぇ~・・・ むちゃくちゃ人よりもVBAができるってわけでもないが。
まぁ、それでもそこそこ経験も知識もあるよなって程度くらいはねって感じ程度の自覚あり。
だけれど、やっぱ知らんもんは知らんのよねぇ~
逆にある程度知ってる分、それ以上は深入りしないというかさ、知らんくても他のやり方でなんとかなっちゃったりしちゃうからね。
まぁ、今回はある意味、ボク自身の無知を晒すようで恥ずかしい内容かも? ^_^;
Optional句の罠
これはね、今もボク自身、『そうだっけ?』って感じなのだが・・・
自作プロシージャを作る時、多くは引数を伴うと思う。
またそのように引数という形で与えても、実際は多くの機会でデフォルト値みたいな固定の値でほとんどの場合大丈夫だが
時たま違う値をその引数に与えたいということは多々経験していると思う。
そこで役に立つのがOptional句なのだ。
というか、今回はある程度VBAが判ってる人たち向けってことで、詳細は省こうと思う。
話は飛ぶが、ボクはよくラッピングして自分専用のライブラリを作る。
これくらいはみんなもよくやるんじゃなかろうか?
一例(てか、こいつでボクもハマッたんだけどね)として、MsgBox関数なのだけれど。
MsgBox メッセージ, [ボタンスタイル], [タイトル], [ヘルプファイル], [コンテキスト]
まぁ、基本的な関数だからこれも説明いらずだろうが・・・
メッセージ以下、コンテキストまでが引数だ。
そんで [・・・] と、大カッコ(っての?)で括られている箇所は、いわゆる・・・ ここでもOptionalって言って良いのかな?
指定をしてもしなくても良い引数だよね。
つまりMsgBox関数おいて、必ず指定をしなければいけない引数はメッセージだけだ。
そこでこいつのラッピングって、どういうこと?ってなると思うが・・・
インフォメーションアイコンにしろ、クエスチョンアイコンにしろ、エクスクラメーションアイコンにしろ、指定する時のキーワードが長いじゃん?
それに加えてボク自身、英語が大の苦手さ、スペルが覚えられんのよねぇ~
たしかにVBAにはインテリセンス機能が備わっているから、そこまで気にすることはないのだろうけれど。
それ以上にやっぱ長さだよね、手入力によるわずらわしさの解消のためにも、つまりさらに楽になるようにラッピングをしているわけだ。
ちなみに、ボクがよくやるのは・・・
例えばインフォメーション(情報)アイコン,エクスクラメーション(注意)アイコン,クリティカル(障害)アイコン
これら3つのメッセージボックスの返し(ボタンスタイル)は vbOK の固定にしちゃって・・・
メッセージは引数という形で与える。
タイトルは、基本的に作ったツールのタイトルをグローバル定数(gcTitle:gcはグローバル定数に付ける接頭辞 by マイルール)という形にして与えちゃう。
だからこいつ(gcTitle)は、グローバル定数を定義してるとこにまとめて定義するよ。
そんでこれを・・・
例 インフォメーションメッセージボックス
'==================================================================================================== ' Public Subプロシージャ '==================================================================================================== Public Sub MsgInf(ByVal pMsg As String) Call MsgBox(pMsg, vbInformation, gcTitle) End Sub
このような自作のプロシージャを作っちゃう。
これを見てピンッと来る人もいるだろうが、この他にvbExclamation,vbCritcalも作って、それぞれMsgExc,MsgCriという自作プロシージャ事前に作っておいて、それを一つのライブラリとしてまとめている。
これだとね、いちいち MsgBox(pMsg, vbInformation, gcTitle) と長ったらしく書かなくて MsgInf(sMsg) と済むし、
あと、これならボクのように英語が苦手でも Inf,Exc,Criと書けばそれだけで各メッセージボックスの書き分けも済むわけだ。
まぁ、似たようなこと、やってる人も多いと思うけど・・・
マネしていいよ! ^_^;
さぁ、次は今回のメインであろうクエスチョンメッセージボックスだ!
'==================================================================================================== ' Public Functionプロシージャ '==================================================================================================== Public Function MsgQue(ByVal pMsg As String, _ Optional ByVal pDefBTN As VbMsgBoxStyle = vbDefaultButton1, _ Optional ByVal pDefStyle As VbMsgBoxStyle = vbYesNo) As VbMsgBoxResult '***初期化*** If pDefBTN = 0 Then pDefBTN = vbDefaultButton1 End If If pDefStyle = 0 Then pDefStyle = vbYesNo End If MsgQue = MsgBox(pMsg, vbQuestion + pDefStyle + pDefBTN, gcTitle) Public Sub
今回、メインの『Optionalの罠』の正解(?)を先に書いちゃうが、上の自作のMsgExcプロシージャなのだ。
ここで間違ったプロシージャの定義を・・・
'==================================================================================================== ' 間違ったプロシージャ '==================================================================================================== Public Function MsgQue(ByVal pMsg As String, _ Optional ByVal pDefBTN As VbMsgBoxStyle = vbDefaultButton1, _ Optional ByVal pDefStyle As VbMsgBoxStyle = vbYesNo) As VbMsgBoxResult MsgQue = MsgBox(pMsg, vbQuestion + pDefStyle + pDefBTN, gcTitle) Public Sub
この違い、わかるかな?
繰り返すが、まぁ、ボクが不勉強だっただけなんだけれどさ。
ボクはここで、デフォルトでフォーカスするボタンの位置とボタンの種類を引数として与えている。
且つ、基本的にクエスチョンメッセージボックスは はい/いいえ(vbYesNo)として、フォーカスは はい になるように、Optional句を引数:pDefBTN,pDefStyleを加えている。
つまり基本的なクエスチョンメッセージボックスだけを使いたい場合
Call MsgQue(sMsg)
このように書けば済む・・・ と、想定していたんだよね。
Optional句を付けると省略できて、例えば・・・
pDefBTN As VbMsgBoxStyle = vbDefaultButton1
上記で言えば、引数:pDefBTNを省略すれば vbDefaultButton1 が自動的に指定される・・・
ところがだ!
なんか想定外のことが起きちゃったんだよ。
ボタンスタイルが vbYesNo となるはずなのに vbOKOnly を指定してる状態になったり、確実に vbDefaultButton2 と指定しているのに vbDefaultButton1 が指定されている状態に・・・
もう、わけがわからん?!
調べてみたら・・・
MsgBox関数の引数:ボタンスタイル
= アイコンの種類 + ボタンの種類 + 規定ボタン(フォーカスさせたいボタンの位置)
さらに言えば順不同・・・ なんだが、まぁ、これも詰める必要はなかろう。
さぁ、とにかくなんで上手くいかんかったのか?
それはMsgBox関数の引数:ボタンスタイルが合算タイプのフラグ、これ自体が原因だったのさっ!
これが引数が文字列であれば・・・ 合算タイプでなければ・・・
Optional句で、指定したデフォルト値をそのまま持ってきてくれる。
だが合算タイプだと、引数:pDefStyleを省略した場合、デフォルト値が 0となってしまうこともあるらしい。
これで間違ったプロシージャを見てもらいたいのだが、こっちはデフォルトでvbYesNoとなっていると思っている。
その状態でフォーカスを いいえ に当てたいので引数:pDefBTNに vbDefaultButton2 を指定してやったのだが、引数:pDefStyleが 0 となってしまうとそれは vbYesNo ではなく vbOKOnly てあり、つまりボタンは1つだけだから引数:pDefBTNに vbDefaultButton2 を指定とかぜんぜん意味なし!
それを踏まえて正しい方のMsgQueプロシージャを見てほしい。
プロシージャの取り込みの部分で省略時は 0 として、そのプロシージャの中でIf文で値が 0 の時に改めて値をセットしているわけだ。
これを知るまで、もぉ~なんでぇ?!って状態でねぇ・・・
でもね、以前は間違ったプロシージャの定義の仕方でも、狙った通りの動作をしてたような記憶もあり・・・
それが最初の方に書いた『そうだっけ?』って歯がゆい思いになっているのだ。^_^;
これが今回ボクがハマった『Optionalの罠』なのだが、どうだったかな?
「そうだったのかぁ~」,「そういうことがあるんだっ?!」だった?
それとも「それって当たり前じゃん?」,「かぶくんまんってそんなことも知らなかったのぉ?!」だったのか?
こんなんボクでも、まだまだVBAと共に生きていくのだ・・・
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 109,334円 |
| 保有建玉損益 | -29,682円 |
| 証拠金維持率 | 169% |
| 決済時点損益 | 39,334円 |
| 実質損益 | 9,652円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 147.427 | 8,000単位 | 146.931 | -3,968円 | +1,651円 | -2,317円 |
| 売 | 144.314 | 8,000単位 | 146.933 | -20,950円 | -6,415円 | -27,365円 |
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 106,445円 |
| 保有建玉損益 | -24,219円 |
| 証拠金維持率 | 174% |
| 決済時点損益 | 36,445円 |
| 実質損益 | 12,226円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 145.604 | 2,000単位 | 147.228 | 3,247円 | 1,330円 | 4,577円 |
| 売 | 144.314 | 8,000単位 | 147.230 | -23,326円 | -5,470円 | -28.796円 |
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 94,002円 |
| 保有建玉損益 | -23,337円 |
| 証拠金維持率 | 145% |
| 決済時点損益 | 24,002円 |
| 実質損益 | 665円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 145.604 | 2,000単位 | 147.319 | 3,429円 | 884円 | 4,313円 |
| 売 | 144.314 | 8,000単位 | 147.321 | -24,054円 | -3,596円 | -27,650円 |
| 軍資金 | 70,000円 |
|---|---|
| 預託保証金 | 93,950円 |
| 保有建玉損益 | -41,770円 |
| 証拠金維持率 | 108% |
| 決済時点損益 | 23,950円 |
| 実質損益 | -17,820円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 145.604 | 2,000単位 | 150.469 | 9,729円 | 818円 | 10,547円 |
| 売 | 144.314 | 8,000単位 | 150.471 | -49,254円 | -3,321円 | -52,575円 |
| 軍資金 | 60,000円 |
|---|---|
| 預託保証金 | 80,138円 |
| 保有建玉損益 | -27,930円 |
| 証拠金維持率 | 110% |
| 決済時点損益 | 20,138円 |
| 実質損益 | -7,792円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 147.651 | 8,000単位 | 147.663 | 96円 | 1,427円 | 1,523円 |
| 売 | 144.314 | 8,000単位 | 147.665 | -26,806円 | -2,647円 | -29,453円 |
| 軍資金 | 60,000円 |
|---|---|
| 預託保証金 | 79,627円 |
| 保有建玉損益 | -27,186円 |
| 証拠金維持率 | 111% |
| 決済時点損益 | 19,627円 |
| 実質損益 | -7,559円 |
| 建区分 | 平均建単価 | 単位数 | 現在値 | 評価損益 | 未実現スワップ | 合計評価損益 |
|---|---|---|---|---|---|---|
| 買 | 147.651 | 8,000単位 | 147.086 | -4,520円 | 787円 | -3,733円 |
| 売 | 144.409 | 8,000単位 | 147.088 | -21,427円 | -2,026円 | -23,453円 |