Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 464

 

Sorunu çözemiyorum, kampanyayı zaten köreltiyorum ve bira yardımcı olmuyor

Verilen:

1- 30 Uzman Danışman bir çizelge veya sembol üzerinde çalışır ve hepsinin farklı bir sihirli numarası vardır.

2- Her EA'nın 3-5 açık siparişi vardır...

Görev, tüm sihirli sayıları ve üzerlerindeki toplam kâr / zararı bir sütunda grafikte göstermektir ...

Burayı kazıyorum ama kazmıyorum:

  #define  MagicN 0
#define  MagProf 1
 ArrayResize (mags, 100 , 1000 ); ArrayInitialize (mags, 0 );  
   for ( int f= OrdersTotal ()- 1 ; f>= 0 ; f--)
       if ( OrderSelect (f, SELECT_BY_POS ))
              {
               for ( int z= 100 - 1 ; z>= 0 ; z--)
                 {
                   if (mags[z][MagicN]== OrderMagicNumber ())
                  mags[z][MagProf]+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();

                   if (mags[z][MagicN]!= OrderMagicNumber ())
                    {
                     mags[z][MagicN]= OrderMagicNumber ();
                     mags[z][MagProf]+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
                    }
                 }
              }

Nazik insanlar kimden daha çok yardım eder!!! ))))))))

 
VOLDEMAR :

Sorunu çözemiyorum, kampanyayı zaten köreltiyorum ve bira yardımcı olmuyor

Verilen:

1- 30 Uzman Danışman bir çizelge veya sembol üzerinde çalışır ve hepsinin farklı bir sihirli numarası vardır.

2- Her EA'nın 3-5 açık siparişi vardır...

Görev, tüm sihirli sayıları ve üzerlerindeki toplam kâr / zararı bir sütunda grafikte göstermektir ...

Burayı kazıyorum ama kazmıyorum:

Nazik insanlar kimden daha çok yardım eder!!! ))))))))


İki boyutlu bir dizi oluşturuyoruz. Birinci boyutta birikmiş kârı depolarız, ikinci boyutta ise sihir.

Emirleri işlerken dizide sihirli emirleri arıyoruz, bulamazsak diziyi arttırıyoruz, bulursak karı arttırıyoruz.

İşlem sonunda sonucu ekranda görüntülüyoruz.

 
Vinin :


İki boyutlu bir dizi oluşturuyoruz. Birinci boyutta birikmiş kârı, ikincisinde ise sihri depolarız.

Emirleri işlerken dizide sihirli emirleri arıyoruz, bulamazsak diziyi arttırıyoruz, bulursak karı arttırıyoruz.

İşlem sonunda sonucu ekranda görüntülüyoruz.


Yazdığım şey bu değil mi?
 
VOLDEMAR :

Yazdığım şey bu değil mi?

Tam olarak değil. Dizinin boyutunu tanımladığınız ve Magic dizinine baktığınız yer. görmedim
 
for(int f=OrdersTotal()-1; f>=0; f--) // siparişleri numaralandır
if(Sipariş Seçimi(f,SELECT_BY_POS))
{
for(int z=0; z<ArraySize(mags); z++)// dizideki eleman sayısı boyunca ikinci döngü
{
if(mags[z][MagicN]==OrderMagicNumber()) // zaten sihir varsa, kar ekliyoruz
{
mags[z][MagProf]+=OrderProfit()+OrderCommission()+OrderSwap();
}
yoksa / büyücü yoksa
{
ArrayResize(mags,z,1000); // diziyi arttır
mags[z][MagicN]=OrderMagicNumber(); // sihri hatırla
}
}

}

Burada terminal bu tasarımla akımı test etmez, kritik bir hata yazar

 
VOLDEMAR :
for(int f=OrdersTotal()-1; f>=0; f--) // siparişleri numaralandır
if(Sipariş Seçimi(f,SELECT_BY_POS))
{
for(int z=0; z<ArraySize(mags); z++)// dizideki eleman sayısı boyunca ikinci döngü
{
if(mags[z][MagicN]==OrderMagicNumber()) // zaten sihir varsa, kar ekliyoruz
{
mags[z][MagProf]+=OrderProfit()+OrderCommission()+OrderSwap();
}
yoksa / büyücü yoksa
{
ArrayResize(mags,z,1000); // diziyi arttır
mags[z][MagicN]=OrderMagicNumber(); // sihri hatırla
}
}

}

Burada terminal bu tasarımla akımı test etmez, kritik bir hata yazar


MagicN değişkeni neye eşittir ve nerede değişir?
 
tanımda 0 parametresine sahiptir ve tanımda MagProf 1 değerine sahiptir
 
VOLDEMAR :
tanımda 0 parametresine sahiptir ve tanımda MagProf 1 değerine sahiptir


Bu seçeneği deneyin

 #define MagicN 0
#define MagProf 1
 double mags[ 10 ][ 2 ];
int CountMagic= 0 ;

void CalcMagic()
  {
   for ( int f= OrdersTotal ()- 1 ; f>= 0 ; f--) // перебор ордеров
       if ( OrderSelect (f, SELECT_BY_POS ))
        {
         mags[FindMaic( OrderMagicNumber ())][MagProf]+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
        }

  }
//+------------------------------------------------------------------+

int FindMaic( int Magic)
  {
   int Res=- 1 ;
   for ( int i= 0 ;i<CountMagic;i++)
     {
       if (mags[i][MagicN]==Magic)
         Res=i;
       break ;
     }
   if (Res==- 1 )
     {
      Res=CountMagic;
      CountMagic++;
       if (CountMagic>=ArrayRange(mags, 0 ))
        {
         ArrayResize (mags,CountMagic+ 10 );
        }

     }

   return (Res);
  }
//+------------------------------------------------------------------+

Çok boyutlu dizilerde, boyut ArrayRange() kullanılarak belirlenebilir.

 
Marketinfo üzerinden geçebileceğim bir durma seviyesi ve bir donma seviyesi var ve aynı sınırlama var, ancak bu, genellikle 15 dakika olan minimum son kullanma tarihini ilgilendiriyor. yani, bekleyen bir sipariş verirsem, o zaman çalışmazsa, kendisini sileceği minimum süre 15 dakikadır. İşte burada ve bir soru - bu kısıtlamayı nasıl öğreneceğiniz program?
 
Desead :
Marketinfo üzerinden geçebileceğim bir durma seviyesi ve bir donma seviyesi var ve aynı sınırlama var, ancak bu, genellikle 15 dakika olan minimum son kullanma tarihini ilgilendiriyor. yani, bekleyen bir sipariş verirsem, çalışmazsa, kendisini sileceği minimum süre 15 dakikadır. İşte burada ve bir soru - bu kısıtlamayı nasıl öğreneceğiniz program?

Bir komisyoncuya sorun! Bazıları süre sonu yürütmez.

Sıraya koymadım ama şartlara göre siliyorum.