그리고 현재 값이 서 있는 동안, 즉 실시간에서.
그리고 새 막대 로 형성된 막대를 테스트할 때 이전 막대가 변경됩니다... :O)
#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 |
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에 대해서만 변경됩니다.
그것이 테스트되는 것입니다. 그리고 아니요, 그는 상황을 명확히하지 않았습니다.
말해봐 - 어떻게 든 처리되었거나 잘못된 장소에서 묻는 것입니다.
관심을 가져주셔서 감사합니다!
여기 우리가 얻는 것이 있습니다
하나 | 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));
}
아주 간단합니다. 차트에서 선에 9개의 사각형을 그립니다. 표시기에 따라 칠합니다.
녹색 또는 빨간색으로 테스트를 대체합니다.
나는 진드기와 함정이 어디로 움직이는지 자세히 알아 내려고 노력하고 있습니다.
그물에 정보가 있지만 https://www.mql5.com/ru/articles/1385는 아닙니다. 다른 물건에는 많은 물이 쏟아지고 있습니다만,
하지 그. 변수를 대체하여 배열에 채우려고 했지만 결과는 0이거나 오히려
데이터가 없기 때문에 결과가 없습니다.
상황에 대한 정확한 평가, 특히 프로그램 작성을 위해서는
무엇을 그리고 어떻게 - 이제 실생활에서 한 가지와 테스터에서 다른 것이 순수하지 않다는 것이 밝혀졌습니다.
ON 라인에서 Deme을 확인하는 것이 남아 있습니다. 아직 확인하지 않았습니다!
어제 뭔가 잘못된 것을 발견했습니다.
테스터는 테스트 시작 시 마지막 1000개 막대만 봅니다. M1에 Expert Advisor를 설정하면 1000분 전(테스트 시작 시점) 이상을 볼 수 없습니다.
테스터의 시작 날짜를 훨씬 더 일찍 설정하여 이 문제를 해결하고 EA 자체에서 필요한 날짜를 지정합니다.
테스터는 테스트 시작 시 마지막 1000개 막대만 봅니다. M1에 Expert Advisor를 설정하면 1000분 전(테스트 시작 시점) 이상을 볼 수 없습니다.
테스터의 시작 날짜를 훨씬 더 일찍 설정하여 이 문제를 해결하고 EA 자체에서 필요한 날짜를 지정합니다.
미세한 데이터가 틱을 생성하는 데 사용된다는 주장이 있습니다.
그러나 내 예에서 볼 수 있듯이 분 자체의 값은 현재의 값이며 분의 이력과 아무 관련이 없습니다.
그리고 1000바에 대한 정보는 어디에서 왔습니까?
히스토리 속성을 그런 식으로 설정한 것일까요?
하지만 제 경우에는 그렇지 않습니다...
----
테스트 기간이 시작되기 전에 100개 이상의 막대에 대한 데이터가 없다는 것이 실험적으로 확인되었습니다.
이것도 사실입니다. :(
다른 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에 대해서만 변경됩니다.
그것이 테스트되는 것입니다. 그리고 아니요, 그는 상황을 명확히하지 않았습니다.
말해봐 - 어떻게 든 처리되었거나 잘못된 장소에서 묻는 것입니다.
관심을 가져주셔서 감사합니다!