MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1535

 
Artyom Trishkin :

Doğru cevap çok basit...

Ne olmuş?

 
Andrey Sokolov :

Ne olmuş?

Çok basit :)

Veri yoksa, bir sonraki onay işaretine kadar çıkın.

 
İyi günler, bir demo hesabından MT4'e bir sinyal kaydetmek mümkün müdür? Teşekkür ederim.
 
Artyom Trishkin :

Çok basit :)

Veri yoksa, bir sonraki onay işaretine kadar çıkın.

Hayır, onlar için hemen hesaplamalara ve eşlemelere ihtiyaç olduğunu yazdım.

Mevcut çözümle ilgili sorunlar varsa, o zaman bir seçenek olarak, bollinger'ı hesaplamak için karmaşık görünmeyen bir işlev yazabileceğinizi düşünüyorum. Ama şimdiye kadar, ne çalışıyor.

 
Merhaba! OBJ_TREND grafik nesnesinden gelecekte fiyatı nasıl öğrenebilirim? örneğin sağda bir ışınımız var ve her yeni çubukta bu ışının değerini bilmemiz gerekiyor. teşekkür etmek!
 
MakarFX :

Böyle bir yapı olmalı

Ben yaptım, işe yaradı. teşekkürler

 
Andrey Sokolov :

Hayır, onlar için hemen hesaplamalara ve eşlemelere ihtiyaç olduğunu yazdım.

Mevcut çözümle ilgili sorunlar varsa, o zaman bir seçenek olarak, bollinger'ı hesaplamak için karmaşık görünmeyen bir fonksiyon yazabileceğinizi düşünüyorum. Ama şimdiye kadar, ne çalışıyor.

Gösterge, doğru yapılırsa, her zaman önce tüm geçmişi hesaplar. Neye sahipsin?

 
Artyom Trishkin :

Neye sahipsin?

soruyu anlamadım

 
Beyler, göstergeye bir uyarı yapmama yardım edin. Farklı göstergelerin bir kombinasyonunu test etmek istiyorum, ancak bir uyarı işlevine ihtiyacım var. Ok göründüğünde uyarının sadece 1 kez gösterilmesi gerekir. Sizin için zor değilse, o zaman böyle bir fonksiyon yazmama yardım edin, yoksa benim için çalışmıyor, MT4'ün donması kadar bir dakika boyunca veya her zaman bir uyarı çıkıyor.
 //+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---

     int limit=rates_total-prev_calculated- 2 ;
   if (limit< 1 ) return ( 0 );
   for ( int i=limit;i>= 0 ;i--)
     {
     
       // Снимем показания индикатора
     double in1b = iCustom ( NULL , 0 , "in1" , 1 ,i); // индикатор 1 стрелка вверх
     double in1s = iCustom ( NULL , 0 , "in1" , 0 ,i); // индикатор 1 стрелка вниз
      
     
     
     double in2b = iCustom ( NULL , 0 , "in2" , 0 ,i); // индикатор 2 стрелка вверх
     double in2s = iCustom ( NULL , 0 , "in2" , 1 ,i); // индикатор 2 стрелка вниз
    
     Comment ( "in1v = " + DoubleToString (in1b)+ "\n" + "in1n = " + DoubleToString (in1s)+ "\n"
    + "in2v = " + DoubleToString (in2b)+ "\n" + "in2n = " + DoubleToString (in2s));
     
     if (in1b > 2147483647 && in2b > 2147483647 ) // индикатор стрелка вверх
           {
           Sell[i]=low[i];
                      
          
           // Alert(Symbol()+"BUY";
              
           
           
           
         
           }
   
     if (in1s > 2147483647 && in2s > 2147483647 ) // индикатор стрелка вниз
           {
            Buy[i]=high[i];
            
               // Alert(Symbol()+"SELL М"+Period());
              
              
           
           }
         
   
     }
   
     
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
 
jarikn :
Beyler, göstergeye bir uyarı yapmama yardım edin. Farklı göstergelerin bir kombinasyonunu test etmek istiyorum, ancak bir uyarı işlevine ihtiyacım var. Ok göründüğünde uyarının sadece 1 kez gösterilmesi gerekir. Sizin için zor değilse, o zaman böyle bir fonksiyon yazmama yardım edin, yoksa benim için çalışmıyor, MT4'ün donması kadar bir dakika boyunca veya her zaman bir uyarı çıkıyor.

Bunu dene, çalışması gerekir

 //+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
   datetime show_alert=time[1];
   int limit=rates_total-prev_calculated- 2 ;
   if (limit< 1 ) return ( 0 );
   for ( int i=limit;i>= 0 ;i--)
     {
     
       // Снимем показания индикатора
       double in1b = iCustom ( NULL , 0 , "in1" , 1 ,i); // индикатор 1 стрелка вверх
       double in1s = iCustom ( NULL , 0 , "in1" , 0 ,i); // индикатор 1 стрелка вниз
      
       double in2b = iCustom ( NULL , 0 , "in2" , 0 ,i); // индикатор 2 стрелка вверх
       double in2s = iCustom ( NULL , 0 , "in2" , 1 ,i); // индикатор 2 стрелка вниз
    
       Comment ( "in1v = " + DoubleToString (in1b)+ "\n" + "in1n = " + DoubleToString (in1s)+ "\n"
      + "in2v = " + DoubleToString (in2b)+ "\n" + "in2n = " + DoubleToString (in2s));
     
       if (in1b > 2147483647 && in2b > 2147483647 ) // индикатор стрелка вверх
        {
         Sell[i]=low[i];
         if (show_alert!=time[i])
           {
             Alert ( Symbol ()+ "BUY М" + Period ()); show_alert=time[i];
           }
        }
   
       if (in1s > 2147483647 && in2s > 2147483647 ) // индикатор стрелка вниз
        {
         Buy[i]=high[i];
         if (show_alert!=time[i])
           {
             Alert ( Symbol ()+ "SELL М" + Period ()); show_alert=time[i];
           }
        }
     }
     
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+