错误、漏洞、问题 - 页 82

 
gumgum:

我把从2010.01.01到今天的测试。我输出的是第一根柱子的日期2009.01.02。

我怎样才能使第一个可用的栏位成为例如2006.01.02?

2006.01.02,为什么不是2010.01.01?

那么我们对数组的串行性了解多少呢?

 
Interesting:

2006.01.02,为什么不是2010.01.01?

那么我们对数组序列化了解多少呢?

我想确保在测试时,历史数据是足够的。如何才能做到这一点呢?

我们能否在代码中允许从某个日期开始交易,并选择一个较长的测试期,但其他方面呢?

 
gumgum:

我想确保在测试时,有足够的历史数据。如何才能做到这一点呢?

我可以在代码中允许从某个日期开始交易,并选择一个较长的测试期,但其他方面呢?


初始化时,检查服务器和你自己的历史记录是否可用。 如果你想加载历史记录,立即进行(在初始化块中)...

而在给定的问题中,序列性(它的缺失)将显示从哪里算起0条......

 

亲爱的同事和语言开发人员,请您解释一下以下情况。

有两个结构(senior和junior),senior的构造函数被start()调用。

junior的构造函数被senior的构造函数调用。

如何将一个变量从高级结构传递给初级结构的构造器 ??????????

struct Ml
  {
   int               a;
   int               b;
   void Ml()
     {
      if(f)a=1; else a=2; // ?????????????????????????????      
      if(F)b=2; else b=3; // ?????????????????????????????        
     };
   void ~Ml(){};
   void m(){};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct St
  {
   bool              f;  // ?????????????????????
   bool              F;  // ?????????????????????
   Ml               x[];
   void St(){f=true; F=false; ArrayResize(x,1); x[0].m();};  // ?????????????????????
   void ~St(){};
   int          mult(int i){ArrayResize(x,i+1);return(x[i].a*x[0].b);};
   int           add(int i){ArrayResize(x,i+1);return(x[i].a+x[0].b);};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   St x[];
   ArrayResize(x,2);

   int Mult=x[1].mult(10);
   int Add=x[1].add(10);

   Print("x[1].mult(10)=",x[1].mult(10),"  x[1].add(10)=",x[1].add(10));
  }
//+------------------------------------------------------------------+
 
Interesting:

初始化时,检查服务器和你自己的历史记录是否可用。 如果你需要加载历史记录,立即进行(在初始化块中)...

而这个问题中的序列性(它的缺失)将显示从哪里开始计算0条...

检查https://www.mql5.com/ru/docs/series/seriesinfointeger,像这样 如何加载(戳穿你的鼻子)?
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
  • www.mql5.com
Доступ к таймсериям и индикаторам / SeriesInfoInteger - Документация по MQL5
 
gumgum:

我想确保在测试时,有足够的历史数据。如何才能做到这一点呢?

我可以在代码中允许从某个日期开始交易,并选择一个较长的测试期,但其他方面呢?

1.测试者在测试开始日期前提供至少100条被测试的时间框架的负载。

2 测试人员至少从测试开始日的前一年年初开始加载历史记录。

如果你选择每月的时间框架,你将会得到8年的历史记录。如果你选择每周的时间框架,你将得到两年的时间。只是在分析信号时不要使用当前的时间框架,而是明确指定你需要的时间框架。

 
stringo:

1 测试员确保在测试开始日期之前,至少有100条被测试的时间框架被加载。

2 测试员将至少从测试开始日的前一年年初开始加载历史记录。

如果你选择每月的时间框架,你将会得到8年的历史记录。如果你选择每周的时间框架,你将得到两年的时间。只要在分析信号时不使用当前的时间框架,而是明确指定你需要的时间框架。

这样说吧。

等待....我仍然是3.3%,既不在这里也不在那里。

 
Urain:

亲爱的同事和语言开发人员,请您解释一下以下情况。

有两个结构(senior和junior),senior的构造函数被start()调用。

junior的构造函数被senior的构造函数调用。

如何将一个变量从高级结构传递给初级结构的构造器 ??????????



我认为一个现实生活中的例子会更容易理解。

当一个新的位置出现时,一个新的对象被创建,其中包括一个指向交易的动态数组。

由于在初始情况下,位置只有一个交易,其数据在对象的初始化过程中被写入适当的结构中。

但结构构造函数从位置对象接收票号。

而且也不清楚如何通过这张票?

在全局变量声明中,没有任何问题。

选择位置,写入票据,构建对象。

该结构是在对象中设计的,所有的人在全球范围内得到相同的票。

交易和位置(因为票中的第一笔交易等于位置ID)。

但当你试图删除全局票据声明时,问题就开始了。

 
gumgum:

这样说吧。

我在等待....3.3%的时间,无路可进,无路可退。

数据下载?测试日志 里有什么?
 
stringo:
加载数据?测试日志里有什么?

目前是5.6%。

2010.08.06 13:08:52 Core 1 EURUSD,Daily:历史数据从2001.01.01 00:00开始
2010.08.06 13:08:52 Core 1 EURUSD,Daily:历史缓存保留估计2411条
2010.08.06 13:08:52 Core 1 EURUSD:包含3208261条M1记录的起始数据,从2001.01.01 00:01到2009.12.31 18:59
2010.08.06 13:05:58 段。06 13:05:58 核心1 para=EURUSD
2010.08.06 13:05:58 核心1 delta=0.10
2010.08.06 13:05:58 核心1 fc=0.19
2010.08.06 13:05:58 核心1 M=11
2010.08.06 13:05:58 核心1 dis=0。11
2010.08.06 13:05:58 Core 1 EURUSD,Monthly: testing of experts\slivarobot.ex5 from 2010.01.01 00:00 to 2010.03.31 00:00 started with inputs:
2010.06.08.06 13:05:58 Core 1 EURUSD,Monthly: 1分钟OHLC ticks生成
2010.08.06 13:05:58 Core 1 EURUSD,Monthly: 历史从2001.01.01 00:00开始
2010.08.06 13:05:58 Core 1 EURUSD:历史缓存保留估计120条
2010.08.06 13:05:58 Core 1 EURUSD: 包含3208261条来自2001的开始数据M1记录。01.01 00:01至2009.12.31 18:59
2010.08.06 13:03:13 核心1 欧元兑美元:历史数据从1993.05.13至2010.08.05同步
2010.08.06 13:03:13 核心1 欧元兑美元:加载27字节的历史数据进行同步
2010.08.06 13:03:11 核心1 欧元兑美元:符号 已同步。收到3304字节的符号信息。
2010.08.06 13:03:11 核心 1 性能:31
2010.08.06 13:03:11 核心 1 收到39Kb的初始化数据
2010.08.06 13:03:11 核心 1 成功初始化
2010.08.06 13:03:11 核心 1 初始存款 10000.00 USD
2010.08.06 13:03:11 核心 1 专家文件添加: Libraries\BSCAI.ex5。3277字节加载
2010.08.06 13:03:11 核心 1 专家文件添加:Libraries\PNNOCHL(slivarobot).ex5。13083 bytes loaded
2010.08.06 13:03:11 Core 1 Expert file added: Experts\slivarobot.ex5.3598字节已加载
2010.08.06 13:03:11 Core 1 275字节的选定符号已加载
2010.08.06 13:03:11 Core 1 7178字节的测试器参数已加载
2010.08.06 13:03:11 Core 1 3780字节的组信息已加载
2010.08.06 13:03:11 Core 1 3124字节的账户信息已加载
2010.08.06 13:03:11 Core 1 通用同步完成
2010.06.08.06 13:03:07 Tester EURUSD,Monthly: 测试experts\slivarobot.ex5从2010.01.01 00:00到2010.03.31 00:00开始
2010.08.06 13:03:07 Core 1 Authorized (agent build 302)
2010.08.06 13:03:07 Core 1 Connected
2010.08.06 13:03:06 Core 1 Connecting to 127.0.0.1:3000
2010.08.06 13:03:06 Core 1 Agent进程开始