"CopyTicks"in Test Edilmesi - sayfa 47

 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.10
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 

Kimse izlemeyecek veya anlamayacak. Hisse senedi keneleri ve MT5'in karşılaştırmalı bir analizi olana kadar konuşma boştur. Çünkü Aracıya çarpık verileri ileten borsa olduğunu her zaman söyleyebilirsiniz.

 
fxsaber # :

Kimse izlemeyecek veya anlamayacak. Hisse senedi keneleri ve MT5'in karşılaştırmalı bir analizi olana kadar konuşma boştur. Çünkü Aracıya çarpık verileri ileten borsa olduğunu her zaman söyleyebilirsiniz.

Sadece yakından bakarsanız, dışarıdan onay gerektirmeyen şeyler var ...


 
prostotrader # :

Sadece yakından bakarsanız, dışarıdan onay gerektirmeyen şeyler var ...

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

'CopyTicks'in Test Edilmesi

fxsaber , 2021.11.12 08:05

Aracıya çarpık verileri ileten borsa olduğunu her zaman söyleyebilirsiniz.

 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.12
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.12
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 
Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.17
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 

Zamanın belirli bir noktasında mevcut keneyi bulmanın zor bir iş olduğunu doğru anlıyor muyum?


Örneğin 2022.04.29 23:00:00.000 tarihinde hangi tik ile ilgili olduğunu bulmanız gerekiyor. Ekranda vurgulanır.


Aklıma gelen tek çözüm.

 bool GetActualTick ( const string Symb, const ulong time, MqlTick &Tick, int Amount = 20 )
{
   MqlTick Ticks[];
  
   int Offset = 500 ;
   int Res = 0 ;
  
   while (!:: IsStopped () && (Res <= 0 ) && ( bool )Amount--)
    Res = :: CopyTicksRange (Symb, Ticks, COPY_TICKS_INFO , time - (Offset <<= 1 ), time);
    
   if (Res > 0 )
    Tick = Ticks[Res - 1 ];
  
   return (Res > 0 );
}

void OnStart ()
{
   MqlTick Tick[ 1 ];
  
   if ( GetActualTick ( _Symbol , D'2022.04.29 23:00' * 1000 , Tick[ 0 ]))
     ArrayPrint (Tick);
}
 
fxsaber # :

Zamanın belirli bir noktasında mevcut keneyi bulmanın zor bir iş olduğunu doğru anlıyor muyum?


Örneğin, 2022.04.29 23:00:00.000'de hangi tik ile ilgili olduğunu bulmanız gerekiyor. Ekranda vurgulanır.


Aklıma gelen tek çözüm.

Güzelce yapılmış, ondan önce bunun mümkün olabileceği hiç aklıma gelmemişti.

Böyle düzeltirdim - anlam aynı, sadece 1 kez.

 bool GetActualTick( const string Symb, const ulong time, MqlTick &Tick, int Sec = 30 )
{
   MqlTick Ticks[];
   
   int Res = :: CopyTicksRange (Symb, Ticks, COPY_TICKS_INFO , time - Sec* 1000 , time);
    
   if (Res > 0 )
    Tick = Ticks[Res - 1 ];
  
   return (Res > 0 );
}

void OnStart ()
{
   MqlTick Tick[ 1 ];
  
   if (GetActualTick( _Symbol , D'2022.04.29 18:00' * 1000 , Tick[ 0 ]))
     ArrayPrint (Tick);
}  

Böyle bir görevle yalnızca tarihte >=2 tick dizisini ve burada senkronize etmek gerektiğinde karşılaştım. Ancak her iki durumda da, senkronizasyon zaten bir seferde boşaltılan hazır dizilerdedir. Hem orada hem de orada, dizinlerin seri kayması ile senkronize edilir. Hangi zamanın (gelecekte) en yakın olduğuna bakıyorum ve bu enstrümanın indeksini ++ değiştiriyorum.

 
Andrey Miguzov # :

Böyle düzeltirdim - anlam aynı, sadece 1 kez.

Ne yazık ki, bitişik keneler arasındaki aralığı tahmin edemezsiniz. Bazen yarım dakikadan çok daha fazla.

Neden: