EAを最適化し、最適化されたものを手に入れる。 - ページ 41 1...343536373839404142434445464748...54 新しいコメント Georgiy Merts 2018.05.04 04:04 #401 フリー信号- 再最適化されました。 現在、6つのリーグTSが稼働していますが、これが最も最適なものと思われます。 現在のCUリーグの優勝候補の結果は前ページの 通りです。 過剰最適化に対する現在のTC。 № シンボルマーク システム 理由 1 ユーロスイスフラン ChnTrendDTS 新規 2 ユーロスイスフラン ChnTrendSAR 新規 3 ユーロスイスフラン ChnTrendSP 新規 4 ユーロスイスフラン ChnFlatSP 新規 5 ユーロスイスフラン ChnFlatSAR 新規 6 ユーロスイスフラン ChnFlatRTS 新規 7 ユーロスイスフラン ChnTrendRTS 新規 8 ユーロスイスフラン ChnFlatDTS 新規 9 GBPUSD ChnTrendSAR 不可 SL 10 カナダ円 ChnFlatSAR 不可 SL 11 CHFJPY EMAFlatRTS ビッグDD 12 米ドル円 EMAFlatDTS 最大待ち時間が長い USDJPY EMAFlatDTS を入れてみました。 最適化期間 17年5月4日~18年4月15日、17年10月4日以降順延 (最適化しすぎたので、この投稿を訂正し、TCを最後のものから最初のものへと最適化し直します) Optimise an EA and 戦略的予見システム ウィークリーウィナーズ Aleksey Vyazmikin 2018.05.04 17:49 #402 Georgiy Merts:フリー信号- 再開されました。 現在、6人のリーグTCが働いていますが、これが最も最適な状態だと思われます。それでも最適化結果をファイルに書き出せるようにすることはできるのでは?ただ、標準的な指標は私に与えてくれないし、他の人もあまり与えてくれないと思う。 これは私のデータセットで、オプティマイザを与えていますが、これも拡張する予定です。 Georgiy Merts 2018.05.05 04:16 #403 Aleksey Vyazmikin:それでも最適化結果をファイルに書き出せるようにしたらいいのでは?ただ、私や他の人もそうだと思いますが、標準的な指標からはあまり得るものがないんです。 これは、オプティマイザーが提供する私のデータセットですが、これも拡張していく予定です。 もちろん、これらのデータはすべてExpert Advisorの中に入っています。パスが通過するたびに、そのようなファイルを生成してファイルエリアに置くということでしょうか? でも、きっと多くの人が見てくれるのではないでしょうか? しかし、あなたのファイルで、言う - 私は個人的にこの図を感知しない - ちょうど "木のために森を見ることができない"。リカバリーファクター」と「失敗」の欄だけを見ています。 それ以外のデータは、私にとって余計なものであり、新しいことを教えてくれるものではありません。エキスパートにおけるパラメータはできるだけ少なく、評価のための指標もできるだけ少なくすることが必要だと思います。私はすべてを「品質」という1つのパラメーターに集約していましたが、もう1つ「持続可能性」というパラメーターが必要なんですね。 これは私が出力したパラメータであり、このセットを拡張していくつもりです」とおっしゃっていますが、何を目指しているのでしょうか? もっと具体的な例を挙げてください。出力した列のうち、少なくとも3分の1はどこで使うのでしょうか?まるで、隣のトピックの参加者で、チャートに素晴らしい視覚効果を表示する、素晴らしいキャンバスエンジンを書いた人みたいですね...。しかし、その機能を実用化することは考えていなかった。データを取得することは、特定の用途、特定の選択方法、またはTC操作の一部であるべきです。そして、「持つだけ」...。このようなリソースは、外部システムの追加的な最適化や新システムの導入に費やした方がよいでしょう。アイデアとしては、もちろん、出力ファイルに悩むことも可能です。品質、ドローダウンとSLキューは十分ではありません - - まあ、少なくともカップルより多くの投票がある場合は、そのようなファイルを作成し、レポートにそのデータが表示されます。 Georgiy Merts 2018.05.05 04:25 #404 過剰最適化に対する現在のTC。 № シンボルマーク システム 理由 1 ユーロスイスフラン ChnTrendSAR 新規 2 ユーロスイスフラン ChnTrendSP 新規 3 ユーロスイスフラン ChnFlatSP 新規 4 ユーロスイスフラン ChnFlatSAR 新規 5 ユーロスイスフラン ChnFlatRTS 新規 6 ユーロスイスフラン ChnTrendRTS 新規 7 ユーロスイスフラン ChnFlatDTS 新規 8 GBPUSD ChnTrendSAR 不可 SL 9 ユーロスイスフラン EMATrendSP 多くのSL 10 GBPAUD EMAFlatRTS ビッグDD 11 カナダ円 ChnFlatSAR 不可 SL 12 CHFJPY EMAFlatRTS ビッグDD 13 GBPNZD EMAFlatSAR 最大待ち時間が長い GBPNZD EMAFlatSARを持っています。 期間17.05.00~18.05.00、17.10.00より繰り上げ Optimise an EA and [アーカイブ!】純粋数学、物理学、化学など:トレードとは一切関係ない脳トレ問題集 [Archive!] Pure mathematics, physics, Georgiy Merts 2018.05.05 08:30 #405 お気に入りに関する現在の状況 (全てのTCはMMなし、最小ロットでデモに取り組む)。品質別ベスト20。 品質トップ10のチャート。 バランスによるベスト20。 バランス別チャートベスト10 念のため、Trading Systems League Expert(MT4とMT5の両方のバージョン)はYandex-diskに あります。また、アーカイブには、連盟の原則の簡単な説明と、連盟で活動しているTSのリストが添付されています。デフォルトでは、リーグは1つのTS(EURUSD ChnTrendSAR、magik 220141)で制限なく機能します。その他のTSはストラテジーテスターでのみ動作します。デモまたはリアルアカウントでの作業には、登録コードが必要です。アカウント番号と連動して3ヶ月間有効な登録コードが発行され、個々のリーグシステムの最適化を行います(クアッドコアCore i5で2~5時間)。 EALeague yadi.sk View and download from Yandex.Disk Aleksey Vyazmikin 2018.05.05 09:49 #406 Georgiy Merts: もちろん、これらのデータはすべてExpert Advisorの中に入っています。パス毎にそのようなファイルを生成し、ファイル領域に放り込むということでしょうか? でも、きっと多くの人が見てくれるのではないでしょうか? これは私が表示するパラメーターであり、このセットはまだ拡張するつもりです」とおっしゃいますが、目的は何でしょうか? もっと具体的な例を示してください。出力した列の少なくとも3分の1はどこで使うのでしょうか?理論的にはもちろん出力可能です。まあ、3つのパラメータ - 品質、沈下、SLキューが十分ではないことを少なくともカップルより多くの投票がある場合は - まあ、そのようなファイルを作成し、レポートにそのデータを表示します。言ってみれば、最適化しているExpert Advisorがどんなものか急に気になったのですが、その正確なアルゴリズムが分からないまま、パフォーマンスに注目しようと思い、ふと統計指標が少ないため、結果を評価できないことに気がつきました。 選考はプロジェクト参加者が自ら行うべきとおっしゃいますが、入手可能なデータからすると現実的ではありません。 今、私は機械的な評価システムに取り組んでいます。主なアイデアは、すべての指標のバランスをとることで、その絶対値だけ ではありません。 例えば、「収入」-「最大連続利益」*3-「支出」-「最大連続損失」*3という式で利益を推定し、まだプラスであればさらに調べることが多いですが、この段階でもかなりふるい落としができます。 また、ドローダウンは、ドローダウン時の累積利益に依存するため、自然な形でしか認識できないが、累積利益の後だけに、次回もこのドローダウンが発生するという保証はないため、何も言うことはない。例えば、起動資金1000で10%のドローダウンなら10口、2000の利益で10%なら既に30口であり、数値は比較にならないことに同意する。毎日資金を引き出すだけなら割合の意味はあるが、それを実行すると他の指標が忍び寄り、自動計算され、自分でそれぞれの数字を持つことになり、面倒である。 データをファイルに書き込むための私のコードを、もしやったことがなければお教えしますよ。 Georgiy Merts 2018.05.05 10:01 #407 Aleksey Vyazmikin:データをファイルに書き込むための私のコードを、もしやったことがなければお教えしますよ。Skypeをあきらめるべきではありませんでした。コードを見て、最適な方法を考えることができたはずです。 さあ、どんな指標が必要なんだ? また、どの時点でExpert Advisorから出力されるべきでしょうか? 私の理解では、OnTester()関数で? 私はそのような機能を作るでしょう。Excelで簡単に開くことができるCSVファイルが出力されます。 また、Expert Advisorとは、リーグのメインのExpert Advisorなのか、それとも異なるTS用の別々のEAなのか、どのようなものなのでしょうか? Aleksey Vyazmikin 2018.05.05 10:11 #408 Georgiy Merts:Skypeをあきらめるべきではありませんでした。コードを見て、どうするのがベストなのかを考えてもよかったのでは? さあ、どんな指標が必要なんだ? また、どの時点でExpert Advisorから出力されるべきでしょうか。 私の理解では、関数OnTester()で? 私はそのような機能を作るでしょう。 ああ、ここで言うEAとは、リーグのメインのExpert Advisorなのか、それとも異なるTSのための別々のEAなのか? 私はこのように整理しています。 //--- Кол-во показателей для записи в файл #define STAT_VALUES_COUNT 21 double stat_values[STAT_VALUES_COUNT]; // Массив для показателей теста //+------------------------------------------------------------------+ //| Начало оптимизации | //+------------------------------------------------------------------+ void OnTesterInit() { //FileWrite(Statistic,"typeMAH","pMAH","pipsXH","pMAT_Sell","CalcPlan","FinRezultatTotalSell","avrMassSell","MaxOrdersSell","N_Sell","ProcTotalSell","Вершин Sell","FinRezultatTotalBuy","avrMassBuy","MaxOrdersBuy","N_Buy","ProcTotalBuy","Вершин Buy"); //Printer.Write("OnTesterInit"); string TimeF=TimeToString(TimeLocal(),TIME_DATE|TIME_MINUTES); StringSetCharacter(TimeF,13,'_'); Statistic=Printer.FileCreate(Symbol()+"_"+TimeF+"_S&G","S&G\\Test",false,false,EvryTick); //Создание файла для записи Printer.Write("N", "Депо", "Прибыль", "Доход", "Расход", "Прибыльность", "Фактор вост.", "Мат ож", "К.Ш.", "Макс ДД баланса", "Макс ДД средств", "N сделок", "N трейдов", "N + трейдов", "N - трейдов", "Sell трейдов", "Buy трейдов", "Sell + трейдов", "Buy + трейдов", "Avr + трейдов", "Avr - трейдов", "% Sell от прибыльных", "% Buy от прибыльных", "% Sell от всех", "% Buy от всех", "% + от всех", "Custom" ); } //+------------------------------------------------------------------+ //| Обработчик события окончания тестирования | //+------------------------------------------------------------------+ double OnTester() { //--- Заполним массив показателями теста GetTestStatistics(stat_values); //--- Создадим фрейм FrameAdd("Statistics",1,0,stat_values); double custom_Pokazatel_01=CustomPokazatelf(1); // return(0.0); return(custom_Pokazatel_01); } //+------------------------------------------------------------------+ //| Пользовательские функции | //+------------------------------------------------------------------+ double CustomPokazatelf(int VariantPokazatel) { double profit = TesterStatistics(STAT_PROFIT); double max_dd = TesterStatistics(STAT_BALANCE_DD); // double RecoveryF = TesterStatistics(STAT_RECOVERY_FACTOR); double Mat_Ojidanie = TesterStatistics(STAT_EXPECTED_PAYOFF); double custom_Pokazatel=0; //=ЕСЛИ(C3-40000>0;(C3-40000)*(3000-J3);-1) //if (profit-40000>0)custom_Pokazatel_01=(profit-40000)*(3000-max_dd); //=ЕСЛИ(И(C3-40000>0;3000-J3>0);(C3-40000)*СТЕПЕНЬ(3000-J3;1,5)*H3;0) if (VariantPokazatel==1) { if (profit-Find_Profit>0 && Find_MaxDD-max_dd>0)custom_Pokazatel=(profit-Find_Profit)*MathPow((Find_MaxDD-max_dd),1.5)*Mat_Ojidanie/(Find_Profit+max_dd); else custom_Pokazatel=-1; } return(custom_Pokazatel); } //+------------------------------------------------------------------+ //| Очередной проход оптимизации | //+------------------------------------------------------------------+ void OnTesterPass() { string name =""; // Публичное имя/метка фрейма ulong pass =0; // Номер прохода в оптимизации, на котором добавлен фрейм long id =0; // Публичный id фрейма double val =0.0; // Одиночное числовое значение фрейма //--- FrameNext(pass,name,id,val,stat_values); //--- // Print(__FUNCTION__,"(): pass: "+IntegerToString(pass)+"; STAT_PROFIT: ",DoubleToString(stat_values[0],2)); // double a=stat_values[0]; // Print ("a=",a); // Print(DotToComma(DoubleToString(stat_values[0],2))); double SellPribl_from_Pribl=0.0;//Процент прибыльных позиций Sell из всех прибыльных double BuyPribl_from_Pribl=0.0;//Процент прибыльных позиций Buy из всех прибыльных double SellPribl_from_All=0.0;//Процент прибыльных позиций Sell из всех проторгованных double BuyPribl_from_All=0.0;//Процент прибыльных позиций Buy из всех проторгованных double Pribl_from_All=0.0;//Процент прибыльных позиций из всех проторгованных if (stat_values[12]>0) SellPribl_from_Pribl=stat_values[16]/stat_values[12]*100.0; if (stat_values[12]>0) BuyPribl_from_Pribl=stat_values[17]/stat_values[12]*100.0; if (stat_values[11]>0) SellPribl_from_All=stat_values[16]/stat_values[11]*100.0; if (stat_values[11]>0) BuyPribl_from_All=stat_values[17]/stat_values[11]*100.0; if (stat_values[11]>0) Pribl_from_All=stat_values[12]/stat_values[11]*100.0; /*if (pass>0)*/ Printer.Write(IntegerToString(pass), stat_values[0], stat_values[1], stat_values[2], stat_values[3], DoubleToString(stat_values[4],2), DoubleToString(stat_values[5],2), DoubleToString(stat_values[6],2), DoubleToString(stat_values[7],2), stat_values[8], stat_values[9], stat_values[10], stat_values[11], stat_values[12], stat_values[13], stat_values[14], stat_values[15], stat_values[16], stat_values[17], stat_values[18], stat_values[19], DoubleToString(SellPribl_from_Pribl,2), DoubleToString(BuyPribl_from_Pribl,2), DoubleToString(SellPribl_from_All,2), DoubleToString(BuyPribl_from_All,2), DoubleToString(Pribl_from_All,2), DoubleToString(stat_values[20],2) ); //--- Если включена запись результатов оптимизации // CreateOptimizationReport(); /* Print("OnTesterPass"); Printer.Write("OnTesterPass"); */ } //+------------------------------------------------------------------+ //| Завершение оптимизации | //+------------------------------------------------------------------+ void OnTesterDeinit() { FileClose(Statistic); } //+------------------------------------------------------------------+ //| Заполняет массив результатами теста | //+------------------------------------------------------------------+ void GetTestStatistics(double &stat_array[]) { stat_array[0]= TesterStatistics(STAT_INITIAL_DEPOSIT); // Значение начального депозита stat_array[1]= TesterStatistics(STAT_PROFIT); // Чистая прибыль по окончании тестирования, сумма STAT_GROSS_PROFIT и STAT_GROSS_LOSS (STAT_GROSS_LOSS всегда меньше или равно нулю) stat_array[2]= TesterStatistics(STAT_GROSS_PROFIT); // Общая прибыль, сумма всех прибыльных (положительных) трейдов. Значение больше или равно нулю stat_array[3]= TesterStatistics(STAT_GROSS_LOSS); // Общий убыток, сумма всех убыточных (отрицательных) трейдов. Значение меньше или равно нулю stat_array[4]= TesterStatistics(STAT_PROFIT_FACTOR); // Прибыльность – отношение STAT_GROSS_PROFIT/STAT_GROSS_LOSS. Если STAT_GROSS_LOSS=0, то прибыльность принимает значение DBL_MAX stat_array[5]= TesterStatistics(STAT_RECOVERY_FACTOR); // Фактор восстановления – отношение STAT_PROFIT/STAT_BALANCE_DD stat_array[6]= TesterStatistics(STAT_EXPECTED_PAYOFF); // Математическое ожидание выигрыша stat_array[7]= TesterStatistics(STAT_SHARPE_RATIO); // Коэффициент Шарпа stat_array[8]= TesterStatistics(STAT_BALANCE_DD); // Максимальная просадка баланса в деньгах. В процессе торговли баланс может испытать множество просадок, берется наибольшее значение. stat_array[9]= TesterStatistics(STAT_EQUITY_DD); // Максимальная просадка средств в деньгах. В процессе торговли средства могут испытать множество просадок, берется наибольшее значение. stat_array[10]= TesterStatistics(STAT_DEALS); // Количество совершенных сделок stat_array[11]= TesterStatistics(STAT_TRADES); // Количество трейдов stat_array[12]= TesterStatistics(STAT_PROFIT_TRADES); // Прибыльные трейды stat_array[13]= TesterStatistics(STAT_LOSS_TRADES); // Убыточные трейды stat_array[14]= TesterStatistics(STAT_SHORT_TRADES); // Короткие трейды stat_array[15]= TesterStatistics(STAT_LONG_TRADES); // Длинные трейды stat_array[16]= TesterStatistics(STAT_PROFIT_SHORTTRADES); // Короткие прибыльные трейды stat_array[17]= TesterStatistics(STAT_PROFIT_LONGTRADES); // Длинные прибыльные трейды stat_array[18]= TesterStatistics(STAT_PROFITTRADES_AVGCON); // Средняя длина прибыльной серии трейдов stat_array[19]= TesterStatistics(STAT_LOSSTRADES_AVGCON); // Средняя длина убыточной серии трейдов //stat_array[20]= TesterStatistics(STAT_CUSTOM_ONTESTER); // Custom stat_array[20]= CustomPokazatelf(1); // Custom } コードに不具合があるのか、最後のフレームが全部来ないこともありますが、いつもというわけではなく、ナンバリングが一致することもあります。一般的にはプログラムの不具合だと思うのですが、もしコードのバグを見つけたら教えてください そして、どのEAで - はい、あなたがすることができ、最適化の対象となるすべてのことである。 Georgiy Merts 2018.05.05 10:24 #409 うーん...。 各テストランは、統計ファイルだけでなく、MQDファイルのフレームにも保存されていますか?ちゃんと理解できたかな? また、テスターのパスがクラウドにある場合、OnTesterPass()でファイルへの出力はどのように機能するのでしょうか?フレーム内では書き込まれますが、ファイル内では書き込まれないのではないでしょうか。 アレクセイ、君はデータの流れに溺れてしまうよ。 しかし、もしそれがあなたにとってとても重要なことであるなら、私はあなたのコードをTCリーグに入れることができます。 あなたのコードは非常に透明で巧妙なので、ほとんど変更せずにフィットすると思います。 まあ...今日か明日、あなたのコードをリーグに入れるから......。あまり意味がないような気もしますが。数字が多くて、木を見て森を見ずになってしまう。 Aleksey Vyazmikin 2018.05.05 10:34 #410 Georgiy Merts:うーん...。 各テストランは、統計ファイルだけでなく、MQDファイルのフレームにも保存されていますか?ちゃんと理解できたかな? アレクセイ、君はデータの流れに溺れてしまうよ。 しかし、もしそれがあなたにとってとても重要なことであるなら、私はあなたのコードをTCリーグに入れることができます。 あなたのコードは非常に透明でスマートなので、ほとんど変更せずにフィットすると思います。 まあ...今日か明日、あなたのコードをリーグに入れるから......。あまり使い道がないような気もしますが。数字が多くて、木を見て森を見ずになってしまう。フレームは、ネットワークからすべて収集させるために必要です。オプティマイザー(エージェント)、私は1台のコンピュータを使っているわけではありません。というわけで、このコードは私が一から書いたものではなく、最適化に関する記事から部分的に腑分けして、私のニーズに合わせてアレンジしたものです。 Expert Advisorでは、外部変数を作成し、その変数に従って統計情報を書き込むかどうかを設定することができます。 また、私のモンスターと違って、あなたのEAでは外部変数が少ないので、変数の値を一度に書くことができます(書く必要があります) - 最終ファイルに数行追加されますが、別のレベルで作業することができます。今は、これらの値を手作業でファイルに追加しているだけで、つまり断片的に最適化しているのです。 1...343536373839404142434445464748...54 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
フリー信号- 再最適化されました。
現在、6つのリーグTSが稼働していますが、これが最も最適なものと思われます。
現在のCUリーグの優勝候補の結果は前ページの 通りです。
過剰最適化に対する現在のTC。
USDJPY EMAFlatDTS を入れてみました。
最適化期間 17年5月4日~18年4月15日、17年10月4日以降順延
(最適化しすぎたので、この投稿を訂正し、TCを最後のものから最初のものへと最適化し直します)
フリー信号- 再開されました。
現在、6人のリーグTCが働いていますが、これが最も最適な状態だと思われます。
それでも最適化結果をファイルに書き出せるようにすることはできるのでは?ただ、標準的な指標は私に与えてくれないし、他の人もあまり与えてくれないと思う。
これは私のデータセットで、オプティマイザを与えていますが、これも拡張する予定です。
それでも最適化結果をファイルに書き出せるようにしたらいいのでは?ただ、私や他の人もそうだと思いますが、標準的な指標からはあまり得るものがないんです。
これは、オプティマイザーが提供する私のデータセットですが、これも拡張していく予定です。
もちろん、これらのデータはすべてExpert Advisorの中に入っています。パスが通過するたびに、そのようなファイルを生成してファイルエリアに置くということでしょうか?
でも、きっと多くの人が見てくれるのではないでしょうか?
しかし、あなたのファイルで、言う - 私は個人的にこの図を感知しない - ちょうど "木のために森を見ることができない"。リカバリーファクター」と「失敗」の欄だけを見ています。
それ以外のデータは、私にとって余計なものであり、新しいことを教えてくれるものではありません。エキスパートにおけるパラメータはできるだけ少なく、評価のための指標もできるだけ少なくすることが必要だと思います。私はすべてを「品質」という1つのパラメーターに集約していましたが、もう1つ「持続可能性」というパラメーターが必要なんですね。
これは私が出力したパラメータであり、このセットを拡張していくつもりです」とおっしゃっていますが、何を目指しているのでしょうか?
もっと具体的な例を挙げてください。出力した列のうち、少なくとも3分の1はどこで使うのでしょうか?まるで、隣のトピックの参加者で、チャートに素晴らしい視覚効果を表示する、素晴らしいキャンバスエンジンを書いた人みたいですね...。しかし、その機能を実用化することは考えていなかった。データを取得することは、特定の用途、特定の選択方法、またはTC操作の一部であるべきです。そして、「持つだけ」...。このようなリソースは、外部システムの追加的な最適化や新システムの導入に費やした方がよいでしょう。
アイデアとしては、もちろん、出力ファイルに悩むことも可能です。品質、ドローダウンとSLキューは十分ではありません - - まあ、少なくともカップルより多くの投票がある場合は、そのようなファイルを作成し、レポートにそのデータが表示されます。
過剰最適化に対する現在のTC。
GBPNZD EMAFlatSARを持っています。
期間17.05.00~18.05.00、17.10.00より繰り上げ
お気に入りに関する現在の状況
(全てのTCはMMなし、最小ロットでデモに取り組む)。
品質別ベスト20。
品質トップ10のチャート。
バランスによるベスト20。
バランス別チャートベスト10
念のため、Trading Systems League Expert(MT4とMT5の両方のバージョン)はYandex-diskに あります。また、アーカイブには、連盟の原則の簡単な説明と、連盟で活動しているTSのリストが添付されています。
デフォルトでは、リーグは1つのTS(EURUSD ChnTrendSAR、magik 220141)で制限なく機能します。
その他のTSはストラテジーテスターでのみ動作します。デモまたはリアルアカウントでの作業には、登録コードが必要です。アカウント番号と連動して3ヶ月間有効な登録コードが発行され、個々のリーグシステムの最適化を行います(クアッドコアCore i5で2~5時間)。
もちろん、これらのデータはすべてExpert Advisorの中に入っています。パス毎にそのようなファイルを生成し、ファイル領域に放り込むということでしょうか?
でも、きっと多くの人が見てくれるのではないでしょうか?
これは私が表示するパラメーターであり、このセットはまだ拡張するつもりです」とおっしゃいますが、目的は何でしょうか?
もっと具体的な例を示してください。出力した列の少なくとも3分の1はどこで使うのでしょうか?
理論的にはもちろん出力可能です。まあ、3つのパラメータ - 品質、沈下、SLキューが十分ではないことを少なくともカップルより多くの投票がある場合は - まあ、そのようなファイルを作成し、レポートにそのデータを表示します。
言ってみれば、最適化しているExpert Advisorがどんなものか急に気になったのですが、その正確なアルゴリズムが分からないまま、パフォーマンスに注目しようと思い、ふと統計指標が少ないため、結果を評価できないことに気がつきました。
選考はプロジェクト参加者が自ら行うべきとおっしゃいますが、入手可能なデータからすると現実的ではありません。
今、私は機械的な評価システムに取り組んでいます。主なアイデアは、すべての指標のバランスをとることで、その絶対値だけ ではありません。
例えば、「収入」-「最大連続利益」*3-「支出」-「最大連続損失」*3という式で利益を推定し、まだプラスであればさらに調べることが多いですが、この段階でもかなりふるい落としができます。
また、ドローダウンは、ドローダウン時の累積利益に依存するため、自然な形でしか認識できないが、累積利益の後だけに、次回もこのドローダウンが発生するという保証はないため、何も言うことはない。例えば、起動資金1000で10%のドローダウンなら10口、2000の利益で10%なら既に30口であり、数値は比較にならないことに同意する。毎日資金を引き出すだけなら割合の意味はあるが、それを実行すると他の指標が忍び寄り、自動計算され、自分でそれぞれの数字を持つことになり、面倒である。
データをファイルに書き込むための私のコードを、もしやったことがなければお教えしますよ。
データをファイルに書き込むための私のコードを、もしやったことがなければお教えしますよ。
Skypeをあきらめるべきではありませんでした。コードを見て、最適な方法を考えることができたはずです。
さあ、どんな指標が必要なんだ?
また、どの時点でExpert Advisorから出力されるべきでしょうか? 私の理解では、OnTester()関数で? 私はそのような機能を作るでしょう。Excelで簡単に開くことができるCSVファイルが出力されます。
また、Expert Advisorとは、リーグのメインのExpert Advisorなのか、それとも異なるTS用の別々のEAなのか、どのようなものなのでしょうか?
Skypeをあきらめるべきではありませんでした。コードを見て、どうするのがベストなのかを考えてもよかったのでは?
さあ、どんな指標が必要なんだ?
また、どの時点でExpert Advisorから出力されるべきでしょうか。 私の理解では、関数OnTester()で? 私はそのような機能を作るでしょう。
ああ、ここで言うEAとは、リーグのメインのExpert Advisorなのか、それとも異なるTSのための別々のEAなのか?
私はこのように整理しています。
コードに不具合があるのか、最後のフレームが全部来ないこともありますが、いつもというわけではなく、ナンバリングが一致することもあります。一般的にはプログラムの不具合だと思うのですが、もしコードのバグを見つけたら教えてください
そして、どのEAで - はい、あなたがすることができ、最適化の対象となるすべてのことである。
うーん...。
各テストランは、統計ファイルだけでなく、MQDファイルのフレームにも保存されていますか?ちゃんと理解できたかな?
また、テスターのパスがクラウドにある場合、OnTesterPass()でファイルへの出力はどのように機能するのでしょうか?フレーム内では書き込まれますが、ファイル内では書き込まれないのではないでしょうか。
アレクセイ、君はデータの流れに溺れてしまうよ。
しかし、もしそれがあなたにとってとても重要なことであるなら、私はあなたのコードをTCリーグに入れることができます。
あなたのコードは非常に透明で巧妙なので、ほとんど変更せずにフィットすると思います。
まあ...今日か明日、あなたのコードをリーグに入れるから......。あまり意味がないような気もしますが。数字が多くて、木を見て森を見ずになってしまう。
うーん...。
各テストランは、統計ファイルだけでなく、MQDファイルのフレームにも保存されていますか?ちゃんと理解できたかな?
アレクセイ、君はデータの流れに溺れてしまうよ。
しかし、もしそれがあなたにとってとても重要なことであるなら、私はあなたのコードをTCリーグに入れることができます。
あなたのコードは非常に透明でスマートなので、ほとんど変更せずにフィットすると思います。
まあ...今日か明日、あなたのコードをリーグに入れるから......。あまり使い道がないような気もしますが。数字が多くて、木を見て森を見ずになってしまう。
フレームは、ネットワークからすべて収集させるために必要です。オプティマイザー(エージェント)、私は1台のコンピュータを使っているわけではありません。というわけで、このコードは私が一から書いたものではなく、最適化に関する記事から部分的に腑分けして、私のニーズに合わせてアレンジしたものです。
Expert Advisorでは、外部変数を作成し、その変数に従って統計情報を書き込むかどうかを設定することができます。
また、私のモンスターと違って、あなたのEAでは外部変数が少ないので、変数の値を一度に書くことができます(書く必要があります) - 最終ファイルに数行追加されますが、別のレベルで作業することができます。今は、これらの値を手作業でファイルに追加しているだけで、つまり断片的に最適化しているのです。