Çaydanlıktan gelen sorular - sayfa 263

 
Contender :

Dizeleri StringConcatenate() "glue" ile deneyin

değiştirildi

 StringConcatenate (nTL, "nTL_" , IntegerToString ( MathRand ()));
Yardım etmedi.
 
Silent :
Bir hafta daha kafamı kaşıyacağım. Biraz daha detaylı olabilir mi? (kaba olabilir :))

Benzersiz adlara sahip birkaç yüz nesne için başka bir seçenek var mı?

(Grubu kaldırmak için bir nesne grubu adında aynı dize kısmına sahip olmalıdır.)

Tezgah
 
TheXpert :

Genel olarak, mantıksal olarak, işlev son hatayı ortaya çıkarırsa, işlevin başarıyla tamamlanmasının ardından, sıfır hata değeri veya belgelerde açıklanan değer olmalıdır. Ve başka bir şey değil.

Onlar. arama başarılıysa ve hata sıfır değilse, bu durum belgelerde açıklanmalıdır.

Ben de öyle düşündüm, aksini öğrenene kadar. SD'ye bir başvuru yazdım, bana yaklaşık olarak yukarıda yaptığım gibi cevap verdiler :)
 
220Volt :

Sıfırdan farklı bir şey yazdırırken Son Hatayı Al konusunda endişeli misiniz? Eğer öyleyse, sadece fonksiyon bir hata bildirdiyse bir hata istemeye değer. Ve bölümün sonunda hata istemeye değmez, çöp bir değer alabilirsiniz. Yani MT4'te belki burada bir şekilde farklıdır.

sözde kod:

Hata ResetLastError () ile temizlenmelidir, ancak bir atama varsa, bu eşdeğerdir.
 
Silent :

Benim tavsiyem: Get Last Error'ı yukarıda açıklanan prensibe göre yeniden yapın. Sadece bu gibi durumlarda meydana gelen hatayı alırsınız, belki başka bir şey alıyorsunuzdur.

 
220Volt :
Ben de öyle düşündüm, aksini öğrenene kadar. SD'ye bir başvuru yazdım, bana yaklaşık olarak yukarıda yaptığım gibi cevap verdiler :)
cins.
 

Sıfırlama, aramadan önce sıfırlanır.

Hataya neden olan bu girdidir.

 void   CreateTL( string name, datetime time1, double price1, datetime time2, double price2, bool ray_left, bool ray_right, color color_TL)
  {
//------------ nTL,nTLh,nTLl,nTLe
   nTL= "nTL_" + IntegerToString ( MathRand ());
   nTLh= "nTLh_" + IntegerToString ( MathRand ());
   nTLl= "nTLl_" + IntegerToString ( MathRand ());
   nTLe= "nTLe_" + IntegerToString ( MathRand ());
//------------
   ObjectCreate ( 0 ,name, OBJ_TREND , 0 ,time1,price1,time2,price2);
  };

Bu sürümde hata yok.

 void   CreateTL( string name, datetime time1, double price1, datetime time2, double price2, bool ray_left, bool ray_right, color color_TL)
  {
//------------ nTL,nTLh,nTLl,nTLe
   //nTL="nTL_"+IntegerToString(MathRand());
   //nTLh="nTLh_"+IntegerToString(MathRand());
   //nTLl="nTLl_"+IntegerToString(MathRand());
   //nTLe="nTLe_"+IntegerToString(MathRand());
//------------
   ObjectCreate ( 0 ,nTL= "nTL_" + IntegerToString ( MathRand ());, OBJ_TREND , 0 ,time1,price1,time2,price2);
  };
 
zfs :
Tezgah
Fark ne? aynı sayıları bir dizgede toplayın.
 
Silent :
Fark ne? aynı sayıları bir dizgede toplayın.
Rakamların eşleşmeyeceğinin garantisi yoktur. Potansiyel hata.
 
zfs :
Rakamların eşleşmeyeceğinin garantisi yoktur. Potansiyel hata.

İlk olarak, hiç şans yok (Urain'den gelen kod, asla başarısız olmadı)

x= 0 ;   MathSrand (x);
   for (i= 0 ;i< MathRand ();i++) MathRand ();
   MathSrand (( int ) TimeLocal ()* MathRand ());

ikincisi, ilk aramada bir hatam var (ve nesne oluşturulmadı ).

Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5