MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 85

 
trader781 :

1) ikinci boyut ayarlanmadıysa derleyici yemin eder, hemen "sınıf türünü belirtin, bilinmeyen parametreler" belirir.

2) daha sonra bot, "aralık dışı kritik hata dizisi" ile başlangıçta hemen ölecektir

3) hemen ayarlayın int sayı1=- 1 ; Sonra döngüden geçiyoruz. Burada sorun ne?

Cevaplara hiç baktınız mı: 1 ve 2 ve 3 ve ...

Bir haftadan fazla bir süredir aynı şeyi yapıyorsunuz ve her seferinde daha da kötüye gidiyor, ancak size zaten bir cevap verilmiş ve hatayı işaret ediyor. İlk kodda derleyici ikinci bir boyutun olmadığına yemin etmiyor da sonraki kodlarda küfür etmeye başladı mı? Derleyici bozuk mu? Ayrıca herhangi bir kodu dizilerle açıp nasıl oluşturulduklarını görebilir ve benzetme yaparak yapabilirsiniz.

 
Artyom Trishkin :

Öyle bir şey yok. Mashki o kadar çok insan tarafından o kadar çok küreklendi ki, geriye sadece taze pişmiş hırslı bir tüccardan yeni bir düşünce beklemek kalıyor. Şaka.

Doğru - Mashka'yı yıllarca ertelemekten bıktım. Onlar gecikti. Muhtemelen başka bir alanda kullanılmaları gerekir, ancak düz trendleri yakalamak için değil.

Arabalar farklı.

Genel olarak - her yerde aynı makineleri kullanıyorlar

 
Victor Nikolaev :

Arabalar farklı.

Genel olarak - her yerde aynı arabaları kullanıyorlar

Peki, neden bahsediyorum? Diyorum ki - farklı bir biçimde, alnında değil.
 
Vitaly Muzichenko :


yapana kadar. Diğerlerine benzer bulsam buraya yazmazdım. Sayı serilerinin ve yapı listesinin aynı olmadığını anladığınızı düşünüyorsunuz, aksi takdirde sonsuz sayıda bilinmeyenli başka bir denklem olacaktır.

Artyom Trishkin :

Ve bu yüzden?



#property strict




struct myorder
{
int     Ticket;
double orderopenprice;
int    ordertype;
double profit;
double stoploss;
double   lot;
};
myorder orders[];




int     i;  
int     Magic= 444 ;    



//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
  
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
CalcOrders();
  
  }
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=0;

for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
     {
       if (( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) && ( OrderSymbol ()== Symbol ())
         && ( OrderMagicNumber ()==Magic) && ( OrderType ()< 2 ))
         {
         count1++;
         ArrayResize (orders,count1);
         orders[count1-1].Ticket= OrderTicket ();
         orders[count1-1].lot= OrderLots ();
         orders[count1-1].orderopenprice= OrderOpenPrice ();
         orders[count1-1].ordertype= OrderType ();
         orders[count1-1].profit= OrderProfit ();
         orders[count1-1].stoploss= OrderStopLoss ();
         }    
     }
     ArraySort (orders, WHOLE_ARRAY , 0 , MODE_ASCEND );
    
}
  
ve kodu buraya atmakla ilgili - birisi onu ortaya koyduğunda ve ardından oturup sayfalar arasında gezinirken çileden çıkıyor. Yani daha kompakt.
 
trader781 :
yapana kadar. Diğerlerine benzer bulsam buraya yazmazdım.
Lütfen kodu dosya olarak değil, mesaj olarak yapıştırın. Mobilden nasıl izlenir?
 
trader781 :
yapana kadar. Diğerlerine benzer bulsam buraya yazmazdım. Sayı serilerinin ve yapı listesinin aynı olmadığını kendiniz anlarsınız, aksi takdirde sonsuz sayıda bilinmeyenli başka bir denklem olacaktır.
#property strict




struct myorder
{
int     Ticket;
double orderopenprice;
int    ordertype;
double profit;
double stoploss;
double   lot;
};
myorder orders[];




int     i;  
int     Magic= 444 ;    



//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
  
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
CalcOrders();
  
  }
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=- 1 ;

for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
     {
       if (( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) && ( OrderSymbol ()== Symbol ())
         && ( OrderMagicNumber ()==Magic) && ( OrderType ()< 2 ))
         {
         count1++;
         ArrayResize (orders,count1, 10 );
         orders[count1].Ticket= OrderTicket ();
         orders[count1].lot= OrderLots ();
         orders[count1].orderopenprice= OrderOpenPrice ();
         orders[count1].ordertype= OrderType ();
         orders[count1].profit= OrderProfit ();
         orders[count1].stoploss= OrderStopLoss ();
         }    
     }
     ArraySort (orders, WHOLE_ARRAY , 0 , MODE_ASCEND );
    
}
  
ve kodu buraya atmakla ilgili - birisi onu ortaya koyduğunda ve ardından oturup sayfalar arasında gezinirken çileden çıkıyor. Yani daha kompakt.

Yanlış. Dizinizin ne boyutta olacağını izlemek için kodunuzu kullanın.

En azından biraz düşünmek gerekiyor. Tahmin etmemelisin. Düşünmek. Programın her adımı. Yoksa birinin sana yazmasını mı bekliyorsun? Bu serbesttir - bazen işlevlerin yazılmasını emrederler.

 
Artyom Trishkin :

Yanlış. Dizinizin ne boyutta olacağını izlemek için kodunuzu kullanın.

En azından biraz düşünmek gerekiyor. Tahmin etmemelisin. Düşünmek. Programın her adımı. Yoksa birinin sana yazmasını mı bekliyorsun? Bu serbesttir - bazen işlevlerin yazılmasını emrederler.

onu nasıl görüyorum

1) sipariş bulunursa sıfıra ekleyin

2) boyutu 0 olarak değiştirin, 10 ayırın

3) birinci sıra 0, ikincisi 1 vb.

Serbest çalışma ile ilgili olarak, bir şey yazacaklarını iddia etmiyorum, ancak o zaman yine de kendiniz yeniden yazmanız gerekiyor. Durmadan oraya gitmeyin.
 
trader781 :
yapana kadar. Diğerlerine benzer bulsam buraya yazmazdım. Sayı serilerinin ve yapı listesinin aynı olmadığını kendiniz anlarsınız, aksi takdirde sonsuz sayıda bilinmeyenli başka bir denklem olacaktır.
int count1 =- 1 ;

for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
     {
       if (( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) && ( OrderSymbol ()== Symbol ())
         && ( OrderMagicNumber ()==Magic) && ( OrderType ()< 2 ))
         {
         count1 ++;
         ArrayResize (orders, count1 , 10 );
         orders[count1].Ticket= OrderTicket ();
         }    
     }
     ArraySort (orders, WHOLE_ARRAY , 0 , MODE_ASCEND );
    
}
  
ve kodu buraya atmakla ilgili - birisi onu ortaya koyduğunda ve ardından oturup sayfalar arasında gezinirken çileden çıkıyor. Yani daha kompakt.

Çok fazla yazmadım, sadece küçük bir video cevap kaydettim.

Artyom, elbette, elinden gelenin en iyisini yapar, ancak balık vermez, sadece bir olta verir)

trader781, bazen belgelere bakın, artık her adımda dolu.
 
trader781 :

onu nasıl görüyorum

1) sipariş bulunursa sıfıra ekleyin

2) boyutu 0 olarak değiştirin, 10 ayırın

3) 0 birinci mertebenin numarası olarak yazılır, 1 ikinci mertebedir, vb.

Serbest çalışma ile ilgili olarak, bir şey yazacaklarını iddia etmiyorum, ancak o zaman yine de kendiniz yeniden yazmanız gerekiyor. Durmadan oraya gitmeyin.

Ve sıfır boyutlu bir diziye nasıl bir şey girmek istersiniz?

Var olmayan bir cüzdana para koymak...

 
Artyom Trishkin :

Ve sıfır boyutlu bir diziye nasıl bir şey girmek istersiniz?

Var olmayan bir cüzdana para koymak...

844 nolu mesajı tekrar buraya kod yazmamak için yeniden düzenledim

peki, sıfır boyutlu bir diziyle ilgili olarak - 0 bir tamsayı olabilir, bir boolean false değerine eşdeğer olabilir, boş olabilir veya belki de başlangıç noktası olabilir.