MT4测试器不提供其他时间段的信息

 
在学习MQL4的过程中,我发现至少我的测试员不会从其他TFs中给出信息
。这里是检查代码,它可以附加到任何专家顾问上。在我的测试器
,只有TF的指示在变化,其他的保持不变。
评论 (
"/n", " -----------1------ = ",iOpen(Symbol(),1,1)," - ",iClose(Symbol(),1,1),
"/n","-----------2------ = ",iOpen(Symbol(),5,1)," - ", iClose(Symbol(),5,1),
"\n"," -----------3------ = ",iOpen(Symbol(),15,1),"- ",iClose(Symbol(),15,1),
"\n", " -----------4------ = " ,iOpen(Symbol(),30,1)," - " ,iClose(Symbol(),30,1),
"-----------5------ = ",iOpen(Symbol(),60,1)," - ",iClose(Symbol(),60,1),
"n", " -----------6------ = ", iOpen(Symbol(),240,1)," - ", iClose(Symbol(),240,1),
"n", " -----------7------ = " ,iOpen(Symbol(),1440,1)," - ", iClose(Symbol(),1440,1),
"\n", " -----------8------ = " ,iOpen(Symbol(),10080,1)," - " ,iClose(Symbol(),10080,1),
"-----------9------ = ",iOpen(Symbol(),43200,1)," - ",iClose(Symbol(),43200,1));
在每个TF上都试了一下,同样的情况 - 读数只在测试的那个TF上改变
。互联网并没有清除这种情况。
请告知,是修复还是我在问不存在。
,感谢关注!
 
这是一个事实。:(
而当前的数值是站立的,即来自实时的。
而当用新的条 形图对已形成的条形图进行测试时,前一个条形图 会发生变化...:О)
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_style1 0
#property indicator_color1 Orange
#property indicator_width1 2
#property indicator_style2 0
#property indicator_color2 BlueViolet
#property indicator_width2 2
extern bool Test=false;
//03/04/10
//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);

//---- buffers
double DMA[];string PARA;int hFile;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,DMA);
SetIndexShift(0,0);
SetIndexLabel(0,"inv");
PARA=Symbol();
if (Test) hFile=FileOpen("Dt"+Symbol()+Period()+".csv",FILE_CSV |FILE_WRITE,";");


//if (iClose(PARA,0,0)<0.00001) {Alert (PARA," - not presents...");deinit();
// return (-1);}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
if (Test) FileClose(hFile);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{

//----
int counted_bars=IndicatorCounted();
int i,N;double Value;
N=Bars-counted_bars;

if(counted_bars<0) return(-1);
//---- last counted bar will be recounted

if (N==0) return(0);

if (Test){ FileWrite(hFile,"--1 ",StrTime(iTime(Symbol(),Period(),1)),iClose(PARA,0,1));
FileWrite(hFile,"--0 ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,0,0));
}
for (i=N-1; i>=0; i--)
{
Value=iClose(PARA,0,i);

// Print (i,"=",Value);
DMA[i]=Value;
}

return(0);
}
//+------------------------------------------------------------------+
string StrTime(datetime IT){
return(StringConcatenate(TimeYear(IT),".",TimeMonth(IT),".",TimeDay(IT)
, "-",TimeHour(IT),"^",TimeMinute(IT),"^",TimeSeconds(IT)));
}
因此,我们在测试器
0
2009.2.3-10^15^0
1.2849

1
2009.2.3-10^15^0
1.2844

0
2009.2.3-10^30^0
1.2845

1 2009.2.3-10^30^0 1.2852
0 2009.2.3-10^45^0 1.2852
1 2009.2.3-10^45^0 1.2841
0 2009.2.3-11^0^0 1.2841
1 2009.2.3-11^0^0 1.2834
0 2009.2.3-11^15^0 1.2833
1 2009.2.3-11^15^0 1.2814
0 2009.2.3-11^30^0 1.2814
1 2009.2.3-11^30^0 1.2813
0 2009.2.3-11^45^0 1.2813
1 2009.2.3-11^45^0 1.2823
0 2009.2.3-12^0^0 1.2822
1 2009.2.3-12^0^0 1.281
0 2009.2.3-12^15^0 1.281
1 2009.2.3-12^15^0 1.2824
0 2009.2.3-12^30^0 1.2823
1 2009.2.3-12^30^0 1.2829
0 2009.2.3-12^45^0 1.2829
1 2009.2.3-12^45^0 1.2824
0 2009.2.3-13^0^0 1.2824
1 2009.2.3-13^0^0 1.2835
0 2009.2.3-13^15^0 1.2835
1 2009.2.3-13^15^0 1.2838
0 2009.2.3-13^30^0 1.2838
1 2009.2.3-13^30^0 1.2836
0 2009.2.3-13^45^0 1.2836
 
vladv002 писал(а)>>
在学习MQL4的过程中,我发现至少我的测试人员没有给出信息
来自其他TFs。下面是检查代码,它可以附加到任何专家顾问上。
它可以挂在任何专家顾问上,在我的测试器中,只有TF的指示在变化。
评论(
"n", " -----------1------ = ",iOpen(Symbol(),1,1)," - ", iClose(Symbol(),1,1),
"n", " -----------2------ = ",iOpen(Symbol(),5,1)," - ", iClose(Symbol(),5,1),
"n", " -----------3------ = ",iOpen(Symbol(),15,1)," - ", iClose(Symbol(),15,1),
"n", " -----------4------ = ",iOpen(Symbol(),30,1)," - ", iClose(Symbol(),30,1),
"n", " -----------5------ = ",iOpen(Symbol(),60,1)," - ", iClose(Symbol(),60,1),
"n", " -----------6------ = ",iOpen(Symbol(),240,1)," - ", iClose(Symbol(),240,1),
"n", " -----------7------ = ",iOpen(Symbol(),1440,1)," - ", iClose(Symbol(),1440,1),
"n", " -----------8------ = ",iOpen(Symbol(),10080,1)," - ", iClose(Symbol(),10080,1),
"n", " -----------9------ = ",iOpen(Symbol(),43200,1)," - ", iClose(Symbol(),43200,1))
我在每个TF上都试了一下,情况相同--读数只在TF上有变化。
在其上进行测试。网络内还没有清除这种情况。
请指示,这是一个治疗的主题,还是我问的不存在。
谢谢你的反馈意见!


有了正确的方法,一切都能顺利进行。
 
Vinin >>:


При правильном подходе все работает нормально.


对不起,你能在这里说得更详细些吗?
 
vladv002 писал(а)>>


对不起,你能在这里说得更详细些吗?


那么要解决的问题是什么呢?

 
Vinin >>:


А какую задачу нужно решить?

以下是我们得到的情况

1 2009.7.10-22^45^0 1.39478
0 2009.7.10-23^0^0 1.39476
--0M 2009.7.10-23^0^0 1.3488
1 2009.7.10-23^0^0 1.39476
0 2009.7.10-23^15^0 1.39475
--0M 2009.7.10-23^15^0 1.3488
1 2009.7.10-23^15^0 1.39475
0 2009.7.10-23^30^0 1.39472
--0M 2009.7.10-23^30^0 1.3488
1 2009.7.10-23^30^0 1.39409
0 2009.7.10-23^45^0 1.39409
--0M 2009.7.10-23^45^0 1.3488
1 2009.7.10-23^45^0 1.39353
0 2009.7.13-1^0^0 1.39461
--0M 2009.7.13-1^0^0 1.3488
如果在上面的代码中,我们把输出块改为

if (Test){ FileWrite(hFile,"--1 ",StrTime(iTime(Symbol(),Period(),1)),iClose(PARA,0,1));
FileWrite(hFile,"--0 ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,0,0));
FileWrite(hFile,"--0M ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,1,0));
}

 
Vinin писал(а)>>


>>你要解决什么问题?


是的,我也很好奇。客户经常订购多时间段的工艺品,而你只能现场测试...
而且必须等待数周才能得到付款。

请告诉我如何使iClose-iOpen函数在零点以外的时间段和被测试的时间段工作。 并使测试者的代码与真实的代码相一致。
 
api >>:


Да, мне тоже интересно. Заказчики часто заказывают мультитаймфреймовые поделки, а тестировать можно только вживую...
И приходится ждать оплаты неделями.

Просветите, как заставить работать функции iClose-iOpen и пр. с таймфреймом отличным от нуля и от тестируемого таймфрейма. и чтобы код для тестера совпадал с кодом для реала.

而专家是不能作为一个原则问题来检验的。

一个多币种的Zass是不够的。

 
Vinin >>:


А какую задачу нужно решить?

很简单--我们在图表上画出9个方块组成的线--我们将根据指标读数进行遮挡。
我们将在测试中使用哪一个--绿色或红色。
我正试图详细了解什么是蜱虫的动作,但有一个陷阱。
互联网上有一些信息,但不是在https://www.mql5.com/ru/articles/1385。 其他文章中也有很多水,但
不一样的。我试着替换变量并把它们放在一个数组中,但结果是零,或者说是
结果是零,或者更准确地说,没有结果,因为没有数据。
为了正确评估情况,更不用说编写程序了,我需要确切知道
现在事实证明,在测试器中,一件事是真实的,另一件事是错误的。
还需要检查ON-Line中的演示 - 还没有检查!
昨天我注意到一些不对劲的地方。

 

测试员在测试开始时只看到最后的1000条。如果你在M1上设置了一个专家顾问,你将不会看到超过1000分钟前(在测试开始的时刻)。

我通过将测试者的开始日期设置得更早,并在专家顾问本身中规定所需的日期来解决这个问题。

 
sak120 >>:

Тестер видит только 1000 последних баров в начале тестирования. Если поставил эксперт на M1, то дальше 1000 минут назад не увидишь (в момент старта тестирования).

Решаю эту проблему постановкой даты старта тестера намного раньше, а в самом эксперте прописываю нужную дату.

据称,分钟数据被用来生成刻度线。

但从我的例子中看到的分钟值本身--当前值--与分钟历史无关。

那你从哪里得到关于1000条的信息?

也许你是这样配置的历史属性?

但在我的情况下却不是这样......

----

事实是,在测试期开始之前,没有超过100条的数据。

这也是一个事实。:(