2015年12月31日木曜日

EA MACD3min 10万円⇒21万円 11カ月 ソース公開

インドネシアからアクセスがありました。
嬉しいですね。Selamat Tahun Baru
前回、前々回のMACD分析の結果を徹底解析しEA作成に取り掛かりました。
結果的にすごいのができました。
しかし、MACDの分析はほぼ役に立ちませんでした。
MACDが未来に相関するということがモチベーションに繋がった程度です。

開発の流れ
① 1分足のMACDゴールデンクロスでLONG、その後0.01か3分経過でクローズ
⇒ひたすらマイナスに
② 三分経過でクローズを削除(そもそも三分以内という話で三分でクローズする必要はなかったんですよね)
⇒ひたすらポジションを取り続ける。10万円が15万円にしかしリスクが大きすぎ
③ Averagingシステム装着
⇒あれれ?結果OKですね(ニヤリ)
期間は例によって2015.1.1-2015.11.30
10万円スタートで10万円が21万円に($_$)\
最大43本立てています。
月別はこちら↓毎月一万円ですね。
少し多めの30万円ぐらいで初めてロット可変(残高比例)を付ければ面白いかもしれませんね。一番下のソースを付けておきますので、みなさまよいお年を
にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村




#property copyright "Copyright 2015/12/31,TACA"
#property link      "http://mt4kyoto.blogspot.jp/"
datetime TimeOld;
extern double Profit=0.01;
extern double Lots=0.01;
int start(){if(Time[0]!=TimeOld){TimeOld=Time[0];
if(iMACD(NULL,1,12,26,12,0,0,2)<=iMACD(NULL,1,12,26,12,0,1,2))
  {if(iMACD(NULL,1,12,26,12,0,0,1)>iMACD(NULL,1,12,26,12,0,1,1))
    {int c=OrderSend(NULL,0,Lots,Ask,3,0,Bid+Profit,"Long",1231,0,Red);}}
Averaging();    
}return(0);}
int Averaging()
{ double PosAve=0;double LastPrice=0;double PosAll=0;double PosNum=0;
  for(int i=0;i<OrdersTotal();i++)
  {int d=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    LastPrice=OrderOpenPrice();
    PosAll+=LastPrice*OrderLots();
    PosNum+=OrderLots();
  }
  if(PosNum==0){PosAve=0;}
  else{ PosAve=PosAll/PosNum;}   
  for(i=0;i<OrdersTotal();i++)
  { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==True)
    { int Ticket=OrderTicket();
    int e=OrderModify(Ticket,OrderOpenPrice(),0,PosAve+Profit,0,CLR_NONE);
    }
  }
return(0);

一分足MACDゴールデンクロス後1分から10分後の集計!

MACDの1分後から10分後までの集計をしました。
期間はメジャーな12,26,9です。
LongSignalはシグナルの出た回数です。一分足は2015.1.1-11.30で331,124本ありました。ゴールデンクロスの回数が13,472回で4.07%の発生率です。一日58回くらいですね。
Count:総数、0をカウントしていないため若干ずれています。
Cou+:プラスになった数 3minでしたらゴールデンクロス後3minに上昇した数
Cou-:ないと思ったのですが出ました。週替わりや大きく動いた時と思われます。
CouAll:データーの総数です。一分ごとに一つずつ減ってます。
Average:N分後までに最大いくら上昇したかの平均です。
Ave+:Averageのプラスのみの集計
Ave-:Averageのマイナスのみの集計
Sum:N分後の総合計
Sum+:SUMのプラスのみの合計
Sum-:SUMのマイナスのみの合計

カウントやマイナスはあまり参考にならないかもしれません。
見ていただきたのはAverageとSumです。
最高値は時間とともに増加するはずですが
Average,Sum共に上昇しながらも3minでピークが来ています。
つまりMACD一分足と一番相関性があるのは3分後という事です。

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村

一分足MACDのゴールデンクロス後1分の検証

アナタハMACDヲシンジマスカ?

大晦日に鴨川を眺めながらMACD解析をしています。
年越しは八坂神社前の四条通が人であふれかえるのですが、
毎年その真ん中に拡声器をもった集団が「あなたは神を信じますかぁ」と叫んでいます。
どうなんでしょうw

今日はMACD、MT4についているMACDは少し使いにくいのですが、MT4の作者りんごさんがWINDOWS派だったのでMACDを見にくくしたというのは本当なんでしょうか。
もしくはロシアではナルド(東京ではマック、大阪ではまくどの事)は高級品でしかも並ばなくては買えないのをりんごさんが怒ったのが原因とも聞きます(汗)

私の印象ではMACDはかなり精度が高いインディケーターです。
急な動きには若干遅いのですがだらだらとした相場にはてきめんです。

さて、首題のMACD。シグナルのゴールデンクロスはLONG建てのサインです。
MACDシグナルの出た次の1分足の最高値はどれくらい上がるか検証しました。
データーの期間は2015.1.1-2015.11.30
左は一分後無条件でLONG建てしたときの変動。その時のブログはこちら
右はMACDゴールデンクロス後の一分間です。
一分の間に最高値がどこまで行くのかを見ていますが
OANDAライン(OANDAで利益が出る0.005)は13%上がっています。
さらに60%ラインは0.003から0.006になっています。
やはり適当にエントリーするよりMACDを参考にした方が勝率はあがるのですね。
にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村





2015年12月30日水曜日

インディケーターマーケットタイマー  三大市場のオープン クローズをお知らせします!!

現在どこの市場が開いていてどこが閉まっているというのは
基本中の基本なのでしょうがややこしい限りです。
把握するのは日本時間はもちろんロシア時間(OANDA、FXDD)、GMT、N.Y.時間
それぞれに微妙に開始日の異なる夏時間、冬時間。
ロンドンは日本からー9時間でMT4はー7時間だからえ~っとというようなことをいつも考えています。
そこでインディケーターにしました。
三大市場のオープン、クローズにアラートが鳴ります。
設定でOFFにもできます。
そしてコメント欄に今開いている市場が出ます。

インディケーターはバックテストができないのでノーチェックですが、
まあ大丈夫でしょうw
夏になったら時間を変えてください。
サーバー時間がロシアでない方は時間の調節をお願いします。



#property copyright "Copyright 2015/12/11,TACA"
#property link      "http://mt4kyoto.blogspot.jp/"
#property indicator_chart_window
extern bool AlertOn=True;
datetime TimeOld;
int start()
{
if(Time[0]!=TimeOld){TimeOld=Time[0];
if(AlertOn==True){
if(Hour()==0 && Minute()==0){Alert("New York Close");}
if(Hour()==2 && Minute()==0){Alert("Tokyo Open");}
if(Hour()==10 && Minute()==0){Alert("Tokyo Close");}
if(Hour()==11 && Minute()==0){Alert("London Open");}
if(Hour()==16 && Minute()==0){Alert("New York Open");}
if(Hour()==19 && Minute()==0){Alert("London Close");}
}
if (Hour()>=2&&Hour()<10){Comment("Tokyo Market");}
if (Hour()>=11&&Hour()<16){Comment("London Market");}
if (Hour()>=16&&Hour()<19){Comment("London & NewYork Market");}
if (Hour()>=19){Comment("NewYork Market");}
}return(0);

検証 何分後にいくら動いているか?そしてEA化!!

一時間ごとに発注して3,000円稼いだところでクローズするシステムがあったとすれば時給3,000円ですね。損益の目安(年収や月収)がつきやすくなります。
そこで5分後にはいくら上昇しているのかという疑問を検証しました。
15分の方が稼げるのではいやいや1時間の方がということで一通り足ごとに検証しました。USD/JPYで期間は2015.01.01-2015.1.30の検証結果です。

一番上の0.005はOANDAポイント(OANDAはスプレッド0.004)を超す確率ですが、当然のように時間とともに増加しています。1日後に関しては少し下がっていますがデーターが少なかった影響でしょう。

二列目は60%超える価格です。
こちらも時間とともに増えています。

最後は5分単位の利益を5分を1として見ています。
時間が伸びるごとに減っていますね。


EAは5分毎発注0.01上昇でクローズ。建て玉が複数になった時には平均化しその平均の0.01上昇でクローズという手法を取りました。
建て玉を大量に建てる場合平均化することで未決済ポジションを減らす手法です。
結果は1,000,000JPYスタートで11か月後には1,629,153JPY
5分間に10円一時間で120円一日2,880円 218日(11カ月の稼働日)で627,840円
計算通りの結果です。
稼働させるときはバーストには気を付けてください。
本数制限や時間制限そして最低エントリー価格以上での発注停止とその埋め合わせなど検討中です。


テストバー数 64520
モデルティック数 15939084
モデリング品質 n/a
不整合チャートエラー 8981
初期証拠金 1000000.00
スプレッド 4
純益 629153.00
総利益 2066621.00 総損失 -1437468.00
プロフィットファクタ 1.44
期待利得 9.99
絶対ドローダウン 365195.00
最大ドローダウン 368915.00 (36.75%)
相対ドローダウン 36.75% (368915.00)
総取引数 62961
売りポジション(勝率%) 0 (0.00%) 買いポジション(勝率%) 62961 (75.32%)
勝率(%) 47420 (75.32%) 負率 (%) 15541 (24.68%)
最大 勝トレード 2117.00         敗トレード -1564.00
平均 勝トレード 43.58        敗トレード -92.50
最大 連勝(金額) 181 (90359.00)    連敗(金額) 187 (-61305.00)
最大 連勝(トレード数) 90359.00 (181) 連敗(トレード数) -81929.00 (157)
平均 連勝 8              連敗 3
以下ソースコードです。 

//  After 5 min. 2015/12/30
#property copyright "TACA"
#property link "mt4kyoto.blogspot.jp"
extern double Lots=0.01;
extern double Profit=0.01;
datetime TimeOld;
int start(){if(Time[0]!=TimeOld){TimeOld=Time[0];
int d=OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,Ask+Profit,"",444,0,Red);}
Averaging();
return(0);}
int Averaging()
{ double PosAve=0;double LastPrice=0;double PosAll=0;double PosNum=0;
  for(int i=0;i<OrdersTotal();i++)
  {int d=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    LastPrice=OrderOpenPrice();
    PosAll+=LastPrice*OrderLots();
    PosNum+=OrderLots();
  }
  if(PosNum==0){PosAve=0;}
  else{ PosAve=PosAll/PosNum;}   
  for(i=0;i<OrdersTotal();i++)
  { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==True)
    { int Ticket=OrderTicket();
    int e=OrderModify(Ticket,OrderOpenPrice(),0,PosAve+Profit,0,CLR_NONE);
    }
  }
return(0);

}

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村

検証 一分後の価格変動

一分後の価格検証をしました。
ヒストリーデーターを10年分入れてあるのでEXCELで開ききれず苦戦しました。
TEXT分割エディターでチョキチョキしてなんとか読ませることができたのですが...
一分後にOANDAのスプレッドを超える0.005になる確率は50%
難平化を恐れていたEA化する以前に理論破たんしておりました。

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村

EA 一日後の価格変動検証

ついに一日後です。
一日後の変化についてはこちらをご覧ください。
一日後には60%の確率で0.2は上昇します。
USDJPYは一日後には60%の確率で最高値が+0.2に達していることがわかりましたので、0.2上がればクローズ。
0.2に達せず一時間たったら追加オーダー、建て玉すべてを平均化し、平均価格から0.2でクローズとしました。95%の確率で0.02上がっているこちらを使うのもおもしろそうだったのですが...
取引数が少ないのでチャイナショックの影響が大きいですね。

さて次回はまとめに入ろうかと思います。
え?なにか忘れていないかって?
1分足ですね。
短ければ身近程損益が出ていますのでもしかするといい結果でるかもしれませんね。
難平破産しそうですが...


EA 4時間後の価格変動検証

つづいて4時間後です。
毎時間無条件にLONGでポジションを取ります。
こちらの結果からUSDJPYは四時間後には60%の確率で最高値が+0.09に達していることがわかりましたので、0.09上がればクローズ。
0.09に達せず一時間たったら追加オーダー、建て玉すべてを平均化し、平均価格から0.09でクローズとしました。

文章がコピペでごめんなさいmm

損益がどんどん減ります。
4時間は5分の48倍ですが、60%に達するプロフィットは9倍にしかなっていないのでしかたないですね。

EA 60分後の価格変動検証

一時間後の検証です。ソースコードはこちら
毎時間無条件にLONGでポジションを取ります。
こちらの結果からUSDJPYは60分後には60%の確率で最高値が+0.04に達していることがわかりましたので、0.04上がればクローズ。
0.04に達せず一時間たったら追加オーダー、建て玉すべてを平均化し、平均価格から0.04でクローズとしました。
予想通りです。
5分足には勝てませんね。
にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村


2015年12月29日火曜日

EA 30分後の価格変動検証

30分後もおなじEAで検証しました。
ソース等はこちら五分の物を使っています。
損益はさらに下がってしまいました。
よくかんがえれば定期的に発注するのでEAで検証しなくても
取引数xプロフィットが利益ですね。
取引数が1/6プロフィットは3倍ですのでそらむりですね...



EA 15分後の価格変動検証

15分足では60% 0.02動くというデーターを元に
EAで稼げるかを検証しました。
データーの記事はこちら

15分ごとに無条件でロング1000単位エントリーします。
ストップロスは無し0.02上昇で利益確定です。
建て玉はすべてを平均化し平均より0.02上昇で利益確定します。

結果ですが5分足より損益が出ません。
取引数が約1/3になっていますので難平傾向はましになりました。

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村