Hatalar, hatalar, sorular - sayfa 208

 
Ashes :

Hemen yukarıda yazmışsın:

Belki bu şekilde tasarlanmıştı, ama... Tam ölçekli bir deney yapıyorum (yapı 358).

"C:\Program Files\MetaTrader 5\Bases\Alpari-Demo\history" klasöründeki tüm sembolleri siliyorum

Alpari-Demo'ya bağlanıyorum (terminalde 5 grafik açık: EURUSD H1, EURCHF H1, USDJPY H1, GPBUSD H1+M1).

Birkaç dakika sonra resmi görüyorum (hikayenin indirilmesi devam ediyor):

C:\Program Files\MetaTrader 5\Bases\Alpari-Demo\history klasörünün içeriği

Mesaj için teşekkürler. Anlayalım.
 
Interesting :

...

Aynı zamanda, geçmiş dosyalarının boyutlarını doğru anlarsam, "çalışma" dizininin konumu ile belirtilen terminal dizinine bakarsınız - C:\Program Files\MetaTrader 5\Bases\ Alpari-Demo \tarih\EURJPY

Test cihazının bu veriler için kendi dizini vardır - C:\Program Files\MetaTrader 5\tester\ Agent (aracı sayısına göre)\bases\DC veya başka bir broker (sunucu)\history\....

O zaman asıl sorun nedir?

Sorun, orijinal mesajı dikkatlice okuma isteksizliğidir;)

Test cihazının klasöründe, mevcut yıl için test yapılırken gerçekten 2 dosya vardır (2009, 2010), ancak test cihazı belirli bir cihazda ilk kez başlatıldığında, TÜM geçmişi indirilir (indirilmediyse) önceki veya silinmiş) "x :\Program Files\MetaTrader 5\Bases\..." klasörüne kopyalayın ve bu EKSTRA bilgileri sonuna kadar indirmeyi bitirene kadar test başlamaz.

Verileri \MetaTrader 5\Bases\ 'ten MetaTrader 5\tester\ Agent (aracı sayısına göre)\bases'e kopyalamak benim için sorun değil, çünkü Bunun, optimizasyon parametrelerini sıralarken tırnakların mutlak kimliğini sağlamak için kene durumunun bir anlık görüntüsü olduğunu anlıyorum. Ancak şu anda kesinlikle gereksiz veriler neden yüklensin?

 
Ashes :

Sorun, orijinal mesajı dikkatlice okuma isteksizliğidir;)

Test cihazının klasöründe, mevcut yıl için test yapılırken gerçekten 2 dosya vardır (2009, 2010), ancak test cihazı belirli bir cihazda ilk kez başlatıldığında, TÜM geçmişi indirilir (indirilmediyse) önceki veya silinmiş) "x :\Program Files\MetaTrader 5\Bases\..." klasörüne kopyalayın ve bu EKSTRA bilgileri sonuna kadar indirmeyi bitirene kadar test başlamaz.

Verileri \MetaTrader 5\Bases\ 'ten MetaTrader 5\tester\ Agent (aracı sayısına göre)\bases'e kopyalamak benim için sorun değil, çünkü Bunun, optimizasyon parametrelerini sıralarken tırnakların mutlak kimliğini sağlamak için kene durumunun bir anlık görüntüsü olduğunu anlıyorum. Ancak şu anda kesinlikle gereksiz veriler neden yüklensin?

Kontrol edeceğim, belki gerçekten yanılıyorum ve düşünülecek bir şey var.
 
Renat :
Geçmiş doğru yüklendi - bu, 2004 için bir talep olduğu anlamına geliyor. Ve test cihazını kullanırken, tüm hikaye koşulsuz ve doğru bir şekilde maksimum derinliğe yüklenir - bu kesinlikle doğru ve bilinçli bir karardır. Anlamak için MT4 kullanıcılarının "anlaşılmaz" ünlemlerine bakmak yeterli - eğer tarihe dikkat etmezsek, o zaman kullanıcılar geçmişi kontrol bile edemezler.

Cevabımı tekrar okuyun lütfen.

Tüm hikayeyi sadece yükleyip yeniden kontrol etmiyoruz. Bir test cihazı kullanılıyorsa , bu kaçınılmaz olarak (bu testte değil, bir sonraki testte), bu belirli testte küçük bir tarih döneminin kullanılacağı gerçeğine bakılmaksızın, tüm geçmişle eksiksiz ve koşulsuz çalışma anlamına gelir. Bu nedenle, terminal önceden hazırlanır ve gerekli sembolün tüm geçmişinin derinliğini ve doğruluğunu tamamen yeniden kontrol eder. Tabii ki, belirli bir test için belirli bir test aracısına yalnızca gerekli geçmiş süresi aktarılır / senkronize edilir.

Tüccarlar, koşulların test için doğru şekilde hazırlanmasına ilişkin kuralları fark etmeme eğiliminde olduklarından, terminalin kendisi ortamı mümkün olduğunca hazırlamaya ve iki kez kontrol etmeye çalışır. MetaTrader 5'te, yatırımcıların verileri indirmeye ve senkronize etmeye manuel olarak devam etmelerine gerek kalmaması için talep edilen verilerin hacmi ve derinliği üzerindeki kısıtlamaları özellikle kaldırdık.

Документация по MQL5: Получение рыночной информации / SymbolIsSynchronized
Документация по MQL5: Получение рыночной информации / SymbolIsSynchronized
  • www.mql5.com
Получение рыночной информации / SymbolIsSynchronized - Документация по MQL5
 
Interesting :

1. Strateji test cihazı

Test cihazı tarafından test edilirken, yalnızca test cihazı parametrelerinde belirtilen çift yüklenir. Tüm karakterler için optimizasyon yapılması durumunda her karakter sırayla yüklenecektir.

Expert Advisor çoklu para birimi ise, geri kalan sembollerin sizin tarafınızdan yüklenmesi gerekir.

Buradaki fikir şudur:

a. Test cihazının, başlangıçta yalnızca test cihazı parametrelerinde belirtilen çiftin yerleştirildiği KENDİ piyasa incelemesi vardır.

b. Gerekirse, kalan çiftler Select kullanılarak EA'dan test kullanıcısının piyasa genel bakışına eklenmelidir.

içinde. Piyasa genel görünümünde mevcut olan çiftlere göre, strateji test cihazı, verileri terminalle ve bu da ticaret sunucusuyla (hesabın açıldığı) senkronize eder.

Aynı zamanda tüm test süresi + test başlangıç tarihinden önce (yanılmıyorsam 1 yıl) belirli bir miktar bilgi için geçmiş yüklenir.

içinde. Uzmanın (sizin) böyle bir derinliği gerekli geçmişe uymuyorsa, kendiniz yüklemelisiniz. Örneğin, başlatma bloğunda, daha önce geçmiş ve veri senkronizasyonunun varlığını kontrol etmiş olmak.

a. mantıklı

b. yani, genel olarak, Uzman Danışmanın test sırasında ihtiyaç duyacağı her şeyi TEST ETMEDEN ÖNCE indirmek MÜMKÜN DEĞİLDİR (eğer kesinlikle her şeyi indirmezseniz).

içinde. yani, Uzman Danışmanın test cihazında piyasaya sürülmesinden önce, ilgili çiftler henüz test cihazının piyasaya genel bakışında mevcut değildir (a paragrafına göre).

2) içinde. derinlik takımları, daha fazlasını istemedim.

Bu nedenle Expert Advisor'daki verilere eriştikten sonra b, c, c(2) nedenleriyle indirmek daha mantıklı (ama biraz daha zor) oluyor.

Tabloyu a noktasından (fikir doğru tanımlanmışsa) doldurmak için #property tester_symbol eklemenizi öneririm, #property description gibi birkaç tane ayarlama yeteneği. Ama yine de #property tester_symbol yokluğunda, sayfalamanın "oyun sırasında" gitmesi gerektiğine inanıyorum (temel sembol hariç), çünkü İHTİYAÇLARI yalnızca Uzman Danışmanın algoritmasına bağlıdır.

ilginç :

2. Terminal

Burada tarih benzer bir şekilde oluşur (anladığım kadarıyla terminal piyasası incelemesinde belirtilen sembollere göre, açık grafikler dikkate alınarak). Terminal ile çalışmaya başladığınızda, çalıştığınız semboller için gerekli minimum tarihçe oluşturulur (tam çubuk sayısını hatırlamıyorum, ancak forumda tekrar tekrar belirtildi).

Bu geçmiş derinliği size uymuyorsa, veriler bağımsız olarak yüklenmelidir. Bunu yapmak için maksimum TF - ayına (önerilen seçeneklerden biri olarak) geçmeniz ve grafiği sola kaydırarak geçmişi maksimum derinliğe yüklemeniz gerekir.

Terminal parametrelerinde çizelgede gerekli sayıda çubuğun ayarlanması da istenir.

Görünüşe göre, belirli bir durumda, indirilen gerekli minimum miktar değil, üzerinde çalıştığımız sembolün tüm geçmişi.

Gözlem (yapı 360 olarak değiştirildi): Koşulları biraz değiştirirseniz - ilk indirmeden sonra tüm geçmiş klasörünü silmeyin, mevcut yılı orada bırakın, önceki yılların takası keyfi yapılmaz! Test cihazını bu sembol üzerinde çalıştırmadan önce.

 
Renat :

Cevabımı tekrar okuyun lütfen.

Tüm hikayeyi sadece yükleyip yeniden kontrol etmiyoruz. Bir test cihazı kullanılıyorsa , bu kaçınılmaz olarak (bu testte değil, bir sonraki testte), bu belirli testte küçük bir tarih döneminin kullanılacağı gerçeğine bakılmaksızın, tüm geçmişle eksiksiz ve koşulsuz çalışma anlamına gelir. Bu nedenle, terminal önceden hazırlanır ve gerekli sembolün tüm geçmişinin derinliğini ve doğruluğunu tamamen yeniden kontrol eder. Tabii ki, belirli bir test için belirli bir test aracısına yalnızca gerekli geçmiş süresi aktarılır / senkronize edilir.

Tüccarlar, koşulların test için doğru şekilde hazırlanmasına ilişkin kuralları fark etmeme eğiliminde olduklarından, terminalin kendisi ortamı mümkün olduğunca hazırlamaya ve iki kez kontrol etmeye çalışır. MetaTrader 5'te, yatırımcıların verileri indirmeye ve senkronize etmeye manuel olarak devam etmelerine gerek kalmaması için talep edilen verilerin hacmi ve derinliği üzerindeki kısıtlamaları özellikle kaldırdık.

Aynen öyle, "olmak"! Test cihazının bir sonraki kullanımıyla, geçmiş düzeltilebilir (özellikle şimdi, farklı DC'ler için tam yokluktan çarpık verilere kadar birçok eksikliği olduğunda).

Kullanıcı, üzerine düşen mutluluğu anlamıyor! Ayarlarda "İSTİYORUM, yalnızca bir kullanıcının veya bir uzmanın/komut dosyasının/göstergenin isteği üzerine istiyorum" onay kutusunu ekleyin. Ve "MT5 otomatik güncellemesini zorlamak İSTEMİYORUM" da.

 
Ashes :

a. mantıklı

b. yani, genel olarak, Uzman Danışmanın test sırasında ihtiyaç duyacağı her şeyi TEST ETMEDEN ÖNCE indirmek MÜMKÜN DEĞİLDİR (eğer kesinlikle her şeyi indirmezseniz).

içinde. yani, Uzman Danışmanın test cihazında piyasaya sürülmesinden önce, ilgili çiftler henüz test cihazının piyasaya genel bakışında mevcut değildir (a paragrafına göre).

2) içinde. derinlik takımları, daha fazlasını istemedim.

Bu nedenle Expert Advisor'daki verilere eriştikten sonra b, c, c(2) nedenleriyle indirmek daha mantıklı (ama biraz daha zor) oluyor.

Tabloyu a noktasından (fikir doğru tanımlanmışsa) doldurmak için #property tester_symbol eklemenizi öneririm, #property description gibi birkaç tane ayarlama yeteneği. Ama yine de #property tester_symbol yokluğunda, sayfalamanın "oyun sırasında" gitmesi gerektiğine inanıyorum (temel sembol hariç), çünkü İHTİYAÇLARI yalnızca Uzman Danışmanın algoritmasına bağlıdır.


Test cihazında da dahil olmak üzere bir sembol listesi oluşturmak için bu işlevleri kullanmak uygundur (ve oldukça yeterlidir).

Pazar bilgisi alma

Piyasanın durumu hakkında bilgi edinme işlevleri.

İşlev

Aksiyon

SembollerToplam

Kullanılabilir (MarketWatch'ta veya tümünde seçilen) simgelerin sayısını verir

SembolAdı

Belirtilen sembolün adını döndürür

SembolSeç

MarketWatch penceresinde bir sembol seçer veya pencereden bir sembol kaldırır

 
"Sık sık dizi yeniden boyutlandırma kullanır mısınız? Bazen beyinler kaynar, ancak neden " Array out of range in... " ortaya çıktığını bilmiyor musunuz? O zaman size gidelim!". :D

-ArrayResize() 'ın "-1" döndürüp döndürmediğini kontrol edin?

Önceden, "Bellek yetersiz" gibi bir mesaj belirdi ve program çöktü - şimdi çalışmıyor. 360 inşa edin.

Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 

360 oluşturun. CTrade'deki hatalara benziyor:

2010.10.04 18:59:00 CTrade::PositionOpen: 1.36890 sl'de 0.10 EURUSD anında satın al: 1.36390 tp: 1.37890 [0.000000'de yapıldı]

2010.10.05 09:43:00 CTrade::PositionModify: değiştir satın al 0,00 EURUSD (sl: 1.36897, tp: 1.37861) [bitti]

 

360 oluşturun. Test cihazında birkaç kez "test aracısı başarısız oldu" mesajları vardı.

GK 0 Tester 18:26:31 EURUSD: geçmiş ön indirme işlemi başladı

CL 0 Tester 18:28:55 EURUSD: geçmiş ön indirme tamamlandı

GH 0 Core 2 18:28:59 temsilci süreci başladı

HP 0 Core 2 18:29:00 127.0.0.1:3000'e bağlanıyor

OI 2 Tester 18:29:05 test aracısı başarısız oldu

LI 0 Çekirdek 2 18:29:05 bağlantı kapalı

GN 0 Core 2 18:34:14 aracı süreci başladı

KJ 0 Core 2 18:34:14 127.0.0.1:3000'e bağlanıyor

RJ 0 Çekirdek 2 18:34:15 bağlı

OP 0 Core 2 18:34:15 yetkilendirildi (agent build 360)

NH 0 Tester 18:34:15 EURUSD,M1 (Alpari-Demo): 2010.10.04 00:00'dan 2010.11.05 00:00'a kadar Experts\üçüncü.ex5 testi başlatılacak

...

HQ 0 Core 2 19:27:47 temsilci süreci başladı

II 0 Core 2 19:27:48 127.0.0.1:3000'e bağlanıyor

CP 2 Tester 19:27:53 test aracısı başarısız oldu

HP 0 Core 2 19:27:53 bağlantı kapalı

KI 0 Core 2 19:28:10 127.0.0.1:3000'e bağlanıyor

QL 0 Çekirdek 2 19:28:10 bağlı

PN 0 Core 2 19:28:10 yetkili (aracı build 360)

RJ 0 Tester 19:28:10 EURUSD,M1 (MetaQuotes-Demo): 2010.10.04 00:00 ile 2010.11.05 00:00 arasında Experts\üçüncü_alptest2.ex5 testi başlatılacak

MF 0 Core 2 19:28:11 ortak senkronizasyon tamamlandı

IM 0 Core 2 19:28:11 3124 bayt hesap bilgisi yüklendi