初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 238

 
forexman77:

MQL4と比較して最適化に時間がかかる

4では、新しいバーチェックを使い、そこにカスタムインジケータの 値を書き込むと、ストップとプロフィットトレーリングバーが常に計算されます。

この設計により、最適化に要する時間は大幅に短縮されました。

MQL5では動作するか どうかは不明です。

私の理解が正しければ、第5版には Close[]配列が ないので、インジケーターのようにデータを要求して配列にコピーして価格配列を取得 する必要があります。

2.論理的には、まずクォートを要求してバッファに書き込み、新しいバーを確認した後に初めてインジケータの値を更新することを想定しています。

3.私がテンプレートとして使用しているEAを添付します。もしかしたら、どこかに明らかなエラーがあり、テスト時間が長くなっているかもしれませんので、チェックしてみてください。

4.もう一つ、単走で気づいたのは、前半は後半よりずっと速く進むということです。これは何と関係があるのでしょうか?

5.他に最適化時間を短縮する方法はありますか?

4.また、テスト工程は最初が非常に速く、その後遅くなり、最後は非常に遅くなることに気がつきました。
 
paladin800:
4.また、テスト工程は、最初のうちはとても速いのですが、だんだん遅くなり、最後にはとても遅くなることに気がつきました。
これと 関係があるのでしょう。
 
Reshetov:
  1. また、正しい。
  2. コードを見てください。私のアドバイスは、標準 ライブラリを使うことです。
  3. 一体誰が知っているのでしょうか?私には違いがないように思えるのですが?
  4. クラウドコンピューティングを活用する。
paladin800 です。
4.また、テスト工程は最初のうちは非常に速く、その後遅くなり、最後には非常に遅くなることに気がつきました。
フリーダー
おそらく、それが 関係しているのでしょう。

ありがとうございます。この話題で良いのがこちらhttps://www.mql5.com/ru/forum/23162(2つ目の記事、リンク2つ)。

文字やコードがたくさんあります。よく考え、よく読まないといけない)。

もうひとつ、最適化のための変数が12個ほどあるExpert Advisorがあるのですが、これはどうですか?ステップの一番下で200万、300万と判明し、最適化にはコストがかかります。

クラウドでは、制御点でも法外なコストがかかる。約10万ポンド(約1,000万円)であった。しかし、5番目のメタトレーダーでこそ、必要な品質の最適化ができるのです。

Порционное вычисление в индикаторе
Порционное вычисление в индикаторе
  • www.mql5.com
Индикатор производит вычисление одного значения для бара достаточно длительное время (запрос к БД, вычисление на стороне БД, возврат значения функции).
 

forexman77:

あと、トピックとしては、12個くらいの変数で最適化するEAがあります。ステップの一番下で200万、300万となると、最適化されるのは

クラウドでは、制御点でも法外なコストがかかる。約10万ポンド(約1,000万円)であった。しかし、その品質の最適化が可能なのは、第5メタトレーダーだけです。

20個の入力パラメータを持つEAがあり、そのうち18個は最適化可能です。最適化+フォワードテストの速度が許容範囲なので、全くクラウドを使わないで最適化しています。コードには標準ライブラリが 使用されています。
 
Reshetov:
20個の入力パラメータを持つEAがあり、そのうち18個は最適化可能です。最適化+フォワードテストのスピードは許容範囲なので、クラウドを全く使わないで最適化しています。私のコードでは、標準 ライブラリを使用しました。
ありがとうございました。これはとても興味深いことです。私が何か間違っているのでしょう。このテーマは勉強しないといけないですね。
 

こんにちは。

チャート上のインジケーターの略称を 知りたい。原始的なスクリプトを作りました。しかし、コンパイラは、「'IndicatorName' - 関数が定義されていません」と警告します。どうすれば手に入るの?

//+------------------------------------------------------------------+
//|                                                   TestScript.mq5 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string name=IndicatorName(0,0);
   Alert("Короткое имя индикатора - ",name);
  }
 

あるインジケータがあり、そのバッファの1つをメインウィンドウのチャートに、もう1つを追加ウィンドウに描きたいと考えています。2種類のインジケータを作りたくない。コンピュータにどう説明すればいいのか、MT5では無理なのか。

 
RedFish:

こんにちは。

チャート上のインジケーターの略称を 知りたい。原始的なスクリプトを作りました。しかし、コンパイラは、「'IndicatorName' - 関数が定義されていません」と警告します。どうすれば手に入るの?

コンパイラはそのような関数(IndicatorName)がないことを教えてくれる。ChartIndicatorName()関数を使用します。
 
YAndrey:

あるインジケータがあり、そのバッファの1つをメインウィンドウのチャートに、もう1つを追加ウィンドウに描きたいと考えています。2種類のインジケータを作りたくない。コンピュータにどう説明すればいいのか、MT5では無理なのか。

2つの別々の指標を作成することができます。そして、IndicatorCreate()関数を使って、そのうちの1つを他のチャート上に配置します。
 
tol64:
コンパイラはそのような関数(IndicatorName)がないことを教えてくれる。ChartIndicatorName()関数を使用します。
tol64 さん、ありがとうございます。
理由: