Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 37

 

HistorySelect çok pahalı bir özelliktir. Ancak HistorySelectByPosition daha da pahalıdır.

Örneğin, kapalı bir pozisyonun ilk anlaşmasını bulmanız gerekiyorsa, iki şekilde hareket edebilirsiniz.

  1. HistorySelectByPosition yapın ve ardından ortaya çıkan küçük listeden istediğiniz anlaşmayı bulun. Ancak bu liste şu şekilde oluşturulur. Daha sonra bu listede bir FULL for döngüsü vardır ve yalnızca karşılık gelen POSITION_IDENTIFIER'a sahip olan işlemler seçilir.
  2. Bir HistorySelect yapın ("sonsuz" yapabilirsiniz, ancak biliniyorsa aralığı kullanmak daha iyidir), ardından karşılık gelen DEAL_ENTRY'ye ulaştığınızda for döngüsüne girin.

İkinci öğe önemli ölçüde daha ucuz olabilir. Ama kesinlikle daha pahalı değil.

Test cihazında HistorySelect* işlevlerini çağırmak, neredeyse bilgi işlem kaynaklarının israfıdır. Bu nedenle, her zaman sayılarını minimuma indirmeye çalışmalısınız. Özellikle, HistorySelectByPosition.

 
Test cihazındaki Hedge hesapları için
Sıradaki tikte normal limitlerin aktivasyonu kontrol ediliyor.
Bu, test cihazının sonucunun büyük ölçüde hesap türüne bağlı olduğu anlamına gelir.
 
fxsaber :
Test cihazındaki Hedge hesapları için bu, test cihazının sonucunun büyük ölçüde hesap türüne bağlı olduğu anlamına gelir.


Komşu şubelerden birinde ortaya çıktığı gibi, test cihazının sonucu, testin yerel aracıda mı yoksa dağıtılmış ağın aracılarından birinde mi gerçekleştirildiğine bağlıdır.

https://www.mql5.com/en/forum/1111/page1880#comment_4904481

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • www.mql5.com
Форум алго-трейдеров MQL5
 
Yuri Kirillov :


Komşu şubelerden birinde ortaya çıktığı gibi, test cihazının sonucu, testin yerel aracıda mı yoksa dağıtılmış ağın aracılarından birinde mi gerçekleştirildiğine bağlıdır.

https://www.mql5.com/ru/forum/1111/page1880#comment_4904481

Bu konu bağlamında olmayan bir ÇANTA tanımladınız. Limit emirlerinin uygulanmasındaki fark resmi pozisyondur.
 
fxsaber :
Bu konu bağlamında olmayan bir ÇANTA tanımladınız. Limit emirlerinin uygulanmasındaki fark resmi pozisyondur.

Katılıyorum, sadece test cihazının giderek öngörülemez bir araç haline geldiğini belirtmek istedim.
 
Yuri Kirillov :

Katılıyorum, sadece test cihazının giderek öngörülemez bir araç haline geldiğini belirtmek istedim.
Ne yazık ki asla tahmin edilemezdi.
 
fxsaber :
Bu, test cihazının sonucunun büyük ölçüde hesap türüne bağlı olduğu anlamına gelir.
Bu sadece borsada işlem gören enstrümanlar için geçerlidir.
 
Tüm standart tipler birbirine dökülür
 void OnStart ()
{
   string Str = "1.23qwedfg" ;
  
   Print (( int )Str);
   Print (( double )Str);
}

Sonuç

 1
1.23
 

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

Hatalar, hatalar, sorular

fxsaber , 2017.04.10 16:53

Sevgili geliştiriciler, böyle bir durumda Uyarılardan nasıl kurtuluruz?
 template < typename T>
T GetValue()
{
  T Res; // possible use of uninitialized variable 'Res'
  
   return (Res);
}

void OnStart ()
{
   MqlTick Tick = GetValue< MqlTick >();
   int i = GetValue< int >();
}
Hayat kesmek
 template < typename T>
const T GetDefaultValue( void )
{
   struct STRUCT_TYPE
  {
     const T Value;
  };
  
   const STRUCT_TYPE Res = { 0 };
  
   return (Res.Value);
}

void OnStart ()
{
   int i = GetDefaultValue< int >();
   MqlTick Tick = GetDefaultValue< MqlTick >();
   string Str = GetDefaultValue< string >();
}
 

Temel işlevler (gerekli değil)

  • StringToDouble
  • StringToInteger
  • StringToTime
  • StringToColor
  • StringAdd
  • DizeBirleştir
  • GetPointer