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

 

Mql5'te kod nasıl görünecek?  

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

{

....

}

 
Dmitriywelcome :

Mql5'te kod nasıl görünecek?  

Aşağı yukarı böyle

   MqlRates rates[ 2 ]; 
   int copied = CopyRates ( NULL , 0 , 0 , 2 , rates);
   if (rates[ 0 ].close-rates[ 0 ].open > visota* _Point )
     {
       /******************/
     }
Gerekli kontrolleri kendiniz vidalayın.
 
Dmitriywelcome :

Mql5'te kod nasıl görünecek?  

öyle olabilir

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

şöyle olabilir:

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

44

Merhaba. Bir koşul yazmaya çalışıyorum ama yanlış bir şey yapıyorum. Anlamama yardım et.

Fiyat gösterge çizgisini aşağıdan yukarıya doğru geçtiğinde, bir alış pozisyonu açılır.

Aynı çubuk için bir koşul yazmaya çalışıyorum:

mevcut mumun kapanış fiyatı gösterge çizgisinin üzerindeyse ve aşağıdaki çubuklardan herhangi birinin Teklif fiyatı gösterge çizgisinin üzerindeyse - ..koşul 1

Nasıl doğru yapılır?

 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 :

şöyle olabilir:

ve çubukların numaralandırılmasıyla hiçbir şey yapılmasına gerek yoktur. Onlar. beş için ilk çubuklu dörtten gelen kod, numaralandırma ters çevrilmeden ilk çubukla da olacak mı?

 
Valeriy Yastremskiy :

ve çubukların numaralandırılmasıyla hiçbir şey yapılmasına gerek yoktur. Onlar. beş için ilk çubuklu dörtten gelen kod, numaralandırma ters çevrilmeden ilk çubukla da olacak mı?

Belgelerden

vardiya

[içinde] Zaman dizilerinden alınan değerin dizini ( geçerli çubuğa göre belirtilen çubuk sayısı geri kaydırma).


Mevcut çubuğa göre, kayma 0'dır ve mevcut çubuk olacaktır. Ve 1 ise, o zaman bir önceki.

 
Igor Makanu :

şöyle olabilir:

Kapat[shift] köşeli parantezler içerir. İşe yaramadı.

Alexey Viktorov :

Belgelerden

Mevcut çubuğa göre, kayma 0'dır ve mevcut çubuk olacaktır. Ve 1 ise, o zaman bir önceki.

Zaman serilerinde doğru anlıyorum, 5k'deki numaralandırma 4k'daki ile aynı mı?

 
Valeriy Yastremskiy :

Kapat[shift] köşeli parantezler içerir. İşe yaramadı.

anladım, işte @fxsaber kodu

 // Позволяет, как в 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 )
//+------------------------------------------------------------------+

şimdi Kapat[1] > Kapat[2] yazabilirsiniz  

 
Sergey :


Merhaba. Bir koşul yazmaya çalışıyorum ama yanlış bir şey yapıyorum. Anlamama yardım et.

Fiyat gösterge çizgisini aşağıdan yukarıya doğru geçtiğinde, bir alış pozisyonu açılır.

Aynı çubuk için bir koşul yazmaya çalışıyorum:

mevcut mumun kapanış fiyatı gösterge çizgisinin üzerindeyse ve aşağıdaki çubuklardan herhangi birinin Teklif fiyatı gösterge çizgisinin üzerindeyse - ..koşul 1

Nasıl doğru yapılır?

terminalin kendisinde bir Hareketli Ortalama.mq5 örneği var

Doğru anladıysam buna ihtiyacın var mı?

enstantane fotoğraf