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_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 |
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!
İş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 |
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));
}
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.
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...
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.
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. :(

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
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!