MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 722

 
SemenTalonov :

Belirtilen süre boyunca çubuk bulunamazsa, döndürülen değer. kesin=yanlış ise iBarShift , açılış süresi belirtilenden daha kısa olan en yakın çubuğun dizinini döndürür ( time_open < time ). Böyle bir çubuk bulunamazsa (belirtilen zamandan önce geçmiş yok), işlev -1 döndürür.

Ama hikaye şu ki, bu bir gerçek. Her şey en yeni (zaman serisinde 0.) çubukta gerçekleşir.

Eriştiğinizde zaman serisi hazır mı?
 
Artyom Trishkin :
Eriştiğinizde zaman serisi hazır mı?

Hazır olamaz mı?

 
SemenTalonov :

Hazır olamaz mı?

Evet
 
Bu konu ile ilgili olmayan yorumlar " mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri " bölümüne taşınmıştır.
 
Terminal verilerinin ve sunucu verilerinin senkronizasyonu

OnTick() veya OnCalculate() olayını işlerken , gerekli zaman serisinin tüm gerekli verilerini almak mümkün değilse, bir sonraki çağrıda verilere erişimi hesaba katarak olay işleyicisinden çıkmalısınız. işleyici.


Öyle görünüyor..

 
Sitede yalnızca iki gösterge için başabaş seviyesini gösteren bir komut dosyası veya gösterge olup olmadığını söyleyin? Örneğin, tablom emirlerden oluşuyor, fiyat 1.2255'te ve çok sayıda açık emrim var, ancak iki satış emrinin başabaş noktasını hesaplamam gerekiyor, başabaş seviyesi iki satış emri için, 1.3400 için, pozitif bölgede ve minse içinde olan 1.2150 için. Burada aralarındaki başabaş seviyesini bulmam gerekiyor. Böyle bir komut dosyası var mı, böylece sadece 2 veya 3 asılı emri belirteyim ve grafik bana lotu, varsa martingale'yi hesaba katarak 0 seviyesini gösterecek mi?
 
şöyle yazıyorum:
 void OnTick ()
{
   double raznica= Close [ 30000 ];
   Alert (raznica);
}


Test cihazında hata:



Niye ya?

 
multiplicator :
şöyle yazıyorum:

Test cihazında hata:

Niye ya?

Grafikte ve terminalde 30000 indeksli çubuk olmadığı için

 
Vladimir Pastushak :

Grafikte ve terminalde 30000 indeksli çubuk olmadığı için

O zaman nasıl test edebilirim?

EA başlatıldığında, 30.000 önceki dakikayı işlemelidir.


2018 için bir danışmanı test ediyorum.

Lansman sırasında, önceki aya ait tüm dakikaları görüntülemesi gerekir (bu, 2017'nin son ayı için alınır),
ve onlardan dağılım katsayısını hesaplayın.

Orada 30.000 dakika var.


bir sonrakini alabilir misin? danışman "geleceğe bakabilir" mi?
Varyansı hesaplarım, bu yüzden sonrakilerin mi yoksa öncekilerin mi olacağı umurumda değil.
 
multiplicator :
danışman "geleceğe bakabilir" mi?

yapamamak

mevcut geçmişi görmek için iBars() kullanın

Not: yanılmıyorsam, o zaman danışman başlatılırken test cihazında 1000 bar mevcut, o zaman yeni veriler üretildiğinden, bar sayısı artacaktır. Test cihazı, erişilen tüm TF'lerin geçmişini modeller, yani. H1'de bir test başlattıysanız ve test sürecinde M1 TF verilerine erişin, o zaman başlangıçta H1'de 1000 çubuk geçmişine erişebileceksiniz ve buna göre 60 * 1000 = 60.000 M1 çubuk mevcut olacaktır.

daha fazla ayrıntı için bunun gibi makaleleri okumanız gerekir https://www.mql5.com/en/articles/1511

Strategy Tester: режимы моделирования при тестировании торговых стратегий
Strategy Tester: режимы моделирования при тестировании торговых стратегий
  • www.mql5.com
Многие программы технического анализа позволяют проводить тестирование торговых стратегий на исторических данных. В большинстве случае тестирование идет по уже сформированным данным, без попыток моделирования движения внутри ценового бара. Получается быстро, но недостаточно точно. Для качественного тестирования торговой стратегии важно выбрать...