MT4 test cihazı diğer zaman dilimlerinden bilgi vermiyor

 
MQL4 öğrenme sürecinde en azından tesserimin bilgi vermediğini öğrendim.
diğer TF'lerden. İşte doğrulama kodu, test cihazımdan herhangi bir uzmana asabilirsiniz.
sadece üzerinde test ettiğim TF'nin okumaları değişirken diğerleri duruyor.
Yorum (
"\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));
Her bir TF'de denedim, aynı hikaye - okumalar sadece o TF için değişiyor
üzerinde test edilir. Ve hayır, durumu açıklamadı.
Söyle bana - bir şekilde tedavi mi edildi yoksa yanlış yerde mi soruyorum.
İlginiz için teşekkür ederim!
 
bu bir gerçektir. :(
Ve mevcut değerler dururken, yani gerçek zamandan.
ve yeni bir çubukla oluşturulmuş çubuklar üzerinde test yaparken, önceki çubuk değişir... :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)));
}
Sonuç olarak, test cihazında
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 öğrenme sürecinde en azından tesserimin bilgi vermediğini öğrendim.
diğer TF'lerden. İşte doğrulama kodu, test cihazımdan herhangi bir uzmana asabilirsiniz.
sadece üzerinde test ettiğim TF'nin okumaları değişirken diğerleri duruyor.
Yorum (
"\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));
Her bir TF'de denedim, aynı hikaye - okumalar sadece o TF için değişiyor
üzerinde test edilir. Ve hayır, durumu açıklamadı.
Söyle bana - bir şekilde tedavi mi edildi yoksa yanlış yerde mi soruyorum.
İlginiz için teşekkür ederim!


Doğru yaklaşımla her şey yolunda gider.
 
Vinin >> :


Doğru yaklaşımla her şey yolunda gider.


Üzgünüm, ama bu yerden daha ayrıntılı olabilir misin?
 
vladv002 писал(а) >>


Üzgünüm, ama bu yerden daha ayrıntılı olabilir misin?


Hangi sorunun çözülmesi gerekiyor?

 
Vinin >> :


Hangi sorunun çözülmesi gerekiyor?

İşte aldığımız şey

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
Yukarıdaki kodda çıktı bloğunu olarak değiştirirsek

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 писал(а) >>


Hangi sorunun çözülmesi gerekiyor?


Evet, ben de ilgileniyorum. Müşteriler genellikle çok zaman dilimli el sanatları sipariş eder ve yalnızca canlı olarak test edebilirsiniz...
Ve ödeme için haftalarca beklemeniz gerekiyor.

iClose-iOpen işlevlerinin, vb. sıfır olmayan bir zaman dilimiyle ve test edilen zaman diliminden nasıl çalışacağını aydınlatın. ve böylece test cihazının kodu, gerçek olanın koduyla eşleşir.
 
api >> :


Evet, ben de ilgileniyorum. Müşteriler genellikle çok zaman dilimli el sanatları sipariş eder ve yalnızca canlı olarak test edebilirsiniz...
Ve ödeme için haftalarca beklemeniz gerekiyor.

iClose-iOpen işlevlerinin, vb. sıfır olmayan bir zaman dilimiyle ve test edilen zaman diliminden nasıl çalışacağını aydınlatın. ve böylece test cihazının kodu, gerçek olanın koduyla eşleşir.

Ancak bir uzman ilke olarak test edilemez.

Çok para birimli kredi yeterli değil...

 
Vinin >> :


Hangi sorunun çözülmesi gerekiyor?

Oldukça basit - grafikte bir çizgide 9 kare çiziyoruz - göstergeye göre boyayacağız
test için değiştirdiğimiz - yeşil veya kırmızı.
Kenelerin neresinde hareket ettiğini ayrıntılı olarak anlamaya çalışıyorum ve sonra bir tuzak.
İnternette bilgi var ama https://www.mql5.com/ru/articles/1385 öyle değil. Diğer makalelerde çok su dökülür, ancak
bu değil. Değişkenleri değiştirmeye çalıştım, onları bir diziye doldurdum ama sonuç sıfır, daha doğrusu
sonuç yok çünkü veri yok.
Durumun doğru bir değerlendirmesi için, özellikle bir program yazmak için, tam olarak bilmem gerekir.
ne ve nasıl - şimdi gerçek hayatta bir şeyin ve test cihazında diğerinin saf olmadığı ortaya çıktı.
ON satırındaki demoyu kontrol etmeye devam ediyor - Henüz kontrol etmedim!
Dün yanlış bir şey fark ettim.

 

Test cihazı, testin başlangıcında yalnızca son 1000 çubuğu görür. Expert Advisor'ı M1'e ayarlarsanız, 1000 dakikadan daha öncesini görmezsiniz (testin başladığı anda).

Bu sorunu, test cihazının başlangıç tarihini çok daha erken ayarlayarak çözüyorum ve EA'nın kendisinde gerekli tarihi belirtiyorum.

 
sak120 >> :

Test cihazı, testin başlangıcında yalnızca son 1000 çubuğu görür. Expert Advisor'ı M1'e ayarlarsanız, 1000 dakikadan daha öncesini görmezsiniz (testin başladığı anda).

Bu sorunu, test cihazının başlangıç tarihini çok daha erken ayarlayarak çözüyorum ve EA'nın kendisinde gerekli tarihi belirtiyorum.

Dakika verilerinin keneler oluşturmak için kullanıldığı iddia edilmiştir.

Ama dakikanın kendisi, örneğimden de görebileceğiniz gibi, şu anki değerdir, dakikaların tarihi ile ilgisi yoktur.

Ve 1000 bar hakkındaki bilgiler nereden geliyor?

Belki de geçmiş özelliklerini böyle ayarladınız?

Ama benim durumumda öyle değil...

----

100'den fazla bar için test periyodu başlamadan önce herhangi bir veri olmadığı deneysel olarak tespit edilmiştir.

Bu da bir gerçektir. :(

Neden: