tik geçmişi - sayfa 18

 
Alexander :

Şimdi oynuyor?

Yapmıyoruz, sizin tarifinize göre denedik.

Tedaviden sonra":

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

tik geçmişi

Karputov Vladimir , 2015.10.21 09:24

...

Şimdi "tedaviyi" test ediyorum - Hikayeleri MetaQuotes-Demo sunucusunun "tarih" ve "keneler" klasörlerinden tamamen sileceğim.


500 tik geçmişi neredeyse anında döndürülürken, çubukların genel geçmişi değiştirilir. 10 aylık tick dosyalarının boyutu 200-400 Kb'dir.

 

Ve ne verirse versin, test cihazında kene almak istedim :)

 void OnTick ()
  {
//---
 MqlTick ExTicks[];
 CopyTicks( _Symbol ,ExTicks,COPY_TICKS_ALL, D'2015.10.16 23:59' , 1 );

 

Milisaniye ve bayrakların eklendiği yapı 1194'te onay işaretlerinin nasıl çalıştığını görün.

Test cihazında, bir sonraki sürümde kenelerin ticaret stratejisi test cihazına tam entegrasyonunu tamamlayana kadar keneler iade edilmez.

 
MetaTrader 5 build 1194 started (MetaQuotes Software Corp.)
Windows 10 Home (X86 based PC), IE 11.00, UAC, Intel Atom  Z3740 @ 1.33GHz, RAM: 218 / 1931 Mb, HDD: 20039 / 50235 Mb, GMT+02:00
authorized on MetaQuotes-Demo through Access Point EU (ping: 139.57 ms)

İnternet bağlantısı koptuğunda kenelerin değiş tokuşunu kontrol ederim. Aşağıdaki test edilmiş gösterge:

 //+------------------------------------------------------------------+
//|                                                         test.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.1"
#property indicator_chart_window
#property indicator_plots 0
//--- input parameter
input int    InpShowTicks= 50 ;     // клубина истории тиков
//--- parameters
MqlTick      arr_mql_tick[];       // массив структур хранящий тики
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit ()
  {
   Print ( __FUNCTION__ );
   Comment ( "" );
   ResetLastError ();
//--- новый размер массива структур тиков
   if ( ArrayResize (arr_mql_tick,InpShowTicks)==- 1 )
     {
       Print ( "Error OnInit #1" , GetLastError ());
       return ( INIT_FAILED );
     }
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   static int count;
   string text  = IntegerToString (count)+ "; " ;
   int copied=CopyTicks( _Symbol ,arr_mql_tick,COPY_TICKS_INFO, 0 ,InpShowTicks);
   text+= "Запрошено " + IntegerToString (InpShowTicks)+ " тиков, скачано " + IntegerToString (copied);
   Comment (text);
   count++;
   return (rates_total);
  }
//+------------------------------------------------------------------+

Algoritma şudur:

Çalıştır göstergesi. İndirilen kene sayısı istenen sayıya eşit olana kadar bekleyin.

İnternet bağlantısını kesin (terminal bip sesi çıkarmalıdır). burada:

  1. 1. test, "sayım" =40,
  2. test numarası 2, "sayım" = 47,
  3. test #3, "sayım" =12.

İnterneti açın.

Gösterge keneleri indirmeye çalışıyor, istek 50 iken ve 21-23 indiriliyor. Bu, "count" 100'den fazla olana kadar devam eder.

Tekrarlanabilirlik iyidir, üç defadan fazla test edilmiştir.

Dosyalar:
test.mq5  3 kb
 
Karputov Vladimir :

İnternet bağlantısı koptuğunda kenelerin değiş tokuşunu kontrol ederim. Aşağıdaki test edilmiş gösterge:


Bir göstergede işaret talep etmenin, bir Uzman Danışmanda işaret istemekten biraz farklı çalıştığını unutmayın.

Göstergenin yavaşlama hakkı yoktur, bu nedenle göstergeye istek için mevcut onay sayısı hemen verilir.

EA kendi iş parçacığında çalışır, bu nedenle biraz bekleyebilir. Uzman Danışman için, istek başına keneleri değiştirmek için birkaç girişimde bulunulur.

 
Slawa :

Bir göstergede işaret talep etmenin, bir Uzman Danışmanda işaret istemekten biraz farklı çalıştığını unutmayın.

Göstergenin yavaşlama hakkı yoktur, bu nedenle göstergeye istek için mevcut onay sayısı hemen verilir.

EA kendi iş parçacığında çalışır, bu nedenle biraz bekleyebilir. Uzman Danışman için, istek başına keneleri değiştirmek için birkaç girişimde bulunulur.

Bu temiz. Ama takas ne kadar sürer? Yukarıdaki örnekte, istek 50 tik içindir ve tikler hemen yüklenmezse 30 saniye sürer.

Daha da kötüsü. 500 kene için bir istek veriyorum - keneler neredeyse anında yükleniyor (bence sadece böyle bir miktar talep ettiğimden dolayı) ve sonra 5000 için bir istek veriyorum - dört dakika geçti ve 5000 kene içinden 2000'den biraz daha az yüklenir ve bu sayı artmaz.

 
Renat Fatkhullin :

Milisaniye ve bayrakların eklendiği yapı 1194'te onayların nasıl çalıştığını görün.

Test cihazında, bir sonraki sürümde kenelerin ticaret stratejisi test cihazına tam entegrasyonunu tamamlayana kadar keneler iade edilmez.

MT4 için de benzer değişiklikler olacak mı?
 

Akşam başka bir bilgisayarda kontrol ettim:

MetaTrader 5 x64 build 1194 started (MetaQuotes Software Corp.)
Windows 10 Pro (x64 based PC), IE 11.00 , UAC, Intel Core i3- 3120 M  @ 2.50 GHz, RAM: 1129 / 3981 Mb, HDD: 75614 / 234136 Mb, GMT+ 02 : 00
authorized on MetaQuotes-Demo through Access Point EU2 (ping: 59.54 ms)

Önceden, betiği kullanarak 2000000 tik indirmiştim - tikler yaklaşık 6 saniyede yüklendi. Ve sonra hepsi aynı:

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

tik geçmişi

Karputov Vladimir , 2015.10.22 15:07

... 500 tik için bir istek veriyorum - keneler neredeyse anında yükleniyor (bence sadece böyle bir sayı talep ettiğimden dolayı) ve sonra 5000 için bir istek veriyorum - dört dakika geçti ve bitti 5000, 2000'den biraz daha az yüklendi ve bu sayı artmıyor.

 
MT4'te yok maalesef.
 
MetaTrader 5 build 1196 started (MetaQuotes Software Corp.)
authorized on MetaQuotes-Demo through Access Point EU1 (ping: 296.87 ms)

MqlTicks yapısının bayraklar alanı genellikle "24" ("tüm işaretler" görüntüleme modu) değerlerini içerir:

1

- bu değer ne anlama geliyor?

Dosyalar: