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

 
Roman. :

Tanklara bakın, yeniden yükleyin, belki yardımcı olur ... :-)

not Şu an iyiyim.

Değil. Tanklar bir seçenek değildir. Eğer gerçekten böyle bir şey istiyorsanız. Mevcut sonucu yatıştırın))
 
hoz :
Değil. Tanklar bir seçenek değildir. Eğer gerçekten böyle bir şey istiyorsanız. Mevcut sonucu yatıştırın))

:-)
 

Tanrım. Genel olarak, garip bir an ortaya çıkıyor. Benim payım normalleşmedi. İşte parti normalleştirme işlevi:

 //+-------------------------------------------------------------------------------------+
//| Проверка объема на корректность и округление                                        |
//+-------------------------------------------------------------------------------------+
double LotFloor( double value)
{
   return ( MathFloor ( MathMin ( MathMax (value, g_minLot), g_maxLot)/g_lotStep)*g_lotStep);

Cant'ın nerede olduğunu, ticaret fonksiyonunun kendisinde, emir açma fonksiyonlarının nereden çağrıldığını, emir gönderme çağrı fonksiyonunun parametrelerinde her yerde, bu fonksiyonu lot büyüklüğü parametresine ekledim. Hata ortadan kalkmadı.

Ve normalleştirme işlevini doğrudan ilk küfür işlevine eklediğimde, ki bu ertelemeleri ayarlayan işlevdir, küfür durdu. Bu ne anlama geliyor?

 //+-------------------------------------------------------------------------------------+
//| Открытие отложенной короткой позиции                                                |
//+-------------------------------------------------------------------------------------+
bool OpenPendingSell( double lot, double price)
{
   int g_ticket = - 1 ;
   double OOP = price - i_distanceFromLastPos * pt;
      
   if (OOP < Bid)
   {
       fCheck_ValidPendingOOP( Symbol (), OP_SELLSTOP, OOP);
       
       g_ticket = OrderSend ( Symbol (), OP_SELLSTOP, LotFloor(lot), ND(OOP), 30 , 0 , 0 , NULL , i_magic, 0 , CLR_NONE );
   }
   if (g_ticket > 0 )
   {
       return ( true );
   }
   else
       pr ( "OpenPendingSell(): Ордер послать не удалось " + GetLastError ());
   
   return ( false );
}

Nitekim, ilk seçenekte, zaten kontrol edilen lotu hemen gönderirim ve ikinci seçenekte, OrderSend() işlevinin kendisinde lot boyutunu kontrol ederim. Ama fark nedir?

 
chief2000 :
Böyle bir sorun - boyutu değişebilen tek boyutlu bir dizi var.
Bir döngüde birbirleriyle olası tüm dizi öğeleri kombinasyonları nasıl yinelenir?
Elemanların sırası önemli değildir, yani. 123==213==321..

4 elemanlı bir dizi için bir örnek:

Eh, birbirimizle, zor değil gibi görünüyor

 int k = ArraySize (array);
for ( int i= 0 ;i<k- 1 ;i++)
for ( int ii=i+ 1 ;ii<k;ii++)
   {
   ...
   }
Ancak, ikiden fazla olduğunda, nasıl karşılaştırılacağı açık değildir. Üç sayı 1, 2 ve 3'ü aynı anda karşılaştırma yöntemini gösterin,
 
Beyler, optimizasyon pencerelerini yeniden açmanıza gerek kalmaması için kimse size nasıl yapacağınızı söylemeyecek ..... Bu pencerenin farklı arka plan ayarları, mumlar vb. ile olduğunu söylemeliyim.
 
Belki böyle senaryolar vardır!
 
Merhaba! lütfen bana böyle bir şey söyleyin... burada seviyeler sekmesinde MA göstergesine bir seviye atayabilirsiniz, diyelim 20, yani hareketli ortalama y ekseni boyunca 20 puan hareket edecek, ancak bunun fiyatı veri penceresinde seviye gösterilmez, örneğin, 798'e kadar taşımak istersem, bu birçok çift için baş belasıdır, bir gösterge nasıl yazılır, böylece ya üzerinde kaydırılmış bir hareketli ortalamanın fiyatını gösterir Veri penceresinde fiyatın görülebilmesi ve manuel olarak hesaplanmasına gerek olmaması için grafik veya böylece? MA seviyeleri
 
Roger :

Eh, birbirimizle, zor değil gibi görünüyor

Ancak, ikiden fazla olduğunda, nasıl karşılaştırılacağı açık değildir. Üç sayı 1, 2 ve 3'ü aynı anda karşılaştırma yöntemini gösterin,


Yanılmıyorsam döngü sayısı dizideki eleman sayısına karşılık gelmelidir. Sorun şu ki, eleman sayısı sabit değil ve 4'ten çok olabilir, nasıl düzenleneceğini düşünmeniz gerekiyor. Ayrıca ilginçtir, belki hızı, bellek tüketimini vb. etkileyen başka uygulama seçenekleri de vardır?
 
paladin80 :



Teşekkür ederim! Saymaya hangi taraftan, yani 3. çubuktan başlayacağınız önemli değil mi?
 
Önceki sorumu yeniden ifade etmek ve tamamlamak istiyorum.
4 elemanlı bir dizinin kodu aşağıdadır. Gerçekte, bir dizideki eleman sayısı değişkendir.
İç içe geçmiş 'for' döngülerinin sayısı dizi öğesi başına bir 'for' olacak şekilde değişken olacak şekilde kodu nasıl değiştirebilirim?
Teşekkür ederim!

 int start() { 

   int Array[ 4 ]                                       = { 1 , 2 , 3 , 4 };
   int x1, x2, x3, x4;
   int Array_Size                                  = ArrayRange (Array, 0 );


   for (x1= 0 ; x1<Array_Size; x1++) {
       Print ( "Combination                       = " , Array[x1]);

       for (x2=x1+ 1 ; x2<Array_Size; x2++) {
         Print ( "Combination                    = " , Array[x1] + "   " + Array[x2]);

         for (x3=x2+ 1 ; x3<Array_Size; x3++) {
             Print ( "Combination                 = " , Array[x1] + "   " + Array[x2] + "   " + Array[x3]);

             for (x4=x3+ 1 ; x4<Array_Size; x4++) {
               Print ( "Combination              = " , Array[x1] + "   " + Array[x2] + "   " + Array[x3] + "   " + Array[x4]);
            }
         }
      }
   }


   return ( 0 );
}