초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 709

 
Vladimir Karputov :

ArrayMinimum은 값이 가장 작은 요소의 INDEX를 반환합니다. 이제 낮은 인덱스로 배열 Low 에서 값 자체를 가져와야 합니다.

낮음[낮음]

아무것도 치트...

//+------------------------------------------------------------------+
//| Получим 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 :

아무것도 치트...

//+------------------------------------------------------------------+
//| Получим 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);
  }


그리고 당신의 낮은 코드에 누구입니까?
 
Vladimir Karputov :
그리고 당신의 낮은 코드에 누구입니까?
낮음 - 배열에 0에서 인덱스 까지의 낮은 가격이 포함됩니다.
 
Top2n :
낮음 - 배열에 0부터 수행할 낮은 가격이 포함됩니다.

어디에서 볼 수 있습니까? 함수 안에 배열을 넣으십시오. 변수 l 을 "-1"로 초기화합니다. 그리고 일반적으로 Styler 를 사용하십시오. 코드를 읽기 어렵습니다. 오류가 있더라도 어쨌든 무언가를 반환합니다. 이것은 좋지 않다.

추가: 왜 이렇게 비교합니까?

if (copied> 0 && index<copied)

그래서 당신은 결과를 얻지 못할 것입니다.

//+------------------------------------------------------------------+
//| Получим 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);
  }
 

블라디미르, 나는 그것이 더 보편적 일 것이라고 생각합니다.

//+------------------------------------------------------------------+
//| Получим 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);
  }
 
네 가지 기능의 완전한 아날로그뿐만 아니라
//+------------------------------------------------------------------+
//| Получим 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 :

어디에서 볼 수 있습니까? 함수 안에 배열을 넣으십시오. 변수 l 을 "-1"로 초기화합니다. 그리고 일반적으로 Styler 를 사용하십시오. 코드를 읽기 어렵습니다. 또한 오류가 있더라도 어쨌든 무언가를 반환합니다. 이것은 좋지 않다.

감사해요!!!

 
Expert Advisor 에 표준 후행 중지 클래스를 추가하는 방법을 알 수 없습니다. 괜찮으시다면 예제를 보여주세요.
 
Kirill Andreev :
Expert Advisor 에 표준 후행 중지 클래스를 추가하는 방법을 알 수 없습니다. 괜찮으시다면 예제를 보여주세요.
예: \MQL5\Experts\Examples\MACD\MACD Sample.mq5
 
Vladimir Karputov :
예: \MQL5\Experts\Examples\MACD\MACD Sample.mq5
슬프게도 작동하지 않습니다
사유: