Programlamayı öğrenmeme yardım et. - sayfa 7

 
Aleksei Stepanenko :

Peki sen ayarla...

Evet, Dmitry'nin döngüsündeki bu çağrı en zarif değil, ancak bir tarihten hafta numarasını almak için ilginç bir kod yazdı. Kullandığımda, her zaman nazik bir kelime hatırlıyorum.

Ama Dmitry, insanlara karşı daha kibar olmalısın, daha kibar.

İnsanlara karşı kibarım.

 

Dmitry'nin kodu korunmadı, ancak buna dayalı bir değişiklik:

 //получаем номер недели в году
int GetWeekNumber( datetime eTime)
   {
   MqlDateTime eDate;
   //получаем дату начала года
   TimeToStruct (eTime,eDate);
   eDate.mon= 1 ;
   eDate.day= 1 ;
   eDate.hour= 0 ;
   eDate.min= 0 ;
   eDate.sec= 0 ;
   datetime StartTime= StructToTime (eDate);
   //возвращаем дату назад в структуру, чтобы определить день недели начала года
   TimeToStruct (StartTime,eDate);
   return ( int ((eTime-StartTime+ 86400 *eDate.day_of_week)/ 604800 ));
   }
 
Dmitry Fedoseev :

İnsanlara karşı kibarım.

Ve bu saldırganlık nereden geliyor, Dmitry?

Ben sadece bir döngüde PositionsTotal()'ı nasıl düzgün kullanacağımı sordum. Ve kişisel olarak değil, genel olarak. Ve bir debriyaj gibi kırdın. Ne oldu Dimitri?

Umarım bu, muhatapların insanlıktan çıkarılması hakkındaki yorumunuz için geçerli değildir?

 
Aleksei Stepanenko :

Dmitry'nin kodu korunmadı, ancak işte buna dayalı bir değişiklik:

Ah b(a)og! Bu, parlak bir zihnin muhteşem bir yaratımıdır! İnanılmaz! Paylaşım için teşekkürler. Henüz böyle devasa yüksekliklere büyümek ve büyümek zorunda değilim! Pekala, düz hacker hileleri. Bir bakış. yazılanları anlamıyorum. İdeal kod kör etmektir. Onu biraz değiştirmen üzücü, olabildiğince parlak değil.

 
Nikolay Mitrofanov :

Ah b(a)og! Bu, parlak bir zihnin muhteşem bir yaratımıdır!

İşte hırsız!

 
Dmitry Fedoseev :

Ayrıca çok havalı - herkes bir kez daha çok telaşlandı - ah, yeni başlayan birine ne yanlış bir kod yazdım ... ve herkes bunu bana anlatmak için birbiriyle yarıştı ... Bu çılgınca!

Böyle bir şey yoktu. Kimse kodu eleştirmedi. Döngü hakkında ifade edilen tercihler ve görüşler.

Ve şu anda PositionsTotal () ile bu konuda zaten bir anlaşmazlık vardı.

Sana kod için karşılaşmışlar gibi geldi. Ama gerçek şu ki kimsenin umurunda değil.

Nasıl doğru olması gerektiği ve aynı zamanda neyin işe yarayacağı konusunda pek fazla seçenek yok. Soru seçimdir.


Ve şimdi, döngülere (yaygın olarak kullanılan üç yaklaşımdan) hangi yaklaşımın seçileceğini gösteren harika danışmanımla, döngülerin beyanı hakkında tartışmaya hiç gerek yok) Peki, bu harika bir haber değil mi Dmitry?

Birlikte ortak başarıya sevinelim! Birlikte MQL forumunun uzun ve asırlık bir holivarını çözdük! En sonunda! Tüm programcılara ve sempatizanlara selam olsun!

 
Tio Nisla :
Daha önce eklemek istedim, eğer somefunc() işlevi, bir şeyin miktarını döndürmenin yanı sıra, başka bazı manipülasyonlar gerçekleştirirse, örneğin ticaret parametrelerini hesaplarsa, o zaman bu tür kullanım ince eserler üretir ve kodun yazarını bir şeye yönlendirebilir. stupor: "Ne??? 4 kez nasıl??? O_o F$#@!!! Orada da üç kez olmalı? Danışman neden bana yalan söylüyor?". Bu, uzmanı saçının köklerine kadar çileden çıkaran "bok kodu" dediğim şeydi. Odaklanmadım çünkü belli ki ama sen benim için yaptın. Ancak diziyi yeniden başlatmadan dinamik olarak hesaplanan bir dizinle adreslemenin bir şey olduğu gerçeğini hesaba katmadılar. Çıplak "sya"da bu genellikle GPF'ye, akıllı işaretçiler ve dizilerle "artılar"da bir istisna ve işleyicisine yol açar. Mql'de neden olduğu belli değil.

3 kez değil, bir kez olmalıdır.

Nasıl yapılacağını çizin?

 
Dmitry Fedoseev :

İnsanlara karşı kibarım.

Dmitry çok üst düzey bir uzmandır.

 
Nikolay Mitrofanov :

Gelişimdeki anlayış hakkında yazıyorum. Önce öğren, sonra harekete geç.

Aksine, yazıyorsunuz: ilk eylem, toplu olarak düşünün ve saçınızı tarayın.

Bir ve aynı gibi görünüyor. Ama o zaman neden kod örnekleri ve belgeler yazalım? Bence bunun için. Ve sen ne düşünüyorsun?

Gelişime göre çalışma? Aslında programlamanın ilk adımlarından bahsediyoruz. İlk Uzman Danışman yazarken, önce sonucu almak ve ardından kodun güzelliğini ve özünü anlamak en iyisidir.

Genel olarak, diyaloğu bırakıyorum. Bütün bunlar işe yaramaz.

 
Aleksei Stepanenko :

Dmitry'nin kodu korunmadı, ancak buna dayalı bir değişiklik:

Bence her şey daha kolay olmalı, bunun gibi bir şey

 return (( int )(day_of_year/ 7 ))

yıldaki günün sıra sayısı MqlDateTime yapısındadır

Neden: