Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 860

 
Merhaba ! Lütfen bana Timsah + EMA (233) + Stokastik göstergeye dayalı bir robot olup olmadığını söyleyin? link verebilirseniz. Bu strateji hakkında fikriniz nedir?
 
Lizaku :
Merhaba ! Lütfen bana Timsah + EMA (233) + Stokastik göstergeye dayalı bir robot olup olmadığını söyleyin? link verebilirseniz. Bu strateji hakkındaki fikriniz nedir?

Hareketli Ortalama burada açıkça gereksiz, çünkü Timsah zaten üç Hareketli Ortalamadan oluşuyor. Sonra Timsah + Stokastik kalır:

Timsah + Stokastik

 
Çağrılan göstergenin hesaplanmasının tamamlandığını bir komut dosyasına/danışmana nasıl kontrol edebilirim? Sleep() koymak zorunda kalırken, aksi halde yarım gün kaybettim, tamponlarda neden sıfır değerlerin alındığını anlamıyorum ...
 
Her şey gece yarısı olur.
 
Aleksey Vyazmikin :
Çağrılan göstergenin hesaplanmasının tamamlandığını bir komut dosyasında/EA'da nasıl kontrol edebilirim? Sleep() koymak zorunda kalırken, aksi halde yarım gün kaybettim, tamponlarda neden sıfır değerlerin alındığını anlamıyorum ...

bu döngüyü kullanıyorum

 int n = 0 ;
     do
     {
       // Пытаемся получить нужное значение;
       if (значение не получено)
       {
        n++;
         Sleep ( 100 );
       }
     }
     while (значение не получено && n < 7 && ! IsStopped ());
 
Alexey Viktorov :

bu döngüyü kullanıyorum

Teşekkür ederim. Bunun için düzenli yollar olduğunu umuyordum, arabelleklerin neden sıfırlarla doldurulması gerektiği açık değil ve ardından hesaplanan değerler oraya kondu - arabelleği kopyalarken bir hata vereceklerdi ve iyi olurdu .. .

 
Aleksey Vyazmikin :

Teşekkür ederim. Bunun için düzenli yollar olduğunu umuyordum, arabelleklerin neden sıfırlarla doldurulması gerektiği açık değil ve ardından hesaplanan değerler oraya kondu - arabelleği kopyalarken bir hata vereceklerdi ve iyi olurdu .. .

Düzenli fonlar var, bir keresinde çözmeye çalıştım ama boşuna. Bununla ilgili belgelerin hangi bölümünde olduğunu şimdi bile hatırlamıyorum. Doğru hatırlıyorsam zamanlamayla ilgili bir şey.

 

İyi günler, 5 Bollinger bandına dayalı bir gösterge yazıyorum, son bir adım olarak gösterge çizgileriyle ilgili bir model oluşturma koşullarını yazmaya başladım, ancak test ederken 2 seçenek alıyorum: ya bir şekilde uyarı kendini arar, yoksa hiçbir şey olmaz. İşte bir pasaj:

Düzeltilecek bir şey varsa, burada neyin düzeltilebileceğini söyle.

 int OnCalculate ( const int rates_total,       // размер входных таймсерий 
                 const int prev_calculated,   // обработано баров на предыдущем вызове 
                 const datetime & time[],     // Time
                 const double & open[],       // Open 
                 const double & high[],       // High 
                 const double & low[],         // Low 
                 const double & close[],       // Close 
                 const long & tick_volume[],   // Tick Volume 
                 const long & volume[],       // Real Volume 
                 const int & spread[])         // Spread 
 {
 
//----     
//--- переменные
   int pos; // позиция
   static datetime prevtime = 0 ;
   int shift1;
   int shift2;
   int shift3;
   string pattern, period;
   int setPattern = 0 ;
   int alert = 0 ;
   double O, O1, O2, C, C1, C2, L, L1, L2, H, H1, H2;   
  
//----

//----   
//--- check for bars count - проверка колчества баров
   if (rates_total<ExtPlotBegin)
       return ( 0 );
//--- начало вычисления
   if (prev_calculated> 1 ) pos=prev_calculated- 1 ;
   else pos= 0 ;
//--- главный цикл
   for ( int i = pos ; i < rates_total;i++)
    {
       int shift = 0 ;
      shift1 = shift + 1 ;
      shift2 = shift + 2 ;
      shift3 = shift + 3 ;      
      O = open[shift1];
      O1 = open[shift2];
      O2 = open[shift3];
      H = high[shift1];
      H1 = high[shift2];
      H2 = high[shift3];
      L = low[shift1];
      L1 = low[shift2];
      L2 = low[shift3];
      C = close[shift1];
      C1 = close[shift2];
      C2 = close[shift3]; 
       //--- middle line
      ExtMLBuffer[i]=SimpleMA(i,ExtBandsPeriod,close);
       //--- calculate and write down StdDev
      ExtStdDevBuffer[i]=StdDev_Func(i,close,ExtMLBuffer,ExtBandsPeriod);
       //--- upper line
      ExtTLBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviations*ExtStdDevBuffer[i];
       //--- mediumH line
      ExtMDHBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviationsM*ExtStdDevBuffer[i];
       //--- mediumL line
      ExtMDLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviationsM*ExtStdDevBuffer[i];  
       //--- lower line
      ExtBLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviations*ExtStdDevBuffer[i];
     
       // Импульсная свеча от нижней границы Боллинджера
         if (((O <= H) && (H <= ExtMDLBuffer[i])) && ((L >= C) && (C <= ExtBLBuffer[i])))
        {
             Alert ( "Pin up!" );
             PlaySound ( "UpperBandAlert.wav" ); 
         }
             Sleep ( 5000 );
    }                  
//---- OnCalculate done. Return new prev_calculated. Расчет закончен, возврат к новым предыдущим барам
   return (rates_total);
  }
//+-
 

Merhaba.

İlk pozisyonun hacmi =0.1, sonuncusu =0.2, son pozisyonun hacmi =0.2 nasıl elde edilir ?

Bunun gibi bir hedge hesabında:

 double Lot_pos_b()
  {
   int total= 0 ;
   double lot= 0 ;
   for ( int i= PositionsTotal ()- 1 ;i>= 0 ;i--)
       if (m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if (m_position. Symbol ()==m_symbol.Name() && m_position.Magic()==m_magic)
             if (m_position.PositionType()== POSITION_TYPE_BUY )
              {
               lot=m_position. Volume ();
              }
//---
   return (lot);
  }
Netleştirme hesabında nasıl çok şey alabilirim? bu işlev 0,2 yerine 0,3 döndürür.
 
lil_lil :

Merhaba.

İlk pozisyonun hacmi =0.1, sonuncusu =0.2, son pozisyonun hacmi =0.2 nasıl elde edilir?

Bunun gibi bir hedge hesabında:

Netleştirme hesabında nasıl çok şey elde edebilirim? bu işlev 0,2 yerine 0,3 döndürür.

Pozisyona ait işlemleri görüntüleyin ve hacimlerini görün.

Bulunan tüm pozisyon fırsatlarını (her birinin özellikleri) yazdırın - orada ve ne aramanız gerektiğini bulun.