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

 

코드가 Mql5에서 어떻게 보일지  

 if (Close[ 1 ]-Open[ 1 ]>visota* Point )

{

....

}

 
Dmitriywelcome :

코드가 Mql5에서 어떻게 보일지  

이 정도

   MqlRates rates[ 2 ]; 
   int copied = CopyRates ( NULL , 0 , 0 , 2 , rates);
   if (rates[ 0 ].close-rates[ 0 ].open > visota* _Point )
     {
       /******************/
     }
필요한 수표를 직접 조이십시오.
 
Dmitriywelcome :

코드가 Mql5에서 어떻게 보일지  

그럴 수도 있어

 if ( iClose ( NULL , 0 , 1 )- iOpen ( NULL , 0 , 1 )>visota* _Point )
 

그렇게 될 수 있습니다 :

 #define Close(shift) iClose ( NULL , 0 ,shift)
#define Open(shift)   iOpen ( NULL , 0 ,shift)
....
if (Close( 1 ) - Open( 1 ) > visota* _Point )
 

44

안녕하세요. 조건을 작성하려고 하는데 뭔가 잘못하고 있습니다. 이해하도록 도와주세요.

가격이 아래에서 위로 표시선 을 넘으면 매수 포지션이 열립니다.

같은 막대에 대해 조건을 작성하려고 합니다.

현재 양초의 종가가 표시선 위에 있고 다음 막대 중 하나의 입찰 가격이 표시선 위에 있는 경우 - ..조건 1

제대로 하는 방법?

 if (m_position.Select( _Symbol ))         //проверка на наличие позиции
   { 
     Print ( "Позиция открыта" );
     if (m_position.PositionType()== POSITION_TYPE_BUY )
    {
     Print ( "Открыта на покупку" );
     if (close_1 > Sig_Up[ 0 ])   // цена закрытия текущей свечи выше линии индикатора 
       {
         int cl = 4 ;
     if (cl && Bid > Sig_Up[ 0 ])  // Bid больше линии индикатора
       {
        ....
     }
     }                        
     }                                                           
     }
 
Igor Makanu :

그렇게 될 수 있습니다 :

막대의 번호와 함께 아무 것도 할 필요가 없습니다. 저것들. 5개에 대한 첫 번째 막대가 있는 4개의 코드는 역순으로 번호를 매기지 않고 첫 번째 막대에도 포함됩니까?

 
Valeriy Yastremskiy :

막대의 번호를 지정하는 데 아무 것도 할 필요가 없습니다. 저것들. 5개에 대한 첫 번째 막대가 있는 4개 코드의 코드는 역순으로 번호를 매기지 않고 첫 번째 막대에도 포함됩니까?

문서에서

옮기다

【인】 시계열에서 수신된 값의 인덱스( 현재 막대를 기준으로 지정된 막대 수만큼 뒤로 이동).


현재 막대를 기준으로 시프트는 0이고 현재 막대는 0이 됩니다. 그리고 1이면 이전 것입니다.

 
Igor Makanu :

그렇게 될 수 있습니다 :

닫기[shift]에는 대괄호가 있습니다. 작동하지 않았습니다.

알렉세이 빅토로프 :

문서에서

현재 막대를 기준으로 시프트는 0이고 현재 막대는 0이 됩니다. 1이면 이전 것입니다.

시계열에서 5k의 번호 매기기가 4k와 동일하다는 것을 올바르게 이해합니까?

 
Valeriy Yastremskiy :

닫기[shift]에는 대괄호가 있습니다. 작동하지 않았습니다.

알겠습니다. @fxsaber 의 코드입니다.

 // Позволяет, как в MT4, работать с таймсериями: Open[Pos], High[Pos], Low[Pos], Close[Pos], Time[Pos], Volume[Pos].
// А так же задает привычные MT4-функции: iOpen, iHigh, iLow, iClose, iTime, iVolume.
#define DEFINE_TIMESERIE(NAME,FUNC,T)                                                                         \
   class CLASS ##NAME                                                                                           \
  {                                                                                                           \
   public :                                                                                                     \
     static T Get( const string Symb, const int TimeFrame, const int iShift) \
    {                                                                                                         \
      T tValue[];                                                                                             \
       return ((Copy ##FUNC((Symb == NULL ) ? _Symbol : Symb, _Period , iShift, 1 , tValue) > 0 ) ? tValue[ 0 ] : - 1 ); \
    }                                                                                                         \
    T operator []( const int iPos) const                                                                      \
    {                                                                                                         \
       return (CLASS ##NAME::Get(_Symbol, _Period , iPos));                                                       \
    }                                                                                                         \
  };                                                                                                          \
  CLASS ##NAME NAME;                                                                                           \
  T i ##NAME(const string Symb, const int TimeFrame, const int iShift) \
  {                                                                                                           \
     return (CLASS ##NAME::Get(Symb, TimeFrame, iShift));                                                        \
  }
//+------------------------------------------------------------------+
DEFINE_TIMESERIE(Volume, TickVolume, long )
DEFINE_TIMESERIE(Time, Time, datetime )
DEFINE_TIMESERIE(Open, Open, double )
DEFINE_TIMESERIE(High, High, double )
DEFINE_TIMESERIE(Low, Low, double )
DEFINE_TIMESERIE(Close, Close, double )
//+------------------------------------------------------------------+

이제 닫기[1] > 닫기[2] 를 작성할 수 있습니다.  

 
Sergey :


안녕하세요. 조건을 작성하려고 하는데 뭔가 잘못하고 있습니다. 이해하도록 도와주세요.

가격 이 지표선을 바닥에서 위로 교차하면 매수 포지션이 열립니다.

같은 막대에 대해 조건을 작성하려고 합니다.

현재 양초의 종가가 표시선 위에 있고 다음 막대 중 하나의 입찰 가격이 표시선 위에 있는 경우 - ..조건 1

제대로 하는 방법?

터미널 자체에 이동 평균.mq5 샘플이 있습니다.

내가 올바르게 이해했다면 이것이 필요합니까?

스냅 사진

사유: