アルゴリズム最適化選手権。 - ページ 132 1...125126127128129130131132 新しいコメント Andrey Dik 2016.08.15 20:08 #1311 そして、実はメンバーライブラリーの一例。RNGをベースとした、動作する最適化アルゴリズム。パラメータが1...5の関数の探索最大値としては(RNGとしては)かなり優秀です(それ以上かもしれません,コードに制限はありませんが,結果は残念なものになるでしょう).チャンピオンシップのためにはよくないが、たとえばの話だ。#property library #property strict //+------------------------------------------------------------------+ // тестовая фитнес функция чемпионата, не известна участникам #import "ff.ex5" int GetParamCount (); void GetParamProperties (double &min, double &max, double &step); int GetCountRunsFF (); double FF (double &array []); #import //+------------------------------------------------------------------+ ///////////////////////////////////////////////////////////////////////////////| // Здесь список экспортируемых функций библиотеки оптимизации, которые //обязаны объявлены именно так как показано ниже, для того, что проверочный скрипт //мог корректно обратится к библиотеке, содержимое этих функций на усмотрение //участников /* //+------------------------------------------------------------------+ // алгоритм оптимизации участника #import "ao.ex5" // инициализация АО void InitAO (int paramCount, int maxFFruns); // запуск АО void StartAlgo (); // получить максимальное значение ФФ double GetMaxFF (); #import //+------------------------------------------------------------------+ */ //+------------------------------------------------------------------+ void InitAO (int paramCount, int maxFFruns) export { G_MaxFFruns = maxFFruns; G_ParamCount = paramCount; // можно и так: G_ParamCount = GetParamCount (); GetParamProperties (G_MinParam, G_MaxParam, G_StepParam); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ void StartAlgo () export { bool stopAlgo = false; int ffRuns = 0; double temp = 0.0; double param []; ArrayResize (param, G_ParamCount); //------------------------------------------------------------------ while(!stopAlgo) { GetOptParam (param); temp = FF (param); if(temp > G_BestResult) { G_BestResult = temp; Comment (G_BestResult); } ffRuns++; if(ffRuns == G_MaxFFruns) stopAlgo = true; } //----------------------------------------------------------------- } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ double GetMaxFF () export { return (G_BestResult); } //+------------------------------------------------------------------+ ///////////////////////////////////////////////////////////////////////////////| ///////////////////////////////////////////////////////////////////////////////| // Ниже - функции участников, объявление и содержимое на их усмотрение int G_MaxFFruns = 0; double G_BestResult = -DBL_MAX; int G_ParamCount = 0; double G_MinParam = -DBL_MAX; double G_MaxParam = DBL_MAX; double G_StepParam = 0.0; //+------------------------------------------------------------------+ void GetOptParam (double ¶m []) { int size = ArraySize (param); for(int i = 0; i < size; i++) param [i] = SeInDiSp (RNDfromCI (G_MinParam, G_MaxParam), G_MinParam, G_MaxParam, G_StepParam); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ double SeInDiSp (double in, double inMin, double inMax, double step) { if(in <= inMin) return (inMin); if(in >= inMax) return (inMax); if(step == 0.0) return (in); else return (inMin + step * (double)MathRound ((in - inMin) / step)); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ double RNDfromCI (double min, double max) { if(min == max) return (min); double Min, Max; if(min > max) { Min = max; Max = min; } else { Min = min; Max = max; } return (double(Min + ((Max - Min) * (double)MathRand () / 32767.0))); } //+------------------------------------------------------------------+ Andrey Dik 2016.08.15 20:19 #1312 上記の例のFFのHSSの平均結果は、-3.9699791274683918です。パラメータ1000のFFコールを含むスクリプトを5回実行した。サンプルをコンパイルして確認する。チャンプのテスト用ao.ex 5の代わりに、あなたのライブラリが入ります。注意喚起チャンピオンシップでは、スクリプトはそのままで、ff.ex5 の FF の内容が変わり、競合ライブラリが ao.ex5 になるはずですが、それは宣言されたインポート関数で わかります。エクスポートした機能を参加者のライブラリに追加する必要がある場合は、事前にお知らせします。現在、すべてのスクリプトコードと必要なインターフェイスが表示されています(もう一度言います)。 Yuri Evseenkov 2016.08.16 09:57 #1313 Andrey Dik:上記の例のFFのHSSの平均結果は、-3.9699791274683918です。パラメータ1000のFFコールを含むスクリプトを5回実行した。サンプルをコンパイルして確認する。チャンプのテスト用ao.ex 5の代わりに、あなたのライブラリが入ります。注意喚起チャンピオンシップでは、スクリプトはそのままで、ff.ex5 の FF の内容が変わり、競合ライブラリは ao.ex5 になるはずですが、それは宣言されたインポート関数で わかります。エクスポートした機能を参加者のライブラリに追加する必要がある場合は、事前にお知らせします。この時点で、すべてのスクリプトコードと必要なインターフェイスが表示されます(もう一度言います)。H インターフェースが動作する。上記3つのコードを5つに移し替えた。1.実行スクリプトを Ch Scriptと呼ぶ。2.適性関数のライブラリは ffと命名されている。そう呼ぶべきでしょう。そうしないと、スクリプトはそれを見ません。3.サンプルアルゴリズムのライブラリは ao と名付けられる。ライブラリはそのような名前にする必要があります。そうでなければ、スクリプトはそれを見ることができません。チャートにスクリプトを走らせた。その前に、ライブラリのフィットネス関数を double ffVolue = 2+exp(-MathAbs(x1+x2+x3)) に変更しましたが、実際の最大値は3です。了解です。私の理解では、自分のアルゴリズムを例のアルゴリズムの形式で書き直し、コード中の関数を例にあるような名前に変えて、動作確認する必要があるようです。接続インターフェースや与えられた例のFFを勉強する必要はありません。 ファイル: Ch_Scripts.mq5 2 kb ff.mq5 2 kb ao.mq5 5 kb Andrey Dik 2016.08.16 10:23 #1314 Yuri Evseenkov:H インターフェースが動作する。この3つのコードを5.に転送。1.実行スクリプトを Ch Scriptと名付ける。2.適性関数のライブラリは ffと命名されている。そう呼ぶべきでしょう。そうしないとスクリプトに表示されません。3.サンプルアルゴリズムのライブラリは ao と名付けられる。ライブラリはそのような名前にする必要があります。そうでなければ、スクリプトはそれを見ることができません。チャートにスクリプトを走らせた。その前に、ライブラリのフィットネス関数を double ffVolue = 2+exp(-MathAbs(x1+x2+x3)) に変更しましたが、実際の最大値は3です。了解です。私の理解では、 自分のアルゴリズムを例のアルゴリズムの形式で書き直し、コード中の関数を例にあるような名前に変えて、動作確認する必要が あるようです。接続インターフェースや与えられた例のFFを勉強する必要はありません。素晴らしいあなたはすべて正しく行っています。参加者のアルゴリズムでは、(例と全く同じように)必須のエクスポート可能な関数を確実に宣言する必要があり、それらのエクスポート可能な関数の内容や他のカスタム関数の有無は参加 者の裁量に任されています。コメントにもそう書いてありますね。単純な話でしょう?)) Andrey Dik 2016.08.16 10:33 #1315 あ、そうだ...。この例は、MT4でも動作します。確認はしていませんが、MT4で使えないものはありません。MT5にアレルギー(エムタパトフィー)がある方にも選手権は開かれてるということです。 Yuri Evseenkov 2016.08.16 12:41 #1316 Andrey Dik: あ、そうだ...。この例は、MT4でも動作します。確認はしていませんが、MT4で動作しないことはないでしょう。MT5にアレルギーのある人(もしくはエムタピーが怖い人)にも選手権は開かれてると言ったのはそういうことです。foursquareで動作させるには、実行スクリプトとメンバーアルゴリズム例で、#import "ff.ex5" と #import "ao.ex5" を #import "ff.ex4" と #import "ao.ex4" に置き換えてください。また、4.に書き込むこともできます。例えば、MQL4のコードをMQL5でコンパイルした場合、エラーは1つだけでした。TRUEをtrueやoneに変更したらうまくいきました。例のように書けばいいんですね。 まだ自分のコードを直していないんです。試してみます。 ファイル: Ch_script.mq4 2 kb ff.mq4 2 kb ao.mq4 5 kb Andrey Dik 2019.09.11 11:11 #1317 こんにちは。 最適化アルゴリズムに特化したプラットフォーム(ウェブサイト)を準備中で、コンテストや有益な情報など、さまざまな面白い、役に立つことを提供する予定です。 誰もがアルゴリズムを書く力を試すことができ、他の参加者とテストすることができます。参加者はアルゴリズムをサーバーに送る必要がなく、サーバーにあるFFとのやりとりはすべてREST経由で行われ、参加者はサーバーに一連の引数を送り、その結果をFFに返す。参加者のアルゴリズムには秘密でありながら、すべてが極めて透明なので、レフェリーは必要ない。 ご期待ください。 Andrey F. Zelinsky 2019.09.11 11:36 #1318 Andrey Dik: ... ニュースを待て! 待機中 Sergey Chalyshev 2019.09.11 12:04 #1319 Andrey Dik: こんにちは。 最適化アルゴリズムに特化したプラットフォーム(ウェブサイト)を準備中で、コンテストや有益な情報など、さまざまな面白い、役に立つことを提供する予定です。 誰もがアルゴリズムを書く力を試すことができ、他の参加者とテストすることができます。参加者はアルゴリズムをサーバーに送る必要がなく、サーバーにあるFFとのやりとりはすべてREST経由で行われ、参加者はサーバーに一連の引数を送り、その結果をFFに返す。参加者のアルゴリズムには秘密でありながら、すべてが極めて透明なので、レフェリーは必要ない。 ニュースを待て! 面白い! フォーラムのアドバイザーや評論家の意見に耳を貸さず、自分で考えたことを実行しなければ、何もうまくいきません )) Andrey Dik 2019.09.11 12:18 #1320 Andrey F. Zelinsky: 待機中 セルゲイ・チャリシェフ 面白い! ただ、フォーラムのカウンセラーや批評家の意見には耳を貸さず、自分のやりたいことをやらないと、またうまくいかなくなります )) ありがとうございました!) 1...125126127128129130131132 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そして、実はメンバーライブラリーの一例。RNGをベースとした、動作する最適化アルゴリズム。パラメータが1...5の関数の探索最大値としては(RNGとしては)かなり優秀です(それ以上かもしれません,コードに制限はありませんが,結果は残念なものになるでしょう).チャンピオンシップのためにはよくないが、たとえばの話だ。
上記の例のFFのHSSの平均結果は、-3.9699791274683918です。
パラメータ1000のFFコールを含むスクリプトを5回実行した。
サンプルをコンパイルして確認する。チャンプのテスト用ao.ex 5の代わりに、あなたのライブラリが入ります。
注意喚起
チャンピオンシップでは、スクリプトはそのままで、ff.ex5 の FF の内容が変わり、競合ライブラリが ao.ex5 になるはずですが、それは宣言されたインポート関数で わかります。
エクスポートした機能を参加者のライブラリに追加する必要がある場合は、事前にお知らせします。現在、すべてのスクリプトコードと必要なインターフェイスが表示されています(もう一度言います)。
上記の例のFFのHSSの平均結果は、-3.9699791274683918です。
パラメータ1000のFFコールを含むスクリプトを5回実行した。
サンプルをコンパイルして確認する。チャンプのテスト用ao.ex 5の代わりに、あなたのライブラリが入ります。
注意喚起
チャンピオンシップでは、スクリプトはそのままで、ff.ex5 の FF の内容が変わり、競合ライブラリは ao.ex5 になるはずですが、それは宣言されたインポート関数で わかります。
エクスポートした機能を参加者のライブラリに追加する必要がある場合は、事前にお知らせします。この時点で、すべてのスクリプトコードと必要なインターフェイスが表示されます(もう一度言います)。
H インターフェースが動作する。上記3つのコードを5つに移し替えた。
1.実行スクリプトを Ch Scriptと呼ぶ。
2.適性関数のライブラリは ffと命名されている。そう呼ぶべきでしょう。そうしないと、スクリプトはそれを見ません。
3.サンプルアルゴリズムのライブラリは ao と名付けられる。ライブラリはそのような名前にする必要があります。そうでなければ、スクリプトはそれを見ることができません。
チャートにスクリプトを走らせた。その前に、ライブラリのフィットネス関数を double ffVolue = 2+exp(-MathAbs(x1+x2+x3)) に変更しましたが、実際の最大値は3です。了解です。
私の理解では、自分のアルゴリズムを例のアルゴリズムの形式で書き直し、コード中の関数を例にあるような名前に変えて、動作確認する必要があるようです。
接続インターフェースや与えられた例のFFを勉強する必要はありません。
H インターフェースが動作する。この3つのコードを5.に転送。
1.実行スクリプトを Ch Scriptと名付ける。
2.適性関数のライブラリは ffと命名されている。そう呼ぶべきでしょう。そうしないとスクリプトに表示されません。
3.サンプルアルゴリズムのライブラリは ao と名付けられる。ライブラリはそのような名前にする必要があります。そうでなければ、スクリプトはそれを見ることができません。
チャートにスクリプトを走らせた。その前に、ライブラリのフィットネス関数を double ffVolue = 2+exp(-MathAbs(x1+x2+x3)) に変更しましたが、実際の最大値は3です。了解です。
私の理解では、 自分のアルゴリズムを例のアルゴリズムの形式で書き直し、コード中の関数を例にあるような名前に変えて、動作確認する必要が あるようです。
接続インターフェースや与えられた例のFFを勉強する必要はありません。
素晴らしいあなたはすべて正しく行っています。
参加者のアルゴリズムでは、(例と全く同じように)必須のエクスポート可能な関数を確実に宣言する必要があり、それらのエクスポート可能な関数の内容や他のカスタム関数の有無は参加 者の裁量に任されています。コメントにもそう書いてありますね。
単純な話でしょう?))
あ、そうだ...。この例は、MT4でも動作します。確認はしていませんが、MT4で動作しないことはないでしょう。MT5にアレルギーのある人(もしくはエムタピーが怖い人)にも選手権は開かれてると言ったのはそういうことです。
foursquareで動作させるには、実行スクリプトとメンバーアルゴリズム例で、#import "ff.ex5" と #import "ao.ex5" を #import "ff.ex4" と #import "ao.ex4" に置き換えてください。
また、4.に書き込むこともできます。例えば、MQL4のコードをMQL5でコンパイルした場合、エラーは1つだけでした。TRUEをtrueやoneに変更したらうまくいきました。例のように書けばいいんですね。 まだ自分のコードを直していないんです。試してみます。
こんにちは。
最適化アルゴリズムに特化したプラットフォーム(ウェブサイト)を準備中で、コンテストや有益な情報など、さまざまな面白い、役に立つことを提供する予定です。
誰もがアルゴリズムを書く力を試すことができ、他の参加者とテストすることができます。参加者はアルゴリズムをサーバーに送る必要がなく、サーバーにあるFFとのやりとりはすべてREST経由で行われ、参加者はサーバーに一連の引数を送り、その結果をFFに返す。参加者のアルゴリズムには秘密でありながら、すべてが極めて透明なので、レフェリーは必要ない。
ご期待ください。
...
ニュースを待て!
待機中
こんにちは。
最適化アルゴリズムに特化したプラットフォーム(ウェブサイト)を準備中で、コンテストや有益な情報など、さまざまな面白い、役に立つことを提供する予定です。
誰もがアルゴリズムを書く力を試すことができ、他の参加者とテストすることができます。参加者はアルゴリズムをサーバーに送る必要がなく、サーバーにあるFFとのやりとりはすべてREST経由で行われ、参加者はサーバーに一連の引数を送り、その結果をFFに返す。参加者のアルゴリズムには秘密でありながら、すべてが極めて透明なので、レフェリーは必要ない。
ニュースを待て!
面白い!
フォーラムのアドバイザーや評論家の意見に耳を貸さず、自分で考えたことを実行しなければ、何もうまくいきません ))
待機中
面白い!
ただ、フォーラムのカウンセラーや批評家の意見には耳を貸さず、自分のやりたいことをやらないと、またうまくいかなくなります ))
ありがとうございました!)