さやどり作戦。目印ポジションの様子。その3

買い戻してから、マイナス3000円位まで含み損になったが、本日ぶり返して、プラ転してきた~

現在の目印ポジション(69USDと31GBP) は -48+4-36+1 で  -79 だ。

目印のAccessVBAのやつは、スワップを計算できるように、スワップカレンダーの情報をDBにして、計算できるようにしている中である。スワップカレンダーのテーブルは完成した。ただ毎日更新しないといけない。(楽天の方もそうなのだが。もう楽天のデータは、使わないで、バックテスト用もこちらに変えようと思う。治すの面倒くさいけど。。)

先日、クエリーが使えないとか文句言ったが、リストに出したかったので、冷静になって作り直した所、意外と簡単にできた。フォームではなく 注文履歴の期間を保存 するテーブルを作って、クエリでくっつけたら、すんなりできた。ムカムカしながら作るものではない。

SQLの文もこんな感じにしてみたら、割と混乱せずにできる気がした。いつも、SQL分組み立てるときに 文字型の所で「”」を追加して混乱していた。先に変数に入れてしまえば良い。

Dim 年 As String
Dim 月日 As String
Dim 通貨ペア As String

年 = """2019"""
月日 = """09月06日"""
通貨ペア = """USDJPY"""

strSQL = "SELECT SUM(買) AS スワップ金額合計  "
strSQL2 = "From スワップ金額 "
strSQL3 = "Where ([スワップ金額].年 >= " & 年 & ") And _
                 ([スワップ金額].月日 >= " & 月日 & ") And _
                 ([スワップ金額].通貨ペア = " & 通貨ペア & " ) "
strSQL4 = ""        '"ORDER BY [スワップ金額].通貨ペア"
strSQL5 = " ;"

Set daoRs = dbs.OpenRecordset(strSQL & strSQL2 & strSQL3 & strSQL4 & strSQL5) 'レコード抽出

あとは、注文履歴の個別リストの個々の注文にスワップを計算して入れてやるだけだ。しかし、リストボックスの見出しって、なんか付け方あるのだろうか?リストに設定した幅と、フォームを作るときの上の定規みたいなやつの目盛りとあってなくて、ずれるのだが。

ブログ書いているうちに、またマイナスになっている(ㆀ˘・з・˘)

そういえば、こんなの作る前に、さや取りのバックテストしないといけないんだった。

追記 2019/11/22 15:30

途中まで作って思ったが、買った日以降のスワップの合計に、今の円掛ければいいじゃんと思って作っていたが、スワップって1日づつ 計算しないといけないではないか。”SELECT SUM(買) AS スワップ金額合計 “とかだめだ。検索して、1レコードづつ見てって、しかも、円にしないといけないめんどくさすぎる。

バックテスト用の テーブルリンクにして、 それとクエリーでくっつけたら良さそうだ。まあやってみるか。

追記 2019/11/22 14:05

なんとか、終値をくっつけることに成功した(問答無用にドル円の終値)のだがしかし、スワップの方ってデータが日本時間で作ってるみたい。ずれている。これを、クエリーでできるのであろうか、終値を1日足した日付で紐付ける。なんか関数とかあったような気がするから、日付の関数とかあれば、なんとかなりそうだ。そもそも日付ずらして正しいのかはさておき、プログラムで、1日足した日付で、1つ1つ検索するのはできそうだが、とりあえず調べてみよう。まあ、大体の値は出るであろう。

追記 2019/11/22 16:56

とりあえず、できた!日付をヅラしたクエリー作って、それとリンクさせたクエリーにした。

日付を短い文字列でテーブル作ってるから、日付に変換して、変換した日付に1日足して、文字列似なおしてと、超難関であった。下の日付3と紐付けた。ただ、データない所エラーとなっているので、なんか問題あったら、治すけど問題なかったらこれでいいや。⇩今回使ったAccessのSQLの関数

  • DateSerial→ 文字列を日付に変換(日付型にすると+1で1日増える)
  • Mid→文字列から、指定した文字列取得
  • Format→日付を文字列に変換
SELECT [ドル円].日付, 
DateSerial(Mid([ドル円].日付,1,4),Mid([ドル円].日付,6,2),Mid([ドル円].日付,9,2))+1 AS 日付2, 
Format(日付2,"YYYY/MM/DD") AS 日付3,
[ドル円].終値
FROM ドル円;

結論。最初から日付型にしておけばよかった。(ㆀ˘・з・˘)

それにしても、AccessあればSQL文かんたんに作れる気がする。

もう今日は疲れたので、終了。気が向いたらエラー消してみよう。多分かんたんに消えるのだろう。

あとは、リストボックスのスワップの計算が残っている。

2019/11/22の結果報告
+334
投信-2,074
合計-1,740

追記 2019/11/23 1:57

滑稽な。一生懸命ドル円の終値くっつけたのに、、、実は不要だという事実。まんまと騙されおったわい。

何を騙されたかと言うと、楽天FXのスワップは、 ドル円の終値 を掛けていないのだが、SBIFXトレードのは、 ドル円の終値 を考慮してあったのだ。途中まで作ったんだけど、やたらとスワップが多いことに気が付き、1通貨のスワップの表を見ていたので、パット見気づかなかったが、1万通貨単位の方を見ていれば、気がついた。まあちょっと勉強になったからいいや。もう力尽きた。ネルー。

ちなみに、含み益3000円超えてきた!゚(゚∀゚)キタコレ!!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする