Hatalar, hatalar, sorular - sayfa 950

 
fyords :

Benzer bir şey yaşayan varsa lütfen bana bildirin.

Bir kod var:

Gerçek zamanlı olarak, terminalde aşağıdakiler çalışır: Test cihazında aynı kod başka bir kod verir:

Ve hangi olay olursa olsun dizinin boyutu elde edilmelidir?

 
tol64 :

Ve hangi olay olursa olsun dizinin boyutu elde edilmelidir?

Eh, önce göstergeyi yazdım ve sonra her şeyi basit bir örneğe indirdim.
Evet çıkıyor - herhangi bir olay için ve verilen günlükler her satırda tekrarlanıyor.

Kodu aşağıdaki şekilde değiştirerek:

 //+------------------------------------------------------------------+
double date[];
//+------------------------------------------------------------------+
void OnInit ()
{
   ArrayResize (date, 3 );
   Print ( __FUNCTION__ , " ArraySize(date)=" , ArraySize (date));
}
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
{
   Print ( __FUNCTION__ , " ArraySize(date)=" , ArraySize (date));
}
//+------------------------------------------------------------------+

daha da eğlenceli hale geldi. Terminal sonucu:

FD       0        12 : 57 : 59         test (EURGBP.m,M5)       OnInit ArraySize (date)= 3
JO       0        12 : 57 : 59         test (EURGBP.m,M5)       OnChartEvent ArraySize (date)= 3
DG       0        12 : 57 : 59         test (EURGBP.m,M5)       OnChartEvent ArraySize (date)= 3

test cihazı:

JM       0        12 : 58 : 09         test (EURGBP.m,M15)     2013.01 . 01 00 : 00 : 00    OnInit ArraySize (date)= 3
FE       0        12 : 58 : 09         test (EURGBP.m,M15)     2013.01 . 01 00 : 00 : 00    OnChartEvent ArraySize (date)= 0
FR       0        12 : 58 : 09         test (EURGBP.m,M15)     2013.01 . 01 00 : 00 : 00    OnChartEvent ArraySize (date)= 0
 
fyords :

Eh, önce göstergeyi yazdım ve sonra her şeyi basit bir örneğe indirdim.
Evet çıkıyor - herhangi bir olay için ve verilen günlükler her satırda tekrarlanıyor.

...

çoğaltamadım. Bu kodu test ediyorum:

 //+------------------------------------------------------------------+
//|                                                     !indTEST.mq5 |
//|                        Copyright 2010, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link       "https://www.mql5.com"
#property version   "1.00"
//---
#property indicator_chart_window
#property indicator_buffers 1 
#property indicator_plots   1
#property indicator_type1   DRAW_NONE
//---
double date[];
//---
//+------------------------------------------------------------------+
//| ИНИЦИАЛИЗАЦИЯ                                                    |
//+------------------------------------------------------------------+
void OnInit ()
  {
   ArrayResize (date, 3 );
  }
//+------------------------------------------------------------------+
//| ДЕИНИЦИАЛИЗАЦИЯ                                                  |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
  {
   return (rates_total);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
   Print ( "ArraySize(date)=" , ArraySize (date));
  }
//+------------------------------------------------------------------+

//---

Göstergeyi görselleştirme modunda test ettim .

 
Aynı şekilde anlıyorum.
 
fyords :
Aynı şekilde anlıyorum.
Bildiğim kadarıyla, grafikle etkileşimle ilgili olaylar şu anda test cihazında yok sayılıyor. Özel olayları işleyebilirsiniz.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика - Документация по MQL5
 
tol64 :
Bildiğim kadarıyla, grafikle etkileşimle ilgili olaylar şu anda test cihazında yok sayılıyor. Özel olayları işleyebilirsiniz.

Evet, ne tür olduğu umurumda değil, asıl mesele onların gelmesi :)

Kodunuzun bana 0 sonucunu vermesi de ilginç, yani. hata devam ediyor.
not. Win7 x64 + UAC ve taşınabilir değil.

 
fyords :

Evet, ne tür olduğu umurumda değil, asıl mesele onların gelmesi :)

Kodunuzun bana 0 sonucunu vermesi de ilginç, yani. hata devam ediyor.
not. Win7 x64 + UAC ve taşınabilir değil.

Ve bana olaylar böyle bir kodda hiç gelmiyor. Peki test cihazında hangi olaylar altında mesaj yazdırılıyor? İlginç geldi o yüzden sordum. )) Oynamak için bir koda ihtiyacınız var.

 
tol64 :

Ve bana olaylar böyle bir kodda hiç gelmiyor. Peki test cihazında hangi olaylar altında mesaj yazdırılıyor? İlginç geldi o yüzden sordum. )) Oynamak için bir koda ihtiyacınız var.

Ben de hiçbir şey anlamıyorum - artık çalışmıyor))).
Garip, çünkü CHARTEVENT_CHART_CHANGE olayı her durumda test cihazına gelmelidir. Böyle?
 

fyords :
... 

Garip, çünkü CHARTEVENT_CHART_CHANGE olayı her durumda test cihazına gelmelidir. Böyle?
Gerçek zamanlı olarak, bu olay, grafik kaydırıldığında ve pencereler/alt pencereler yeniden boyutlandırıldığında oluşturulur. Bu olay henüz test cihazında çalışmıyor (veya belki de hiç yapmayacaklar). Tüm olaylar arasında, şu ana kadar yalnızca diğer programlardan gelen kullanıcı olaylarını izleyebilirsiniz.
 

Strateji test cihazında, MT5 ile birlikte verilen standart ExpertMACD Expert Advisor'ı test ettim, hata veriyor:

2013.03.30 19:18:09 Core 2 genetik geçiş (0, 15), 46 ms'de "OnInit başarısız oldu" hatasıyla test edildi

2013.03.30 19:18:08 Çekirdek 1 genetik geçiş (0, 13) 32 ms'de "OnInit başarısız oldu" hatasıyla test edildi

2013.03.30 19:18:07 Çekirdek 2 genetik geçiş (0, 5) 0 ms'de "OnInit başarısız oldu" hatasıyla test edildi

seçim yöntemiyle, MACD'nin Hızlı ve Yavaş dönemlerini optimize ederken (strateji test cihazı parametrelerindeki kutuları işaretlediğinizde) "SignalMACD" modülünde bir hata olduğunu öğrendim.

Bu sorunla karşılaşan var mı ve nasıl başa çıkılır? (yalnızca bir onay işareti olduğunda, yine de bir şekilde çalışır, ancak iki tane koyar koymaz hemen hata verir)