新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 867

 
Roman Shiredchenko:

忘了如何更新...刚刚从机器人上下载...

我对测试不感兴趣,但对优化感兴趣 - 这是不可能的...因为它们(你设定的值)被重置了...

优化是一个具有不同参数的多重测试。所以对这个问题的测试和优化是一样的。在测试/优化开始时,在启动专家顾问的日志中会有一个打印结果。你可以在开始后立即暂停,打开后阅读日志。如果它是以修改过的参数启动的,它们将在 "参数 "标签中可见。

由于这是新的安装,可以说是2007年的发布版本。这是有这个问题的第二家公司。我想知道如果在MQ上运行会不会出现这种问题?你可以通过连接,或开设一个新的MetaQuotes-Demo账户来更新。而且还通过菜单


 
Alexey Viktorov:

优化是一个具有不同参数的多重测试。所以这个问题的测试和优化是一样的。在优化测试开始时,日志中包含一个打印输出,其中有专家顾问启动的参数。你可以在开始后立即暂停,打开后阅读日志。如果你在运行时改变了参数,它们将在 "参数 "选项卡中可见。

由于这是一个新的安装,可以说这是2007年的发布版本。这是有这个问题的第二家公司。我想知道如果在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指标输入参数 中不显示外置变量?
 
Alexandr Sokolov:
为什么在MQL5指标输入参数 中不显示外置变量?

增加

#property strict

还有,不要使用旧的语言结构,使用input而不是extern,我不记得了,但是extern有一个bug,似乎它们可以在代码中被修改,在新的初始化中,它们被重置为初始值,编译器不会像input那样产生警告。不过我可能是错的。

 
Igor Makanu:

增加

还有,不要使用旧的语言结构,使用input而不是extern,我不记得了,但是extern有一个bug,似乎它们可以在代码中被修改,在新的初始化中,它们被重置为初始值,编译器不会像input那样产生警告。不过我可能是错的。

差异。

输入

外来的

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

增加

还有,不要使用旧的语言结构,使用input而不是extern,我不记得了,但是extern有一个bug,似乎它们可以在代码中被修改,在新的初始化中,它们被重置为初始值,编译器不会像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 strict,也会在指标中检查。

显示了输入变量标签,不知道你的问题是什么,这里是我的代码

#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:

由于某种原因,这也没有用


你被告知:输入 和#属性严格

他们甚至给了你一个链接来帮助你。

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

你被告知:输入 和#属性严格

他们甚至给了你一个链接来帮助你。

以下是我的代码

#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);
  }