マネー報道 MoneyReport

仮想通貨に特化した自作EAを公開中!仮想通貨FXでMT4&MT5を活用し資産運用中!

2016年度下半期のスケジュールを組む!一人親方フリーランスの作業計画。

スケジュール管理の方法変遷

2016年度の上半期が9月末までで終わり、10月から下半期が始まりました!
私の作業の方も丁度9月末までで大きな作業が一段落しまして、最後の調整やら家庭の雑事やらをやっていて、気が付けば下半期がスタートして12日も経っていますね(^o^;

ちょっと遅れましたが、2016年度の下半期の自分自身の仕事の計画をしていこうと思います。

ちなみに上半期の春先以降の流れを決定した内容は下記記事に記しました。

幸い春から夏の終わりまでは、このスケジュールに沿って思った通りの作業を行う事が出来ました(^-^)v

春からのガントチャートの引き方が私の作業管理としては適していたので、同じくフリーランスとして作業している方達の参考になればと、作業管理について書いてみたいと思います。

Pile-up Gantt Chart

上半期の失敗

春先以降は良いガントチャートが引けたと思っているのですが、今年の最初に引いたガントチャートはどうだったのでしょうか?
まずは振り返ってみたいと思います。

今年の1月頃に引いていたガントチャート。
f:id:MoneyReport:20160118173111p:plain

あ、ガントチャートは「Brabio!」というWebサービスを利用して作成しています。

個別のWebサイト作成の開発に特化して「調査、デザイン、データ登録、開発、リリース」と作業を並べて書いていました。
実際の開発フェーズに合わせてガントチャートを書く、一般的な書き方です。

ただ、この方法は私のスケジュール管理としては不適合でした(-_-;

どうしてか?

細かい!

まずは「細かすぎた」点にあります。
複数の開発メンバーで開発を行う場合には、自分の作業だけではなく、他の開発者の方達の作業進捗も非常に大事になってきます。
共通部品が出来あがらなければ、個別の画面やページを実装した所で完成しませんし、他画面から遷移してくる場合にも受け取るパラメーターやデータの受け渡しの部分の調整をきちんと行わないと、個別の単体テストは出来ても繋げての結合テストでバグが頻発します(-_-;
このため、上述のような細かい作業単位のスケジュールの把握と調整が必要で、重要になってきます。

ところが1人で設計・開発・テスト・運用をやっている私の場合には、この個別の各フェーズのスケジュールを引く意味はあまりありません。
設計が早く終われば、その後すぐに開発に入ればよいですし、テストが遅れてもリリースは私の権限なので後ろ倒しになっても何ら問題ありません(^-^;

要はせっかく引いた細かいスケジュールの遅延や前倒しに大して意味が発生しないのです。

前後作業や他者の作業への影響度がない分、細かいガントチャートは作業終了単位でイチイチ管理タスクの「終了」とか「遅延発生」などの実績を書いていきますが、この作業管理のために発生する作業すらも邪魔というか管理しても意味がないというか・・・。
自ら無駄な作業を増やすだけという、状態になっていました。

開発案件単位の弊害

また「次の開発案件との兼ね合いが分からない」という問題もありました。
開発案件単位にガントチャートを作って管理していたので、一つの開発案件が終わって次の開発案件に移る時に、2つのガントチャートに作業進捗を書き込む必要がありました。
1つ目の案件が遅れれば、2つめの案件の開始も遅れます。
それをわざわざ別々のガントチャートを開いて、「こっちを遅らせて」、次に「あっちもずらして」と無為な作業が発生します(-_-;

顧客がいたり、他の開発者との兼ね合いがあれば、案件の切り替わりタイミングは非常に重要ですが、一人親方で自分で次の案件を漫然とスタートするだけというフリーランスの身だと、案件切り替わりも

「これが遅れて、次も遅れて。次の案件を短縮して進めよう!」

と思えば良いだけという(^o^;

いずれにしても開発案件単位のガントチャート管理は私にはまったく合っていませんでした(;_;)

下半期のガントチャート

その反省を活かしたのが春先からの

1つのガントチャートに全ての開発案件を載せて管理する

という方法を採用しました!

しかも、案件単位には個別の作業を書くのをやめて「●●開発案件」と書くだけにして設計・開発・テスト・運用の全てを含むことにしました(^o^;

この方法に沿って書いたのが下記のガントチャートです。

2016年度下半期のガントチャート
f:id:MoneyReport:20161012173212j:plain

あ、案件部分が塗りつぶしてあって、すみません(^-^;

1本の線を1つの案件としてしまい「どの案件がいつからいつまでの作業なのか?」「この案件はいつ頃やる予定なのか?」が一目で分かる様にしました!

これは、他者との作業兼ね合いがない私にとっては、自分の作業を管理する上では非常に管理しやすい手法となりました。
1つの案件の遅れが全体に影響しますし、まぁ早く終われば次の案件やスポット案件を入りこめたりしても良いですし、柔軟なスケジュール管理が可能となりました!

パッと見で「この時期にこの案件をやるから、事前調査をそろそろ開始しないとなー」と準備も出来て良い感じです♪

春先に確立したこの手法を下半期も採用して、効率的なスケジュール管理をしながら色んな案件の開発を進めていきたいと思います(^-^)/

Webサイトのメンテナンスと放置の弊害

Webサイト

今日はお仕事の話をば。
現在、私はWebサイトやWebサービスを自分で設計&開発し、複数サイトを運用しています。
基本は開発後は放置気味に運用してはいるのですが、それでも時々メンテナンスをしてあげなければいけません。

今日は、そのコストとどの程度の労力を掛けるのが適正なのかといった話を徒然なるままに書いてみたいと思います。

Webサイトの運用

Webサイトの運用では大きく分けて長期フェーズと短期フェーズのものに分かれます。

私が運用するサイトは大抵膨大なデータ量を誇るものが多いので、原則はDB(データベース)でデータ管理をしています。
このDBのデータはDBのデータは内容が古いままだと陳腐化する場合も多々あるので、適宜更新する必要があります。
データのメンテナンスに関しては短期フェーズに分類されます。
長いもので3ヶ月、短いものでは1ヶ月程度でデータメンテナンスが必要になり、日々の運用業務として組み込んでいます。

また運用サイトは自前サーバーとかではなく、レンタルサーバーを利用しているので、レンタルサーバーの動作環境に沿ったプログラムを作る必要があります。
原則は開発時点の最新のサーバー環境に揃えています。
PHPバージョンなどもその時点で選べる最新のものを選んで、それに沿ってプログラムコードを書きます。

ただ半年に一度や1年に一度程度の頻度で、レンタルサーバーの環境が変更される場合があります。
大規模なサーバー入れ替えや、PHPバージョンの新バージョン対応などなど。
その最新環境に合わせてプログラムを書き換えたり、そのバージョンに合わせてソースコードを調整したりといった事が発生します。
こちらが長期フェーズに分類されます。

こうして一度作ったからといって完全に放置することが出来る訳ではなく、ある程度の期間が過ぎたら色々とメンテナスしていかなければいけません。
これを放置すると酷い目にあいます。

運用放置の弊害

これは過去に書いていたブログで発生したことですが、昔はWordPressよりもMovable Type(ムーバブルタイプ)と呼ばれるCMSを使ってブログを書くことが一般的でした。
私も安いレンタルサーバーを借りてMovable Typeをインストールしブログを複数運用していました。

しかしメンテナンスなんかほとんどせずにブログだけを書き放置していました。

そしてある日、ブログが更新できなくなってしまいました(>_<)
利用していたレンタルサーバーのPHPバージョンが徐々に徐々に上がって行っていたのですが、それに付いて行くことなく古いPHPバージョンのままで利用していたいのです。
しかもDBもMySQLとかではなく、テキストファイルベースの簡易DBを使っていました。

気が付いた時には時すでに遅く、PHPバージョンが不一致でそもそもCMSのプログラムでエラーが発生して動作しなくなり、またMovable Type自体の最新バージョンではテキストファイルベースのDBが選択できなくなっていて、DBの更新もできなくなりました(-_-;

そうしてメンテナンスを行わなかった影響でそのブログは更新できなくなり、現在も当時コンパイルされて出力されたHTMLのまま残っていて、どうにも更新できない状態で放置してあります(^o^;

この様に、一度作ったWeb上のサービスは適宜メンテナスをしていかないと、更新すらも出来ないしプログラムも動かなくなる恐れがあります。
きちんとWebサイトのメンテナンスは行っていきましょう(^-^;

まとめ

  • Webサイトを開発する時は、その時点のレンタルサーバーの最新スペックに合わせて開発するほうがWebサイトの寿命を長く出来る!
  • Webサイトのメンテナンスには長期フェーズと短期フェーズのものがあり、両方に対応していく必要がある!
  • Webサイトメンテナンスを放棄すれば、ある時点で動作しなくなったり更新できなくなったりする!

Webサイトのアイデア出し!数で勝負から!

自作Webサイト

自分で設計して、自分で開発して、自分で運用して。
そんな全部自分で作ってメンテナンスしてという事を生業(なりわい)として食べているフリーランスです。

じゃあ「どんなWebサイトを作るのか?」という事を考える時のアイデア出しの話をば。

website

開発ペース

ここまで私が作ってきたWebサイトやWebサービスの数としては、全部で6本ほど。
内、1本はメンテナンス対象外となっているので、実際に稼働しているのは5本になりますか。
あ、このブログで紹介しているWebサービスは数えていませんよ。
あんな勢いだけで作ったモノは数えていません(^-^;

これまでの1年半で6本ほど作ってきたので、ざっくりと開発に掛かる期間を算出してみると・・・

 1年半(18ヶ月) ÷ 6本 = 3ヶ月/本

と、なりまして、3ヶ月に1本のペースで新しいWebサイトやWebサービスをリリースしている計算になります。

これは最近の肌感覚とも一致していまして、新しいWebサイトの構想を考えている時に

「設計1ヶ月、開発1ヶ月、データ入れや調整で1ヶ月」

くらいは掛かるな~、という思いがありますから、昨年独立してすぐの頃の

「Webサイトなんて1ヶ月に1本作ってやるぞ~♪」

みたいな若気の至りみたいな勢いだけの計算は今後は慎みたいと思います(-_-;

開発のアイデア出し

何せWebサイト開発は独立前に作った1本程度で、ほとんど初心者(^-^;
プログラムの経験は少々ありましたが、本格的な開発作業はした事がなかったので素人同然です。

素人がなにがしかのアイデアを出そうと思ったら、まずは数で勝負するしかないです。
1日に20分程度ずつ、思いつく限りのWebサイトアイデアを出していきます
最初の30個くらいはすぐに思いつきますが、そこから先がなかなかすぐには出てきません。
でも考えてはメモして、ひねり出してはメモしてと、何とか数を出していくことに最初集中します。
ある程度、数を出して行くと多少深く考える様になります。
単なる思い付きで書けるものは前半に出尽くしていますから、後半出てくるものは多少ひねったものというか、もう少し考えた物を出せる様になっていきます。

そうして数日かけて100個以上のWebサイトアイデアを出しました

100個出してから、今度は分類をします。
カテゴリ別に分けていって、重複しているアイデアはブラッシュアップして一方だけ残します。

そして削っていきます。
こんな100個も作っている場合じゃないですし、どこで勝負していくのかを見極めていく必要があるので、無駄なアイデア倒れのWebサイトを省いていきます。

削る理由は色々ありますが、多少書いてみましょう。

【アイデア出し後に削るWebサイトの理由】

  • 開発の難易度が高すぎる!
  • 需要がない!
  • 利益が出ない!
  • メジャーサイトが寡占化している!
  • etc.

こうして100個アイデアとして出した中から、削って削っていくと良さげな10個ほどが残ります。
まぁこれがダイヤの原石ですか。
輝くかもしれませんし、単なる石ころで終わるかもしれません。

こうして残った良さげなWebサイトアイデアを元に、調査し肉付けしていき、改めて競合のチェックや、技術的な課題を拾ったりとしていきました。

後は実際に作って世に出してみて問う!という感じですか(^-^;
試行錯誤はどうしても必要ですし、成功もあれば失敗もありますが、四の五の言わずに、まずはどんどん作っていってリリースしていく事が大事かな、と思っています。

さぁ、開発、開発!

PHPでRSS配信!自作WebサイトでRSS1.0、RSS2.0、Atomを出力しました!

自前で作ったWebサイトの更新情報

Web開発言語「PHP」でWebサイトやWebサービスを作ることが出来ます。
自作すれば何の制約もなく色んなWebサイトを作ることが可能です(^-^)v

ただ自作したWebサイトの問題点として

RSS配信ができない

点が挙げられます。

色んなデータを日々更新していくようなニュースサイト的なWebサイトの場合、更新情報をRSS配信できるかどうかは非常に大きな問題です。
読者の方はパソコンやスマートフォンのブラウザで見る人も多いですが、中にはRSSリーダーで読んでいる方も多いからです。
RSSリーダーで読んでもらうためには、当然RSSを配信していなければ読むことは出来ません。
というかRSSリーダーに登録するのも難しいのではないかと思います(^-^;

で、最近作って公開したWebサイトが割と日々更新していくタイプのものだったので

「RSS配信も出来た方が利用者さんも増えて良いのでは!」

と思い至った次第です(^-^)v
データはDBで管理しているので好きに取り出せますから、RSS配信方法さえ分かれば作れるかな、と。

PHPでのRSS作成方法

Google先生に聞いて調べてみると、PHPで調べると大抵上位表示される「Syncer」のサイトにたどり着きます。
やりますなぁSyncerさん(^-^)v

今回参考にさせていただくページは下記。

GitHubで公開されている「PHP Universal Feed Generator」というライブラリを利用して簡単にRSS配信を実現することが出来るそうです(^-^)v

GitHubのライブラリへのリンクは下記。

また、実際にこのライブラリを組み込んでRSS配信するソースコードはSyncerさんのサイトに掲載されていますので、参考にして下さい。

私は実際に組み込んで作ってみましょう!

PHPでRSS実装

では、いざ作り込み開始!

・・・(実装中 以下独り言)・・・

「DBから公開ページのデータを取得して」

「あ、全件はいらないのか!新しいデータのみの通知機能か!」

「最新30件程度配信すれば良いのかな?」

「RSS1.0完了」

「後は一緒か」

「RSS2.0、Atom完了!」

・・・(実装終了 以上独り言)・・・

というワケで実装完了です!


表示してみたRSS 2.0の画像です!
f:id:MoneyReport:20160920152836p:plain

ってほとんど見えてませんが無事に表示できました(^-^;

RSS2.0、RSS1.0、AtomFeed三兄弟を全て出力する事が出来ました!

やっぱり便利なライブラリは使わせてもらうと、実装時間が短縮できて有り難いですね~(^-^)v

jQueryを今さら勉強してみる(^-^;テキスト挿入とかも簡単なんだ!

jQuery

最近はCRONについて勉強し、そこそこ便利に使えるのが分かり色々と自動実行させています(^-^)v

CRONはあくまでもサーバー側のPHPでの処理なので、ほとんどWebサイト利用者の方の目には触れません(^-^;

使う人の目に触れる部分で何かしらの動きを出そうと思ったら、フロントエンドの勉強も必要なのかな、と。
こまでは

「動けばいいや」

でWebサイトのサーバー側処理でゴリゴリやって表示する事が多かったのですが、多少なりとも見た目に動きを付けたり便利なUI(ユーザーインターフェース)を提供しようと思うと、クライアントサイド側でも何かしらやらねばいけないかな、と。

で、たまたま参考にしつつ勉強してたサイトがJavaScriptを結構使っていました。
JavaScriptも単なるJSではなくて、jQueryというものを使っていました。

jQuery(ジェイクエリー)は名前は聞いたことがありましたが、自分で実装した事はないですし、勉強した事もないので、今回少々勉強してみようかと(^-^)v

jQueryとは

こういう時はWikipediaに教えてもらいましょう。

jQuery(ジェイクエリー)は、ウェブブラウザ用のJavaScriptコードをより容易に記述できるようにするために設計された軽量なJavaScriptライブラリである。 ジョン・レシグが、2006年1月に開催された BarCamp NYC でリリースした。


jQuery - Wikipedia

ふむふむ。
jQueryとは「JavaScriptコードをより容易に記述できるようにするために設計された軽量なJavaScriptライブラリ」の事なんですね!
確かにリッチなUIを提供出来ても重くて読込に時間が掛かる様なJSライブラリだと使いにくいというか、利用者が離れていってしまいそうですから、軽量なのは良い事ですね(^-^)v

また、Webサイトの開発においてはプログラマーとデザイナーが一緒に開発にあたる事が多いですが、一々処理全てをプログラマーに依頼していると、デザイナーの「あぁしたい!こうしたい!」というUIに関係する処理までプログラマーが担当すると大変なので、デザイナーの人でも簡単にUI処理が書けるjQueryは非常に人気が出た、と聞きました。

私はデザイナーではないですが、自分一人でWebサイト開発やらWebサービス開発やらをやっているので、デザイナーが担当する仕事も自分で出来ないといけないので、今回はjQueryも覚えてみようかと(^o^;

テキストの挿入

で、jQueryでは色んな事が出来ます。

【jQueryで出来ること!】

  • HTML/CSS操作
  • イベントの利用
  • フォーム機能利用
  • Ajaxの使用
  • アニメーション効果


ですが、いきなりAjaxやアニメーション効果を使うのはハードルが高いので、手軽に「HTML/CSS操作」からやってみようかと。
しかも「テキストの挿入」がまずは使いたいです!
これが使えればゴニョゴニョしたい事があったので、すぐにも使える用途があるので(^-^)v

jQueryの使い方の基本としては下記の様になるそうです。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
    jQueryの処理を書く
</script>

先にjqueryライブラリの読み出し記述をして、その後ろにscriptでJavaScriptを宣言してjQueryの処理を記載すると。
この感じで進めてみましょう。

HTML要素の前に挿入

まずはHTML要素があったとして、その前にテキストを挿入します。
ソースコードは下記の感じ。

<html>
	<head>
		<title>HTML要素の前に挿入Sample</title>
		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
		<script type="text/javascript">
$(function(){
	$("p#first").before("<h1>前に挿入</h1>");
});
		</script>
	</head>
	<body>
		<p id="first">テキストテキスト</p>
	</body>
</html>

実際にブラウザで動作させると下図の様な結果になります。
f:id:MoneyReport:20160912155327j:plain

pタグのid「first」の前に「前に挿入」というテキストが挿入できました(^^)v

HTML要素の後ろに挿入

続いてHTML要素の後ろにテキストを挿入します。
ソースコードは下記。

<html>
	<head>
		<title>HTML要素の後ろに挿入Sample</title>
		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
		<script type="text/javascript">
$(function(){
	$("p#first").after("<h1>後ろに挿入</h1>");
});
		</script>
	</head>
	<body>
		<p id="first">テキストテキスト</p>
	</body>
</html>

実際にブラウザで動作させると下図の様な結果に。
f:id:MoneyReport:20160912155608j:plain

pタグのid「first」の前に「後ろに挿入」というテキストが挿入できました(^^)v


何がしかのHTML要素に名前を付けて、そのHTML要素を指定してテキストの前や後ろへの挿入が出来ました!

まとめ

  • 2006年に発表されたjQueryは10年経過した2016年でも現役で動く!
  • jQueryはWebデザイナーが使えるJavaScript軽量ライブラリ!
  • jQueryを使うとUIに動作のあるページ表現が可能!
  • テキストをHTML要素の前後に挿入!

CRON使って自動でメール送信!PHPのmb_send_mail関数で簡単♪

CRON

本日もWebサイト開発のお仕事のお話です。

昨夜CRONを初めて使ってみまして、レンタルサーバー上からPHPの実行ファイルを定期実行させる事に成功しました(^-^)v

CRON試してみる!
まずは簡単なPHPファイルのサンプルを作って、CRON上から呼び出してみたいと思います。
いきなりDB更新は怖いので、ファイルを出力するのをやってみようかと。


「sitemap.xml」というファイルを出力するものです。
早速レンタルサーバー上にアップして動作させてみたいと思います!
PHPファイル名は「test_cron01.php」という名前にします。


さぁ、2分経過しました!
FTPでディレクトリを確認すると・・・
「sitemap.xml」ファイルが出力されていました!
無事に動きました!


CRONでPHPファイルを定期実行したい!レンタルサーバー上で動作検証! - マネー報道 MoneyReport

という感じでechoやprintで何かを出力してもCRONだとブラウザ上に何か表示される訳じゃないので、テキストファイルを出力してみました。
案外簡単に動いてくれたので良かったです(^-^)v

複数のphpファイル

昨日調べた中では、参考にしたサイトの中で「複数のphpファイルが、相対パスでincludeやrequire_onceとかされている場合、エラーで動かない。」という記載があったので紹介していたのですが、
最近はそんな事はないというブコメを頂きました(^-^;

id:photoblgさん
外部から読み込んでも落ちたことはないですね。それ以外の問題じゃないですか?

CRONで外部のphpファイルをincludeしたりrequire_onceしたりしても特段問題ないんですね~(^-^)v

私の使っているレンタルサーバーは、Webサイト公開用ディレクトリとCRON動作用ディレクトリが全く別の階層に置く様に指定されていたので、Webサイト公開側のphpファイルをincludeしたりするのはやめて、1PHPファイルで完結する様に処理を記載して実行する様にして作りました。
なので、上記の件に関しては自分自身で試していなかったので、非常に参考になりました(^-^)/

最近のCRONで動かすPHPファイルでは相対パス表記でincludeやrequire_onceをしても問題ないそうです。

メール送信

CRONを使った定期実行でもう1つ行いたかったのは「メール送信」になります。

Webサイトのデータ更新後に通知をメールで送りたかったので、それをCRONで定時実行してメール送信したいのです。

しかし以前、PHPでメール送信周りを実装した時には「PEAR」をインストールしたりと結構面倒なことをしたので気が重い状態で作業を始めました(-_-;

以前PEARを使った時の話(サブブログに掲載)が下記。

「うーん、どうかな~」

と思いながらPHPの参考書である「PHP逆引きレシピ 第2版」を開いて探していたら・・・

611ページの「7.8 メール処理」という章があるじゃないですか!!!

・・・(読み込み中)・・・

ふむふむ。
「メールを送るにはmb_send_mail()関数を使用します。」
とのこと!

「あれ?PEAR使わなくて良いの!?」

との事で、関数1つで簡単にメール送信ができるようです!

なんだ~、それなら簡単に実装出来るじゃないですか!

mb_send_mail関数

本のソースコードを参考に組んだソースが下記。

<?php
	mb_language("Japanese");
	mb_internal_encoding("UTF-8");

	$to      = 'to@hoge.ne.jp';
	$subject = 'テストメール';
	$message = 'これはテストです。';
	$headers = 'From: hoge@hoge.com'."\r\n";

	if (mb_send_mail($to, $subject, $message, $headers))
	{
	    echo "メールが送信されました。";
	}
	else
	{
	    echo "メールの送信に失敗しました。";
	}
?>

で、試しにWebサイトに仮置きして実行してみると・・・

f:id:MoneyReport:20160911162012j:plain

無事にメールが届きました(^-^)/

ただ、このメール送信怖いですね。
Fromのメールアドレスって適当に指定しても、メールサーバーとか通さずに送れちゃったんですよ(-_-;

こんな簡単にメール送信できるなら、そりゃあスパムメールもなくならない訳ですね。
簡単にメアド偽装ができちゃいますもんね、これって。
まぁ色々とレンタルサーバーとかでも対策は練られているんでしょうけど、大量のメール送信が実行されたらスパムメールとして送信できなくする、など。

いずれにしても、これでCRONでPHP実行ファイルから簡単にメール送信できる事がわたっかので収穫でした(^-^)v

CRONでPHPファイルを定期実行したい!レンタルサーバー上で動作検証!

CRON

本日は開発のお仕事の話題です。

レンタルサーバーを使っていると「CRON」(クロン)という機能があることに気が付きます。
なんでも処理を定期実行してくれる便利な機能なんだとか。
さくれのレンタルサーバーなんかだと、一番安いプランではCRONは使えなくて、スタンダードプラン以上とかじゃないと使えない機能となっていたりしました。

これまでは縁が無かったので使わずにここまで来ました(^-^;

ただ、現在開発中のWebサイトでは「データの定期更新を行いたい」ので、このCRONを使って自動でDB更新をさせたいな、と。

前に調べた時にはCRONではPHPファイルもコマンド実行できるとかって見た様な気がしましたが、どうなんでしょうか(^-^;?
改めて調べついでに簡単なPHPサンプルも動作させてみたいと思います(^-^)/

CRON調査

まずはCRONで簡単にPHPファイルが実行出来るのか?

・・・(調査中)・・・

見付かりました!

cronを使用してphpファイルを指定した時間に自動実行する方法を記載します。また、その時のcronの設定方法をメモします。
システムを作成しているとログの削除やバックアップ、データの更新などを決められた時間に実行したい場合があります。
cronを使用すると自分でphpファイルを実行しなくても指定した時間で自動実行してくれるので便利だと思います。


Linux:cron(クーロン)でphpを自動実行する | raining

ふむふむ。
CRONを使用するとPHPファイルを指定した時間で自動実行してくれるようですね(^-^)v

CRON設定時の書き方にはルールがあるようですね。

  • 書式
分 時 日 月 曜日 コマンド
  • 設定する値
0~59の値で指定。*を指定した場合、毎分となる。
0~23の値で指定。*を指定した場合、毎時となる。
1~31の値で指定。*を指定した場合、毎日となる。
1~12の値で指定。*を指定した場合、毎月となる。
曜日 0~7の値で指定。*を指定した場合、毎日となる。
コマンド 実行するコマンドやシェルスクリプトを指定する。

実際にコマンドを書くと下記の様になるようです。

10 5 * * * /var/www/html/cron/cron.php

分に「10」、時に「5」、日・月・曜日は「*」でコマンドが「cron.php」というPHPファイルを指定しています。
これをCRON設定すると、毎日5:10にcron.phpを実行してくれることになります。
コマンドはサーバー上の絶対パスで指定しないと動かないそうです。
相対パス指定はダメとのこと。

また、別のPHPファイルをincludeとかで呼び出しているとエラーで落ちる事が多いそうです。

phpスクリプトが一つのファイルで構成されている場合ならば、これでも動く。複数のphpファイルが、相対パスでincludeやrequire__onceとかされている場合、エラーで動かない。
実行時のカレントディレクトリが変わってしまうため、ファイルを参照出来ないから。


解決案

  • includeやrequireするときに絶対パスを書く
  • (php限定)ini_setでinclude_pathを設定する
  • シェルスクリプトを書いて、そいつを実行する


cronの走らせかた - Qiita

ふむふむ。
CRONはPHPを絶対パスで呼び出して動作させますが、PHPファイル上からincludeする時って相対パスで指定するので、CRON上からは見えない(追えない)位置にファイルがあるから、ダメとの事。
はまったら、解決案も試してみたいと思います(^o^;

CRON試してみる!

まずは簡単なPHPファイルのサンプルを作って、CRON上から呼び出してみたいと思います。
いきなりDB更新は怖いので、ファイルを出力するのをやってみようかと。

ソースは下記。

<?php
    $fileName = "sitemap";
    $fileExt = ".xml";
    $item = "CRON_TEST_01";

    $f = fopen($fileName.$fileExt, "wb");
    fwrite($f, $item);
    fclose($f);
?>

「sitemap.xml」というファイルを出力するものです。
早速レンタルサーバー上にアップして動作させてみたいと思います!
PHPファイル名は「test_cron01.php」という名前にします。

初CRON指定です。
私の使っているレンタルサーバー上では各設定値を個別に入力して指定で来たので、分だけを2分後に指定して実行予定を組みました!

・・・(2分待機中)・・・

さぁ、2分経過しました!
FTPでディレクトリを確認すると・・・
f:id:MoneyReport:20160910231855j:plain
「sitemap.xml」ファイルが出力されていました!
無事に動きました!

「sitemap.xml」ファイルをメモ帳で開いてみたところ。
f:id:MoneyReport:20160910231950j:plain
「CRON_TEST_01」の文字が出力されています!
(拡張子はXMLですが、単純なテキストを出力したので、こんな内容に(^-^;)

おーし!
こりゃ簡単だ!
普通にコマンドライン上で動作するPHPを組んでレンタルサーバーにアップして、後は絶対パスでPHPファイルを指定して定期実行したい日時を指定してあげるだけで簡単にPHPの自動実行が出来ます!

実際にDB更新するPHPも組んで動作テストしましたが、無事に動きました(^-^)v
こりゃ楽ちん♪

開発向けにiPhone7を購入すべきか?

間もなく

さぁいよいよ後2時間ほどで「Apple Special Event September 2016」の開催ですね~♪
日本時間の2016/09/08の午前2時に世界同時ネット生中継をしつつ、iPhone7の発表会がとり行われます。
日本語での同時通訳もあるみたいですから、そちらもあわせて視聴すると何を言っているのか分かって楽しいかと思います。

詳しくは昨日の記事に。

私は明日は出掛ける用事があるので、夜中に起きている訳にもいかないのでイベント視聴はしません(^-^;
ただ、iPhone7自体は気になりますね~。

f:id:MoneyReport:20160906140232j:plain

Webサイト開発

本日、ようやく現在作っているWebサイトのプロトタイプを公開しました。
まだ作りこみの甘い部分もありますが、まぁ動く部分としては問題ないので先行して公開した所です。

後は設計的に後回しにした部分を作るのと、運用周りの裏方処理を作らないといけないので、その辺だけはもう少し時間が掛かるかな、と。
普段使うユーザーさんはほとんど意識しない部分のみ、後から作る感じにしています。

で、もちろん今時のWebサイトですからスマホファーストでスマホユーザー向けの操作性や視認性を意識しながら作りこんでいます。
Googleクロムの「デベロッパーツール」を使って、各種サイズのスマホで動作検証も行うのですが、やはり実際のスマホのハードでの確認も欠かせません。

私が現在使っているのはもう3年前の機種となるiPhone5sです。
購入した当時は

「なんて革新的なスマホなんだ!」

とビックリしましたが、その後iPhone6やiPhone6sも出ているので4インチスマホとなるiPhone5sでの動作検証は

「果たして現在の日本人ユーザーの何割程度をカバーしているのかな?」

と気になる事があります。
友人・知人のスマホを見ても皆さん、もっと大きなiPhone6やiPhone6s Plusとかを使っているのを見掛ける事が多いので、多数のユーザーは5インチ以上の大きなスマホでWebサイトを見ているのかなぁ、と。

Androidスマホは5インチスマホを持っているので、これでもある程度動作検証は出来るのですが、日本人ユーザーが圧倒的に使っているiPhoneの大きなサイズの機種でも動作検証はした方が良いのじゃないかな、と。
今晩のiPhone7発表を前に思ったりするわけです(^o^;

iPhone7

ただ最新機種となるiPhone7は結構高価でしょうからね~。
昨年発売のiPhone6s Plusとかは一番安いモデルでも10万円を超える価格となっていましたから、今回のiPhone7も10万円を超えてくるのかな、と。
10万円も出して動作検証環境を確保すべきかと言うと、ウウム(-_-;

2年前のモデルになるiPhone6 Plusの中古品とかでも買えば良いですかね?

下記のdocomoモデルなら 64,480円でAmazonから購入可能なようです。

2年前のモデルでもスマホの画面サイズはiPhone7Plusのサイズと一緒でしょうから、充分確認環境としては問題ないのかな?
あ、でも解像度が違うんだったかな、今回のiPhone7は?
詳しいスペックまでは今回調べていないので分かりません。
どうなんでしょうかね~(^-^;

というわけで、とりとめもないことを書いてみました。
iPhone7Plusが欲しいような、見送りになりそうな、そんな夜更けでした(^-^;

FX先生のトレードシグナルをEAにしたら良いかな?

FXの半自動売買

FXの自動売買ツールであるMT4を使うようになって3ヶ月ほど経過しました。
これまで使っていたFX業者が提供してくれていたFXツールを使うのをやめて、MT4に乗り換えるのはなかなか大変だった部分もありますが、スマホ版MT4の起動が早くてサクッと使えるのは非常に気に入っています(^-^)v
FX業者のFXトレードツールって、起動が重たい事が多いので、シグナル通知が来てすぐに起動してチャートがチェックしたいのに待たされたりすると非常にイライラしていたので、それがなくなったのは快適です♪

で、MT4を使うからには自動売買プログラムのEA(エキスパートアドバイザー)を使わにゃ損々というやつで、有料EAに自作EA(正確には他作EA(^-^;)を使っています。
そして、自分のトレードシナリオに沿ったEAが行った自動売買をシグナルとしてスマホで受け取って、その後自分で手動トレード(裁量トレード)を行うというのを行いました。

そしたらば、結構良い利幅が取れて

「これはいいける!」

と(^-^)v

自分の得意とするトレードシナリオを自動売買プログラムで作ると自分で行うべき、「分析&チャートチェック」をEAが肩代わりして行ってくれるので、トレードに掛けるべき労力をかなり削減する事が出来ます。

EAを併用してトレードシグナル通知が来た時だけ、自分でチャートをチェックして「実際にトレードする or しない」を自分で判断する。
こうする事で、トレード実施部分にだけ注力でき、かなり省略化でき良いと思います。

特に、専業トレーダーではなくて、サラリーマンやフリーランスの方などで「仕事が忙しいけどFXトレードもしたい!」という人に非常に合う手法じゃないかと思います。

得意なトレードシナリオ

これを使うためには、自分自身の得意なトレードシナリオで行う必要があります。
人のトレードシナリオなんて、慣れていないし、読みが甘いしでロクな事がないので、自分自身がこれまでトレードを行ってきた中で

「このトレード手法では勝てた!」

と自身のあるトレード手法(トレードシナリオ)で行うのが良いのかと思います。

で、昨日は私自身が得意とする「三角持ち合いブレイク」の手法を検討してみました。

三角持ち合いの分析を行うロジック部分をもう少しイメージしてから作りこむ必要がありますが、これも

「ペナントが来てるよ!」

と教えてくれるだけでも相当助かります♪

書籍「FX先生」

また、私が「売りが得意」になったきっかけをくれた書籍が下記の「FX先生」です。

FX先生

FX先生

FX先生

  • 作者:杉田 勝
  • 発売日: 2009/05/15
  • メディア: 単行本

こちらの書籍、中古では1円で買えたりしますが、FXの為替相場の「買い」と「売り」のタイミングを逆張りじゃなくて、順張りで教えてくれる良書です。

詳しい解説については、以前書いた下記記事にまとめていますので、FX先生のロジックが気になる方は読んでみて下さい。

で、書籍の著者の方のトレードロジックなので「ブログで大公開!」とかそういう、「著作権的にどうなの?」みたいな事はやりません。
気になる方は書籍をご購入下さい(^-^;

で、ロジックは伏せますがさわりだけ書いておくと

普通の移動平均線を使うのではなくて、EMA(Exponential Moving Average)こと「指数平滑移動平均線」を使う事を

推奨しています。
ちょっと調べていませんが、MT4のEAロジックでEMAは普通に使えると思いますので、EMAを指標にそこをブレイクした時に買いや売りを仕掛けるようなEAを作ることが出来れば、良いなと思います。

ただEMAは鉄板なのですが、「初期反応が遅い」デメリットがありますので、その辺を多少EAロジック実装時に吸収しながら作りこめれば楽しそうかな、と(^-^)v

さぁ、今の仕事が一段落したらMQL4の勉強がてら自分自身のトレードシナリオを作りこんでいって、自分のトレードを盤石なものにしていく事が出来たら、と考えています。

MT4のEAで自分のトレードシナリオを作れば最強では?三角持ち合いが作りたい!

MT4で半自動トレード

先週は久々にFXのトレードを行いました(^-^)v
春先に手痛いミスをしていたので謹慎していたのですが、MT4のEAをシグナルとして裁量トレード(手動トレード)をすると良さそうな事が分かり、また自分のトレードシナリオである「トレンドブレイク手法」を実装したEAが手に入ったので、それを元にトレードを行いました。

結果としては万々歳の130pips(ピプス)の収益を上げる事ができました!
詳しくは前回の記事に。

で、今後も「トレンドブレイク手法」を元にしたトレードもやっていこうと思ってはいるのですが、それ以外にも自分自身のトレードシナリオに沿った動きをするEAを作る事が出来るなら、そのEAに分析&トレードシグナル出しを任せて、自分はシグナル通知が来た時だけトレードをすれば非常に勝率を上げる事が出来ます!

「これは良いぞ!」

と♪

私のトレードシナリオ

とはいえ、私はそれほどトレード手法に詳しい人間ではないので、手持ちの勝てるトレードシナリオはあと幾つかあるだけです(^-^;
その中の1つで非常に勝率が高い手法がありまして、それが

三角持ち合いブレイク手法

になります!
手法っていうのか分かりませんが『三角持ち合い(ペナント)が発生した後に、ブレイクした方についていく』のをよくやっていて、大抵利益を上げる事が出来ています(^-^)v
まぁ鉄板な手法かと。

過去の私のトレード履歴から三角持ち合いを見てみましょう。

三角持ち合いの下離れで売り!

これは典型的な上下からすぼまっていくタイプの三角持ち合いでトレードした時の記録です。


今回は米ドル/円の日足で三角持ち合い(ペナント)が発生しました。
f:id:MoneyReport:20151018003119j:plain

上下に振れ幅が小さくなって行って、ほとんど上下動しなくなりました。
こうして三角持ち合いが発生した後は、上下のいずれかにブレイクアウトして大きく動き出します。

チャートにあるとおりで、米ドル/円の日足で三角持ち合い(ペナント)が発生し徐々に徐々に値幅が狭まっていっているのが分かると思います。
市場参加者的には「ジリジリしながら大きく動くのを待って、トレードを手控えている状況」になっています。
そして何らかのニュースに乗って一気に上や下にブレイクして動き出します。
それまで手控えていたトレーダー達が一気にトレードを活性化させるため、その動いた方向に伸びやすいです。

まぁたまに、まったくニュースとか関係なしにブレイクしたりもしますけどね(^-^;
まぁブレイク理由は後付けみたいなものなので。

三角持ち合いの上放れで買い!

そして次は三角持ち合いのうち、上辺や下辺が平らでそれに向かって上下どちらかからだけすぼまっていくパターンがこちらです。


そうです、前回の記事と同じですが三角持ち合いが発生しています!
f:id:MoneyReport:20151022070841j:plain

今回は上辺がほぼ水平で、下側が徐々に上に収束していくタイプの三角持ち合いです。
この様に上辺が水平の場合には、実はどちらにブレイクするのかほぼ決まっています。
どちらだと思いますか?


って、まぁチャートに出てしまっていますからアレですが


上辺が水平な三角持ち合いは大抵
上方向にブレイク
します!

この時は上辺が平らだったので、上ブレイク。
下辺が平らなら、下ブレイク。

と、相場は決まっています。
もう狙いやすさや、さきほどの上下両方からすぼまるよりも簡単です(^-^)v

まぁ、この時は上ブレイク後にすぐに失速して失敗になってはしまったのですが(;_;)

どのくらいの値幅をブレイクして伸びるかは、その時々によるので一概には言えませんが、いずれにしてもどちらか一方向に動くのが確定しているのは非常に狙いやすいです。

EAで三角持ち合い

なので、この三角持ち合いをEAで実装して作ることが出来れば良いのかな、と。
そして自動で三角持ち合いを見つけて教えてくれるプログラムが作れれば、後はシグナルが来た時にブレイクした方についていくだけで簡単に利益を上げる事が出来ます(^-^)v

後は、三角持ち合いを実装するアイデアを考え付けばよいだけ。
チャートの足情報を20本くらい遡ってみていけば、案外簡単に実装できそうな気はしますが、いかんせんEA開発言語「MQL4」に関しては初心者なもので(^o^;

もうちょっと勉強してから作ってみたいと思います(^o^)/

MT4を使った半自動トレードで130pips獲得!

夏枯れ相場の終焉

為替相場は、今週は夏枯れ相場明けの活発な取引の行われる週と相成りました。

市場参加者達が激減し、為替変動が限定的になったり、または普段よりもちょっとした事で相場が動いてみたりします。


普段よりも市場参加者が減ることにより、相場の形成が普段よりも少ない人数(少ない金額)で行われる事による弊害ですね。
大抵はチャートが大きく動く事が減り、あからさまに相場が停滞するので
夏枯れ相場
と呼ばれたりもします。


夏枯れ相場は終わり!実りの秋相場へ(^-^)/ - マネー報道 MoneyReport

バカンス明けのヨーロッパの機関投資家達がトレードに復帰したことで、本来の市場の動きに戻りました。
そして、下半期の投資開始ということで早速大きめの動きが出てきました。

春から夏にかけては、イギリスのEU離脱ショックがあったりして、どちらかというとリスクオフの相場向きとなっていました。
しかし、その反動か今週の動きはリスクオンの相場向きとなり、安全資産として買われていた日本円が売られ、アメリカの早期利上げ観測も出て一気にドル高・円安へ!

下記チャートは米ドル/円の日足チャートです。
f:id:MoneyReport:20160903164941p:plain
今週の値動き(右端の5本分)が一気に上向きになっているのが見て取れると思います。

アメリカが利上げすれば、日本の低金利との差が広がり米ドルが買われ、円が売られる「円安・ドル高」が発生します。
9月利上げを織り込んだ市場の動きとなってきています。

MT4の半自動トレード

で、今週から本気出したので一気にMT4の自動売買プログラムであるEAをコンパイルして自分のトレードスタイルを、プログラムが勝手にトレースして

「買い時だよ!(or 売り時だよ!)」

と教えてくれる様にしました(^-^)v
詳しい方法は下記に。

で、このEAトレードシグナルが早速出まして、「NZドル/円が買い時だよ!」と知らせてくれました。
当初はデモトレードで行うつもりでしたが、スマホに入っていたMT4で少額トレードする事にしました(^-^;

トレードシグナルが出てから1時間後くらいに気付いたので、タイミング的には少々遅れましたが、まぁ許容範囲だったのでNZDJPYを「74.655」で買いました!
EAはその後10pips程度の利益確定で終わりましたが、日足チャートとかも見ると大きな上昇相場のスタート地点だったために、手動トレードの方はそのままポジションを保有しいていまして、昨夜のアメリカ雇用統計発表で大きく動いたところで決済!
「75.955」で決済することができました!
f:id:MoneyReport:20160903164123j:plain

130pips取り!

久々に大きく利益を取る事が出来ました(^-^)/

まぁ少額なので大した金額ではないですが、大切なのはそうしたMT4とEAを使った半自動トレードを使って利益が出せたという事です。
MT4を使うことで相場分析をプログラム任せにする事でかなりの省力化が図れました!

今後のトレードも期待大です(^-^)/

おまけ

ついでに、円安トレンドはNZドルだけではなくて、日本円とのペア通貨が軒並み上昇基調にありました。
そこで、こちらは大いに乗り遅れた感はありますが「ユーロ/円」の通貨ペアも買ってみました!

EURJPYのチャート。
f:id:MoneyReport:20160903164234j:plain

米国の雇用統計が市場予想よりも弱かったですが、相場全体としては「円安に持っていきたい!」という思いが強いのが見て取れたので、そのまま保持しています。
この後、長期移動平均線の水色の線(118付近)まで上げそうな感じなので、そこまで行ったら嬉しいな、と。

また、長期移動平均線をブレイクして上昇するならば、さらに「買い」のタイミングになるので、MT4の半自動トレードのシグナルが出た場合には再びトレードしてみたいと思っています(^-^)v

まずはMT4の半自動トレードが初回うまくいったご報告でした!

FXでEA通知をスマホで受け取り裁量トレードする方法!

EAが1日に動作する回数

FX(外国為替証拠金取引)で自動売買するとなると、やはりMT4(メタトレーダー4)を利用するのが一般的かと思います。
MT4の自動売買プログラムを「EA」(エキスパートアドバイザー)と呼びます。
有料・無料の各種EAが世に出回っていますが、プログラムを書ける人間としては、やはり自分で書いたオリジナルのEAが欲しくなるというもの(^^)v

EAを開発するのには「MQL4」と呼ばれるC言語に似た開発言語でソースコードを書く必要があります。
PHP言語を書ける私が見てもMQL4のソースコードは普通に読めます(^-^)
if文やloop文はごく普通です。
違うのは、独特のTick単位(トレードの最小時間単位)で動作するという部分。
Tickは大体1秒毎とかの感じですかね。
チャートが大きく動く時はTickは1秒よりも短い単位で何度も発生しますし、チャートがほぼ動かない時はTickは1秒よりも長い単位でしか発生しません。
要はTickとは値動きがあった時に発生する動作になります。

仮に1Tickが1秒毎に発生するとして1日に何Tickになるのか計算してみると・・・

 1Tick × 60秒 × 60分 × 24時間 = 86,400Tick/日

となりまして、1日に86,400Tickにもなります!
MT4で作るEAというのはこのTick単位に動作しますから、EAは1日に86,400回とかも呼び出される事になります!!!

凄い回数呼ばれますね(^-^;

このバンバン呼ばれる中で「どう振る舞うか?」をコードで書いて行く必要があります。
ちょっと特殊な感じですね。
EAのプログラミングって。

スマホへの通知

で、実際のMQL4のプログラミングは勉強中なので、まだまだモノになっていませんが、参考にさせてもらっているブログに掲載のソースコードをコンパイルしてみました(^-^)v

そして、そのEAのトレードシグナルを元に裁量トレード(手動トレード)をしたいと考えていまして、その手順を昨日は書いてみました。
手順は下記になります。

ただ、実際にどう設定するのかが見えにくかったので、今日はこの辺を掘り下げてみたいと思います。

【EA注文をシグナルとしてスマホ通知を受け取る手順】

  1. デモ口座のパソコン版MT4にトレードシグナルEAをインストールする!
  2. 他のEAの動作を止める!
  3. スマホにスマホ版MT4をインストールする!
  4. パソコン版MT4の「スマホ通知」にスマホ版MT4のMetaQuotesIDを登録する!
  5. パソコン版MT4のトレードシグナルEAを稼働させる!
  6. EAの売買シグナルをスマホで受け取る!
  7. 裁量トレードをする!


手順の詳細を見ていきましょう(^-^)/

1.デモ口座のパソコン版MT4にトレンドブレイクEAをインストールする!

スマホのMT4はEAが動きませんから、パソコン版のMT4にEAをセットします。
また今回使うEAは自動売買をさせたいワケではなくて、あくまでもトレードシグナルとして受け取りたいので、リアル口座を使わずにデモ口座を使ってEAを動作させます。

2.他のEAの動作を止める!

この手順を行うと「全ての売買注文」が通知される様になります。
なので、多注文を行う事の多いEAではスマホに通知がバンバン来てしまう事になります(>_<)
関係ない通知は受け取りたくないので、対象となるデモ口座を稼働させるMT4では、通知対象のEAだけを稼働させて、その他のEAは全て削除して動作しないようにしましょう(^-^)/

3.スマホにスマホ版MT4をインストールする!

普段使いのスマホにiPhone版MT4かAndroid版MT4をインストールしましょう。

iPhone版MT4

MetaTrader 4

MetaTrader 4

  • MetaQuotes Software Corp.
  • ファイナンス
  • 無料

Android版MT4
play.google.com

4.パソコン版MT4の「スマホ通知」にスマホ版MT4のMetaQuotesIDを登録する!

パソコン版MT4の「ツール」→「オプション」→「通知機能」を選びます。

f:id:MoneyReport:20160831134652j:plain

「プッシュ通知機能を有効にする」にチェックONして、「トレード処理を通知する」にもチェックONします。
そして「MetaQuotesID」欄にスマホのMetaQuotesIDを入力します。

スマホ版MT4を開いて「設定」→「メッセージ」を開くと、下部に8桁のMetaQuotesIDが書かれていますので、これを書き移せばよいです。

f:id:MoneyReport:20160831135134j:plain

ここまでセットできたら、MetaQuotesID欄右横の「テスト」ボタンを押してスマホ版MT4に通知が来るかどうか確認しておきましょう。

5.パソコン版MT4のトレンドブレイクEAを稼働させる!

パソコン版MT4でトレードシグナルが欲しい通貨ペアをチャート表示させます。
そして対象EAを稼働させましょう(^-^)v

f:id:MoneyReport:20160831132624j:plain

設定はここまでで完了です。

6.EAの売買シグナルをスマホで受け取る!

後はEAが売買注文を出すと、スマホに通知が届きます!
届いた通知はスマホ版MT4の「設定」→「メッセージ」→「デモ口座の口座番号」を選ぶと中身を確認する事ができます。

f:id:MoneyReport:20160831133509j:plain

上の図で届いたのは一番下の吹き出しがそうです。
xorder opened #7189057 buy 0.10 NZDJPY at 74.618 sl:74.247 tp:77.031, MABreakout 10:00」というのが届いた内容。
「NZDJPYを買ったよ!10時だよ!」との事で
そしたらスマホ版MT4でチャートを確認します。
自分の目で「トレードすべきか?」または「スルーすべきか?」を判断します。

7.裁量トレードをする!

「絶好のタイミングだ!トレードする!」となった場合には、裁量トレード(手動トレード)をしてトレードエントリーします!

ただ、これも自信がつくまではリアル口座で行わず、デモ口座で試してみるのが良いと思います。

しばし仮運用

と、EAをトレードシグナルとしてスマホで通知を受け取り裁量トレードする手順を見てきました。
まだ昨日から運用開始したばかりで、実際のトレードシグナルが来たのはNZDJPYに1度きただけになります(^-^;

また夜、寝ている時にスマホ通知が来るのは寝不足になって嫌なので、夜は通知が来ないように条件を追加しました。
MT4は日本時間と比べて時差が+6時間ありますので、この時差分を勘案して自分の起きていてトレード可能な時間だけ通知が来るようにします。

たとえば私の場合だと「朝9時から夜24時」まではトレード可能なので、これを条件に追加します。
コードで書くと「(Hour() >= 3 && Hour() < 18)」

void OnTick()
  {
   if(OrdersTotal() == 0 && (Hour() >= 3 && Hour() < 18))
   {

   }
    
   if(OrdersTotal() > 0 && (Hour() >= 3 && Hour() < 18))
   {

   }
  }   

これで深夜にMT4に叩き起こされる心配はなくなりました(^-^)v
まぁ、決済注文も夜中は動かなくしましたから、デモ口座の投資資金は酷いことになるかもしれませんが、まぁデモのお金なので気にしないと言うことで(^o^;

これを2週間程度運用してみて、うまく行くようなら、そのご裁量トレードの口座をデモ口座からリアル口座に変えて利益を出せる様に頑張ってみたいと思います(^-^)/

PHP開発雑談

PHP開発

本日はPHP開発のお仕事の雑談なんかをば久々に。

多分、私が行っているPHPの開発は普通に業務開発でPHPを書いている人達からすると怒られるような話です(^-^;

最近は色々とバタバタしていまして、なかなかまとまった開発時間が取れなくて細切れでチョコチョコと開発していました。
開発言語は「PHP」と呼ばれるWebサーバー上で開発する言語になっていまして、Web言語初心者の私でもなんとかついていって開発出来る、割と枯れた技術に入る部類かな、と思っています。
PHPはかなり昔から普及している言語ですし、古い言語なのでサンプルとなるソースコードも探せばわんさか出てきますし、特段Frameworkとかも使わなくても処理が結構早い(最近では)言語なので、ちょっとしたWebサイトやWebサービスであれば簡単に書くことが出来ます。

私もサブブログの方で2年前に勉強したのがベースとなって現在、主流の開発言語として利用させてもらっています。
サブブログでPHPを勉強した軌跡は下記に。

凝ったことをしないのであれば、簡単に実装できるので初心者にも割とお勧めの言語なのではないかと感じています。

まだまだ

とはいえPHPはまだまだ「書ける」だけで「全然慣れていない」のは事実だったりします。
まだまだ基礎的な関数とかもあまり頭に入っていないですし、処理を書く時もいちいち「PHP逆引きレシピ 第2版」で調べながら書いています(^-^;

PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE)

PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE)

私はフリーランスをやっていまして、在宅ではなくて近所のオフィスを格安で間借りさせて頂いて、そこで自分で企画したWebサービスの開発とかをやっています。
その間借りオフィスでは「PHP逆引きレシピ」みたいな分厚い開発向け参考書を置いておくと

「こんな分厚い本がないと開発できないものなの?」

と色んな人に言われます(^-^;

PHP逆引きレシピで厚さが5cmくらいはあるので、ちょっとした国語辞典並みの分厚さなので、そう聞かれるのでしょう。

「はい。これがないと開発がスムーズに進まなくなる事があります」

と答えていますが、手に取って開いてみる人もいて

「あ~、ダメだ。こんな小さな文字で英語みたいなのばっかり書いてあって分からん(>_<)」

と言われたりします(^-^;
まぁプログラムコードはパッと見は英語みたいなものですからね~。
さらに細かい記号もいっぱい使いますし(^o^;

なかなかIT関係じゃない方達からは

「プログラムを書く仕事は特殊な仕事だな~」

という印象を持たれる事が多いです。

土日もお仕事

また全然別件の話になりますが、フリーランスになってから曜日感覚がおかしい事になっています(^-^;
まぁもう1年半以上フリーランスとしてやってきたので

「こんなものかなぁ」

というのもありますが、本日土曜日も普通に仕事をしています。
明日の日曜日も仕事です(^-^;

まぁその代わり平日に休みを取っているので週5日間働いて、週2日間休むというのをサイクルとして過ごしています。

平日に休みを取る色んな所が空いていますし、役所や銀行なども平日の昼間に普通にいけるので便利です(^-^)v

なので土日に仕事に行こうとして車に乗ると

「今日は道がずいぶん混んでいるなぁ」

と思っていたら、土曜日や日曜日だったという具合です。
あんまり「今日は何曜日」とかって意識がなくなっちゃいました(^o^;

などと取り留めもない話を書いてきましたが、今日は土曜日ですか。

ようやく気合を入れて開発が出来る時間が取れたので、明日も頑張って現在手掛けているWebサービスをガシガシ作りこんでいきたいと思います(^-^)/

クラウドストレージに毎月自動バックアップ!EaseUS Todo Backupを使って♪

Todo Backup Workstation

有償ソフトである「Todo Backup Workstation」(4,980円)を無料で試す機会を頂きまして、その第二回目の記事になります。
第一回目の記事は下記に。

前回は「Todo Backup Workstation」をWindows10にインストールしたところまででした。
今回は実際にバックアップをしてみたいと思います(^-^)v

ローカルにバックアップ

まずはソフトウェアを起動してみましょう。
起動直後はこんな感じ。
f:id:MoneyReport:20160825172631j:plain
イマイチ何をすれば良いのか分かりにくいです(--;

オンラインヘルプを見てみますが、イマイチ明快な回答が出てきません(>_<)

製品紹介ページの「操作ガイド」をクリックしてようやく基本的な使い方が載っていました。

企業向けの最高のバックアップソフト - EaseUS Todo Backup enterpriseの操作ガイド

最初は「+ 新しいタスク」ボタンを押して、バックアップを行うためのタスクスケジュールを組むことから始めるのが正しい使い方の様です(^-^;
ちょっと、とっつきにくいソフトですね(-_-;

まぁ気を取り直して使ってみましょう。
+ 新しいタスク」ボタンを押して、バックアップ画面を表示します。
f:id:MoneyReport:20160826154753j:plain
上部に「ディスク/ボリューム」、「ファイル」、「メール」、「Exchangeデータベース」、「Exchangeメール」の5つが選べますが、Workstationのバージョンで使えるのは「ディスク/ボリューム」、「ファイル」、「メール」の3つだけです。
フルバックアップまでは私は必要ないので、「ファイル」を選んで、個別の開発資料関係やソースを格納したフォルダを選択しました。
「実行」ボタンを押してバックアップを実行します!

すぐさま、裏でバックアップが開始されましたが、特段Windowsの処理が重くなるとかはなくて、裏で静かに目立たずバックアップをやってくれている感じです。
f:id:MoneyReport:20160826155158j:plain
この辺のユーザーに優しい部分は良いですね(^-^)v

クラウドストレージにバックアップ

続いて、やりたかった「データをクラウドまでバックアップ」に挑戦です!
これもなかなかやり方が見付けられなくて、Google先生に聞いてようやく情報を見付ける事ができました(^o^;
この辺の情報の検索しやすさをEaseUSのHPでは改善していかないと、あまり売れないんじゃないかな、と(-_-;

ファイルやメールをクラウドまでバックアップする方法

で、結局は「ファイル」の時にクラウドストレージ上にバックアップする事ができるのが分かりました。
f:id:MoneyReport:20160826155539j:plain
タスクの追加から出てきたバックアップ画面の「参照」ボタンを押すと上記の画面が表示されます。
この下方にある、「クラウドデバイス」を選んで、「クラウドストレージサービスを追加」を選びます。

すると「追加するクラウドドライブを選択」画面が出てきまして「DropBox」、「GoogleDrive」、「OneDrive」の3つの中から選ぶことが出来ます。
f:id:MoneyReport:20160826155745j:plain

今回は私は「GoogleDrive」を使ってみる事にしました。
GoogleDriveは現在17GB使う事が出来ます。
f:id:MoneyReport:20160826155909j:plain

もっと拡張してクラウド上に大量データをバックアップしたい場合には、毎月お金を支払う事で大容量ストレージを手に入れる事が出来ます。
f:id:MoneyReport:20160826160017j:plain
安い方では「100 GB 250円/月」、「1 TB 1,300円/月」で使う事が出来ます。
まぁ今回はクラウド上にまでバックアップするデータを絞って17GB以内で済むようにしてみたいと思います(^^)v

先ほどの「追加するクラウドドライブを選択」画面で「GoogleDrive」を選んで、GoogleDrive側で認証してあげると、ブラウザ上に下記のメッセージが出てクラウドストレージをEaseUS Todo Backupから使う事ができるようになります。

Authorization success. Please return to EaseUS Todo Backup to continue creating backup.

そして画面に戻るとGoogleDriveのフォルダが使える様になっていました(^-^)v
f:id:MoneyReport:20160826160159j:plain

毎月1回、クラウド上にバックアップを取る設定にしてみました。
f:id:MoneyReport:20160826160347j:plain

来月からクラウドバックアップが自動実行されます(^-^)v
f:id:MoneyReport:20160826161026j:plain

と、バックアップ機能はローカルバックアップとクラウドストレージへのバックアップを普通に行うことが出来ました!
これで、開発環境のバックアップが多少良くなったかな、と。
もう少し計画的なバックアップを考えて取り組んでいきたいと思います。

【PR】Todo Backup Workstationをインストールしてみる!

HDD→SSD換装の記事から

今年のGWにSSDの投げ売りがあったので240GBのSSDを購入して、古いWindows7のノートパソコンのHDDをSSDに換装させました(^-^)v

HDDの中身をそのまんまSSDにクローンコピーしたのですが、その時に使ったのが「EaseUS Todo Backup Free」というフリーソフトでした。
フリーですが、HDD容量よりも少ないSSDへのクローンも可能で高性能で非常に助かりました。

そんなSSDへのクローン記事が最近は当ブログの人気記事なのですが、そしたらばEaseUS Todo Backupを作っている会社の方から連絡を頂き

「上位互換のTodo Backup Workstationの記事を書いて頂けないか?もちろんツールは無償提供します。」

との事でバックアップツールのビジネス向けのバージョンである「EaseUS Todo Backup」を試す機会を頂けたのです(^-^)v

Todo Backup Workstation 9.2

縁あって有料のバックアップツールを使わせてもらえる事になって、これは案外願ったり叶ったりだったりします。
私は自宅のデスクトップパソコンでプログラム開発を行っていまして、このパソコンが壊れたりデータが消失する様なことがあると被害甚大になります(>_<)

「何かしらのバックアップ体制を取っておかないと本気で困るよな~」

とは思いつつもずっと放置してきました(^o^;
今回のこのバックアップツールについてはまだ詳しく知りませんが、どうもクラウド上にパソコンのOSを含む全データをバックアップする事が可能な様なので、これで天変地異が起きてパソコンがお釈迦になったた時でも、後から復旧する事が出来るというもの(^-^)v

使わせてもらえるツールは下記のもの。

Todo Backup Workstation 9.2
トゥドゥ · バックアップ · ワークステーション


ノートパソコン、パソコン及びワークステーション向けの高機能のバックアップソフト。重要なデータをバックアップし保護する同時に、時間を節約し、仕事の効率を向上させます。


EaseUS®企業・業者向けバックアップソフト - EaseUS Todo Backup 企業版

下図の中の一番左のバージョンが今回試す事が出来るもの。
f:id:MoneyReport:20160825171416j:plain
ビジネス向けのバックアップ製品の中では一番安いものですが、4,980円するんですね(^-^)v

1台分購入しても良いですし、複数台かうと割引が受けられるようです。
f:id:MoneyReport:20160825171511j:plain

「Todo Backup Workstation」を使うとどんな事が出来るのかというと、こんなこと。
f:id:MoneyReport:20160825171630j:plain

【Todo Backup Workstationで出来ること】

  1. システムバックアップ
  2. ディスクイメージバックアップ
  3. ファイルバックアップ
  4. Outlookのバックアップ
  5. 多種類のバックアップに対応
  6. 多彩な記憶装置までバックアップ

バックアップ関連のやりたそうな事がほとんど網羅されている印象ですね(^-^;

リカバリ機能としては以下の事が出来るそう。

【Todo Backup Workstationのリカバリ機能】

  1. システムリストア
  2. システム移行
  3. 選択的なファイル復元
  4. 柔軟性のあるディスク復元
  5. Outlookの復元

また、当然ですが、Freeでも出来たHDDやSSDのクローンも、もちろん出来る様です(^-^)v

【Todo Backup Workstationの特別なメリット】

  1. 移行とクローン
  2. イメージファイルの確認
  3. 仮想マシン対応
  4. 中央管理
  5. バックアップファイルを手軽に管理
  6. GPT/UEFI対応
  7. 最新のHDD標準と互換性を持つ

Todo Backup Workstationのインストール

まずは無料ダウンロードからダウンロードしてみます。
f:id:MoneyReport:20160825171546j:plain

「tbw_trial.exe」というファイルがダウンロードできました。

ファイルを実行するとインストーラが起動しました。「日本語」を選びます。
f:id:MoneyReport:20160825171739j:plain

規約の確認です。OKで進みます。
f:id:MoneyReport:20160825172104j:plain

「中央管理で制御するか?」というのを聞かれましたので、せっかくなので使ってみます(^^)v
f:id:MoneyReport:20160825172125j:plain
ユーザー名とパスワードを入力して「次へ」。

インストールフォルダを聞かれます。問題なければ「次へ」。
f:id:MoneyReport:20160825172226j:plain

追加タスクの選択は「ユーザーエクスペリエンス向上プログラムに参加」のチェックを外して「次へ」。
f:id:MoneyReport:20160825172249j:plain

個人データの保存先を聞かれますので、良いフォルダを選んで「次へ」。
f:id:MoneyReport:20160825172400j:plain

インストールが始まりました。
f:id:MoneyReport:20160825172439j:plain

インストール完了!
f:id:MoneyReport:20160825172455j:plain

デスクトップ上に作られたアイコンをダブルクリックして起動!
f:id:MoneyReport:20160825172509j:plain

頂いたライセンスコードを入力して「ライセンス認証」。
f:id:MoneyReport:20160825172531j:plain

認証完了!
f:id:MoneyReport:20160825172615j:plain

起動直後の画面はこんな感じ!
f:id:MoneyReport:20160825172631j:plain

明日以降、使ってみての感想をアップしていきたいと思います(^-^)v