Hatalar, hatalar, sorular - sayfa 81

 
Urain :

çağrı, sırasıyla, dönemin bir göstergesi ile yapılabilir, ardından belirtilen TF'nin değeri döndürülür,

ve sırasıyla belirtmeden, değer mevcut değerden olacaktır.

not :o)

ne döverdi, bu yüzden muhtemelen aynı şeye ihtiyaç duyardı?

 double   Close( int i, ENUM_TIMEFRAMES  tf = PERIOD_CURRENT ){...
 
maryan.dirtyn :
int
burada, en üstte, orada bir transfer işlevi var , MQL4'ten MQL5'e geçiş ve analoji ile geri dönebilirsiniz...
 
maryan.dirtyn :
hallelujah .. mesele bu)) yine de Period()'u bir şekilde döndürürdü))
zaman çerçevesi değeri, önceden tanımlanmış bir değişken kullanılarak iki şekilde elde edilebilir
 int _Period

В переменной _Period хранится значение таймфрейма текущего графика.

ve işlevi kullanarak

 Period

Возвращает значение таймфрейма текущего графика.

ENUM_TIMEFRAMES    Period ();
 

Возвращаемое значение

Содержимое переменной _Period , в которой хранится значение таймфрейма текущего графика. Значение может быть одним из значений перечисления ENUM_TIMEFRAMES .
 
maryan.dirtyn :

ne döverdi, bu yüzden muhtemelen aynı şeye ihtiyaç duyardı?

Hayır, o zaman aşırı yükleme çalışmayacak, derleme yapamayacaksınız. Kodda doğru var ve bir sonraki gönderideki çağrı da doğru.
 
Urain :
burada, en üstte, orada bir transfer işlevi var , MQL4'ten MQL5'e geçiş ve analoji ile geri dönebilirsiniz...

Belirli bir grafik periyodunun dakika sayısını bulmak için, PeriodSeconds işlevinin değerini 60'a bölmeniz gerekir. Bağlantı 404 hatası görüyor :) Kendim deneyeceğim:

 int PeriodMQL4 ()
  { switch ( Period() )
     {
       case PERIOD_CURRENT : return ( 0 );
       case PERIOD_M1 :     return ( 1 );
       case PERIOD_M5 :     return ( 5 );
       case PERIOD_M15 :    return ( 12 );
       case PERIOD_M30 :    return ( 30 );
       case PERIOD_H1 :     return ( 60 );
       case PERIOD_H4 :     return ( 240 );
       case PERIOD_D1 :     return ( 1440 );
       case PERIOD_W1 :     return ( 10080 );
       case PERIOD_MN1 :    return ( 43200 );      
       default : return ( 0 );
     }
  }

yapacak mı? işe yaramayacak))) o kadar çok hata ki korkutucu)

 
Urain :
Hayır, o zaman aşırı yükleme çalışmayacak, derleme yapamayacaksınız. Kodum doğru ve bir sonraki gönderideki çağrı da doğru.
açık bir zaman çerçevesi ataması olmayan bir fonksiyon eklerken, yani sadece Close(0) ... derlenmez), Close(0, PERIOD_CURRENT ) 'yi manuel olarak ayarlamanız gerekir .. ama bu hiçbir şey değildir)
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5
 
maryan.dirtyn :
int

AAAA daha kolay yemeyi hatırladı, ancak o zaman dakika kazanmak için 60'a bölmeniz gerekir.

Возвращает количество секунд в периоде.

int    PeriodSeconds ( ENUM_TIMEFRAMES   period= PERIOD_CURRENT ); // период графика



int Per= PeriodSeconds ( PERIOD_D1 )/ 60 ;
Print ( "Period=" ,Per);
 
Urain :

AAAA daha kolay yemeyi hatırladı, ancak o zaman dakika kazanmak için 60'a bölmeniz gerekir.

Teşekkürler :) Güç sizinle olsun
 

MQL4'teki gibi dönemlerle çalışmak için biraz

 //Fumction MinuteToPeriod
ENUM_TIMEFRAMES MinuteToPeriod( int Value)
//Преобразовывает число сикунд в период, возвращаемый как ENUM_TIMEFRAMES
{
//----------------------------------------------------------------------------//
//Work variables / Служебные переменные
ENUM_TIMEFRAMES Result;
//----------------------------------------------------------------------------//
   switch (Value)
  {
   //Перирд текущещего графика
   case    0 : return ( PERIOD_CURRENT ); break ;
   //Минуты
   case    1 : return ( PERIOD_M1 );   break ;   //1 минута
   case    2 : return ( PERIOD_M2 );   break ;   //2 минуты
   case    3 : return ( PERIOD_M3 );   break ;   //3 минуты
   case    4 : return ( PERIOD_M4 );   break ;   //4 минуты
   case    5 : return ( PERIOD_M5 );   break ;   //5 минуты
   case    6 : return ( PERIOD_M6 );   break ;   //6 минуты
   case    10 : return ( PERIOD_M10 ); break ;   //10 минуты
   case    12 : return ( PERIOD_M12 ); break ;   //12 минуты
   case    15 : return ( PERIOD_M15 ); break ;   //15 минуты
   case    20 : return ( PERIOD_M20 ); break ;   //20 минуты
   case    30 : return ( PERIOD_M30 ); break ;   //30 минуты
   //Часы
   case    60 : return ( PERIOD_H1 ); break ;     //60 минут  - 1 час
   case 120 : return ( PERIOD_H2 ); break ;     //120 минут - 2 часа  
   case 180 : return ( PERIOD_H3 ); break ;     //180 минут - 3 часа
   case 240 : return ( PERIOD_H4 ); break ;     //240 минут - 4 часа
   case 360 : return ( PERIOD_H6 ); break ;     //360 минут - 6 часов
   case 480 : return ( PERIOD_H8 ); break ;     //480 минут - 8 часов
   case 720 : return ( PERIOD_H12 ); break ;   //720 минут - 12 часов
   //Старшие ТФ
   case 1440 : return ( PERIOD_D1 ); break ;   //1 день
   case 10080 : return ( PERIOD_W1 ); break ;   //1 неделя 
   case 43200 : return ( PERIOD_MN1 ); break ; //1 месяц 
   //Default
   default : return ( PERIOD_CURRENT );
  }
//----------------------------------------------------------------------------//
return (Result);
//----------------------------------------------------------------------------//
}

//Fumction PeriodToMinute
int PeriodToMinute( ENUM_TIMEFRAMES Value)
//Возвращает число секунд в периоде
{
//----------------------------------------------------------------------------//
//Work variables / Служебные переменные
int Result;
//----------------------------------------------------------------------------//
Result = PeriodSeconds(Value)/ 60 ;
//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}
 

2010.01.01'den bugüne test koydum. İlk bar 2009.01.02'nin babasını getirdim.

İlk kullanılabilir çubuğun örneğin 2006.01.02 olmasını nasıl sağlayabilirim?