記録ファイルを作ってみよう!記録ファイルを作ってみよう!今回は、弱気なブルートさんのコメントにありました一定時間毎のドローダウンを記録するファイルを作るEAを作ってみましょう!サンプルとして、ランダムエントリーでATRの数倍のトレイリングストップするシステムとして紹介した記事「利益を出すランダムエントリーシステム!?」を使って、作ってみました。ポジションのドローダウン、残高ピーク時からのドローダウンを記録するという感じです。バックテストで実行した場合は、testerフォルダ→filesフォルダ内にファイルが作成されます。リアルタイムで実行した場合は、expertsフォルダ→filesフォルダ内にファイルが作成されます。FileType="txt";パラメータ用の変数です。FileNameには、作成するファイル名を入力します。FileTypeには、作成するファイルの拡張子を入力します。『txt』や『log』などと入力すると、テキストファイルとなります。『xls』と入力すると、エクセルファイルになります。filename;記憶用の変数です。次に出てきますが、filenameには、パラメータで設定したファイル名と拡張子をつなげたものを記憶してもらっています。init()の{}内にスタート前にしてもらうことを書きます。ピリオドでつなげたものを代入します。(パラメータ初期値の場合、『writesample.txt』といった具合になります。handle;handle=FileOpen(filename,FILE_WRITE,"\t");で、handleという整数変数を宣言。いうファイルを書き込みモードでタブ区切り形式で開きます。(ファイルがない場合は作成されます。FileOpen関数を使うと、指定したファイルを開くと同時に『現在開いているファイルで何番目か』という番号が割り当てられます。ポジション確認の時のインデックス番号に似ていますね!ファイルハンドルの場合は、1から始まっているので間違えないように気をつけましょう。"PosDD","DD");FileClose(handle);}handleに正常に番号が割り当てられたら、Month,Day,Hour,Balance,Equity,PosDD,DDという文字を書き込みます。現在の残高を代入します。記憶しておいた値と違う場合は、といった感じです。次にファイルに記録したいものを変数として宣言し、値を代入していきます。hour=TimeHour(TimeCurrent());現在の月、日、時間をmonth,day,hourとし、値を代入します。;残高、有効証拠金も同様にします。宣言し、現在の残高からのドローダウンを代入します。値に『%』を付け加えたものを代入します。値を使って計算し、同様にします。記憶されているファイルを開きます。posDDstr,HighDDstr);FileClose(handle);writebar=iBars(NULL,240);}}}//ポジション有りの時のカッコファイルの最後の段にポインタを移動させ、それぞれの値をファイルに書き込みます。ABやAEを文字列にしているのは、テキストファイルの表示桁数をそろえるためです。文字列に変換しなくても、問題はないです^^;そして、ファイルを閉じます。記憶しておいてもらいます。書き込みのタイミングや、記録する内容など改造したりして試してみてくださいね。(6)記事アップありがとうございますヒントどころか、コードそのもの+詳しい解説までしていただいて、本当に感激ものです、PIDSP4と言うEAを使ってみてナンピン系EAの含み損の怖さを思い知りましたで、今回のお願いだったのですが、本当に助かります商用EAだとMQ4ではないので組み込みは無理ですが、少し改造して売買しないようにすれば、同時に稼働しておくことによって、外のEAの売買記録がとれますね実は、PIDSP5にはこの機能が付いていたんですが、PipMaker系にも組み込んでテストしてみたいな、と思ったのがきっかけですMT4自体にこの機能が有るのがベストでしょうけど・・・あ、VQSimpleもおいしく頂きました完全にとけ込んでますねWとりあえず、お礼と言っては些少すぎますがランクリいたしましたこちらは、お礼では有りませんが、気になるアドセンス見させた頂きました、勿論狩りになったりしてはいけないので数個に止めています時々おじゃましますね内容は、まだ、さっと見ただけなので、理解できない部分も有りますが、後ほどよく見させていただきます、よく見ても判らない公算が大ですがW取り急ぎお礼まで。16:18弱気なブルートさんクリックありがとうございます!これからもよろしくお願い致します。02:43じっくりコードを見させていただき、なんとか大まかには理解できました、有り難うございます。いじって楽しんでいます。思いついたのは、ex4しか公開されておらず、なおかつストップを入れないEAを、こちらのEAをエントリーしないようにしてさらにマジックを合わせて、同時に走らせ、トレーリングストップにしてみたり(先に元のEAがクローズする事もありますが)、手動でエントリーした物をこちらのEAでコントロールして貰ったり、色々と楽しめます。同時に記録も残りますし。一定以上の期間が有れば、あらゆる時間足、あらゆる通貨ペアにおいて全くパラメータをいじることなく、利益を上げられるロジックが有れば、それは、聖杯と言うことなのでしょうが、あり得ないものかも知れませんね。前の記事に有ったわけですが、まだ試していませんでした。ATRの数倍のトレイリングストップ、いろんな通貨ペア、いろんな時間足で有る程度、パラメータを変えずに利益を出せるってすばらしいですね、なおかつランダムエントリーで。エントリーにとらわれがちですが、クローズこそ大事なのだと、つくづく感じました。しても判らないのが、このEA、オプティマイズが上手くいきません。倍率を最適化しようとすると、結果はちゃんと出るんですが、そのパラメータでバックテストすると、全く違った結果になります。?よろしくお願いします。19:59弱気なブルートさんこんにちわ!サンプルがお役に立ててよかったです(^-^)サンプルは、ランダムエントリーなので完全な最適化はできないかと思います。エントリも優位性の有る一定の理由に基づいて行なった方が勝率が良くなると思います。クローズの方法の一つといった具合に考えていただければと思います。08:26コメント有り難うございます私も、乱数を使っているからなのかな、とは思ったのですが、一度オプティマイズした後、他のeaをオプティマイズして、再度同じオプティマイズをしてみても、結果は完全に一致し、バックってストはバックテストで、こちらも同じことが言えるのですが、オプティマイズとバックテスト結果が一致しないのが腑に落ちませんでした。バックテストを一日ずらしてテストしてみても大体似たような曲線を描くのに、オプティマイズ結果数個をバックテストしてみるとあまりにも、違いすぎるようなので、質問してみました。言葉がたりなくてすみませんでした。MT4の乱数の仕様だと、割り切るしか無いのでしょうかね。確かに仰有るように、実際使おうとすれば、トレンドが出ているときに、順張り、とかでエントリーする訳で、深く考えてもしょうがないのでようけど。その後ちょっと思いついて試してみたのですが、MathSrand(1);でイニシャライズすればいいのかな?なんて思ってやってみたのですが結果はダメで、MathSrand(TimeLocal());でやってみたら、少しは近い値になりました、中には完全一致している物もあります。見てみたら、それは、Pass1でした、要するに、オプティマイズでは、2回目以降は前回の系列を引き継ぐとかなのでしょうかね。MathSrand(TimeLocal());で近い値になったのは、たまたまだったのかな?ちなみにstart以降でイニシャライズしてみても、結果は同じになりませんでした。細かいことに、長々とすみませんでした。13:54コメントを投稿する(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)名前:メールアドレス:URL:ログイン情報を記憶コメントここにコメントを記入してくださいCaptcha:画像の中に見える文字を入力してください。Captchaの認証で入力ミスがありますと、コメントが消えてしまいますのでご注意ください。コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。EA(20)indicators(3)その他(17)完全自動売買(10)投資戦術の検証(3)投資書籍(4)アーカイブ2014年5月(1)2014年1月(1)2013年9月(1)2013年6月(1)2013年3月(1)2012年5月(1)2012年1月(1)2011年2月(1)2010年10月(1)2010年3月(1)2010年2月(3)2010年1月(2)2009年10月(3)2009年8月(3)2009年5月(3)2009年1月(1)2008年12月(3)2008年11月(3)2008年9月(1)2008年8月(1)2008年7月(2)2008年6月(1)2008年5月(3)2008年4月(2)2008年3月(2)2008年2月(3)2008年1月(12)2007年12月(15)2007年11月(5)2007年10月(16)検索プロフィールDr.EAのアシスタント?をしている慶次です。自動売買のEA作成をお手伝いが出来ればと思っています。完全自動売買を可能にするMetaTraderのEAをプログラムするDr.EAの正規ブログ。EAのプログラミング言語MQLの使用方法やEAの製作方法の記事を作成。FXの自動売買やシステムトレードに興味がある方は、是非ご覧下さい。記録ファイルを作ってみよう!。