Hatalar, hatalar, sorular - sayfa 1721

 
Alexey Da :

Her zaman bir milyar kene ister misin? Bu sadece dizi için 49 gigabayt. Si-12.16 keneleri Ocak ayından bu ana kadar 15789962 adettir.

Sizinkine dayalı küçük bir komut dosyası, aylara göre onay sayısını sayar.


ve bu sonucu verir


İşte diskte nasıl göründüğü


Ne kadar sipariş verdiğiniz önemli değil. 20.000 tik (yirmi bin) sipariş ederken bile, 10 aylık bir dosya gigabayt olarak ölçülür.

Komut dosyası, istendiğinde 20000

 //+------------------------------------------------------------------+
//|                                                    CopyTicks.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.01"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
input int   ticks= 200000000 ;   // количество запрашиваемых тиков
//---
MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//--- запросим тики
   int copied= CopyTicks ( _Symbol ,ExTicks, COPY_TICKS_ALL , 0 ,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print ( "Получено тиков: " ,copied, " код ошибки: " , GetLastError ());
   if (copied> 1 )
     {
       Print ( "Тик: " ,ExTicks[ 0 ].time, " bid: " ,ExTicks[ 0 ].bid, " ask: " ,ExTicks[ 0 ].ask, " last: " ,ExTicks[ 0 ].last, " [0]" );
       Print ( "Тик: " ,ExTicks[copied- 1 ].time, " bid: " ,ExTicks[copied- 1 ].bid, " ask: " ,ExTicks[copied- 1 ].ask, " last: " ,ExTicks[copied- 1 ].last, " [" ,copied- 1 , "]" );
     }
   Print ( "Size " ,(( long )copied* sizeof ( MqlTick ))>> 20 , " Mb" );
  }
//+------------------------------------------------------------------+

10 ay boyunca inanılmaz dosya büyümesi sağladı - boyut gigabayt olarak ölçüldü.


Terminal kapalıyken, 10 ay boyunca bir onay dosyasını sildim (yaklaşık 7.5 GB boyutunda).

Sonra senaryonuzu çalıştırdım

 void OnStart ()
  {
   MqlTick Ticks[];
   int Amount= CopyTicks ( _Symbol ,Ticks, COPY_TICKS_ALL , D'2016.01.01' * 1000 , ulong ( 100000000 ));
   MqlDateTime str;
   TimeToStruct ((Ticks[ 0 ].time_msc-Ticks[ 0 ].time_msc% 1000 )/ 1000 ,str);
   char m=( char )str.mon;
   long n= StringToTime ( StringFormat ( "01.%d.2016" ,m+ 1 ))* 1000 ;
   int pos= 0 ;
   for ( int i= 0 ;i<Amount;i++)
     {
       if (Ticks[i].time_msc>=n || i==Amount- 1 )
        {
         PrintFormat ( "Month %d: %d ticks, %d Mb" ,m,i- 1 -pos,( sizeof ( MqlTick )*(i- 1 -pos))>> 20 );
         m++;
         n= StringToTime ( StringFormat ( "01.%d.2016" ,m+ 1 ))* 1000 ;
         pos=i;
        }
     }
  }

her şey normal çıktı, gigantomania boyutuna dikkat edilmedi - çok garip.

sonra tekrar betiğinizi (20000 giriş parametrelerinde). Her şey stabilize oldu - ancak dosya sabah inanılmaz bir boyuta ulaştı! Gördüm ve denedim!


Olduğundan daha fazla - en az bir trilyon - kaç milyar kene talep edileceğine ilişkin olarak, terminal yayınlanmayacaktır.

 
Karputov Vladimir :

Her şey stabilize oldu - ancak dosya sabah inanılmaz bir boyuta ulaştı! Gördüm ve denedim!

Şimdiki an ile farkı, deneyin kapalı bir piyasa ile yapılmış olmasıdır.
 

Şimdi betiği çalıştırın.

Sonuç

 2016.10 . 05 11 : 05 : 03.374 Test (Si- 12.16 ,M5)      (Amount* sizeof ( MqlTick ))>> 20 = 72 Mb Ticks[ 0 ].time = 2016.10 . 03 09 : 45 : 02 Ticks[Amount- 1 ].time = 2016.10 . 05 11 : 05 : 55 

Her şey olması gerektiği gibi çalışıyor. 72/5 ~ 15x sıkıştırma formatı için onur ve övgü.

Kapalı piyasada neden böyle kötü bir böceğin ortaya çıktığını bulmamız gerekiyor.

Bu arada Alexey Da , neden benden daha fazla 201610.tkc var?

 
fxsaber :

Şimdi betiği çalıştırın.

Sonuç

Her şey olması gerektiği gibi çalışıyor. 72/5 ~ 15x sıkıştırma formatı için onur ve övgü.

Kapalı piyasada neden bu kadar kötü bir böceğin ortaya çıktığını bulmamız gerekiyor.

Bu arada Alexey Da , neden benden daha fazla 201610.tkc var?

Açılıştan ekran görüntüsü.

BCS'de boyut sizinkine benzer.

Ama bire bir değil.

Hangi erişim yoluyla bağlanıyorsunuz? Sahibim


 

fxsaber :

Kapalı piyasada neden böyle kötü bir böceğin ortaya çıktığını bulmamız gerekiyor.

Karputov Vladimir ve fxsaber

Büyük istek. En eksiksiz açıklama, günlükler, ekran görüntüleri ve zamanla birlikte hizmet masasına bir bilet oluşturun.

 
Alexey Da :

Açılıştan ekran görüntüsü.

BCS'de boyut sizinkine benzer.

Ama bire bir değil.

Açılışta 201609.tkc'nin 36Mb ve BCS - 32 olduğunu fark ettim. Ama hikaye aynı! Nedenmiş?

Eylül'de, ardından Ekim'de sunucu güncellemeleri olsa bile - kesinlikle hayır. Ekim Açılışı Neden Daha Büyük?

Hangi erişim yoluyla bağlanıyorsunuz? Sahibim

Her zaman

authorized on BCS-MetaTrader5 through Access Server # 1 (ping: 49.30 ms)
 
Alexey Da :

Karputov Vladimir ve fxsaber

Büyük istek. En eksiksiz açıklama, günlükler, ekran görüntüleri ve zamanla birlikte hizmet masasına bir bilet oluşturun.

Ne yazık ki, günlükler kaybolur. O yüzden bilgi veremiyorum.

Kesin olarak hatırladığım tek şey, hata sırasında betiğin ürettiği ilk tiklerin 2016.10 olduğudur. 04 09:45.

Ve her şey olması gerektiği gibi çalıştığında 2016.10'u yayınlamaya başladı. 03 09:45.

Sadece hayatta kalan satırlar

NE       0        08 : 43 : 43.928     Test (Si- 12.16 ,M1)      (Amount* sizeof ( MqlTick ))>> 20 = 0 Mb Ticks[ 0 ].time = 2016.10 . 04 09 : 45 : 04 Ticks[Amount- 1 ].time = 2016.10 . 04 10 : 02 : 38 
JP       0        11 : 03 : 37.815     Test (Si- 12.16 ,M5)      (Amount* sizeof ( MqlTick ))>> 20 = 0 Mb Ticks[ 0 ].time = 2016.10 . 03 09 : 45 : 02 Ticks[Amount- 1 ].time = 2016.10 . 03 10 : 02 : 18 

Üst - hata, güçlü ve ana ile kendini gösterdi.

Alt - böcek sakinleşti.

 
Alexey Da :

Karputov Vladimir ve fxsaber

Büyük istek. En eksiksiz açıklama, günlükler, ekran görüntüleri ve zamanla birlikte hizmet masasına bir bilet oluşturun.

Dahili Uygulama .../view/1580221
 

MT4'te Navigator->Favorites'te programların konum yollarıyla birlikte gösterilmesi çok uygundur.

Örneğin, fxsaber\Test.

Ama MT5'te böyle bir kolaylık yok. Lütfen ekleyin.

 
Bu konu ile ilgili olmayan yorumlar " Doldurma Modu Sorusu " bölümüne taşınmıştır.
Neden: