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

 
Vladimir Karputov :

ArrayMinimum, en küçük değere sahip öğenin INDEX'ini döndürür. Şimdi değeri, düşük dizine göre Low dizisinden almamız gerekiyor:

az az]

Hiçbir şey...

//+------------------------------------------------------------------+
//| Получим Low для заданного номера бара                            |
//+------------------------------------------------------------------+
double iLow ( string symbol, ENUM_TIMEFRAMES timeframe, int  do)
  {
   int low= 0 ; double l= 0 ;
   ArraySetAsSeries ( Low , true );
   int copied= CopyLow (symbol,timeframe, 0 ,do, Low );
   if (copied> 0 && index<copied){ low= ArrayMinimum ( Low ); //ArrayMinimum(
   l = Low [low];
   }
   return (l);
  }
 
Top2n :

Hiçbir şey...

//+------------------------------------------------------------------+
//| Получим Low для заданного номера бара                            |
//+------------------------------------------------------------------+
double iLow ( string symbol, ENUM_TIMEFRAMES timeframe, int index)
  {
   int low= 0 ; double l= 0 ;
   ArraySetAsSeries ( Low , true );
   int copied= CopyLow (symbol,timeframe, 0 ,index, Low );
   if (copied> 0 && index<copied){ low= ArrayMinimum ( Low ); //ArrayMinimum(
   l = Low [low];
   }
   return (l);
  }


Ve Düşük kodunuzda kim var?
 
Vladimir Karputov :
Ve Düşük kodunuzda kim var?
Düşük - Dizi, 0'dan dizine kadar Düşük fiyatlar içerir
 
Top2n :
Düşük - Dizi, 0'dan yapılacak Düşük fiyatları içerir

Nerede görünür? Fonksiyonunuzun içine bir dizi koyun. l değişkenini "-1" ile başlatın. Ve genel olarak, lütfen Styler'ı kullanın - kodunuzu okumak zor. Ayrıca, bir hata olsa bile yine de bir şey döndürürsünüz. Bu iyi değil.

Eklendi: neden böyle karşılaştırıyorsunuz:

if (copied> 0 && index<copied)

bu yüzden asla sonucu alamayacaksın.

//+------------------------------------------------------------------+
//| Получим Lowest для заданного промежутка                          |
//+------------------------------------------------------------------+
double iLowest ( string symbol, ENUM_TIMEFRAMES timeframe, int bands)
  {
   double Low [];
   double result=- 1 ;
   ArraySetAsSeries ( Low , true );
   int copied= CopyLow (symbol,timeframe, 0 ,bands, Low );
   if (copied==bands)
     {
      result= Low [ ArrayMinimum ( Low )];
     }
   return (result);
  }
 

Vladimir, bence daha evrensel olacak

//+------------------------------------------------------------------+
//| Получим Lowest для заданного промежутка                          |
//+------------------------------------------------------------------+
double iLowest (
               string            symbol,           // символ
               int               timeframe,       // период
               int               count,           // число элементов
               int               start             // индекс
               )
  {
   double Low [];
   double result=- 1 ;
   ArraySetAsSeries ( Low , true );
   int copied= CopyLow (symbol,timeframe,start,count, Low );
   if (copied==start)
     {
      result= Low [ ArrayMinimum ( Low )];
     }
   return (result);
  }
 
ve işlevin dörtten tam bir analogu
//+------------------------------------------------------------------+
//| Получим Lowest для заданного промежутка                          |
//+------------------------------------------------------------------+
double iLowest (
               string            symbol,           // символ
               int               timeframe,       // период
               int               type,             // идентификатор таймсерии
               int               count,           // число элементов
               int               start             // индекс
               )
  {
   double Low [];
   int copied= 0.0 ;
   double result=- 1 ;
   ArraySetAsSeries ( Low , true );
   if (type== PRICE_CLOSE )copied= CopyClose (symbol,timeframe,start,count, Low );
   if (type== PRICE_OPEN )copied= CopyOpen (symbol,timeframe,start,count, Low );
   if (type== PRICE_HIGH )copied= CopyHigh (symbol,timeframe,start,count, Low );
   if (type== PRICE_LOW )copied= CopyLow (symbol,timeframe,start,count, Low );
   if (copied==start)
     {
      result= Low [ ArrayMinimum ( Low )];
     }
   return (result);
  }
//+------------------------------------------------------------------+
...
 
Vladimir Karputov :

Nerede görünür? Fonksiyonunuzun içine bir dizi koyun. l değişkenini "-1" ile başlatın. Ve genel olarak, lütfen Styler'ı kullanın - kodunuzu okumak zor. Ayrıca bir hata olsa bile yine de bir şey döndürürsünüz. Bu iyi değil.

Teşekkürler!!!

 
Bir Expert Advisor'a nasıl standart bir takip eden stop sınıfı ekleyeceğimi çözemiyorum, sakıncası yoksa lütfen bir örnek gösterin.
 
Kirill Andreev :
Bir Expert Advisor'a nasıl standart bir takip eden stop sınıfı ekleyeceğimi çözemiyorum, sakıncası yoksa lütfen bir örnek gösterin.
Örnek: \MQL5\Uzmanlar\Örnekler\MACD\MACD Sample.mq5
 
Vladimir Karputov :
Örnek: \MQL5\Uzmanlar\Örnekler\MACD\MACD Sample.mq5
işe yaramıyor ne yazık ki