アルゴリズム最適化選手権。 - ページ 75

 
テキストタスクを試された方はいらっしゃいますか?結果はどうだったのでしょうか?
 
7月11日までにMetaQuotesの運営関係者がここに現れないと、チャンピオンシップのためのFF生成手順が実行されないため、チャンピオンシップは不可能になります。
 

では、テキストの問題で、通常のテスターの能力を見てみましょう。最適化の条件は、提示されたコードと同じで、テキストは変更されていません、つまり、49文字です。

ZS.私見ですが、テスターのライブラリでEAが不適切に動作しているのを発見しましたので、エラースレッドで報告 します。

 

2016.06.29 02:15:16 統計情報 最適化完了 1分18秒

2016.06.29 02:15:16 テスター 遺伝的最適化はパス23552で終了しました。

最適化は、最良の結果35(オプティマイザーが49文字の中から正しく名前を付けられた文字数)で終了しました。

標準のテスターでは、FFの実行回数を調整するオプションがないため、私のアルゴリズムを標準のものと比較したい場合は、同じ回数のFFを実行する必要があります。

私の結果です。

2016.06.29 02:27:30.817 スクリプト OAC Dik (GBPUSD,H1) 時間:475397μs; 0.47539700 c

2016.06.29 02:27:30.817 スクリプト OAC Dik (GBPUSD,H1) FF Runs: 23552

2016.06.29 02:27:30.817 スクリプト OAC Dik (GBPUSD,H1) Max: 42.00000000

とはいえ、テスターは4コア、私のスクリプトは1コアで最適化を実行していましたが、時間的には100倍以上速い結果を得ることができました。

以下は、テキストについてのタスクでインハウスオプティマイザーをテストするためのExpert Advisorのテキストです。

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict

//+------------------------------------------------------------------+
// тестовая фитнес функция чемпионата, не известна участникам
#import "FFtext.ex5"
int    GetParamCount (); 
void   GetParamProperties (double &min, double &max, double &step); 
double FF (double &array []); 
int    GetCountRunsFF (); 
void   PrintCodeToFile (double &param []); 
#import
//+------------------------------------------------------------------+

//--- input parameters
input int      Input1  = 0; 
input int      Input2  = 0; 
input int      Input3  = 0; 
input int      Input4  = 0; 
input int      Input5  = 0; 
input int      Input6  = 0; 
input int      Input7  = 0; 
input int      Input8  = 0; 
input int      Input9  = 0; 
input int      Input10 = 0; 
input int      Input11 = 0; 
input int      Input12 = 0; 
input int      Input13 = 0; 
input int      Input14 = 0; 
input int      Input15 = 0; 
input int      Input16 = 0; 
input int      Input17 = 0; 
input int      Input18 = 0; 
input int      Input19 = 0; 
input int      Input20 = 0; 
input int      Input21 = 0; 
input int      Input22 = 0; 
input int      Input23 = 0; 
input int      Input24 = 0; 
input int      Input25 = 0; 
input int      Input26 = 0; 
input int      Input27 = 0; 
input int      Input28 = 0; 
input int      Input29 = 0; 
input int      Input30 = 0; 
input int      Input31 = 0; 
input int      Input32 = 0; 
input int      Input33 = 0; 
input int      Input34 = 0; 
input int      Input35 = 0; 
input int      Input36 = 0; 
input int      Input37 = 0; 
input int      Input38 = 0; 
input int      Input39 = 0; 
input int      Input40 = 0; 
input int      Input41 = 0; 
input int      Input42 = 0; 
input int      Input43 = 0; 
input int      Input44 = 0; 
input int      Input45 = 0; 
input int      Input46 = 0; 
input int      Input47 = 0; 
input int      Input48 = 0; 
input int      Input49 = 0; 

double param []; 
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit () 
{ 
  ArrayResize (param, GetParamCount ()); 
  
  param [0] = Input1; 
  param [1] = Input2; 
  param [2] = Input3; 
  param [3] = Input4; 
  param [4] = Input5; 
  param [5] = Input6; 
  param [6] = Input7; 
  param [7] = Input8; 
  param [8] = Input9; 
  param [9] = Input10; 
  param [10] = Input11; 
  param [11] = Input12; 
  param [12] = Input13; 
  param [13] = Input14; 
  param [14] = Input15; 
  param [15] = Input16; 
  param [16] = Input17; 
  param [17] = Input18; 
  param [18] = Input19; 
  param [19] = Input20; 
  param [20] = Input21; 
  param [21] = Input22; 
  param [22] = Input23; 
  param [23] = Input24; 
  param [24] = Input25; 
  param [25] = Input26; 
  param [26] = Input27; 
  param [27] = Input28; 
  param [28] = Input29; 
  param [29] = Input30; 
  param [30] = Input31; 
  param [31] = Input32; 
  param [32] = Input33; 
  param [33] = Input34; 
  param [34] = Input35; 
  param [35] = Input36; 
  param [36] = Input37; 
  param [37] = Input38; 
  param [38] = Input39; 
  param [39] = Input40; 
  param [40] = Input41; 
  param [41] = Input42; 
  param [42] = Input43; 
  param [43] = Input44; 
  param [44] = Input45; 
  param [45] = Input46; 
  param [46] = Input47; 
  param [47] = Input48; 
  param [48] = Input49; 
  //---
  return (INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit (const int reason) 
{ 
  PrintCodeToFile (param); 
  //---
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick () 
{ 
  //---
}
//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester () 
{ 
  double ret = FF (param); 
  
  //---
  return (ret);
}
//+------------------------------------------------------------------+

もちろん、確信犯ですが、テスターで何度も最適化を実行して結果を確かめれば、きっと良い結果が得られると思います。でも、キャッシュを100回クリーニングして、こんなに待つのは正直億劫です。しかし、誰かが時間をたくさん持っている場合 - 数回を支払うと、平均的な信頼性の高い結果スタッフオプティマイザを得ることができます。

正直なところ、インハウスオプティマイザーの結果には驚いています。バイナリGAを使っているので、(MQに悪気はないのですが)もっと悪い結果になると思っていました。思い出してほしいのですが、これは非常に複雑な作業です。限られた実行回数で無数の選択肢の中から最適なものを選ぶ必要があるだけでなく、FFはアルゴリズムが足場を確保できない不連続面なのです。

ZZZIです。

reacoscientific article zhovataye zhevataye mt'yuipa"- これはスタッフのテスターによって収集されたものです。

「この2つのタイプを組み合わせた科学論文はめったにない」--これが課題の本文である。

ZZZI.は、より良い結果を出したアドバイザーの*.setファイルを添付しました。

ファイル:
 
こんにちは、どなたかいらっしゃいますか...?
 
読書です。
 

休暇中です。最終的な接続ファイルを添付し、オプション(1、2)、できればオプション2が必要な理由を論じた投稿はどこにあるのでしょうか。

このオプションのデメリットは先に書いたとおりで、回答は得られなかったので

В примере библиотеки участника по 2-му есть импорт FF и в скрипте запуска и в библиотеке участника. Но если я пришлю ex файл, какой путь импорта ff туда зашивать? Как запускать на другой FF? Не продумано.

この問題は、私がいなくなったら参加者が解決してくれると思っていたのですが(

 
やばい、みんな喧嘩して散っていく
 
Igor Volodin:

休暇中です。最終的な接続ファイルを添付し、オプション(1、2)、できればオプション2が必要な理由を論じた投稿はどこにあるのでしょうか?

このオプションのデメリットは先に書いたとおりで、回答は得られなかったので

私がいなくなれば、参加者の皆さんによって問題は解決されると思いました(

第2バリアントによる接続方式を使用する。参加者の中には、1-stバリアント用にアルゴリズムを作り直すのは大変だと考えている人もいるようです。一方、variant 2 のアルゴリズムは簡単に作ることができます。したがって、この問題は解決されました。
2番目のオプションのデメリットは別の意味で、チャンピオンシップでは許容範囲内です。
標準ライブラリ "ff.ex5 "へのパス
 
Igor Volodin:
やれやれ、みんなボロボロで散り散りだ。
私はここにいます。私はこっちです。
FFのキーを生成できるのはMQの代表者だけなので、彼らがいなければチャンピオンシップは開催できません。