[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 429

 
Dimka-novitsek :

Güzel gün!!! Dizilerle ilgili bir şeyi yanlış anlamış gibiyim. Fonksiyon diziye kar katmaz!! Her koşulda sıfırdır. Sıfır ve hepsi!

 int Orderasthitaem[ 6 ][ 3 ];
void Orderasthitaem()
{
 int BUY = 0 , SELL = 0 , BUYLIMIT = 0 , BUYSTOP = 0 , SELLLIMIT = 0 , SELLSTOP = 0 ;
 double BUY_Profit = 0 , SELL_Profit = 0 ;
 for ( int i = 0 ; i < OrdersTotal (); i++)
  {
   OrderSelect (i, SELECT_BY_POS);  
   if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magicnumber)
    {            
     int type = OrderType();
     if (type == 0 ) {BUY++; BUY_Profit = BUY_Profit + OrderProfit();}
     if (type == 1 ) {SELL ++; SELL_Profit = SELL_Profit + OrderProfit();}
     if (type == 2 ) {BUYLIMIT++;}
     if (type == 3 ) {SELLLIMIT++;}
     if (type == 4 ) {BUYSTOP++;}
     if (type == 5 ) {SELLSTOP++;}}}
       
     Orderasthitaem[ 0 ][ 1 ] = BUY;
     Orderasthitaem[ 0 ][ 2 ] = BUY_Profit;
     Orderasthitaem[ 1 ][ 1 ] = SELL;
     Orderasthitaem[ 1 ][ 2 ] = SELL_Profit;
     Orderasthitaem[ 2 ][ 1 ] = BUYLIMIT;
     Orderasthitaem[ 3 ][ 1 ] = SELLLIMIT;
     Orderasthitaem[ 4 ][ 1 ] = BUYSTOP;
     Orderasthitaem[ 5 ][ 1 ] = SELLSTOP;        
    }
  }
}
İşlev.

Tüm fonksiyonların dışında beyan

 
Teşekkürler!!!
 

Neden int türünde bir dizi? Ya kar kesirli olacaksa ve bunun önemli olması pek olası olmasa da ... Evet, görünüşe göre iki katına ihtiyaç yok!

Hemen kendime tekrar duyururum, deneyeceğim. Ama bir şeyler değişecek mi? Neden işe yaramadı? şimdi deneyeceğim..

 
ruslanchik :
Sipariş bileti komisyoncunun sunucusunda saklanıyorsa, siparişlerin büyüsü ve yorumları nerede saklanıyor?

aracının sunucusunda.
 
Ve dizinin elemanlarına nasıl atadığınızı görüyorum. Evet teşekkürler!!!!!!!!
 
İyi günler, şu anda Sergey Kovalev'in MQL4 eğitimini inceliyorum ve diğer döviz çiftlerinin zaman serisi dizilerine nasıl erişeceğimi henüz bulamadım. Onlar. birkaç para birimi çiftinin dizi-zaman serisinin bir Uzman Danışmana yüklenmesi gerekir. MarketInfo() işlevi kullanılarak bazı verilere erişilebileceğini biliyorum, ancak sorun şu ki, istek tanımlayıcılarında yakın veya başka fiyat serisi parametreleri yok. Diziler-zaman serileri ve çeşitli araçlarla çalışmayı (varsa) düzenlemenin yollarını veya belki bu sınırlamayı nasıl aşacağınızı nerede okuyabileceğinizi söyleyin.
 
Aslında henüz derlemedim ve hiçbir şey denemedim, sadece bakıyorum. Yani yine de mesele şu ki, döngülerden çıkarken BUY_Profit ve diğer değişkenlerin değerleri kaydedilmiyor mu? Sonuçta, program sırayla yürütülüyor mu, yoksa hala kaydedilmedi mi?
 
Dimka-novitsek :
Aslında henüz derlemedim ve hiçbir şey denemedim, sadece bakıyorum. Yani mesele şu ki, döngülerden çıkarken BUY_Profit ve diğer değişkenlerin değerleri kaydedilmiyor mu? Sonuçta, program sırayla yürütülüyor mu, yoksa hala kaydedilmedi mi?
Dimka-novitsek :
Ve dizinin elemanlarına nasıl atadığınızı görüyorum. Evet teşekkürler!!!!!!!!

Her tür mümkündür. Değişkenlerden birinin çift olduğunu fark etmedim. Çifte ihtiyacınız var - çifte koyun.

İşler?

 

Ben sadece bakıyorum. Ve ... OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO !!!!! Bunu kendim yaptım, ilan ettim int Orderasthitaem[6][2]; elemanda iki dizi var, yani anladınız, ancak üçüncü Orderasthitaem[0,2] !!!!!!!

Köpeğin ortalığı karıştırdığına eminim!!!!!!!!!! Ooo!!!

 
Dimka-novitsek :
Aslında henüz derlemedim ve hiçbir şey denemedim, sadece bakıyorum. Yani mesele şu ki, döngülerden çıkarken BUY_Profit ve diğer değişkenlerin değerleri kaydedilmiyor mu? Sonuçta, program sırayla yürütülüyor mu, yoksa hala kaydedilmedi mi?

... bunu da yapabilirsiniz:

 double Orderasthitaem[ 6 ][ 2 ];
void Orderasthitaem()
{
     double ld_Profit = 0 .;
    int li_Total = OrdersTotal ();
    ArrayInitialize (Orderasthitaem, 0.);
    if (li_Total == 0) return;
    for ( int i = 0 ; i < OrdersTotal (); i++)
    {
         OrderSelect (i, SELECT_BY_POS);  
         if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magicnumber)
        {            
             int type = OrderType();
            ld_Profit = OrderProfit();
            Orderasthitaem[type][ 0 ]++;
             if (type > 1 ) continue ;
            Orderasthitaem[type][ 1 ] += ld_Profit;
        }
    }
}
- nasıl seviyorsan öyledir.