2015年6月18日木曜日

Gewinn2だけじゃなくすべてのEAでパソコン時間は重要です。時刻同期の注意点

220px-BahnhofsuhrZuerich_RZ.jpg

Gewinn2では、内部でTimeGMT()というMQL4関数を使用しています。
TimeGMT()標準時を取得する関数です。
Gewinn2では、アメリカ夏時間等は自動判断して、雇用統計タイミングを避けたりしています。
また週末ポジションをクローズする際も使用しています。

この関数、どうやって標準時を取得しているかというと、動作しているPCのタイムゾーンと現在時刻から取得しています。

ですので、正しくPCの時間を設定しないと、動作がおかしくなります。Gewinn2では5分以上ずれるとポジションが取れなかったり、おかしな時間にクローズします。

TimeGMT関数ですが、EAではかなりよく使われる関数と思われます。そのためGewinn2だけではなく、EAを動かす場合、PCの時間が正しいか注意しましょう。また、インターネット時刻サーバと同期しているかも確認しましょう。

次はMicrosoftのインターネット時刻サーバーと同期するヘルプから抜粋しました。
http://windows.microsoft.com/ja-jp/windows/set-clock#1TC=windows-7


インターネット時刻サーバーと同期する
コンピューターの内部時計をインターネット時刻サーバーと同期することができます。つまり、時刻サーバーの時計に合わせてコンピューターの内部時計を更新し、コンピューターの内部時計を正確に維持できます。通常、コンピューターの内部時計は 1 週間に一度更新され、同期を実行するためにインターネットに接続する必要があります。


コンピューターがドメイン上にある場合は、内部時計をインターネット時刻サーバーと同期させることはできません。

[日付と時刻] を開くには、[スタート] ボタン [スタート] ボタンの画像、[コントロール パネル]、[時計、言語、および地域]、[日付と時刻] の順にクリックします。

[インターネット時刻] タブをクリックし、[設定の変更] をクリックします。 管理者のアクセス許可が必要です 管理者のパスワードまたは確認を求められた場合は、パスワードを入力するか、確認情報を提供します。

[インターネット時刻サーバーと同期する] の横にあるチェック ボックスをオンにし、時刻サーバーを選択して、[OK] をクリックします。



通常はデフォルトでONになっているかと思います。しかしこの同期、問題があります。なんと日曜日の夜にしか確認を行いません。日曜日も含めて稼働している場合にはあまり問題になりませんが、日曜日はサーバを止めている場合などはじわじわと時計がずれていくことになります。

そこで、時計の更新タイミングを毎日1回に変更する方法です。
Windows7以降で有効です。

��.タスクスケジューラを起動します。スタートメニューのプログラムとファイルの検索に「タスク」と打つと出てきます。
タスクスケジューラ1.PNG

��.SynchronizeTimeタスクを選択します。
Microsoft→Time Synchronizationフォルダ内に含まれています。
タスクスケジューラ2.PNG
タスクスケジューラ3.PNG

��.プロパティを開き、トリガータブの編集ボタンを押します。
タスクスケジューラ4.PNG
タスクスケジューラ5.PNG

��.毎日を選択して、あとはOKボタンを押してプロパティを閉じます。
タスクスケジューラ6.PNG
一定時間しかPCを起動しない場合などは、起動している時間帯に時間を変更しておきましょう。

Windows7より前のOSはWindowsTimeサービスによる更新となっています。Windows7から常駐サービスではなくて、定期起動のタスクとなりました。メモリ節約の為です。WindowsTimeサービスを起動する設定に戻す方法もありますが、普段は無駄なため、タスクの起動時間を短くした方が良いでしょう。

 ドメイン環境下の場合、時計はドメインサーバに依存します。時間がずれている場合はドメインサーバの時刻を正しく取るようサーバ管理者にお願いしてください。弊社みたいにEAのテストを自社サーバでも行っているような場合ですねー。

では皆様良いEAライフを! 最後に宣伝です!

2015年6月17日水曜日

Gewinn2販売開始! 先着10名様9800円!

#2015/11/10 すみません・・なんだかページビューがあるのですが、Gewinn2君、お恥ずかしいことにあまりフォワードの成績がよくありません。 穴があったら入りたい気分です。 Money Box-100.jpg
無事EA Gewinn2が販売開始されました!!


初期導入者様向け先着10名様に9800円でご提供します!
不明な点、動作が分からない点ありましたら、ご質問ください!

Gewinn2はEURUSD専用のEAとなります。

��.トレンドブレイクをシグナルとしてポジションを取ります。
��.基本1ポジションを取ります。ただし、短期間両建てになります。
��.勝率は30%台で、細かく負けて大きく勝つ事を目標にしています。
  早めの損切で損失を限定しています。
  さらに発注時にリミットを設定することで不慮の事態にも対応します。
  リミットは30pips~80pipsの間でATRを見て変動させます。
��.15分足を基本に5分足で取引します。バックテストは5分足で実施してください。
  ポジションの発注は5分毎の確定値で行います。
��.最大24時間ポジションを保持します。週末にはポジションをクローズします。

ポジション数を基本1に限定することで、少ない資金から運用できることを目標にしました。EAならではの早めの損切を行っています。そのため、現在のように(http://fx-on.com/account/once.php?i=10317&mi=0)短期間でみると少し下がり気味でスタートすることもありますが、長く運用していると大きく取れるタイミングで取り戻す、逆コツコツドカン型の変わり種EAとなります。皆様のポートフォリオに変わり種EAとして取り入れていただければ幸いです^^

FXDD社データによる5年間のバックテストは次の通りです。
StrategyTester.gif

通貨ペア EURUSD (EUR/USD)
期間 5分足(M5) 2010.01.04 00:00 - 2015.06.11 23:55 (2010.01.01 - 2015.06.12)
モデル 全ティック (利用可能な最小時間枠による最も正確な方法)

テストバー数 402651 モデルティック数 84741992 モデリング品質 90.00%
不整合チャートエラー 0

初期証拠金 10000.00 スプレッド 15
総損益 7643.20 総利益 25137.10 総損失 -17493.90
プロフィットファクター 1.44 期待利得 5.71
絶対ドローダウン 2.50 最大ドローダウン 477.50 (4.51%) 相対ドローダウン 4.51% (477.50)

総取引数 1338 ショートポジション(勝率%) 840 (30.24%) ロングポジション(勝率%) 498 (35.74%)
勝率(%) 432 (32.29%) 負率 (%) 906 (67.71%)
最大 勝トレード 300.00 負トレード -80.00
平均 勝トレード 58.19 負トレード -19.31
最大 連勝(金額) 5 (204.50) 連敗(金額) 11 (-79.30)
最大化 連勝(トレード数) 394.90 (2) 連敗(トレード数) -275.50 (7)
平均 連勝 1 連敗 3

負けトレードと勝トレードの平均金額に着目すると2.5倍強を取りに行っています。これが勝率30%台でも+になる秘訣です。

また、来週よりOANDA JAPANのプロコースにてリアル運用を開始予定です。(手続きのミスで、口座開設が来週になってしまいました・・・・)こちらもみんなのMT4で公開予定です!

2015年6月16日火曜日

自作EA Gewinn2の一週間


稼働直後は相場状況が合わず、細かい損を重ねていましたが、2回ほど買って少し取り戻しました。

このEAは、勝率が3割と低めです。そのため細かく負けますが、大きく取るという事を目標にしています。リアルトレード開始直後にストップに引っかかって取れなかったタイミングがいきなり2回ほどありました。
ATRが高い状態でポジションをとると早めに損切ラインに引っかかってしまう事が分かっていたのですが、リスクを抑えるためにあえて固定リミットを採用していました。

その後あれこれ調整して、ATRを見てリミットを変動してもドローダウンが増えない形を実装できましたので、実装したバージョンでリリースしています。

FX-ON様ので販売開始前ですが、販売開始後は、初期ユーザ様向けに大幅な値引きを予定しています。フォワードテストが通るまでしばしお待ちください。


2015年6月15日月曜日

VPS VS 自宅PC 24時間稼働PCの故障率は年3割?平均故障間隔からみたメンテナンスコストとリモートデスクトップ設定

Datacenter-telecom.jpg
いやー。FX-ONさんにてVPS VS 自宅PCの議論が熱いですね。

私の意見としては、常時稼働を前提とするサーバーで自宅運用とか絶対なしと思っているタイプです。なぜそう思うのかというとサーバーを運用しているからです(滝汗
自分でサーバーとか運用する気は全く起きませんが、仕事なら仕方がありません。小さな会社ですが、NASx1、DCx2、Webx1、コード管理x1と5台のPCベースのサーバと10台ぐらいのPCを管理しています。

PCはどの程度で故障するのでしょうか?自社のデータから算出したいと思います。
私が運用している環境で、よく故障する部品は下記の順番です。
HDD
電源
ファン
マザーボード

HDD、ファン、電源は回転するモーターがついている物です。
マザーボードは電解コンデンサがダメになって壊れます。

ということで、リアルな運用結果から、平均故障間隔(MTBF)と故障確率を計算したいと思います。
15台のPCには20台のHDDが稼働しています。うち10台は1日平均6時間、その他は24時間稼働しています。去年は2台のHDDが故障しましたので、MTBFは(6 * 10 + 24 * 10) * 365 / 2 = 54750時間となります。大体6年です。

同様に他の項目も計算します。
電源1台/年 MTBF 109500時間
ファン1台/2年 MTBF 131400時間
マザーボード1台/2年 MTBF 131400時間

初期不良と寿命を除くと機械故障は、ほぼ正規分布になります。その場合の指定期間の故障しない確率を求めるにはExp(-t/MTBF)で求めるそうです。
http://eetimes.jp/ee/articles/1207/26/news014_2.html

この計算式に従い1年間に故障しない確率を求めます。
HDD:86%
電源:93%
ファン:94%
マザーボード:94%

さて、これらが組み合わさってPCが出来上がっていますが、これらの数値から、PCが1年間故障無しに動作する確率を計算すると・・。
0.86*0.93*0.94*0.94=0.70 70%です。

つまり30%の確率で壊れます。PCはよく壊れるということが分かる数字かと思います。
��まぁ中には稼働限界を超えて壊れたものもあると思われますので、少し高めに出ている可能性もあります。)

結論としては、そもそもPCは24時間連続稼働を目標に作られていないという事です。

それと比較すると、VPSが稼働しているサーバー機は本当のサーバー機です。各部品のMTBFが一桁違います。
また、サーバ業者では一般的に停止する前に故障に対応します。
VPSが稼働してるサーバーは最低RAID1(※)で運用されています。また冗長化電源といって、1台のマシンに2台の電源がついており、どちらかが故障しても片側運用できるようになっています。それらが稼働中でも交換可能です。これらを管理コンソールで集中管理することで、完全にハードウェアが停止してしまう前に故障部品を交換可能になっています。
��※)HDDミラーリング。2台のHDDを1台とみなして両方に同じデータを書き込みます。片側故障した場合、HDDを交換することで故障した際のリスクを低減できます。

また、トラブル発生時の対応時間にも、かなりの違いがあります。
たとえば、サクラインターネットの場合、障害発生時の平均対応時間は30分程度となっています。
http://support.sakura.ad.jp/mainte/mainteindex.php?service=vps

また、最悪、データセンターの人に再起動してもらえます。自宅PCに対してVPNで接続できるようにしておいても、旅行いってる最中にPCがフリーズしてしまうと、もうどうしようもありません。
個人で24時間この時間内に対応するのは不可能です。

さて、結局VPSと自宅PCで違いが出てくるコストはなんでしょうか?
それはメンテナンスコストです。電気代などのランニングコストもかかりますが、今ではMT4が十分稼働する省電力PCも存在しており、ランニングコストは低減可能です。

では、メンテナンスコストとはなんでしょうか?
��.交換部品代
��.部品交換/トラブル対応時の人件費
��.故障している間、作業が停止することによる損害

の3つから構成されます。年3割壊れる機械の部品代と修理の手間とその間にEAが停止する損害・・・。もちろん、本番運用前のテスト段階では、自宅で運用もありだと思いますが、本格運用を考えるなら、VPSを考慮したほうがよいというのも判っていただけたでしょうか?

さて、それでも自宅PCが良い!という人は、壊れないようにする努力と、壊れた時の対策を常に行っておくことをお勧めします。
■壊れないようにするために
��.信頼性の高いPCを導入する。
 SSDの導入、サーバマシンの導入など
��.UPSを設置する。(こーいうやつです。http://www.apc.com/products/family/index.cfm?id=349)
��.埃ガード付きタップにする。(たまに埃が原因で焼けます)
��.半年に一回は掃除する。

■壊れた時の対策として
��.PCとルータの予備機を準備する。
��.外付けHDDをつなぎ、Windowsバックアップを定期起動する。(https://support.microsoft.com/en-us/kb/2666277/ja)

・・・書いていて、ここまでするなら、VPSでいいじゃんとかやっぱり思ってしまいました。
逆ですね。きっと。
・余りPCをサーバとする。
・余りPCが壊れたら主PCをサーバにして自分用に新しく買う。
・壊れてEA止まっても年1万円損ぐらいまでならコストとして割り切る。
 ぐらいな気持ちで自宅PCは運用するのがよさそうです。きっとEA稼働で儲かって本格的にやり始めると、EA停止時のコストが2万で済まなくなるので、そのラインでVPSに切り替える。

 余談ですが、VPSが不安定な場合、業者側のサポート体制の問題があります。安定性を重視するなら、過去のメンテナンス情報を参考にして、どの程度でリカバリーしてもらえるのかを確認してましょう。
・サクラインターネット
http://support.sakura.ad.jp/mainte/mainteindex.php?service=vps
・お名前.com
http://www.onamae-server.com/support/news/past.php?act=2&product_id=4
・つかえるネット
http://www.tsukaeru.net/info/category/maintenance

こうやってみると、ここ数年でWindowsデスクトップ関係はトラブルが少なくなってきているのが分かります。Hyper-Vが安定してきたということかと。大手VPS業者のWindows VPSで、この1年障害はほとんど発生していません。リモートデスクトップ接続が安定だとしたら、自宅のインターネット環境に問題があるかもしれません。
リモートデスクトップ.PNG
リモートデスクトップの設定にて、インターネット回線の太さによって通信品質を変更できるオプションがあるので、ぜひ確認してみてください。設定を変えると早くなるかも?