Hatalar, hatalar, sorular - sayfa 2650

 
Söyle bana, MQL4 veya MQL5'teki hata nerede?
 struct A
{
   static const int Array[];
};

static const int A::Array[] = { 0 };

struct B : public A
{  
   int i[ sizeof (B::Array)]; // MQL5 - ok, MQL4 - ok.
   int j[ sizeof (A::Array)]; // MQL5 - ok, MQL4 - error .
};
Arama dizisi : Oshibka 004.
 
fxsaber :

Bu sorunu da görebiliyor musunuz?


Moderatör isteğim üzerine elle güncellendi. Ama her seferinde soramam. Makine çalışmıyor.

Düzeltildi.

 
Anton :

Düzeltildi.

Teşekkürler görüyorum.

 
Andrey Khatimlianskii :

Kullanılan tüm aletlerin tikleriyle.


işte yeni keneleri kontrol etmek için kodum:

 void OnTimer ()
  {
//+------------------------------------------------------------------+
// Перебор всех символов, которые указаны в внешних переменных
// Recursion of all symbols that are specified in external variables
//+------------------------------------------------------------------+
   string SymbolToTick= "" ;
   for ( int si= 0 ; si< 12 ; si++)
     {
       if (si== 0 )
         SymbolToTick=PAIR1;
       if (si== 1 )
         SymbolToTick=PAIR2;
       if (si== 2 )
         SymbolToTick=PAIR3;
       if (si== 3 )
         SymbolToTick=PAIR4;
       if (si== 4 )
         SymbolToTick=PAIR5;
       if (si== 5 )
         SymbolToTick=PAIR6;
       if (si== 6 )
         SymbolToTick=PAIR7;
       if (si== 7 )
         SymbolToTick=PAIR8;
       if (si== 8 )
         SymbolToTick=PAIR9;
       if (si== 9 )
         SymbolToTick=PAIR10;
       if (si== 10 )
         SymbolToTick=PAIR11;
       if (si== 11 )
         SymbolToTick=PAIR12;
     
       if (SymbolToTick== "" && si== 0 )
        {
         SymbolToTick= Symbol ();
        }
       if (SymbolToTick== "" )
         continue ;
       //|#############################################################################################+
       // проверяем текущий Бид Аск
       MqlTick last_tickSymbol;
       SymbolInfoTick (SymbolToTick,last_tickSymbol);
       double currentBid=last_tickSymbol.bid;
       double currentAsk=last_tickSymbol.ask;

       //|#############################################################################################+
       // Если тик изменился, запускаем тик этого символа
       if (currentBid!=LastBid[si] || currentAsk!=LastAsk[si])
        {
         // Запускаем исполнение тика
         OnTickSymbol(si,SymbolToTick);
         LastBid[si]=currentBid;
         LastAsk[si]=currentAsk;
         TicksAllNumbers[si]++;
        }
       //|#############################################################################################+
     }
  }


kene sayısını kontrol etmek için bir dizi oluşturdu.


EURUSD GBPUSD çiftinin test edilmesi

GBPUSD üzerinde bir test yapıyorum:

2020.02.18 14:01:03.802	Core 1	2020.02.16 23:59:58    TICKS EURUSD TicksAllNumbers=621120
2020.02.18 14:01:03.802	Core 1	2020.02.16 23:59:58    TICKS GBPUSD TicksAllNumbers=1143002


EURUSD üzerinde bir test yapıyorum:

 2020.02 . 18 14 : 01 : 37.129 Core 1    2020.02 . 16 23 : 59 : 58     TICKS EURUSD TicksAllNumbers= 621120
2020.02 . 18 14 : 01 : 37.129 Core 1    2020.02 . 16 23 : 59 : 58     TICKS GBPUSD TicksAllNumbers= 1143002


Tikler aynı görünüyor. ... ... ... yani bir yerde bir şeyi kaçırdım .....

Teşekkürler, kazmaya devam edeceğim



ÇÖZÜLDÜ: _Digit kodda ortalıkta yatıyordu, muhtemelen bakmadan ortama eklemiş.....

yorumlar gereksiz :-)

 
Anton :

Arşivdeki mql5pack-ico.zip dosyasını bir klasöre taşıyın.

Bu dosyayı MQL5/Scripts klasörüne taşıdı. Yardım etmedi. Sonra MQL5/Files klasörüne - bu da yardımcı olmadı.

Muhtemelen neden bahsettiğini anlamıyorum.

 
Stanislav Korotky :

MQL5/Scripts klasörüne taşındı. Yardım etmedi.

Düzeltildi.

 

Konstantin Gruzdev

Sen ilginç bir yazarsın, burada en ilginç olanı., Vladislav'a bir soru sordu, ben de çoklu para birimiyle ilgileniyorum, çünkü yeni çubuk ve gerekli tüm çubukların uygulanamazlığı hakkında nüanslar var

 
Çoklu para birimi sorusu hala askıda, MQ nedense sinyal vermek istemiyor, geçici ve casusluk kusurları için programcıları sıkıntıları doldurmak için tercih ediyorlar. uzun sürmemeli.
 
Vladislav Andruschenko :
zamanlayıcı aracılığıyla evet
Zamanlayıcının frekansını arttırmanız gerekiyor ......
Bazı keneleri atlar. Bu nedenle sonuçlardaki fark. Fark çok küçük. Ancak 1 tik atlamak yeterlidir ve her şey alt üst olur.

Sıklığın sonucu iyileştireceği gerçeği değil, testlerin hızı kesinlikle azalacaktır. Zamanlayıcı olayları mükemmel değildir, neredeyse her zaman hata olacaktır. Boş bir zamanlayıcıda bile hatayı görebilirsiniz. Zamanlayıcı işlevi içinde hesaplamalar varsa, büyük olasılıkla hata daha yüksek olacaktır. Bilgisayara üçüncü taraf görevleri yüklemek de zamanlayıcıyı etkileyebilir. Tüm açma/kapama/değiştirme sinyallerinin aynı anda ve aynı tiklere düşmeme olasılığı vardır.

Tüm bu gözlemlerin birkaç yıl önce aynı anda neredeyse 30 enstrüman kullanan ağır bir çoklu para birimi platformunda yapıldığını belirtmekte fayda var. Sonuçların tesadüfi, yalnızca zamanlayıcı kapalıyken oldu. Sanırım şimdi pek bir şey değişmedi.

 
Fast235 :

Konstantin Gruzdev

Sen ilginç bir yazarsın, buradaki en ilginç., Vladislav'a bir soru sordu, ben de çoklu para birimiyle ilgileniyorum, çünkü yeni çubuk ve gerekli tüm çubukların uygulanamazlığı hakkında nüanslar var

TAMAM. Cevap yukarıda.