Çaydanlıktan gelen sorular - sayfa 110

 
openlive :
2012.02.26 10:57:51 Analiz edilen geçmişin test cihazı kalitesi %100
2012.02.26 10:57:51 Core 1 EURUSD,H1: Experts\pattern10000.ex5'in 2009.12.01 00:00'dan 2012.02.10 00:00'a kadar testi başladı
......

Günlüklerde her şey güzel gibi görünüyor. Yine de, Expert Advisor'da hatayı aramaya çalışın.

Örneğin, kodun üstünkörü bir incelemesinde, programın 3 dosya kullandığını ve özelliklerde yalnızca birinin belirtildiğini buldum.

   int handle16= FileOpen ( "signal10000.csv" , FILE_WRITE | FILE_CSV , ";" );
   int handle17= FileOpen ( "signal10000.dat" , FILE_WRITE | FILE_BIN , ";" ); 

#property tester_file "primer_massivstarihpatternovdlyaraboty.csv"

 

kodu değiştirdi - şimdi hata görülebilir

2012.02.26 11:24:56 Çekirdek 1 2009.12.01 00:00:00 hata = 5004

dosya açma hatası - dosyanın C:\ProgramData\MetaQuotes\Terminal\Common\Files konumunda olmasına ve #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" ve FILE_COMMON bayrağına sahip olmasına rağmen

Dosyalar:
 

Havai fişek! Beyler lütfen akıl verin. Bir grafikte 2 enstrüman (döviz çifti) görüntülemek için basit bir çoklu para birimi göstergesi yazıyorum. Belirtilen araç tarafından çizim için verilerin seçilmesini ve işlenmesini hangi işlev aracılığıyla sağlayacağımı söyleyin. Küçük bir örnek varsa çok minnettar olacağım. Teşekkür ederim!

Şimdi mevcut grafiği görüntülemek için çıplak algoritmam şöyle görünüyor:

int OnCalculate(const int oranları_toplam,
const int önceki_hesaplanmış,
const tarihsaat &saat[],
const double &aç[],
const çift &yüksek[],
const çift &düşük[],
const double &kapat[])

{
int i=0;
bool hacim=true;

if(i<önceki_hesaplanmış) i=önceki_hesaplanmış-1;

while(i<rates_total && !IsStopped())
{
ExtCloseBuffer[i]=kapat[i];
if(i>0)
{
if(kapat[i]>kapat[i-1]) hacim=true;
if(kapat[i]<kapat[i-1]) hacim=yanlış;
}

ben++;
}
dönüş(oranlar_toplam);
}

Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
  • 2010.05.17
  • Alexey Klenov
  • www.mql5.com
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
 
openlive :

kodu değiştirdi - şimdi hata görülebilir

2012.02.26 11:24:56 Çekirdek 1 2009.12.01 00:00:00 hata = 5004

dosya açma hatası - dosyanın C:\ProgramData\MetaQuotes\Terminal\Common\Files konumunda olmasına ve #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" ve FILE_COMMON bayrağına sahip olmasına rağmen

Yarın cevap vermezlerse, ekli dosyalarla Servis Masası ile iletişime geçin. tavsiye etmeli.
 
kandallov :

Havai fişek! Beyler lütfen akıl verin. Bir grafikte 2 enstrüman (döviz çifti) görüntülemek için basit bir çoklu para birimi göstergesi yazıyorum. Belirtilen araç tarafından çizim için verilerin seçilmesini ve işlenmesini hangi işlev aracılığıyla sağlayacağımı söyleyin. Küçük bir örnek varsa çok minnettar olacağım. Teşekkür ederim!

Şimdi mevcut grafiği görüntülemek için çıplak algoritmam şöyle görünüyor:

...

MqlRates yapısı üzerinden veya her bir zaman serisinden ayrı ayrı veri alabilirsiniz MQL5 Referans / Zaman serilerine ve göstergelere erişim

MqlRates aracılığıyla, çubuğun zamanıyla ilgili verileri de depoladığı için daha iyidir (farklı enstrümanlardaki çubuklar senkronize olmadığı için bu önemlidir), ancak zaman serileriyle daha ekonomiktir.

Ancak çoklu para birimi tüccarları için asıl sorun senkronizasyondur, bir enstrümandaki bir endeks tarafından talep edilen her çubuk başka bir enstrümandaki aynı endekse karşılık gelmez. Ve ormana ne kadar uzak olursa, partizanlar o kadar kalın, endekslerdeki kayma birikir.

Yine, farklı uzunluklardaki diziler sorununu çözmeniz gerekecek (belki farklı araçların farklı miktarlarda verisi olabilir).

Üçüncü sorun, gösterge tablosundaki her çubuğun görüntülenememesidir (örneğin, yerel sembole göre çubuk yoktur, ancak diğerlerine göre nereye itilir?).

Sorunların ortaya çıktığı yer burasıdır.

 
openlive :

baktı, dosyayı Mql5\Tester\Files içine yerleştirdi

ama test cihazı hareketsiz duruyor


#property tester_file özelliği, tutamaçlarla hiçbir yere hiçbir şey koymamanızı sağlamak için özel olarak tasarlanmıştır.

tester_file

sicim

Uzantı dahil, çift tırnak içine alınmış (sabit bir dize olarak) test cihazı için dosyanın adı. Belirtilen dosya iş için test cihazına aktarılacaktır. Gerekirse test için giriş dosyaları her zaman belirtilmelidir


Program, terminal_directory\MQL5\ Files klasöründe bulunan datafile.csv verisine sahip bir dosya gerektiriyorsa, dosya test cihazı tarafından otomatik olarak test_agent_directory\MQL5\Files klasörüne aktarılacaktır (bunun için #property tester_file datafile . csv gereklidir).

 
openlive :

kodu değiştirdi - şimdi hata görülebilir

2012.02.26 11:24:56 Çekirdek 1 2009.12.01 00:00:00 hata = 5004

dosya açma hatası - dosyanın C:\ProgramData\MetaQuotes\Terminal\Common\Files konumunda olmasına ve #property tester_file "primer_massivstarihpatternovdlyaraboty.csv" ve FILE_COMMON bayrağına sahip olmasına rağmen

Hata görünüyor, ancak hangi dosyaya atıfta bulunduğu açık değil

 #property tester_file "primer_massivstarihpatternovdlyaraboty.csv"
//#property tester_file "signal10000.csv"
//#property tester_file "signal10000.csv"

Neden özelliklerdeki dosyaların geri kalanını yorumladım? Ve bu arada, bir hata var: metinde bunlardan biri "signal10000.dat" olmasına rağmen aynı uzantılar.

Dosyaların bende yok, o yüzden kendin kontrol et.

 

Şimdi - bu kötü niyetli klasör test_agent_directory\MQL5\Files nasıl bulunur? Windows Vista ile başlayarak, koruma ve güvenlik politikası sistemi çok daha karmaşık hale geldi ve herkesin kafasını karıştırabilir. Bu klasörü bulmanın en kolay yolu, test eden kişiye sormaktır, test aracılarının tam olarak nerede olduğunu bilir. Testin sonunda, test kullanıcısının günlüklerinin yolu her zaman Test Kullanıcısı Günlüğü'ne yazılır, örneğin:

 2012.02 . 26 16 : 31 : 09      Core 1   connection closed
2012.02 . 26 16 : 31 : 09      Core 1    log file "C:\Program Files\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000\logs\20120226.log" written
2012.02 . 26 16 : 31 : 09      Core 1   EURUSD,H1: 1105951 ticks ( 4663 bars) generated within 3796 ms (total bars in history 10867 , total time 3844 ms)
2012.02 . 26 16 : 31 : 09      Core 1   OnTester result 0

Yani test aracısı klasörü burada bulunur - C:\Program Files\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000 \ logs\20120226.log .

 
MetaDriver :

Alında işe yaramaz. Yasaktır. MetaQuotes Yazılım A.Ş. aykırı. // Bence yanlış, ama muhtemelen daha iyi biliyorlar.

Oldukça zaman alan bir seçenek var - matematiksel hesaplama modunu kullanmak. Zayıf değilse - deneyin.

"Matematik modu" nedir?
 
Rosh :

Şimdi - bu talihsiz klasör test_agent_directory\MQL5\Files nasıl bulunur? Windows Vista ile başlayarak, koruma ve güvenlik politikası sistemi çok daha karmaşık hale geldi ve herkesin kafasını karıştırabilir. Bu klasörü bulmanın en kolay yolu, test eden kişiye sormaktır, test aracılarının tam olarak nerede olduğunu bilir. Testin sonunda, test kullanıcısının günlüklerinin yolu her zaman Test Kullanıcısı Günlüğü'ne yazılır, örneğin:

Yani test aracısı klasörü burada bulunur - C:\Program Files\MetaTrader 5 Alpari\Tester\Agent-127.0.0.1-3000 \ logs\20120226.log .

şimdi sorunlar

2012.02.26 15:47:46 Tester dosyası C:\Users\openlive\AppData\Roaming\MetaQuotes\Terminal\9C3619DDD286B60B1DB9B989A2FFC701\MQL5\Files\signal10000.csv açma hatası [32]