- ベストアンサー
MT4によるバックテストの信頼性について
- MT4によるバックテストとエクセルによるバックテストの信頼性を比較すると、MT4の方が信頼性が高いと言えます。
- エクセルでは決済注文が成立しているはずであるにもかかわらず、MT4では成立していないことがあります。
- また、ストラテジーテスターによるバックテストでもMT4は正常に機能しており、信頼性が高いと言えます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
FXDDでは9月に4つのEAが紹介されました。プログラムについては完全にコンパイルされていて、内容はわかりません。しかしバックテストしてみると、共通していえることは正確なエントリーがされているということです。あなたはプログラムを自作できる方と思います。そこで、エントリーのタイプが似てる感じのEAを紹介します。それとEAとそのプログラムが閲覧できるサイトです。実際に運用できるかどうかは、自己責任でお願いします。EAは http://codebase.mql4.com/4546 です。サイトは http://codebase.mql4.com/experts/page1 です。 なお、MT5が近くリリースされます。
その他の回答 (2)
- luckstock8
- ベストアンサー率46% (6/13)
EAの改良の方向性・考え方としましては、3点あると思います。ポジションのチェック構文をつける、エントリーポイントのチェック構文をつける、エントリーポイントの複線化(ポイントを前後にすこし幅をもたせる)等があるかと思います。
お礼
貴重なアドバイスありがとうございます。 さて、 エントリーを確実にするために繰り返し処理をしました。 以下のとおりです。 しかしながら、これでも確実にエントリーできません。 同じように、クローズを確実にするために以下のとおりのプログラムにしましたが、これでも確実にクローズできません。 なにか、問題点があれば、教えてください。 //エントリー 買いシグナル if(pos == 0 && Ask <= kijun ) { while(ticket == -1) { ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"",0,0,White); } if(ticket !=-1) { pos++; close=Ask+haba; slb1=Ask-sl*Point; } } //買いポジションを決済する if((pos==1 && Bid >=close) || slb1 >= Bid ) { int n = OrderClose(ticket,Lots,Bid,Slippage,Yellow); } if(n !=false) { pos--; }
- luckstock8
- ベストアンサー率46% (6/13)
MT4のストラテジーテスターで検証する際には、Visual modeでもう1度テストしてみてください。決済ポイントや新規注文ポイントがどれくらい正確にいっているかみてください。ずれている場合はプログラムを手直しする必要があると思います。具体的には、注文ポイントでのプログラムを1回の注文だけで終わらせず、約定するまで、繰り返し注文がでるように書き換えてみては、いかがでしょうか。完成度の高いEAは、ポイントのずれが少なく、比較的正確なポイントでエントリーしています。
お礼
ありがとうございます。一読して、「ハッ」とさせられました。 私は、今まで、プログラムどより忠実に発注されるものと誤解していました。手動発注の場合には、100パーセント約定するので、自動発注の場合も同様であろうと思い込んでいました。 ところで、約定するまでの繰り返し注文というのは、具体的には、-1あるいは、falseが戻り値として戻ってこないまで繰り返すということでしょうか。
お礼
回答ありがとうございます。 私が考えたプログラムを記載しましたが、これを実行したところ、 期待した効果はでませんでした。 「数打てば当たる」的な発想で、繰り返し発注を行ったのですが、だめでした。 基本に立ち戻り、「FX メタトレーダー入門」という本に記載されているサンプルプログラムをまねて、エントリープログラムを書いたところ、うまく発注できるようになりました。まずは、人真似を徹底的な行うことが近道だと感じました。 さて、ご教示いただいたEAとサイトですが、英語ばかりで、解読に時間がかかりますが、少しずつ研究してくいつもりです。 ありがとうございました。