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

 
Tigerfreerun :
(OP_BUY==0) ise

Neden yanılıyorsun? Ya kendinizi tanımıyorsunuz, o zaman YARDIMCI OLDUĞU şubeye cehaletle tırmanmayın ya da böyle şaka yapıyorsunuz ama yeni başlayanlar için ciddi bir yardım hattında olduğunuzu unuttunuz.

SanNneK :
tüm siparişlerin sıfır olması durumunda koşul şudur: if(OrdersTotal()==0) . ve sıfır adlı bais ise koşulu ne yazmalı?

OrderType()==ORDER_TYPE_BUY ile tüm siparişler arasında dolaşmak vesiparişlerin sayısını saymak gerekir.

 
Artyom Trishkin :

Neden yanılıyorsun? Ya kendinizi tanımıyorsunuz, o zaman YARDIMCI OLDUĞU şubeye cehaletle tırmanmayın ya da böyle şaka yapıyorsunuz ama yeni başlayanlar için ciddi bir yardım hattında olduğunuzu unuttunuz.

OrderType()==ORDER_TYPE_BUY ile tüm siparişler arasında dolaşmak vesiparişlerin sayısını saymak gerekir.

Duyulmuş. Son sayfada yazdığım fonksiyon hakkında yardımcı olursanız minnettar kalırım. Ben kendim bu işlevi siparişleri saymak için kullanıyorum:

 int Count( int type, string sy)
  {
   int count= 0 ;
   for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
     {
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
        { if (sy== OrderSymbol () && OrderMagicNumber ()==Magic && (type==- 1 || OrderType ()==type)) count++;}
     }
   return (count);
  }
 
Tigerfreerun :

Duyulmuş. Son sayfada yazdığım fonksiyon hakkında yardımcı olursanız minnettar kalırım. Ben kendim bu işlevi siparişleri saymak için kullanıyorum:

Ve ne tür bir yardıma ihtiyaç var? Kimov tarzında oldukça çalışan bir işlev.
 
Alexey Viktorov :
Ve ne tür bir yardıma ihtiyaç var? Kimov tarzında oldukça çalışan bir işlev.

Son sayfada, işlev ArraySort işlevi için yanlış başlangıç konumu 0 hatasıyla yazılmıştır . Ve işlevi açıklama isteği. çoğaltılıyor

 void MaxMinProfit()
{
int i, N, MaxTic, MinTic;
double    MinProf= 0 , MaxProf= 0 , OP, g, a[][ 2 ];
string MinSym, MaxSym;
ArrayResize (a, 0 );
 
for (i= OrdersTotal ()- 1 ; i>= 0 ; i--) 
  {    
   if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) 
    { 
     if ( OrderType ()== OP_SELL ||   OrderType ()== OP_BUY )
      {
       OP = NormalizeDouble ( OrderProfit ()+ OrderSwap ()+ OrderCommission (), 2 );
       
       if (MinProf>OP) 
      {
       
          MinProf=OP;
          MinTic= OrderTicket ();
          MinSym= OrderSymbol ();
          
         }
         
       if (OP> 0 ) 
      {
       
          N++;
             ArrayResize (a, N);
            a[N- 1 ][ 0 ]=OP;
            a[N- 1 ][ 1 ]= OrderTicket ();
          
         }
         
         }
         }
         
         }
         
       ArraySort (a, WHOLE_ARRAY , 0 , MODE_DESCEND ); //MODE_ASCEND);
      
       for (i= 0 ; i<Level; i++) 
       {
     
     g+=a[i][ 0 ];
     //int ti=a[i-2][1];
     }
         
         
     
     if (MinProf < 0 && (g+MinProf)>=ProcMax)
      {
       for (i= 0 ; i<Level; i++) 
       {
       if ( OrderSelect (a[i][ 1 ], SELECT_BY_TICKET , MODE_TRADES ))
        {
         //Alert(a[i][1]);
         if ( OrderType ()== OP_BUY )
         {
           OrderClose ( OrderTicket (), OrderLots (), MarketInfo ( OrderSymbol (), MODE_BID ), Slip, CLR_NONE);
          }
           if ( OrderType ()== OP_SELL )
           {
           OrderClose ( OrderTicket (), OrderLots (), MarketInfo ( OrderSymbol (), MODE_ASK ), Slip, CLR_NONE);
           }
          }
         }
          
          
          
           if ( OrderSelect (MinTic, SELECT_BY_TICKET , MODE_TRADES ))
        {
         if ( OrderType ()== OP_BUY )
         {
           OrderClose (MinTic, OrderLots (), MarketInfo ( OrderSymbol (), MODE_BID ), Slip, CLR_NONE);
          }
           if ( OrderType ()== OP_SELL )
           {
           OrderClose (MinTic, OrderLots (), MarketInfo ( OrderSymbol (), MODE_ASK ), Slip, CLR_NONE);
           }
          }}       
return ;
}
 

Parametreleri sınıf öğeleri arasında aktarmanın en iyi yolu nedir, bunlar da sınıf öğeleridir?

Verilen:

 class element{
public:
int a;
         void fnc(){
        a++;            
        }
};

class elementBase{
public:
	int b;
        element one;
        element two;
};

a.fnc() işlevinden iki.a değerini bir şekilde değiştirmek mümkün müdür?


Benim görevimde, birinci sınıftaki öğeler değiştiğinde ikinci sınıftaki değişkenler yeniden hesaplanmalıdır. Bana onu nasıl güzelleştireceğimi söyle?)

elementBase sınıfından b'nin değerini bir şekilde almak mümkün müdür?

 
Tigerfreerun :

Son sayfada, işlev ArraySort işlevi için yanlış başlangıç konumu 0 hatasıyla yazılmıştır . Ve işlevi açıklama isteği. çoğaltılıyor

Düşünülmesi gereken yön: Kar sıfırdan küçükse... sıralama sırasında dizi ne boyutta olacak???

Ve hiç sipariş olmazsa dizinin boyutu ne olacak???
 
Alexey Viktorov :

Düşünülmesi gereken yön: Kar sıfırdan küçükse... sıralama sırasında dizi ne boyutta olacak???

Ve hiç sipariş olmazsa dizinin boyutu ne olacak???
Bu işlevin tam olarak ne yaptığını gerçekten anlamıyorum. Ancak yazarın dediği gibi, görev, semboller arasında kârlı olmayan siparişleri kârlı olanlarla kapatmaktır. işlevi düzeltmeme ve anlamama yardım ederseniz sevinirim
 
Tigerfreerun :
Bu işlevin tam olarak ne yaptığını gerçekten anlamıyorum. Ancak yazarın dediği gibi, görev, semboller arasında kârlı olmayan siparişleri kârlı olanlarla kapatmaktır. işlevi düzeltmeme ve anlamama yardım ederseniz sevinirim

Derleme hatalarınız nelerdir? Ekran görüntüsünü göster.

Kodda herhangi bir hata yok, ancak performansı etkilemeyen küçük kusurlar var.

 
Vitaly Muzichenko :

Derleme hatalarınız nelerdir? Ekran görüntüsünü göster.

Kodda herhangi bir hata yok, ancak performansı etkilemeyen küçük kusurlar var.

Robotu başlatırken " ArraySort işlevi için yanlış başlangıç konumu 0." Bu işlevi açıklar mısınız, belki neler olduğunu anlayabilirim..
Dosyalar:
yOXZsAXZ-X4.jpg  479 kb
Pe3JLH8tgCc.jpg  556 kb
 
Tigerfreerun :
Robotu başlatırken " ArraySort işlevi için yanlış başlangıç konumu 0." Bu işlevi açıklar mısınız, belki neler olduğunu anlayabilirim..

Eh, kritik hatalar göstermedin.

İşlev nasıl çalışır, kendinize cevap verdiniz:

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

MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu

Tigerfreerun , 2018.09.06 21:53

Bu işlevin tam olarak ne yaptığını gerçekten anlamıyorum. Ancak yazarın dediği gibi , görev, kâr getirmeyen siparişleri, semboller arasında kârlı olanlarla kapatmaktır . işlevi düzeltmeme ve anlamama yardım ederseniz sevinirim