MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 867

 
Roman Shiredchenko:

更新の仕方を忘れてしまった...ロボットからダウンロードしたものです。

テストに興味があるのではなく、最適化に興味があるのです-それは無理な話ですが...。設定した値が)リセットされるから...。

最適化とは、異なるパラメータを用いた複数のテストを行うことです。ですから、この問題でもテストと最適化は同じです。テスト/最適化の開始時に、Expert Advisor を起動したジャーナルにプリントアウトがあります。開始直後に一時停止 し、開いた後にログを読むことができます。また、パラメータを変更して起動した場合は、「パラメータ」タブに表示されます。

新規インストールということで、2007年リリース版と見て間違いないでしょう。この問題は2社目です。MQ上で動作させるとこの問題は発生するのでしょうかね?MetaQuotes-Demoのアカウントに接続するか、新規にアカウントを作成することで更新が可能です。また、メニューからも


 
Alexey Viktorov:

最適化は、パラメータを変えての複数回のテストです。ですから、この問題ではテストと最適化は同じです。最適化テストの開始時に、ログにはどのパラメータでExpert Advisorが起動されたかが印刷されます。開始直後に一時停止し、開いた後にログを読むことができます。また、パラメータを変更して実行すると、「パラメータ」タブに表示されるようになります。

今回は新規インストールということで、2007年リリース版ということで安心です。この問題は2社目です。MQで動かすとこの問題が出てくるのでは?MetaQuotes-Demoのアカウントに接続するか、新規にアカウントを作成することで更新が可能です。また、メニューからも行えます。


ありがとうございました。質問 https://www.mql5.com/ru/forum/305142/page3#comment_11915822 MKLでTesterフォルダを 手動で作成することで解決しました。
MT5 самостоятельно сбрасывает настройки в тестере после перехода на вкладку "Настройки"
MT5 самостоятельно сбрасывает настройки в тестере после перехода на вкладку "Настройки"
  • 2019.03.20
  • www.mql5.com
Решение (временное) : Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий MT5 самостоятельно сбрасывает настрой...
 
MQL5インジケーターの入力パラメータに extern変数が表示されないのはなぜですか?
 
Alexandr Sokolov:
MQL5インジケーターの入力パラメータに extern変数が表示されないのはなぜですか?

つける

#property strict

あと、古い言語構成は使わないで、externの代わりにinputを使いましょう、忘れましたが、externにはバグがあったようです、コード内で修正できるようで、新規初期化時に初期値にリセットされ、コンパイラはinputのように警告を発生させなくなりました。でも、私が間違っているかもしれません。

 
Igor Makanu:

つける

あと、古い言語構成は使わないで、externの代わりにinputを使ってください、忘れましたが、externにはバグがあったようです、コード内で修正できるようで、新しい初期化中に初期値にリセットされて、コンパイラはinputのように警告を発生させなくなりました。でも、私が間違っているかもしれません。

差異がある。

入力

がいこくじん

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Igor Makanu:

つける

あと、古い言語構成は使わないで、externの代わりにinputを使ってください、忘れましたが、externにはバグがありました、コード内で修正できるようで、新しい初期化中に初期値にリセットされ、コンパイラはinputのように警告を発生させないのだそうです。でも、私が間違っているかもしれません。

これもなぜかうまくいきません。

extern uint            usp      = 10,          //Update of the panel every ... seconds
                       psize    = 7;           //Panel size


 
Artyom Trishkin:

差異がある。

入力

がいこくじん

パラパラと見てみたが、面白くない問題が多い )))

externがヘルプに書いてあるとおりに動くなら、なぜ関数本体で宣言できないのですか?- 確認したところ、コンパイラーエラーが発生しています。

extern' - 想定外のトークン !!! test11.mq4 35 4

また、グローバルレベルでは、なぜこのように複雑なデータ型を宣言することができないのでしょうか。

struct S{double f;};
extern struct x;

一般に、externを使用すると、その必要性よりも多くの疑問が生じます。

extern は、他のプラグインで変数を記述するために使用される外部グローバル変数です。MQL ライブラリにこの動作が必要かもしれませんが、ライブラリを書く人はほとんどおらず、すべて #include を使用します。

 
Alexandr Sokolov:

これもなぜかうまくいかなかった


プロパティーストライクが なくてもインジケーターでチェックされる

は入力変数タブを表示します。何が問題なのか分かりませんが、私のコードは以下の通りです。

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window

extern int x = 10,y=22;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

   return(rates_total);
  }


 
Alexandr Sokolov:

これもなぜかうまくいかなかった


言われたのは、入力と#propertyの厳密さです。

リンク先も教えてくれましたね。

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Artyom Trishkin:

言われたのは、入力と#propertyの厳密さです。

リンク先も教えてくれましたね。

以下は私のコードです。

#property copyright "Alexandr Sokolov"
#property link      "https://www.mql5.com/en/users/asokolov7"
#property version   "1.00"
#property indicator_chart_window
#property strict

extern uint x = 10, y = 20;
//-------------------------------------------------------------------
int OnInit()
  {
   
  //-----------------------------------------------------------------
   return(INIT_SUCCEEDED);
  }
//-------------------------------------------------------------------
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   
  //-----------------------------------------------------------------
   return(rates_total);
  }