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

 

Herkese iyi günler, kodu MT4'ten MT5'e nasıl aktaracağıma dair bir ipucuna ihtiyacım var...


MT4'te işlev - MA kullanarak Doğru veya Yanlış döndürür.


 input int                  MinDist          = 30 ;             // Мин. пройденное расстояние( отклонение от средней линии в  тиках)
input int                  OpenDev          = 16 ;         // Отклонение для входа ( отклонение от средней линии в  тиках)
//*********************************************************************************************
bool SignalBuy()  
  {
   double MA0 = iMA ( Symbol (), 0 , PeriodMA, ShiftMA, MethodMA, PriceMA, 0 );
   if (Bid <= MA0+OpenDev* Point )
     {
       if (High[ 0 ]-MA0 >= MinDist* Point )
         return ( true );
       for ( int i= 1 ; i<= Bars - 1 ; i++)
        {
         double MA = iMA ( Symbol (), 0 , PeriodMA, ShiftMA, MethodMA, PriceMA, i);
         if (Low[i] <= MA+OpenDev* Point )
             return ( false );
         if (High[i]-MA >= MinDist* Point )
             return ( true );
        }
     }
   return ( false );
  }
//*********************************************************************************************

MT5'e aktarmanız gerekiyor

sorun Low[i] ve High[i] zaman serilerinde, onları nasıl değiştireceğimi anlamıyorum.

 
Milhail Novgorodcev :

Herkese iyi günler, kodu MT4'ten MT5'e nasıl aktaracağıma dair bir ipucuna ihtiyacım var...


MT4'te işlev - MA kullanarak Doğru veya Yanlış döndürür.


MT5'e aktarmanız gerekiyor

sorun Low[i] ve High[i] zaman serilerinde, onları nasıl değiştireceğimi anlamıyorum.

1. Gösterge kolu BİR KEZ YAPILMALIDIR. Bu OnInit'te yapılır. Oluşturma örneği: iMA

2. Önce 1. noktayı sabitleyin.

Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
//|                                                     Demo_iMA.mq5 | //|                        Copyright 2011, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Перечисление способов создания хэндла                            |  Creation             type=Call_iMA;                ...
 
Vladimir Karputov :

1. Gösterge kolu BİR KEZ OLUŞTURULMALIDIR. Bu OnInit'te yapılır. Oluşturma örneği: iMA

2. İlk doğru nokta 1.

İşte olanlar:

 int MA0;                                   // variable for storing the handle of the iMA indicator

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  
MA0 = iMA (o_symbol.Name(), Period (), PeriodMA, ShiftMA, MethodMA, PriceMA);
  
   //--- if the handle is not created
   if (handle_iMA== INVALID_HANDLE )
     {
       //--- tell about the failure and output the error code
       PrintFormat ( "Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d" ,
                  m_symbol.Name(),
                   EnumToString ( Period ()),
                   GetLastError ());
       //--- the indicator is stopped early
       return ( INIT_FAILED );
     }
//---
 
Milhail Novgorodcev :

İşte olanlar:

Şimdi söyle bana, tüm barlar için neden bu kadar büyük bir döngüye ihtiyacın var?

       for ( int i= 1 ; i<= Bars - 1 ; i++)
        {

bu çok mantıksız.


Mantığını kendi kelimelerinizle açıklayın.

 
Vladimir Karputov :

Şimdi söyle bana, tüm barlar için neden bu kadar büyük bir döngüye ihtiyacın var?

bu çok mantıksız.


Mantığını kendi kelimelerinizle açıklayın.

Koşul, fiyatın MinDist (30 pip) ile ortalama çizgiden uzaklaşmasıdır, oluşursa, fiyat ortalamaya döndüğünde ve OpenDev'e (10 pip) ulaştığında, bir Buy emri açmak için bir sinyal oluşur. (üst orta her zaman Satın Al'dır)

 

 
Milhail Novgorodcev :

Koşul, fiyatın MinDist (30 pip) ile ortalama çizgiden uzaklaşmasıdır, oluşursa, fiyat ortalamaya döndüğünde ve OpenDev'e (10 pip) ulaştığında, bir Buy emri açmak için bir sinyal oluşur. (üst orta her zaman Satın Al'dır)

 

'MinDist(30 pips)' ve 'OpenDev(10 pips)' kontrol etmek ne zaman gereklidir - her tikte ve yine de sadece yeni bir çubuğun doğum anında?

 

Danışmanın başlatılmasından hemen sonra bir pozisyon açmanın nedeninin ne olduğunu söyleyin?

Pozisyon açma koşullarının sağlanmaması ve pozisyon açılması

 if (
      (MovingAverage1[ 0 ]<MovingAverage2[ 0 ]) &&
      (MovingAverage1[ 1 ]>MovingAverage2[ 1 ])
   )
     {
       if ( PositionsTotal ()== 0 )
         trade.Sell( 0.1 );
     }

   if (
      (MovingAverage1[ 0 ]>MovingAverage2[ 0 ]) &&
      (MovingAverage1[ 1 ]<MovingAverage2[ 1 ])
   )
     {
       if ( PositionsTotal ()== 1 )
         trade.PositionClose( _Symbol );
        }

 
Pineapple88 :

Danışmanın başlatılmasından hemen sonra bir pozisyon açmanın nedeninin ne olduğunu söyleyin?

Pozisyon açma koşullarının sağlanmaması ve pozisyon açılması

Ortalama değerler nereden ve nasıl elde edilir? Hiç alındılar mı? Bu değerler normal olarak elde ediliyorsa ortalama dizilerde indekslemeye dikkat ettiniz mi?

 
Alexey Viktorov :

Ortalama değerler nereden ve nasıl elde edilir? Hiç alındılar mı? Bu değerler normal olarak elde ediliyorsa ortalama dizilerde indekslemeye dikkat ettiniz mi?

İşte kod

 {

   double MovingAverage1[], MovingAverage2[]; //задаем два массиса для МА

   int MovingAverageIndic1 = iMA ( _Symbol , 0 , 20 , 0 , MODE_EMA , PRICE_CLOSE );
   int MovingAverageIndic2 = iMA ( _Symbol , 0 , 200 , 0 , MODE_EMA , PRICE_CLOSE );

   ArraySetAsSeries (MovingAverage1, true );
   ArraySetAsSeries (MovingAverage2, true );

   CopyBuffer (MovingAverageIndic1, 0 , 0 , 3 ,MovingAverage1);
   CopyBuffer (MovingAverageIndic2, 0 , 0 , 3 ,MovingAverage2);

   if (
      (MovingAverage1[ 0 ]<MovingAverage2[ 0 ]) &&
      (MovingAverage1[ 1 ]>MovingAverage2[ 1 ])
   )
     {
       if ( PositionsTotal ()== 0 )
         trade.Sell( 0.1 );
     }

   if (
      (MovingAverage1[ 0 ]>MovingAverage2[ 0 ]) &&
      (MovingAverage1[ 1 ]<MovingAverage2[ 1 ])
   )
     {
       if ( PositionsTotal ()== 1 )
         trade.PositionClose( _Symbol );
     }

  }
 
Pineapple88 :

İşte kod

Gösterge kolu BİR KEZ YAPILMALIDIR. Bu OnInit'te yapılır. Oluşturma örneği: iMA

Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
//|                                                     Demo_iMA.mq5 | //|                        Copyright 2011, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Перечисление способов создания хэндла                            |  Creation             type=Call_iMA;                ...