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

 
evillive :

Bunun gibi bir şey:


Teşekkürler ama tam olarak ihtiyacım olan şey değil. Bir sihirbaz için birkaç kapanış şartınız var, ancak tam tersi olmalı.

Bununla geldim:

 void CritCloseBuy()
   {
     if ( OrderSelect (Ord, SELECT_BY_POS, MODE_TRADES)== true )
    {
       if ((OrderMagicNumber()== 10011 && 10033 )&&(...условия 1 ...)
      {
        ord_close=OrderClose(OrderTicket(), 0.1 , Bid, 0 , Red);
           if (ord_close = false )
          {
             Comment ( "Закрытие позиции БАЙ завершилось с ошибкой #" , GetLastError ());
          }
             else 
              {           
              Ord= 0 ;              
              }
           return ;
           }
           if ((OrderMagicNumber()== 10022 && 10044 && 10066 )&&(...новые условия...))
      {
        ord_close=OrderClose(OrderTicket(), 0.1 , Bid, 0 , Red);
           if (ord_close = false )
          {
             Comment ( "Закрытие позиции БАЙ завершилось с ошибкой #" , GetLastError ());
          }
             else 
              {           
              Ord= 0 ;              
              }
           return ;
           }           
          }
         }
Çalışacak mı? Ya da yanlış olan ne?
 
rapid_minus :


Teşekkürler ama tam olarak ihtiyacım olan şey değil. Bir sihirbaz için birkaç kapanış şartınız var, ancak tam tersi olmalı.

Bununla geldim:

Çalışacak mı? Ya da yanlış olan ne?

Bu... Nasıl hafif tabir edilir...

O halde, bir sihirbaz için bir kod varsa, anahtar ne işe yarar?

Ancak, eğer daha çok seviyorsanız, ifs'i de kullanabilirsiniz, sadece koşullar üzerinde düşünmeniz gerekir, şu anda reçete edilenler bir şekilde olması gerektiği gibi değildir.

işte buna

if ((OrderMagicNumber()==10011&&10033)&&(...)

derlerken yemin ediyor mu?

 
evillive :

Bu... Hafifçe söylemek gerekirse...

Tek bir sihirbaz için bir kod varsa, anahtar neden orada?

Belki anahtarı anlamadım, ancak ifadesinde, kapatma koşulları için çeşitli seçeneklerle karşılaştırılan bir sihir var.

Not: Devamını gördüm. Henüz derlemedim çünkü kodu bitirmedi. AND işlemi kullanılarak sayılar numaralandırılamaz mı?

O zaman nasıl çıkılır? Her sihirbaz için tekrar edilsin mi?

ZZY: Aslında burada VE'ye değil, VEYA'ya ihtiyacınız var.

 
rapid_minus :

O zaman nasıl çıkılır? Her sihirbaz için tekrar edilsin mi?

Evet.


Ve anahtarla ilgili olarak, hala astarı iç, orada, tam tersine, istediğiniz kadar seçenek işlenir (durum 0:.., durum 1:..., durum N:..., burada sayı = büyünün değeri). Örnekte, yazmak için çok tembeldim, ancak yalnızca iki sihirbaz için yeterliydim, ancak varsayılan seçenek için;)

 
evillive :
Evet

Muhtemelen OR ile her sihirbaz için boyamak gerekli değil mi?
 
rapid_minus :

Muhtemelen OR ile her sihirbaz için boyamak gerekli değil mi?
Gerekli Fedya, gerekli (c)
 
evillive :

Evet.


Ve anahtarla ilgili olarak, hala astarı iç, orada, tam tersine, istediğiniz kadar seçenek işlenir (durum 0:.., durum 1:..., durum N:..., burada sayı = büyünün değeri). Örnekte, yazmak için çok tembeldim, ancak yalnızca iki sihirbaz için yeterliydim, ancak varsayılan seçenek için;)

Anahtarı açıkladığınız için teşekkürler. onu yanlış anladım.
 

Yine de, anahtarda, if'lerde olduğu gibi farklı sihirbazlar için bir kapatma koşulunun aynı tekrarı elde edilir.

Tek soru, hangi seçeneğin daha fazla bit yiyeceğidir.

 
rapid_minus :

Yine de, anahtarda, if'lerde olduğu gibi farklı sihirbazlar için bir kapatma koşulunun aynı tekrarı elde edilir.

Tek soru, hangi seçeneğin daha fazla bit yiyeceğidir.

Bir şeyi kaçırdım, kodu zaten optimize ediyor muyuz?
 
rapid_minus :

Yine de, anahtarda, if'lerde olduğu gibi farklı sihirbazlar için bir kapatma koşulunun aynı tekrarı elde edilir.

Tek soru, hangi seçeneğin daha fazla bit yiyeceğidir.

Bu if() ile aynı dallanmadır, aralarından seçim yapabileceğiniz üç veya daha fazla tek tamsayı seçeneği varsa kodlamak daha düzenli ve daha uygun görünür. Yalnızca iki seçenek varsa veya tamsayı olmayan ifadeler karşılaştırılıyorsa, yalnızca if(). Ayrıca, birkaç seçeneği if() (if( options1 && options2 || options3 ) {action;}) ile birleştirebilirsiniz, ancak doğrudan tek tek geçiş yapamazsınız.

değiştirmek
Eğer()
anahtar(x)
{
durum 1: seçenek 1'e göre eylemler; kırmak;
durum 2: seçenek 2 için eylemler; kırmak;
durum 3: seçenek 3 için eylemler; kırmak;
varsayılan: varsayılan eylemler; kırmak;
}
if( seçenek1 ) { seçenek 1 için eylemler; }
else if( seçenek2 ) { seçenek 2 için eylemler; }
else if( seçenek3 ) { seçenek 3 için eylemler; }
else { varsayılan eylemler; }