昨日は三条地ビール祭り。
本日は葵祭の賀茂祭りです。
御所から行列が出るのですが、なぜか御所にカウンタックが集合していたようです。
そして、三条に戻ると檀王法林寺で沖縄フェスティバル
18日は御霊祭、21日は五月満月祭り
う~ん しあわせ♪
そして神様にお願いするのは一つ 今日もよいEAができますようにw
さて、今日はリアルテストをバックテストに近づける為の考察です。
EAのソースコードの中のメイン部分は
void OnTick(){・・・・}
の中にあります。
ティックが動くたびに動作します。
つまり一秒間に何回も動いたり何秒間も動かなかったりします。
まだ、試験中ですがお名前.COM VPS米国設置(NYではなかったようです)と日本設置に差がない結論に落ち着きそうです。
片道100ms(0.1秒)程度の遅れはさほど差がないということかもしれません。
では、なぜエントリーが十秒もおくれるのか?
もしかしたらティックが動かないから待っているのかもしれません。
そこで、OnTimerを考えてみました。
OnTimerは設定した時間ごとに動きます。
TakeProfitやStopLossの可変はOntick() で実行し、エントリーはOnTimer設定一秒にすれば、価格の変更はティックが動くたびに変更、エントリーは一秒ごとに実行ということになります。
エントリーをOnTick()からOnTimerにすることで、時間のずれはともかく1ティック分エントリーが早くなるのはメリットです。
しかしOnTimerはバックテストでは一切動きません(汗)
バックテスト完了まではOnTick()でリアルテスト前にはOnTimer()にするとよさそうですね。
VPS米国 vs VPS日本 vs 家のPC vs FX-ONの結果が出ましたら挑戦してみたいと思います。
2016年5月15日日曜日
EA MAD(MA-TS) VS MADMACD
以前ブルベアとMA-TSの比較をしました。
ブルベアもノリ?が良かったのですがMAはさらに良い成績が出ました。
単純に平均ではなく平均の乖離率をオシレーター使用していますので名前をMADにしました。
少し期間をかえてのバックテストですが、安定していい数字が出ています。
しかし!!!!
勝率が気に入りません。
純益 = (勝率 x 平均価値トレード + 負率 x 平均敗トレード) x 総取引数
ですので一概に勝率だけではないのですが、上げたいのは人の心です。
そこでコンビ―ネーションにします。
RSIの二階建てやMACD+RSIなどよくやる手法なので一通り試すことにします。
↓
完敗です。利益が上がるものはできませんでした。
しかし、気になるものが一点だけ
MAD&MACDです。
勝率は43.16%から46.84%に大幅アップ
平均勝トレードは241から254へ微増
平均敗トレードは-144から―150へ微減
素晴らしい限りですがトレード数が約28,000から2,487へ大幅ダウン
複利システムの場合勝率が非常に重要なポイントになりますが、これではどうでしょうか・・・
平均勝トレードは241から254へ微増
平均敗トレードは-144から―150へ微減
素晴らしい限りですがトレード数が約28,000から2,487へ大幅ダウン
複利システムの場合勝率が非常に重要なポイントになりますが、これではどうでしょうか・・・
#property copyright "Copyright 2016/5/9,TACA"
#property link "http://mt4kyoto.blogspot.jp/"
extern int TSProfit=20;
extern int MAPeriod=5;
extern double MADevision=0.0003;
extern int MAGIC=9;
extern int Spread=4;
extern double Lots=0.1;
datetime TimeOld;
int d,i;
double TSL,OTSL,SL;
double MAD(){return((iMA("",0,MAPeriod,0,0,0,1)-Close[0])/Close[0]);}
double RSI(){return(iRSI("",0,14,0,1));}
double Bands(int Mode){return(iBands("",0,20,2,0,0,Mode,1));}
double MACD(int Mode,int Shift){return(iMACD("",0,12,26,9,0,Mode,Shift));}
void OnTick()
{
TS();
if(OrdersTotal()==0){
if(MarketInfo(Symbol(),MODE_SPREAD)<=Spread){
if(Time[0]!=TimeOld){TimeOld=Time[0];
if(MAD()>MADevision && MACD(0,1)>MACD(1,1)&&MACD(0,1)<0){E(0);}
if(MAD()<-1*MADevision && MACD(0,1)<MACD(1,1)&&MACD(0,1)>0){E(1);}
}}}}
void E(int BoS){
if(BoS==0){TSL=Ask;SL=TSL-TSProfit*Point;}
else{TSL=Bid;SL=TSL+TSProfit*Point;}
d=OrderSend(Symbol(),BoS,Lots,TSL,2,SL,0,NULL,MAGIC,0,0);}
void TS()
{d=OrderSelect(0,SELECT_BY_POS);if(OrderType()==0)
{if(TSL<Close[0]){TSL=Close[0];SL=TSL-TSProfit*Point;}}
else
{if(TSL>Close[0]){TSL=Close[0];SL=TSL+TSProfit*Point;}}
if(TSL!=OTSL)
{OTSL=TSL;for(i=OrdersTotal()-1;i>=0;i--)
{d=OrderSelect(i,SELECT_BY_POS);
d=OrderModify(OrderTicket(),OrderOpenPrice(),SL,0,0,0);}}}
#property link "http://mt4kyoto.blogspot.jp/"
extern int TSProfit=20;
extern int MAPeriod=5;
extern double MADevision=0.0003;
extern int MAGIC=9;
extern int Spread=4;
extern double Lots=0.1;
datetime TimeOld;
int d,i;
double TSL,OTSL,SL;
double MAD(){return((iMA("",0,MAPeriod,0,0,0,1)-Close[0])/Close[0]);}
double RSI(){return(iRSI("",0,14,0,1));}
double Bands(int Mode){return(iBands("",0,20,2,0,0,Mode,1));}
double MACD(int Mode,int Shift){return(iMACD("",0,12,26,9,0,Mode,Shift));}
void OnTick()
{
TS();
if(OrdersTotal()==0){
if(MarketInfo(Symbol(),MODE_SPREAD)<=Spread){
if(Time[0]!=TimeOld){TimeOld=Time[0];
if(MAD()>MADevision && MACD(0,1)>MACD(1,1)&&MACD(0,1)<0){E(0);}
if(MAD()<-1*MADevision && MACD(0,1)<MACD(1,1)&&MACD(0,1)>0){E(1);}
}}}}
void E(int BoS){
if(BoS==0){TSL=Ask;SL=TSL-TSProfit*Point;}
else{TSL=Bid;SL=TSL+TSProfit*Point;}
d=OrderSend(Symbol(),BoS,Lots,TSL,2,SL,0,NULL,MAGIC,0,0);}
void TS()
{d=OrderSelect(0,SELECT_BY_POS);if(OrderType()==0)
{if(TSL<Close[0]){TSL=Close[0];SL=TSL-TSProfit*Point;}}
else
{if(TSL>Close[0]){TSL=Close[0];SL=TSL+TSProfit*Point;}}
if(TSL!=OTSL)
{OTSL=TSL;for(i=OrdersTotal()-1;i>=0;i--)
{d=OrderSelect(i,SELECT_BY_POS);
d=OrderModify(OrderTicket(),OrderOpenPrice(),SL,0,0,0);}}}
2016年5月13日金曜日
VPS借りてみました!!
無料のお試しでVPSを借りました。
借りたのはOANDAから二カ月無料の「お名前.COM」国内
そして「お名前.COM」NewYork サーバー 15日無料
比較するのは、FX-ONのフロントテスト(OANDA社)
自宅のEPSONのNP-30S(ウルトラロースペックPC)
そしてバックテストです。
結果は後日ですがAMSERで比較します。
FX-ONのフロントテストはOANDA社という以外詳細不明です。
お名前.COM 国内はMT4 一枚
お名前.COM NYはMT4 三枚
自宅PC MT4 八枚
バックテストは全ティックを予定していますが始値も興味があります。
まずは導入前のイメージ(先入観?)ですが
操作感は 国内>NY 近いから当たり前ですね。
エントリーのスピードは NY>国内 OANDAのサーバーはNYにあるからこれも当然ですね。ちなみに国内からOANDAサーバーまで約140msかかるようです。
往復で280ms。NYからは約40ms 往復で80msということは0.2秒ほど早くなる予定です。
また、めたぶろ先生によると お名前.COMのアメリカサーバーは重いとの事でした・・・
そして導入(インストール)
Windows2012R2と2008を選べます。注意書きには2012R2を推奨と書いていますが、あちこちのサイトでは2008が軽くてよいと書いていました。
国内サーバーにアクセスすると始めから2008になっていますw
そしてMT4インストール済み これは便利と思いきや旧バージョン760?がインストールされておりアップデートできません。ログインすらできませんでした。
再度新しいMT4をインストールして午前終了 意外と苦労しました
初めてのVPSの感想は結構操作が重いの一言です。
続いてNYサーバーさらに操作が重いことを覚悟しつつやってみました。
こちらは2012R2が入っていたので2008をクリーンインストール
ワンクリックですできるのは素晴らしいですね。
そしてMT4を三つインストールしたのですが国内より圧倒的に軽い操作感ですね。
これは期待できそうです。
比較結果は来週報告します!!
借りたのはOANDAから二カ月無料の「お名前.COM」国内
そして「お名前.COM」NewYork サーバー 15日無料
比較するのは、FX-ONのフロントテスト(OANDA社)
自宅のEPSONのNP-30S(ウルトラロースペックPC)
そしてバックテストです。
結果は後日ですがAMSERで比較します。
FX-ONのフロントテストはOANDA社という以外詳細不明です。
お名前.COM 国内はMT4 一枚
お名前.COM NYはMT4 三枚
自宅PC MT4 八枚
バックテストは全ティックを予定していますが始値も興味があります。
まずは導入前のイメージ(先入観?)ですが
操作感は 国内>NY 近いから当たり前ですね。
エントリーのスピードは NY>国内 OANDAのサーバーはNYにあるからこれも当然ですね。ちなみに国内からOANDAサーバーまで約140msかかるようです。
往復で280ms。NYからは約40ms 往復で80msということは0.2秒ほど早くなる予定です。
また、めたぶろ先生によると お名前.COMのアメリカサーバーは重いとの事でした・・・
そして導入(インストール)
Windows2012R2と2008を選べます。注意書きには2012R2を推奨と書いていますが、あちこちのサイトでは2008が軽くてよいと書いていました。
国内サーバーにアクセスすると始めから2008になっていますw
そしてMT4インストール済み これは便利と思いきや旧バージョン760?がインストールされておりアップデートできません。ログインすらできませんでした。
再度新しいMT4をインストールして午前終了 意外と苦労しました
初めてのVPSの感想は結構操作が重いの一言です。
続いてNYサーバーさらに操作が重いことを覚悟しつつやってみました。
こちらは2012R2が入っていたので2008をクリーンインストール
ワンクリックですできるのは素晴らしいですね。
そしてMT4を三つインストールしたのですが国内より圧倒的に軽い操作感ですね。
これは期待できそうです。
比較結果は来週報告します!!
【検証】リアルテスト と バックテストの違い その2
前回はリアルテストバックテストの差の検証をしました。
原因の一つはスリッページを2にしていることが怪しいと考えました。
スリッページを2にしていると損する側に2ずれることが多かったのです。
おなじEAでスリッページを0にしてレアルテストとバックテストの比較です。
前回も一日、今回も一日なのですが今回は取引量が4倍になっています。
日によってこんなに違うものなのですね。
スリッページ0での予測されるメリットはエントリー時のずれが減るという事です。
デメリットは取引回数が減る懸念です。
今回も小さくビジーな表で申し訳ありません。
もともと0秒で発注するEAなのですが0秒でないところを赤くしました。
前回はすべてで42秒のずれエントリー数は14回でしたので3秒/回でした。
今回はトータル71秒のずれ、エントリー回数は61回 1.2秒/回です。
エントリーの価格差は
前回は31Points 14回 2.2Points/回
今回は106Point 61回 1.7Points/回
データーが少ないので確定的ではありませんが大きく改善していますね。
そして取引回数ですが、バックテストより多くなっています。
バックテストでクローズできなかったところがリアルでは出来ているようです。
リアルのほうがバックテストよりティックの動きが激しいのでしょうか・・・
少し改善しましたがやはりサーバーを借りようかと思います。
原因の一つはスリッページを2にしていることが怪しいと考えました。
スリッページを2にしていると損する側に2ずれることが多かったのです。
おなじEAでスリッページを0にしてレアルテストとバックテストの比較です。
前回も一日、今回も一日なのですが今回は取引量が4倍になっています。
日によってこんなに違うものなのですね。
スリッページ0での予測されるメリットはエントリー時のずれが減るという事です。
デメリットは取引回数が減る懸念です。
今回も小さくビジーな表で申し訳ありません。
もともと0秒で発注するEAなのですが0秒でないところを赤くしました。
前回はすべてで42秒のずれエントリー数は14回でしたので3秒/回でした。
今回はトータル71秒のずれ、エントリー回数は61回 1.2秒/回です。
エントリーの価格差は
前回は31Points 14回 2.2Points/回
今回は106Point 61回 1.7Points/回
データーが少ないので確定的ではありませんが大きく改善していますね。
そして取引回数ですが、バックテストより多くなっています。
バックテストでクローズできなかったところがリアルでは出来ているようです。
リアルのほうがバックテストよりティックの動きが激しいのでしょうか・・・
少し改善しましたがやはりサーバーを借りようかと思います。
2016年5月10日火曜日
【検証】リアルテスト と バックテストの違い
バックテストとリアルテストの違いについて悩んでいます。
まず単語から・・・
バックテスト ⇒ MT4のストラテジーテスターでの検証
リアルテスト ⇒ 現金を運用しながら本番でテスト
フロントテスト ⇒ デモ口座でのテスト 英語表記では多くみられる。
辞書的には前面、前側 BACKの対義語
フォワードテスト⇒フロントテストと同意 日本語表記ではこちらが主流
辞書的には将来、未来的意味合いがある。対義語はBACKWARD
フォワードテストやフロントテストにリアルテストの意味合いを含んでいる時もありますので複雑なのですが・・・ 悩ましい限りです。
TACA的には上の表記にします。
フロントvsフォワードはフロントにします。
(入力タイプ数は両者7文字ですが指の移動が少ないのでw)
バックテストとフロントテストの結果に差が出るのは有名な話ですが、フロントテストとリアルテストにも差が出るという話があります。(未検証)
バックテストは数分から多くても数日で終わりますがフロントテスト、リアルテストは数日では終わりません。
数か月かけてフロントテストを実施してその結果がリアルテストと異なる可能性があるのであれば、フロントテストはする意味がありません。Time is Money!!です。
現在10数個のEAをリアルテストにかけています。
すべてのEAが同時刻のバックテストでは利益を出しているのに、リアルテストは損益が少ないもしくはマイナスになっています。
そこで検証です。
左がリアルテストOANDA社、右がバックテストOANDA社のデーター
このEAは一分足で足が変わるタイミングで発注
シャンデリア・トレーリングでストップロスを動かしていきます。
まず0時、1時の発注が消えています!!
PCの遅延もしくは、10年前の旧式ルーターが遅いか、マンション光の遅延でしょうか。
解せません。 ⇒ PCとルーターの買い替えもしくはVPS導入がいいかもしれません。
また、バックテストの段がずれているところはリアルでは二つに分けられています。
決済はストップロス、サーバー側での計算になりますのでネットの遅延は考えられません。
同じOANDA社のリアルデーターに差があるのでしょうか??
これがフロントテストとリアルテストの差になるのかもしれませんね。
リアルテストは秒単位まで表示されますが、バックテストは分単位です。
足が変わるタイミングで発注しますので0秒に発注されるはずです。
バックテストは0秒発注で計算されていますが 赤字のところをご覧ください。
リアルは遅延が出ています 最大13秒も・・・
次は緑の文字を見て下さい。ここがバックテストとの差異です。
発注時のプライスが2ズレるところが多くあります。
ソースを見ると発注時のスリッページを2にしています。
スリッページを0にすると解決するのでしょうか?もしくは発注されなくなるのでしょうか?
発注は成り行きにしていますが、指値にしたほうがいいかもしれません。
サーバーでは成り行きが指値より優先されますので、検証が必要ですね。
クローズの時間はずれが見当たりません。
バックテストは秒が表示されないので何とも言えないところですが・・・
発注に比べて価格もずれが少ない様に見えます。
サーバー側での処理だからでしょうか。
結論
①VPSの導入
自宅PCの限界(EPSON NP-30NでMT4 十数個稼働)
マンションタイプのネット たまに遅延がある。
②エントリー時に指値発注、スリッページ0を検討
サーバー側での処理のほうがバックテストに近い
安定環境と発注決済はサーバー(ブローカー)に任せることですね。
2016年5月9日月曜日
EA MA-TS 平均MA VS BULL,BEAR
平均からある乖離すると反転するというイメージでBULL,BEARのEAの作成を思いつきました。
泥酔状態での作成でしたが思ったより安定かつ結果がよく、大きな反響をいただきました。
BULL'S POWERは過去13回の最高値EMAと直近の終値との差Bear'S POWERは最低値EMAとの差です。
下の図は緑が終値
赤が最高値EMA(13) 青は最低値EMA(13) そして黄色は終値SMA(13)です。
SMA:単純平均 EMA:指数平均
印象は赤と青が平行しているのが驚きでした!
黄色をEMAにすると赤と青の間を走るのであえてSMAにしてみたのですが、黄色のほうがなだらかですね。
BULL,BEARにしなくても平均でいいかもと思ってきました。
ブルベアのメリットはブルベアのEAがあまりないので希少性、話題性はありそうです。
平均のメリットはブルとベアに分けないですむことと設定が簡単なことです。
ブルベアの時は期間を標準の13以外は試さなかったのですが、MAは期間も調整しました。
SMAの期間5 シャンデリア・トレーリングを付けました。
ブルベアはM5でしたがこちらはM1です。
取引数がブルベア 2,271 ⇒ MA 21,229へ増加足が違うので当たり前かもしれません足の増加は5倍に対し9倍は驚くべきことです!
利益は ブルベア113,170 ⇒ MA468,220大幅増加です。
#property copyright "Copyright 2016/5/9,TACA"
#property link "http://mt4kyoto.blogspot.jp/"
extern int TSProfit=20;
extern int MAPeriod=5;
extern double MADevision=0.0003;
extern int MAGIC=9;
extern int Spread=4;
extern double Lots=0.1;
datetime TimeOld;
int d,i;
double TSL,OTSL,SL;
double MA(){return(iMA(Symbol(),0,MAPeriod,0,0,0,1));}
double MAD(){return((MA()-Close[0])/Close[0]);}
void OnTick()
{
TS();
if(OrdersTotal()==0){
if(MarketInfo(Symbol(),MODE_SPREAD)<=Spread){
if(Time[0]!=TimeOld){TimeOld=Time[0];
if(MAD()>MADevision){E(0);}
if(MAD()<-1*MADevision){E(1);}
}}}}
void E(int BoS){
if(BoS==0){TSL=Ask;SL=TSL-TSProfit*Point;}
else{TSL=Bid;SL=TSL+TSProfit*Point;}
d=OrderSend(Symbol(),BoS,Lots,TSL,2,SL,0,NULL,MAGIC,0,0);}
void TS()
{d=OrderSelect(0,SELECT_BY_POS);if(OrderType()==0)
{if(TSL<Close[0]){TSL=Close[0];SL=TSL-TSProfit*Point;}}
else
{if(TSL>Close[0]){TSL=Close[0];SL=TSL+TSProfit*Point;}}
if(TSL!=OTSL)
{OTSL=TSL;for(i=OrdersTotal()-1;i>=0;i--)
{d=OrderSelect(i,SELECT_BY_POS);
d=OrderModify(OrderTicket(),OrderOpenPrice(),SL,0,0,0);}}}
泥酔状態での作成でしたが思ったより安定かつ結果がよく、大きな反響をいただきました。
BULL'S POWERは過去13回の最高値EMAと直近の終値との差Bear'S POWERは最低値EMAとの差です。
下の図は緑が終値
赤が最高値EMA(13) 青は最低値EMA(13) そして黄色は終値SMA(13)です。
SMA:単純平均 EMA:指数平均
印象は赤と青が平行しているのが驚きでした!
黄色をEMAにすると赤と青の間を走るのであえてSMAにしてみたのですが、黄色のほうがなだらかですね。
BULL,BEARにしなくても平均でいいかもと思ってきました。
ブルベアのメリットはブルベアのEAがあまりないので希少性、話題性はありそうです。
平均のメリットはブルとベアに分けないですむことと設定が簡単なことです。
ブルベアの時は期間を標準の13以外は試さなかったのですが、MAは期間も調整しました。
SMAの期間5 シャンデリア・トレーリングを付けました。
ブルベアはM5でしたがこちらはM1です。
取引数がブルベア 2,271 ⇒ MA 21,229へ増加
利益は ブルベア113,170 ⇒ MA468,220大幅増加です。
#property copyright "Copyright 2016/5/9,TACA"
#property link "http://mt4kyoto.blogspot.jp/"
extern int TSProfit=20;
extern int MAPeriod=5;
extern double MADevision=0.0003;
extern int MAGIC=9;
extern int Spread=4;
extern double Lots=0.1;
datetime TimeOld;
int d,i;
double TSL,OTSL,SL;
double MA(){return(iMA(Symbol(),0,MAPeriod,0,0,0,1));}
double MAD(){return((MA()-Close[0])/Close[0]);}
void OnTick()
{
TS();
if(OrdersTotal()==0){
if(MarketInfo(Symbol(),MODE_SPREAD)<=Spread){
if(Time[0]!=TimeOld){TimeOld=Time[0];
if(MAD()>MADevision){E(0);}
if(MAD()<-1*MADevision){E(1);}
}}}}
void E(int BoS){
if(BoS==0){TSL=Ask;SL=TSL-TSProfit*Point;}
else{TSL=Bid;SL=TSL+TSProfit*Point;}
d=OrderSend(Symbol(),BoS,Lots,TSL,2,SL,0,NULL,MAGIC,0,0);}
void TS()
{d=OrderSelect(0,SELECT_BY_POS);if(OrderType()==0)
{if(TSL<Close[0]){TSL=Close[0];SL=TSL-TSProfit*Point;}}
else
{if(TSL>Close[0]){TSL=Close[0];SL=TSL+TSProfit*Point;}}
if(TSL!=OTSL)
{OTSL=TSL;for(i=OrdersTotal()-1;i>=0;i--)
{d=OrderSelect(i,SELECT_BY_POS);
d=OrderModify(OrderTicket(),OrderOpenPrice(),SL,0,0,0);}}}
EA失業君 ファンダメンタルズ 日本完全失業率 その3
その3です。
いよいよファンダメンタル型EAの発表です。
目標は放置で毎回自動発注のEAでしたが、私の勉強不足から作成が困難です。
しかし!!!
これだけ時間をかけて調べたのにEAを作らないのはもったいないですね。
そして最近ブログのペースが落ちているので応援をたくさんいただいているところです!
作成したのは次回2016/5/31の完全失業率一回ぽっきり稼働のEAです!
今回はUSD高の予測の元作成しました。
ローカールタイム(パソコンの時間)で5月31日8時29分50秒以降のティック変動時に買い建てエントリーします。
前回の分析の結果を踏まえて利益確定は10Pips、損切は20Pipsにしています。
ローカルタイムを使用しますのでパソコンの時間は正確に合わせておいてください。
USDJPY M1での動作をお願いします。
余剰証拠金すべてエントリーします!
10万円で2,000円程度の予想利益です。
ファンダメンタルEAはこちら
いよいよファンダメンタル型EAの発表です。
目標は放置で毎回自動発注のEAでしたが、私の勉強不足から作成が困難です。
しかし!!!
これだけ時間をかけて調べたのにEAを作らないのはもったいないですね。
そして最近ブログのペースが落ちているので応援をたくさんいただいているところです!
作成したのは次回2016/5/31の完全失業率一回ぽっきり稼働のEAです!
今回はUSD高の予測の元作成しました。
ローカールタイム(パソコンの時間)で5月31日8時29分50秒以降のティック変動時に買い建てエントリーします。
前回の分析の結果を踏まえて利益確定は10Pips、損切は20Pipsにしています。
ローカルタイムを使用しますのでパソコンの時間は正確に合わせておいてください。
USDJPY M1での動作をお願いします。
余剰証拠金すべてエントリーします!
10万円で2,000円程度の予想利益です。
ファンダメンタルEAはこちら
ファンダメンタルズ 日本完全失業率 その2
前回に続き 雇用人員判断D.I.と日本失業率の相関性を見ていきます。
日本・完全失業率と雇用人員判断DIとの比較です。
1四半期の意味合いがわからないので少しづれているかもしれません
失業率の発表後のUSDJPYの変動がマイナスからプラスに変わったのは2015年の10月です。
ところが雇用人員判断DIはマイナスのままです。
詳しく見てみると2013年の9月にマイナスに転じています。
しかし、2013年の影響が2015年になって現れるとは考えずらいところですね。
参照日本銀行「全国企業短期経済観測調査」
これで本当に相関性があるのでしょうか・・・
もう一度発見した厚労省のペーパーを読み直してみます。
四ページをみると相関を示すチャートが載っています。
雇用人員判断と失業率の時系列上の動きのチャートをよくよくみると
日銀短観と失業率の比較と凡例がなっています。
そして短観が毎月になっていますが調査・発表は年四回ではないでしょうか???
参照日本銀行「全国企業短期経済観測調査」
日銀短観(大企業製造業)と並べてみました。
先程注目した失業率プラマイ逆転が10月、日銀短観は10月から対前四半期が減じています。
短観の対前四半期が上昇すると円高ドル安、下降すると円安ドル高という事のようです。
日銀短観の数字を自動で拾うことが私の技術ではできませんので、ファンダメンタルEA化は諦めます。
しかし、この分析が正しければ
次回5月30日8:30は7~15Pipsの円高が予想されます。
日本・完全失業率と雇用人員判断DIとの比較です。
1四半期の意味合いがわからないので少しづれているかもしれません
失業率の発表後のUSDJPYの変動がマイナスからプラスに変わったのは2015年の10月です。
ところが雇用人員判断DIはマイナスのままです。
詳しく見てみると2013年の9月にマイナスに転じています。
しかし、2013年の影響が2015年になって現れるとは考えずらいところですね。
参照日本銀行「全国企業短期経済観測調査」
これで本当に相関性があるのでしょうか・・・
もう一度発見した厚労省のペーパーを読み直してみます。
四ページをみると相関を示すチャートが載っています。
雇用人員判断と失業率の時系列上の動きのチャートをよくよくみると
日銀短観と失業率の比較と凡例がなっています。
そして短観が毎月になっていますが調査・発表は年四回ではないでしょうか???
日銀短観(大企業製造業)と並べてみました。
先程注目した失業率プラマイ逆転が10月、日銀短観は10月から対前四半期が減じています。
短観の対前四半期が上昇すると円高ドル安、下降すると円安ドル高という事のようです。
日銀短観の数字を自動で拾うことが私の技術ではできませんので、ファンダメンタルEA化は諦めます。
しかし、この分析が正しければ
次回5月30日8:30は7~15Pipsの円高が予想されます。
ファンダメンタルズ 日本完全失業率
株はファンダメンタル、FXはテクニカルと言われることもありファンダメンタル基準のEAは見たことがありません。
厳密にいえば雇用統計除外などはファンダメンタルになるのかもしれませんが・・・
以前、ファンダメンタルに挑戦したことがあるのですがこれがなかなか難しい。
米国雇用統計の二日前にADP雇用統計が発表されます。
民間企業ADP社の雇用統計は公務員の雇用数が入っていない等条件が違うのですが、
同じ米国の雇用統計、相関性はあると考えました。
そして、ADPの雇用統計でUSDが上がれば二日後の雇用統計でUSDを買い建てというロジックで作成したのですが結果はコテンパンでした・・・
いろいろ角度から相関性を検討したのですが、ADP雇用統計と本番の雇用統計は相関性は見つかりませんでした。
そんなある日、厚労省のHPからこのような文章を発見しました。
職業安定局雇用政策課発行文章で担当者名と直通の電話番号まで書いてあります。
厚労省のホームページ【外部リンク】
要約すると日本の失業率と決定係数(一定区間においては相関係数の二乗)が高いのは
1四半期前の「雇用人員判断DI」 R²=0.87
三か月前の「有効求人倍率(季節調整値)」R²=0.75
ではここの上下を参考にエントリーすればファンダメンタルEAができるのではないでしょうか!!
雇用人員判断【外部リンク】
有効求人倍率【外部リンク】
それでは検証してみましょう
1四半期前・・・聞きなれない単語です。まぁ四月の1四半期前は12月でしょう
雇用人員判断D.I.の12月は -12 日銀短観に含まれていますので発表時の影響はこれだけとは考えられないところです。
有効求人倍率 1.3 失業率と同時発表です。相関性があっても使えません。
壁にぶち当たったところで次回に続く~
厳密にいえば雇用統計除外などはファンダメンタルになるのかもしれませんが・・・
以前、ファンダメンタルに挑戦したことがあるのですがこれがなかなか難しい。
米国雇用統計の二日前にADP雇用統計が発表されます。
民間企業ADP社の雇用統計は公務員の雇用数が入っていない等条件が違うのですが、
同じ米国の雇用統計、相関性はあると考えました。
そして、ADPの雇用統計でUSDが上がれば二日後の雇用統計でUSDを買い建てというロジックで作成したのですが結果はコテンパンでした・・・
いろいろ角度から相関性を検討したのですが、ADP雇用統計と本番の雇用統計は相関性は見つかりませんでした。
そんなある日、厚労省のHPからこのような文章を発見しました。
職業安定局雇用政策課発行文章で担当者名と直通の電話番号まで書いてあります。
厚労省のホームページ【外部リンク】
要約すると日本の失業率と決定係数(一定区間においては相関係数の二乗)が高いのは
1四半期前の「雇用人員判断DI」 R²=0.87
三か月前の「有効求人倍率(季節調整値)」R²=0.75
ではここの上下を参考にエントリーすればファンダメンタルEAができるのではないでしょうか!!
雇用人員判断【外部リンク】
有効求人倍率【外部リンク】
それでは検証してみましょう
1四半期前・・・聞きなれない単語です。まぁ四月の1四半期前は12月でしょう
雇用人員判断D.I.の12月は -12 日銀短観に含まれていますので発表時の影響はこれだけとは考えられないところです。
有効求人倍率 1.3 失業率と同時発表です。相関性があっても使えません。
壁にぶち当たったところで次回に続く~
2016年5月8日日曜日
AMSER 販売中!フロントテストあり!
FX-ON社からEAの出品の依頼がありました。
EAは稼ぐもので売るものでは無い。
MQL4の開発入門者の参考になるソースコードがあまり世の中にない。
とのことでブログでソースコードを公開しているのですが、
FX-ONでの販売しているEAを見ると野望が沸いてきました。
実現損益のベスト5を私のEAで埋め尽くしてやろうという野望です!!
現在の一位のEAは56万円/3か月、スタート金額はすべて100万円からです!!
** 今回はソースコード公開無しです **
今回出品したのはAMSERオランダ語ウェールズ語で時間という意味です。
出品手数料は35%、広告代が10%、売買手数料10%で合計55%が手数料。
トレンドがある時間を調査し時間ごとの戦略を組み込んでいます。
時間は曜日、時間、分、秒単位です。
エントリー時にストップロス、利益確定を決めるもの、シャンデリアトレーリングで変動するもの、
時間でクローズするもの、そしてその組み合わせを時間ごとに採用しています。
エントリー時間は最大7回/日、通貨ペアはUSDJPY。
V系の複利システムを搭載しています。
それでは、過去一年のバックテストの結果です。
10万円が一年で94万増え合計104万円になっています。
月別にみると8月が単月マイナスになっています。
平均成長率は21% 月利21% ムフフです♪
そして、続いてはFX-ONのフロントテストと同条件の100万円スタートです。
平均成長率は20% ロット分割の過程で若干金額が変わってきます。
100万円の20%は20万円 三か月で60万円ちょい
8月末には実現損益 一位を奪取できるでしょう!
まだフロントテストを開始して稼働日10日しかもゴールデンウィーク真っ只中ですので、
時々見て応援していただけると幸いです!!
販売サイト↓詳細情報&フロントテスト結果あり
AMSER FX-ON 販売ページ
EAは稼ぐもので売るものでは無い。
MQL4の開発入門者の参考になるソースコードがあまり世の中にない。
とのことでブログでソースコードを公開しているのですが、
FX-ONでの販売しているEAを見ると野望が沸いてきました。
実現損益のベスト5を私のEAで埋め尽くしてやろうという野望です!!
現在の一位のEAは56万円/3か月、スタート金額はすべて100万円からです!!
** 今回はソースコード公開無しです **
ソースコード無料公開と言いながらごめんなさい
今回出品したのはAMSER
出品手数料は35%、広告代が10%、売買手数料10%で合計55%が手数料。
トレンドがある時間を調査し時間ごとの戦略を組み込んでいます。
時間は曜日、時間、分、秒単位です。
エントリー時にストップロス、利益確定を決めるもの、シャンデリアトレーリングで変動するもの、
時間でクローズするもの、そしてその組み合わせを時間ごとに採用しています。
エントリー時間は最大7回/日、通貨ペアはUSDJPY。
V系の複利システムを搭載しています。
それでは、過去一年のバックテストの結果です。
10万円が一年で94万増え合計104万円になっています。
月別にみると8月が単月マイナスになっています。
平均成長率は21% 月利21% ムフフです♪
そして、続いてはFX-ONのフロントテストと同条件の100万円スタートです。
平均成長率は20% ロット分割の過程で若干金額が変わってきます。
100万円の20%は20万円 三か月で60万円ちょい
8月末には実現損益 一位を奪取できるでしょう!
まだフロントテストを開始して稼働日10日しかもゴールデンウィーク真っ只中ですので、
時々見て応援していただけると幸いです!!
販売サイト↓詳細情報&フロントテスト結果あり
AMSER FX-ON 販売ページ
2016年5月1日日曜日
BULLsPower & BearsPower
プサンでアップしたブル&ベアのブログを間違えて消してしまったようです。(;´д`)トホホ
プサンのカジノで半日ビールを飲みながら考えたのは、
①MACDやボリンジャーバンドなどメジャーなインディケーターは終値を見ているのに、最高値、最低値を含むろうそく足を見るのは迷いが生じる。
②平均からの現在の終値の差の成長で未来が予測できる。
そして、バカラと酒に酔いながらひらめいたのがBULLsPOWER BearsPOWERです。
過去13回の最高値の平均-現在の終値がBULLsPOWER
最低値の場合はBearsPOWER
①とは逆なのですが最高値、最低値の差をみるのはCOA的発想でありですね。
②は終値平均で考えていたのですが、二つの平均の差というのは面白そうです。
そういえば有名なEA WhiteBear なんてのもありますが、あれももしかするとBEARかもしれませんね。
そして朝二時酩酊状態で作りました。(今回のはその時の進化版です)
作成の流れは
①ブル、ベア共に正ならLONGエントリー、両方負の時はSHORT
いい結果はでません。
②すこし下駄をはかせます。ブル、ベアともに0.1以上の時はLONG、以下同じ・・・
真横に進むグラフ
③シャンデリア・トレーリングを装備
いい結果になりました。
④足を5分に変更
完成です。
1・5分足においてシャンデリア・トレーリングは幅30以下での数値が出るのが、いいインジケーターです。40以上ではブレが生じます。
ブレというのは月別に見た時にマイナス月が多くなることです。
今回のEAはマイナス月0です。優秀かつ安定型ですね。
時々迷走していますが・・・
プログラムを覚えるときに他人のソースコードを見ると勉強になります。
しかしなかなかいい教材が無いのも事実です。
そこで、公開しようと思ったのがこのブログです。
という事はわかりやすいソースコードを書かなければならないのですね。
はい、がんばります。
#property copyright "Copyright 2016/5/1,TACA"
#property link "http://mt4kyoto.blogspot.jp/"
extern int TSProfit=20;
extern int MAGIC=7;
extern int Spread=4;
extern double Lots=0.1;
datetime TimeOld;
int d,i;
double TSL,OTSL,SL;
double Bull(){return(iBullsPower(Symbol(),0,13,0,1));}
double Bear(){return(iBearsPower(Symbol(),0,13,0,1));}
void OnTick()
{
TS();
if(OrdersTotal()==0){
if(MarketInfo(Symbol(),MODE_SPREAD)<=Spread){
if(Time[0]!=TimeOld){TimeOld=Time[0];
if(Bull()> 0.1&&Bear()> 0.1){E(0);}
if(Bull()<-0.1&&Bear()<-0.1){E(1);}
}}}}
void E(int BoS){
if(BoS==0){TSL=Ask;SL=TSL-TSProfit*Point;}
else{TSL=Bid;SL=TSL+TSProfit*Point;}
d=OrderSend(Symbol(),BoS,Lots,TSL,2,SL,0,NULL,MAGIC,0,0);}
void TS()
{d=OrderSelect(0,SELECT_BY_POS);if(OrderType()==0)
{if(TSL<Close[0]){TSL=Close[0];SL=TSL-TSProfit*Point;}}
else
{if(TSL>Close[0]){TSL=Close[0];SL=TSL+TSProfit*Point;}}
if(TSL!=OTSL)
{OTSL=TSL;for(i=OrdersTotal()-1;i>=0;i--)
{d=OrderSelect(i,SELECT_BY_POS);
d=OrderModify(OrderTicket(),OrderOpenPrice(),SL,0,0,0);}}}
プサンのカジノで半日ビールを飲みながら考えたのは、
①MACDやボリンジャーバンドなどメジャーなインディケーターは終値を見ているのに、最高値、最低値を含むろうそく足を見るのは迷いが生じる。
②平均からの現在の終値の差の成長で未来が予測できる。
そして、バカラと酒に酔いながらひらめいたのがBULLsPOWER BearsPOWERです。
過去13回の最高値の平均-現在の終値がBULLsPOWER
最低値の場合はBearsPOWER
①とは逆なのですが最高値、最低値の差をみるのはCOA的発想でありですね。
②は終値平均で考えていたのですが、二つの平均の差というのは面白そうです。
そういえば有名なEA WhiteBear なんてのもありますが、あれももしかするとBEARかもしれませんね。
そして朝二時酩酊状態で作りました。(今回のはその時の進化版です)
作成の流れは
①ブル、ベア共に正ならLONGエントリー、両方負の時はSHORT
いい結果はでません。
②すこし下駄をはかせます。ブル、ベアともに0.1以上の時はLONG、以下同じ・・・
真横に進むグラフ
③シャンデリア・トレーリングを装備
いい結果になりました。
④足を5分に変更
完成です。
1・5分足においてシャンデリア・トレーリングは幅30以下での数値が出るのが、いいインジケーターです。40以上ではブレが生じます。
ブレというのは月別に見た時にマイナス月が多くなることです。
今回のEAはマイナス月0です。優秀かつ安定型ですね。
時々迷走していますが・・・
プログラムを覚えるときに他人のソースコードを見ると勉強になります。
しかしなかなかいい教材が無いのも事実です。
そこで、公開しようと思ったのがこのブログです。
という事はわかりやすいソースコードを書かなければならないのですね。
はい、がんばります。
#property copyright "Copyright 2016/5/1,TACA"
#property link "http://mt4kyoto.blogspot.jp/"
extern int TSProfit=20;
extern int MAGIC=7;
extern int Spread=4;
extern double Lots=0.1;
datetime TimeOld;
int d,i;
double TSL,OTSL,SL;
double Bull(){return(iBullsPower(Symbol(),0,13,0,1));}
double Bear(){return(iBearsPower(Symbol(),0,13,0,1));}
void OnTick()
{
TS();
if(OrdersTotal()==0){
if(MarketInfo(Symbol(),MODE_SPREAD)<=Spread){
if(Time[0]!=TimeOld){TimeOld=Time[0];
if(Bull()> 0.1&&Bear()> 0.1){E(0);}
if(Bull()<-0.1&&Bear()<-0.1){E(1);}
}}}}
void E(int BoS){
if(BoS==0){TSL=Ask;SL=TSL-TSProfit*Point;}
else{TSL=Bid;SL=TSL+TSProfit*Point;}
d=OrderSend(Symbol(),BoS,Lots,TSL,2,SL,0,NULL,MAGIC,0,0);}
void TS()
{d=OrderSelect(0,SELECT_BY_POS);if(OrderType()==0)
{if(TSL<Close[0]){TSL=Close[0];SL=TSL-TSProfit*Point;}}
else
{if(TSL>Close[0]){TSL=Close[0];SL=TSL+TSProfit*Point;}}
if(TSL!=OTSL)
{OTSL=TSL;for(i=OrdersTotal()-1;i>=0;i--)
{d=OrderSelect(i,SELECT_BY_POS);
d=OrderModify(OrderTicket(),OrderOpenPrice(),SL,0,0,0);}}}
登録:
投稿 (Atom)











