Dr.EAの正規ブログ。EAの編集方法についての記事を書いています。興味がある方は、是非ご覧下さい。2010年1月21日EA作成・カスタマイズ[MT4]ここでは、複数のシグナルやエントリーフィルターを搭載して、それらのどれを使用するかを選択できるEAを作成する方法を紹介します。}}EAファイルをダウンロード次のリンクから、この記事で解説するサンプルEA【Sample_SwitchSignal_2019.mq4】がダウンロードできます。新MQL4リメイク版EA【Sample_SwitchSignal_2019.mq4】をダウンロード次のリンクは、旧MQL4のサンプルEAです。選択できるようにしています。ATRの値によるフィルターOnInit()関数内でパラメーター設定を制限OnInit()関数内で次のようにして、エントリーシグナルが一つも使用されない場合は、エラーアラートを出してEA稼働を終了するようにしています。}OnTick()関数内の構成OnTick()関数内は次の順で書いています。使用しない」が反映されるようにしています。買いサインにする(以下、売りサインの場合も同様)あとがき今回のEAコードの書き方は、色々なシグナルやフィルターを試したいときに便利ですので是非カスタマイズして使ってみてください。PM慶次さん、こんにちは。ありがとうございます。この書き方は時間フィルター等いろいろな場面で使える表現方法ですね。自作EAの修正を行いました。プログラムがぐんと短くできました。それでは、今後ともよろしくお願いします。こんばんは!いつも、お世話になっております。私も、シグナル、フィルター、トレイル、クローズ毎に個々に選択できるように書いてます。最近のODLでは、成り行き注文時に、初期SL値が設定不可になってしまった為、逆指値注文を行うようにしていたので、オーダー時の仕掛値の設定方法も、複数設定できるように、選択式にしています。MT4でバックテストを行っている際に、テスト期間が長いと、後半になるにつれて、非常に遅くなることはありませんか。テスト期間を分割して行えばいいのかと思ったのですが、もし、なにか御存じでしたらと思いまして。PMマーサーさんこんにちわ!MT4のバックテストでは、データのVolume(ティック数)によってバックテストのティック数が決められているようです。Volumeが多いところでは、その分次の足に進むのが遅くなるようです。AMいつもコメント、ありがとうございます。確かに、volume(ティック数)も関連しているようですが、やっぱり後半の方が、遅いような感じです。変なこと言って、失礼いたしました。^^;最近は、以前に作成したR倍数の自動計算するシステムを改善しまして、複数のシステム・通貨ペア毎の結果よりR倍数の計算結果を、ポートフォリオで、検証を行えるようにして、ポジションサイズの調整をできるように致しました。途中までしか読んでいないのですが、NLPをもとにしたトレード心理面の強化と、R倍数をもとにしたポジションサイズの検証方法をメインにしているようです。「魔術師たちの心理学」に比べると、かなり読みやすそうです。PMマーサーさんこんにちわ!バックテストを繰り返していると、確かに遅くなりますね^^;メモリを圧迫しているような感じです。何か分かりましたら連絡しますね^^>複数のシステム・通貨ペア毎の結果より>R倍数の計算結果を、ポートフォリオで、検証を行えるようにして、>ポジションサイズの調整をできるように致しました。_)mタープ博士「ポジションサイジング入門」が出たんですね^^ポジションサイジングは最重要項目ですからね^^早速読んでみます。PMはじめまして、さつきと申します。・などとしてみましたが、フィルターがかかりません。AMさつきさんこんにちわ!書いていただいた箇所だけでは、なんともいえませんが、その限られたコードで、SHIFilterがtrueの場合エントリなし、getSignal関数のif文でシグナル発生する場合は、if文の最後は、!SHIFilterになりますね。PM慶次さん、こんにちは。ご回答ありがとうございます。サインが出ていない状態ということになるのでしょうか?基本的なことがわかっていなかったようです。ありがとうございました。月曜日に試してみます。わからないことがあったら、よろしくお願いいたします。AMこんにちは、さつきと申します。いつもいろいろお教えいただきありがとうございます。exp-fileというエラーがでます。どこを直したらよろしいでしょうか?長くなるので省略した部分は、サンプルプログラムのコードと同じです。iCustom・・・・というふうにしていきたいのですが。・・・の後には、下記のコードが入っていますが、何度やっても確認画面では消えています。上記の件、理解できました。どこにも使われてないから、削除するというようなエラーなのですね。続くコードを入れる前にコンパイルして確かめてからと思っていたので、エラーが出ていました。下記の部分を入れたら、出なくなりました。PMさつきさんこんにちわ^^解決されてよかったです^^;関数が使われていないという警告でしたね^^;続くコードはすでに書き込んであると思って、不思議に思っておりました・・・。PM慶次さん、レスありがとうございます。少々、あわて者ですので、お許しください。自信がないと、落ち着いて考える余裕がなくなってしまいます。わからないことがありましたら、質問させていただきます。AM大変参考になる情報を提供していただきじっくりと勉強させてもらっております。最近更新がないようで少し残念です。複数のシグナルを使ったEAを作っているのですがEXITのところで詰まってしまい、ご教授頂ければとコメントしました。SWITCHSIGNALを参考にして作るとしたらどの様につくったらよいか色々試しているのですがうまくいかず...です。勝手なお願いですが教えて頂けないでしょうか。PMMatsuさんこんにちわ!>最近更新がないようで少し残念です。PMさっそく返事をいただき大変感激です。仕事中なので中身を見られないのが残念ですが、今夜帰ったら拝見させて頂きます。不明な点が有りましたら質問させて頂いてよろしいでしょうか?お忙しい中大変恐縮です!よろしくお願いします。PM慶次さんへ先日は大変お世話になりありがとうございました。コメントを頂き、あれこれとやってみましたがまだまだ初心者にはハードルが高く一時棚上げとし、別のものを作っておりましたがなかなか上手くいかずこんなコメントがでて解決できないでいます。parenthesis)大変恐縮ですがプログラム抜粋したものを張り付けさせていただきましたのでどこをどの様に直したらよいのかご教授いただけないでしょうか。読みにくくて申し訳ありません。AM慶次さんへお騒がせしました。なんとか解決しました!単なるバカなミスでした。エントリーしたらそのエントリー値を表示させようとしますがなにか変な値がでてしまいます。ここはどの様にしたらよいでしょうか。ご教授宜しくお願いします。AMMatsuさんこんにちわ^^変な値とは、OrderOpenPrice()ですか?ポジションの情報を取得するには、まずOrderSelect(・・・)でポジションの選択をする必要があります。PM慶次さん、はじめまして。EA自作の初心者です。(^-^;「Sample_SwitchSignal」を有難く利用させていただいております。一つ質問というか、お願いがございます。クローズするフィルタ」を導入したいと思っております。(エントリー後、ローソク足○本後にクローズという形が理想です。)(また、○本後は、パラメータで変更可能とするのが理想です。)お忙しい中、恐縮ではございますが、ご回答くださいますよう、宜しくお願い申し上げます。ExitBars(ExitBarsはパラメータ)を加えてみてください。コメントをキャンセル名前メールアドレス(公開されません)サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。運営者のプロフィール星野慶次EA作成代行「Dr.EA」のメインEAクリエイター。FX自動売買「Dr.EAのブログ」シェアTOPへ。