[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 416

 
VladimirR :

Bu seçenek de çalışmıyor.



İlginç ve ne arıyorsunuz. Maksimum alanı bulmak için başka seçenekler de vardır. Örneğin, analitik
 
Vinin :

Döngüdeki sayaçların değerlerini neden iki kez değiştirdiğini merak ediyorum. Ve bazı nedenlerden dolayı (ön) S2 ataması yoktur. Başlangıçta 0'a eşittir ve yalnızca ikinci yinelemede (daha doğrusu üçüncüde) gerçek bir değerler karşılaştırması var mı (sıfırdan veya birden nasıl sayılacağına bağlı olarak)
Numaralandırma alanın minimum değerinden başladığı için atama yoktur; kesinlikle pozitiftir, dolayısıyla 0 iyidir. Ve sayaçların değerleri ikinci kez nerede değişti?
 
Vinin :

İlginç ve ne arıyorsunuz. Maksimum alanı bulmak için başka seçenekler de vardır. Örneğin, analitik
Asıl mesele bu değil. Bu basit görev, break ifadesinin nasıl çalıştığına bir örnek olarak kullanılmıştır. Doğru programları yazmak için döngüden önce i,j değişkenleri bildirmezseniz for(int i=1, j=499; i<500; i++,j--) yazmanın neden imkansız olduğunu bilmem gerekiyor. gelecek!
 
VladimirR :
Asıl mesele bu değil. Bu basit görev, break ifadesinin nasıl çalıştığına bir örnek olarak kullanılmıştır. Doğru programları yazmak için döngüden önce i,j değişkenleri bildirmezseniz for(int i=1, j=499; i<500; i++,j--) yazmanın neden imkansız olduğunu bilmem gerekiyor. gelecek!

Bu muhtemelen derleyicideki bir hatadır.

Bu derlenmez:

 for ( int i= 1 , j= 499 ; i< 500 ; i++,j--) //последовательный перебор значений площади

Ve şöyle derlenir:

 int i, j;
for ( i= 1 , j= 499 ; i< 500 ; i++,j--) //последовательный перебор значений площади

Ve şöyle derlenir:

 int i= 1 , j= 499 ;
for ( ; i< 500 ; i++,j--) //последовательный перебор значений площади
 

Herkese merhaba!!!

Lütfen RiskReward numarasını Türkiye'den çıkarmama yardım edin. Bir danışmana koymak işe yaramaz.

Dosyalar:
 
demlin :

Herkese merhaba!!!

Lütfen RiskReward numarasını Türkiye'den çıkarmama yardım edin. Sadece bir danışmana koymak işe yaramaz.


Kaynak nerede?
 

İnsanlar, peki, neden cevap vermek benim için bu kadar zor ya da cevap vermek istemiyorum? Burada böyle saçma sapan şeyler yapıyorsun ve kodun bir kısmını yazmaya yardım edemeyecek kadar tembelsin. Tekrar ulaşmaya çalışacağım, yardımcı olmazsan kurslara gideceğim, burada sana yalvarmaktan yoruldum.


Bir kez daha: Expert Advisor'ı ilk tik ile grafiğe ekledikten sonra, Ask fiyatını sabitler, ardından işlem sürecinde, fiyat %10 artar yükselmez (bunun olamayacağı açıktır, bu Figüratiftir), Uzman Danışman tüccarı “Fiyat % on arttı” mesajıyla bu konuda bilgilendirmelidir.

 
demlin :

Herkese merhaba!!!

Lütfen RiskReward numarasını Türkiye'den çıkarmama yardım edin. Sadece bir danışmana koymak işe yaramaz.

Tablodaki tüm nesneleri gözden geçirin, lbl adında bir nesne bulun, FXRanger: Risk:Reward=х.ххх satırını çıkarın, ayrıştırın ve х.ххх'i ikiye dönüştürün.
 

Emirler SL ile açılırsa ve iki zıt emir varsa, ikincisi için SL'yi kaldırın....ama bu gerekli değil

teşekkürler

 void Trailing()
{
//-----
   double Up = iCustom ( NULL , 0 , "NLO" ,TrailPeriod, 0 , 1 );
   double Dn = iCustom ( NULL , 0 , "NLO" ,TrailPeriod, 1 , 1 );
//-----
   int Orders = OrdersTotal ();
   for ( int i= 0 ; i<Orders; i++)
  {
     if (!( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))) continue ;
     if (OrderSymbol() != Symbol ()) continue ;
    {
       if (OrderType() == OP_BUY && OrderMagicNumber()==Magic && Up > OrderOpenPrice()
      && OrderStopLoss() != Up && (OrderStopLoss() == 0 || Up > OrderStopLoss()))
      {
        OrderModify(OrderTicket(),OrderOpenPrice(),Up,OrderTakeProfit(), 0 , CLR_NONE );
      }
       if (OrderType() == OP_SELL && OrderMagicNumber()==Magic && Dn < OrderOpenPrice()
      && OrderStopLoss() != Dn && (OrderStopLoss() == 0 || Dn < OrderStopLoss()))
      {
        OrderModify(OrderTicket(),OrderOpenPrice(),Dn,OrderTakeProfit(), 0 , CLR_NONE );
      }
    }
  }
}
 

Merhaba. Yine ders kitabı örneğini kaldıramıyorum.

Problem 17. Birinci çiftlikte 1000 koyun var. Her gün ilk çiftlikteki koyun sayısı %1 artar. İlk çiftlikteki koyun sayısı 50.000'e ulaştığı gün koyunların %10'u ikinci çiftliğe aktarılır. İkinci çiftlikteki koyun sayısının 35.000'e ulaşması ne kadar sürer? (Bir ayda 30 iş günü olduğunu varsayalım.)

 //--------------------------------------------------------------------
// othersheep.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int start ()                               // Специальная ф-ия start()
  {
//--------------------------------------------------------------------
   int
   day ,                                   // Текущий день месяца
   Mons ;                                  // Искомое количест. месяцев
   double
   One_Farm    = 1000.0 ,                   // Количество на 1 ферме
   Perc_day    = 1 ,                        // Ежедневный подъём, %
   One_Farm_max = 50000.0 ,                  // Пороговое значение
   Perc_exit   = 10 ,                       // Разовый вывод, %
   Purpose     = 35000.0 ,                  // Необх. колич. на 2 ферме
   Two_Farm ;                              // Количество на 2 ферме
//--------------------------------------------------------------------
   while ( Two_Farm < Purpose )              // До достижения цели
     {                                    // Начало тела внешн. цикла
      //--------------------------------------------------------------
      for ( day = 1 ; day <= 30 && Two_Farm < Purpose ; day ++ ) // Цикл по дням 
        {
         One_Farm = One_Farm * ( 1 + Perc_day / 100 ) ; //Накопл. на 1 ферме
         if ( One_Farm < One_Farm_max )     // Если меньше допустимого,.
            continue ;                     // .. то овец не переводим
         Two_Farm = Two_Farm + One_Farm * Perc_exit / 100 ; //Накопл. на 2 ферме
         One_Farm = One_Farm * ( 1 - Perc_exit / 100 ) ;     //Остаток на 1 ферме
        }
      //--------------------------------------------------------------
      if ( Two_Farm >= Purpose )              // Если цель достигнута,..
         continue ;                        // .. то месяцы не считаем
      Mons ++;                             // Считаем месяцы
     }                                    // Конец тела внешнего цикла
//--------------------------------------------------------------------
   Alert ( " Цель будет достигнута через " , Mons , " мес. и " , day , " дн. " ) ;
   return ;                                // Выход из функции start()
  }
//-------------------------------------------------------------------

Bu örnekte, döngüden çıkmak

 for ( day = 1 ; day <= 30 && Two_Farm < Purpose ; day ++ ) // Цикл по дням 

koşullardan birine göre gerçekleşir ve çıkıştan önce sayaç her zaman değiştirilir, yani. hesaplama yapılmayan bir gün eklenir, ancak döngü iç içe olduğundan,

kontrol kendisine geri verildiğinde, gün sayısı yeniden tutulur, bu nedenle bu gerekli değildir. Ama döngü çıktığında

 while ( Two_Farm < Purpose )              // До достижения цели

"fazladan bir gün" kalır. Ve sonuç olarak, yanlış cevap yazdırılacaktır.

Lütfen mantığımın doğru olup olmadığını veya bir şeyi yanlış mı anlıyorum?