OrderModify() sorusu - sayfa 6

 

Vay canına,

Hiçbir şey bir şekilde kafatasına nüfuz etmediği için, buradaki nazik moderatörlerin sizin için bir şeyler hecelemelerine yardımcı olacağım.

Size birkaç nokta göstermek için kodunuzu düzelttim:

  • Kodunuz, basit bir algoritma hedefine ulaşmak için özensiz ve dolambaçlı. Kıvrımlı parantezlerin dağınık ve gereksiz kullanımına dikkat çekildi ve kafanızın dağınık durumunu gösteriyor.
  • MQL4 kılavuzunu baştan sona okumak yerine, ilk EA eğitimini takip etmek ve ardından Order*() işlevlerinin birim testini yapmak yerine, zaman kaybetmeyi ve diğer insanların görmezden geldiğiniz şeyler hakkında sizi kaşıklamasını sağlamayı tercih edersiniz.
  • Bu yaklaşımı sürdürürseniz, MQL4'ü gerçekten kullanabilmek için önünüzdeki çok uzun yolun farkında olmanız en iyisidir. İronik olarak, bunun nedeni MQL4'ün karmaşıklığı (nispeten basit) değil, garip bir şekilde desteklediğiniz tutumdur.
İyi şanslar ve Tanrı ruhuna merhamet etsin.
 

Richard, kışkırtmanın not edildi. Cilt I'i gözden geçirdiğiniz ve yazınız için teşekkür ederim. Her ikisi de takdir edilmektedir.

Teşekkür ederim.

 

Simon,

Kod, OrderSelect() işlevini kontrol ediyor VE eğer OrderSymbol() işlevi USDJPY ise. Her ikisi de doğruysa, OrderPrint() işlevi yürütülür. OrderSelect() iyi olacak, ancak ;) OrderSymbol() USDJPY değilse, o zaman i bilet değişkeni 1 artırılır. i Değişkeni OrderSymbol() USDJPY olana kadar artırılır.

Soru: Neden "i++;" i'nin değerini sadece bir kez arttırmak mı? (Niyetim bu değişkenin OrderSymbol() USDJPY olana kadar artmaya devam etmesidir)

 int start()
  {
   
   int i;

   if (( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== true )&&(OrderSymbol()== "USDJPY" ))
   
     OrderPrint();      
     
     else i++;
   
 // Print(GetLastError());
 
Comment ( "i = " ,i);

   return ( 0 );
  }

Ekli dosya bir EA'dır. Bu dosya türüyle testler yapmayı daha kolay buluyorum.

Teşekkür ederim.

Dosyalar: