株価情報をFileMakerで蓄積していく。ついでに手入力じゃなくWebから半自動で取得。

投稿内容:「株価情報をiPhoneのFileMakerで蓄積していく」


データ作業時間を10分の1に、人生の充足時間を10倍に。
どうも、FileMakerスッキリデータ管理のながにぃです^^

============================
2018.8.2追記
本アプリ「TradeDairy」の使い方をアップしました!
詳細>
============================


僕は株式投資をしています。

これから日々のトレード情報をFileMakerで記録していこうと思い立ちました。

必要な情報は次の項目です。

・日付
・始値
・高値
・安値
・終値
・出来高
・備考

例えば9984ソフトバンクをトレードしたとします。

その日の上記項目を、FileMakerに日々記録していきます。

パソコンとiPhone両方での入力を想定しました。


FileMakerファイルの準備


さて、まずはファイルを作らなければいけません。

でもイチから作るのは時間も労力もかかります。

そこで、StarterSolution(スターターソリューション)をパクることにしました!


すぐに使えそうなものはないかな?と色々物色し、「目録」というファイルを使ってみることにしました。

目録テーブルに銘柄情報をいれ、取引情報テーブルに日々のトレード情報を記録すればいけるんじゃないか?と思ったのです。

「目録」ファイルはシンプルな作りになっていて、カスタマイズも可能だろうと思いました。


StarterSolutionの素晴らしいところは、PC/iPhone/iPad/Webとだいたいのデバイスに対応していることです。

PCでアクセス


iPhoneでアクセス



StarterSolutionのファイルを色々見てみると、どうもPC用のレイアウトは見づらい気がしています。

なぜかなと思ったら、PC画面にすべてねじこんでいるため、文字なども小さくなってしまうのです。

iPhoneのレイアウトは、PCで見てもそんなに見づらいとは思えず、むしろ文字が大きかったりして使いやすい。

ということで、iPhoneのレイアウトで統一してしまおうと思います。


まずはスクリプトの修正。

最初の起動時に表示させるレイアウトをiPhone用レイアウトにします。


ようし、これでPCでもiPhoneレイアウトで見れるぞ、っと。

ん?なんかPCレイアウトに飛んでしまいます。

と思ったら、新規で作成したときのスクリプトも修正が必要なようです。


PCアクセスのとき、iPhoneレイアウトに飛ばす。



よし、と。

次に必要な項目フィールドの調整を行います。


フィールドの調整

元は「目録」ファイルなので、フィールド名やレイアウト上に配置するフィールドを調整します。

まず、フィールド名を次のように変更しました。

「項目」→「銘柄」
「年式」→「銘柄コード」
「詳細」→「メモ」
ほか、適当に「時価総額」と「上場日」も追加変更しておきました。


レイアウトには画像など不要なものが沢山あったので、ほとんどを除外してスッキリさせました。





ここまで準備するのにだいたい2,3時間くらいでしょうか。

さて、FileMakerサーバーにアップして、実際に入力してみました。

PCとiPhone、両方試してみましたが、なかなか上々の感じになりました!



・・・でも、これを毎日手で入力するのか、なんか面倒くさいな、と思いました。


Webの情報を半自動で取り込む。

そうだ!Webビューアをつかって、ページの情報をボタンひとつで取得してしまえばいいじゃん!

これができれば手入力の煩わしさからおさらばです。

以前Webビューアでページ情報を取得するファイルをつくったことがあるので、100%実現可能だと思いました。

ひとまずYさんのサイトを使うことにします。

Yさんのサイトはページの作りがとっても優しく出来ていて大好きです(笑)


さて、まずはWebビューアをレイアウトに配置します。



Webサイトの選択は「カスタムWebアドレス」にして、時系列株価のURLを設定します。

URLの「code=」の後に「目録::銘柄コード」が来るように指定します。

そして忘れてはいけないのがWebビューアに「名前」をつけること。

とりあえず「webv」と名付けました。



後でわかったことですが、iPhoneでサイトにアクセスしたとき、URLもページのHTMLもPC版とは違います。

カスタムWebアドレスには、FileMakerにアクセスしているデバイスがPCかiPhoneかを判別し、それぞれのURLを入れてあげる必要があります。(赤枠)


ここまでできれば、あとはスクリプトの作成とボタンの配置をして出来上がりです。

出来上がりといっても、なかなかうまく取得できず、結構苦労しました。

HTMLを取得するには、GetLayoutObjectAttribute関数を使います。

変数を設定[ $html; 値: GetLayoutObjectAttribute ( "webv" ; "content" ) ]

と指定すれば$htmlに格納されます。この時に上述したWebビューアの名前を使います。


そのあと、HTMLから不要な文字列を除去したりして、日付と株価と出来高が改行区切りで残るようにさらに変数に格納します。

あとはボタン配置した日付とマッチングさせて、必要な項目に半自動で取り込まれるようになりました。



注意しなければいけないのは、YさんのサイトはLF (Line Feed) という改行を使っていることです。

これをSubstituteで削除しないと、きれいな改行区切りのリストは作られませんでした。

LF (Line Feed) は、Char(10)で指定することが可能です。




いやあ、実装してみると、本当に楽ちんです。

なにしろボタンひとつで5つの項目を自動入力してくれますから。




このファイルですが、もしも使ってみたいと思ってくださったら、お問合せフォームからメッセージ頂ければと思います。





今日も良い一日を♪





0 件のコメント :

コメントを投稿

[プロモーション]