記事"トレード履歴のカスタム表示とレポート図の作成"についてのディスカッション - ページ 5 12345 新しいコメント ANG3110 2018.11.03 18:16 #41 テスターのテスト履歴を自分のファイルに読み込むことは可能ですか?EAからではなく、スクリプトを追加することで? Andrey Azatskiy 2018.11.08 05:34 #42 ANG3110: テスターのテスト履歴を自分のファイルに読み込むことは可能ですか?Expert Advisorからではなく、スクリプトを追加することで可能ですか?はい、エクスパートアドバイザーに分割することなく、ターミナル全体から履歴を読み込むスクリプトです。実際、記事の中ですべての作業を行うクラスを説明しましたので、それを使用して独自のスクリプトを書くことができます。 Aleksey Vyazmikin 2019.08.18 11:35 #43 初期化解除の瞬間に、最適化中の履歴分析にあなたの開発を使いたいのです。 残高の変化を1つの配列にまとめるには、どのようにすればよいか教えてください。計器は現在のみ取引されています。 Andrey Azatskiy 2019.08.18 14:46 #44 Aleksey Vyazmikin:初期化解除時の最適化において、履歴解析のために貴社の開発を使用したい。残高の変化を1つの配列にまとめるには、どのようにすればよいか教えてください。計器は現在のみ取引されています。そのためには、2つ目の記事で 紹介した最終的なクラスを使用するのがよいでしょう。クラス "ReportCreator" このクラスを使って、私はOnDeinitでこのコードを使い、ロボットに最適化レポートをアップロードします: 。 //+------------------------------------------------------------------+ //|ShortReport.mqh //| Copyright 2019, MetaQuotes Software Corp. //|https://www.mql5.com //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #include "ReportCreator.mqh" //+------------------------------------------------------------------+ //| ファイルライター| //+------------------------------------------------------------------+ void writer(string fileName,string headder,string row) { bool isFile=FileIsExist(fileName,FILE_COMMON); // ファイルが存在するかどうかをフラグする int file_handle=FileOpen(fileName,FILE_READ|FILE_WRITE|FILE_CSV|FILE_COMMON|FILE_SHARE_WRITE|FILE_SHARE_READ); // ファイルを開く if(file_handle) // ファイルがオープンされている場合 { FileSeek(file_handle,0,SEEK_END); // カーソルをファイルの末尾に移動する。 if(!isFile) // 新規に作成されたファイルの場合、タイトルを書き込む。 FileWrite(file_handle,headder); FileWrite(file_handle,row); // メッセージを書く FileClose(file_handle); // ファイルを閉じる } } //+------------------------------------------------------------------+ //| ヒストリーセーバー| //+------------------------------------------------------------------+ void SaveReportToFile(string fileName) { if(FileIsExist(fileName,FILE_COMMON)) { FileDelete(fileName,FILE_COMMON); } DealDetales history[]; CDealHistoryGetter dealGetter; dealGetter.getDealsDetales(history,0,TimeCurrent()); CReportCreator reportCreator; reportCreator.Create(history,0); TotalResult totalResult; reportCreator.GetTotalResult(totalResult); int total= ArraySize(history); for(int i=0;i<total;i++) { writer(fileName, "Symbol;DT open;Day open;DT close;Day close;Volume;Long/Short;Price in;Price out;PL for one lot;PL for deal;Open comment;Close comment;", history[i].symbol+";"+ TimeToString(history[i].DT_open) + ";" + EnumToString(history[i].day_open) + ";" + TimeToString(history[i].DT_close) + ";" + TimeToString(history[i].day_close) + ";" + DoubleToString(history[i].volume)+";"+ (history[i].isLong ? "Long" : "Short")+";"+ DoubleToString(history[i].price_in) + ";" + DoubleToString(history[i].price_out) + ";" + DoubleToString(history[i].pl_oneLot) + ";" + DoubleToString(history[i].pl_forDeal) + ";" + history[i].open_comment + ";" + history[i].close_comment + ";"); } writer(fileName,"","==========================================================================================================================================="); writer(fileName,"","PL;"+DoubleToString(totalResult.total.PL)+";"); writer(fileName,"","Recovery factor;"+DoubleToString(totalResult.total.recoveryFactor)+";"); writer(fileName,"","Profit factor;"+DoubleToString(totalResult.total.profitFactor)+";"); writer(fileName,"","Draw Down in percent;"+DoubleToString(totalResult.total.maxDrawdown.inPercents)+";"); writer(fileName,"","Draw Down by pl;"+DoubleToString(totalResult.total.maxDrawdown.byPL)+";"); writer(fileName,"","Draw Down for a deal;"+DoubleToString(totalResult.total.maxDrawdown.forDeal)+";"); } //+------------------------------------------------------------------+ このコードは、#includeを介してロボットに接続する別のファイルにあります。 12345 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
テスターのテスト履歴を自分のファイルに読み込むことは可能ですか?Expert Advisorからではなく、スクリプトを追加することで可能ですか?
はい、エクスパートアドバイザーに分割することなく、ターミナル全体から履歴を読み込むスクリプトです。実際、記事の中ですべての作業を行うクラスを説明しましたので、それを使用して独自のスクリプトを書くことができます。
初期化解除の瞬間に、最適化中の履歴分析にあなたの開発を使いたいのです。
残高の変化を1つの配列にまとめるには、どのようにすればよいか教えてください。計器は現在のみ取引されています。
初期化解除時の最適化において、履歴解析のために貴社の開発を使用したい。
残高の変化を1つの配列にまとめるには、どのようにすればよいか教えてください。計器は現在のみ取引されています。
そのためには、2つ目の記事で 紹介した最終的なクラスを使用するのがよいでしょう。クラス "ReportCreator"
このクラスを使って、私はOnDeinitでこのコードを使い、ロボットに最適化レポートをアップロードします:。 このコードは、#includeを介してロボットに接続する別のファイルにあります。