MT4 테스터는 다른 시간대의 정보를 제공하지 않습니다.

 
MQL4를 배우는 과정에서 적어도 내 테서는 정보를주지 않는다는 것을 알게되었습니다.
다른 TF에서. 여기 인증 코드가 있습니다. 내 테스터의 모든 전문가에게 걸 수 있습니다.
내가 테스트하고 있는 TF의 판독값만 변경되고 나머지는 그대로 있습니다.
논평 (
"\n", " -----------1------ = ",iOpen(Symbol(),1,1)," - ", iClose (Symbol(),1, 하나),
"\n", " -----------2------ = ",iOpen(Symbol(),5,1)," - ", iClose(Symbol(),5, 하나),
"\n", " -----------3------ = ",iOpen(Symbol(),15,1)," - ", iClose(Symbol(),15, 하나),
"\n", " -----------4------ = ",iOpen(Symbol(),30,1)," - ", iClose(Symbol(),30, 하나),
"\n", " -----------5------ = ",iOpen(Symbol(),60,1)," - ", iClose(Symbol(),60, 하나),
"\n", " -----------6------ = ",iOpen(Symbol(),240,1)," - ", iClose(Symbol(),240, 하나),
"\n", " -----------7------ = ",iOpen(Symbol(),1440,1)," - ", iClose(Symbol(),1440, 하나),
"\n", " -----------8------ = ",iOpen(Symbol(),10080,1)," - ", iClose(Symbol(),10080, 하나),
"\n", " -----------9------ = ",iOpen(Symbol(),43200,1)," - ", iClose(Symbol(),43200, 하나));
나는 각 TF에서 각각 시도했지만 동일한 이야기입니다. 판독값은 해당 TF에 대해서만 변경됩니다.
그것이 테스트되는 것입니다. 그리고 아니요, 그는 상황을 명확히하지 않았습니다.
말해봐 - 어떻게 든 처리되었거나 잘못된 장소에서 묻는 것입니다.
관심을 가져주셔서 감사합니다!
 
그것은 사실이다. :(
그리고 현재 값이 서 있는 동안, 즉 실시간에서.
그리고 새 막대 로 형성된 막대를 테스트할 때 이전 막대가 변경됩니다... :O)
#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

하나
2009.2.3-10^15^0
1.2844

0
2009.2.3-10^30^0
1.2845

하나 2009.2.3-10^30^0 1.2852
0 2009.2.3-10^45^0 1.2852
하나 2009.2.3-10^45^0 1.2841
0 2009.2.3-11^0^0 1.2841
하나 2009.2.3-11^0^0 1.2834
0 2009.2.3-11^15^0 1.2833
하나 2009.2.3-11^15^0 1.2814
0 2009.2.3-11^30^0 1.2814
하나 2009.2.3-11^30^0 1.2813
0 2009.2.3-11^45^0 1.2813
하나 2009.2.3-11^45^0 1.2823
0 2009.2.3-12^0^0 1.2822
하나 2009.2.3-12^0^0 1.281
0 2009.2.3-12^15^0 1.281
하나 2009.2.3-12^15^0 1.2824
0 2009.2.3-12^30^0 1.2823
하나 2009.2.3-12^30^0 1.2829
0 2009.2.3-12^45^0 1.2829
하나 2009.2.3-12^45^0 1.2824
0 2009.2.3-13^0^0 1.2824
하나 2009.2.3-13^0^0 1.2835
0 2009.2.3-13^15^0 1.2835
하나 2009.2.3-13^15^0 1.2838
0 2009.2.3-13^30^0 1.2838
하나 2009.2.3-13^30^0 1.2836
0 2009.2.3-13^45^0 1.2836
 
vladv002 писал(а) >>
MQL4를 배우는 과정에서 적어도 내 테서는 정보를주지 않는다는 것을 알게되었습니다.
다른 TF에서. 여기 인증 코드가 있습니다. 내 테스터의 모든 전문가에게 걸 수 있습니다.
내가 테스트하고 있는 TF의 판독값만 변경되고 나머지는 그대로 있습니다.
논평 (
"\n", " -----------1------ = ",iOpen(Symbol(),1,1)," - ", iClose(Symbol(),1, 하나),
"\n", " -----------2------ = ",iOpen(Symbol(),5,1)," - ", iClose(Symbol(),5, 하나),
"\n", " -----------3------ = ",iOpen(Symbol(),15,1)," - ", iClose(Symbol(),15, 하나),
"\n", " -----------4------ = ",iOpen(Symbol(),30,1)," - ", iClose(Symbol(),30, 하나),
"\n", " -----------5------ = ",iOpen(Symbol(),60,1)," - ", iClose(Symbol(),60, 하나),
"\n", " -----------6------ = ",iOpen(Symbol(),240,1)," - ", iClose(Symbol(),240, 하나),
"\n", " -----------7------ = ",iOpen(Symbol(),1440,1)," - ", iClose(Symbol(),1440, 하나),
"\n", " -----------8------ = ",iOpen(Symbol(),10080,1)," - ", iClose(Symbol(),10080, 하나),
"\n", " -----------9------ = ",iOpen(Symbol(),43200,1)," - ", iClose(Symbol(),43200, 하나));
나는 각 TF에서 각각 시도했지만 동일한 이야기입니다. 판독값은 해당 TF에 대해서만 변경됩니다.
그것이 테스트되는 것입니다. 그리고 아니요, 그는 상황을 명확히하지 않았습니다.
말해봐 - 어떻게 든 처리되었거나 잘못된 장소에서 묻는 것입니다.
관심을 가져주셔서 감사합니다!


올바른 접근 방식을 사용하면 모든 것이 잘 작동합니다.
 
Vinin >> :


올바른 접근 방식을 사용하면 모든 것이 잘 작동합니다.


죄송하지만 여기에서 더 자세히 알 수 있습니까?
 
vladv002 писал(а) >>


죄송하지만 여기에서 더 자세히 알 수 있습니까?


어떤 문제를 해결해야 합니까?

 
Vinin >> :


어떤 문제를 해결해야 합니까?

여기 우리가 얻는 것이 있습니다

하나 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
하나 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
하나 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
하나 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
하나 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 기능 등이 0이 아닌 시간 프레임과 테스트된 시간 프레임에서 작동하도록 하는 방법에 대해 알아보세요. 테스터용 코드가 실제 코드와 일치하도록 합니다.
 
api >> :


예, 저도 관심이 있습니다. 고객은 종종 다중 시간 프레임 공예품을 주문하며 라이브 테스트만 할 수 있습니다.
그리고 지불을 위해 몇 주를 기다려야 합니다.

iClose-iOpen 기능 등이 0이 아닌 시간 프레임과 테스트된 시간 프레임에서 작동하도록 하는 방법에 대해 알아보세요. 테스터용 코드가 실제 코드와 일치하도록 합니다.

그러나 전문가는 원칙적으로 테스트할 수 없습니다.

다통화 대출만으로는 부족…

 
Vinin >> :


어떤 문제를 해결해야 합니까?

아주 간단합니다. 차트에서 선에 9개의 사각형을 그립니다. 표시기에 따라 칠합니다.
녹색 또는 빨간색으로 테스트를 대체합니다.
나는 진드기와 함정이 어디로 움직이는지 자세히 알아 내려고 노력하고 있습니다.
그물에 정보가 있지만 https://www.mql5.com/ru/articles/1385는 아닙니다. 다른 물건에는 많은 물이 쏟아지고 있습니다만,
하지 그. 변수를 대체하여 배열에 채우려고 했지만 결과는 0이거나 오히려
데이터가 없기 때문에 결과가 없습니다.
상황에 대한 정확한 평가, 특히 프로그램 작성을 위해서는
무엇을 그리고 어떻게 - 이제 실생활에서 한 가지와 테스터에서 다른 것이 순수하지 않다는 것이 밝혀졌습니다.
ON 라인에서 Deme을 확인하는 것이 남아 있습니다. 아직 확인하지 않았습니다!
어제 뭔가 잘못된 것을 발견했습니다.

 

테스터는 테스트 시작 시 마지막 1000개 막대만 봅니다. M1에 Expert Advisor를 설정하면 1000분 전(테스트 시작 시점) 이상을 볼 수 없습니다.

테스터의 시작 날짜를 훨씬 더 일찍 설정하여 이 문제를 해결하고 EA 자체에서 필요한 날짜를 지정합니다.

 
sak120 >> :

테스터는 테스트 시작 시 마지막 1000개 막대만 봅니다. M1에 Expert Advisor를 설정하면 1000분 전(테스트 시작 시점) 이상을 볼 수 없습니다.

테스터의 시작 날짜를 훨씬 더 일찍 설정하여 이 문제를 해결하고 EA 자체에서 필요한 날짜를 지정합니다.

미세한 데이터가 틱을 생성하는 데 사용된다는 주장이 있습니다.

그러나 내 예에서 볼 수 있듯이 분 자체의 값은 현재의 값이며 분의 이력과 아무 관련이 없습니다.

그리고 1000바에 대한 정보는 어디에서 왔습니까?

히스토리 속성을 그런 식으로 설정한 것일까요?

하지만 제 경우에는 그렇지 않습니다...

----

테스트 기간이 시작되기 전에 100개 이상의 막대에 대한 데이터가 없다는 것이 실험적으로 확인되었습니다.

이것도 사실입니다. :(