Hatalar, hatalar, sorular - sayfa 109

 

Herkese selam! Bir Pivot Point göstergesi yazmaya çalışıyorum, hesaplamalar doğru ama çizgi doğru çizilmek istemiyor , kodumda veya terminalde pervazın nerede olduğunu anlamama yardım edin

 #property indicator_chart_window

#property indicator_buffers 1
#property indicator_plots   1
#property indicator_type1   DRAW_LINE
#property indicator_color1  Orange

double PBuffer[];

double H[ 1 ];
double L[ 1 ];
double C[ 1 ];
datetime Time[ 2 ];

MqlDateTime str1;
MqlDateTime str2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,PBuffer, INDICATOR_DATA );
//---
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
//--- return value of prev_calculated for next call
//int    limit=Bars(_Symbol,PERIOD_CURRENT)-1;
   //int    limit=rates_total-1;
   int n= 0 ;

   ArraySetAsSeries (H,true);
   ArraySetAsSeries (L,true);
   ArraySetAsSeries (C,true);
   ArraySetAsSeries (Time,true);

   CopyHigh ( _Symbol , PERIOD_D1 , 1 , 1 ,H);
   CopyLow ( _Symbol , PERIOD_D1 , 1 , 1 ,L);
   CopyClose ( _Symbol , PERIOD_D1 , 1 , 1 ,C);

//for(int i=10; i>=0;i--)
   for ( int i= 0 ;i< 24 ;i++)
     {
       //Print(i," - й проход");
       //Print("Н[0] = ",H[0],", L[0] = ",L[0],", C[0] = ",C[0]);
       CopyTime ( _Symbol , PERIOD_CURRENT ,i+ 1 , 2 ,Time);
       TimeToStruct (Time[ 0 ],str1);
       TimeToStruct (Time[ 1 ],str2);
       //Print("str1.day = ",str1.day,", str2.day = ",str2.day);
       if (str1.day!=str2.day)
        {
         //Print("Сработало условие str1.day!=str2.day");
         n++;
         CopyHigh ( _Symbol , PERIOD_D1 ,n+ 1 , 1 ,H);
         CopyLow ( _Symbol , PERIOD_D1 ,n+ 1 , 1 ,L);
         CopyClose ( _Symbol , PERIOD_D1 ,n+ 1 , 1 ,C);
         //Print("Получили новые данные для Н[0] = ",H[0],", L[0] = ",L[0],", C[0] = ",C[0]);
        }
      PBuffer[i]=(H[ 0 ]+L[ 0 ]+C[ 0 ])/ 3 ;
       //Print("PBuffer[",i,"] = ",PBuffer[i]);
     }
   return (rates_total);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
Dosyalar:
 

Bana neyi yanlış yaptığımı söyle

Alert ( " фрактал нижний=" ,Фракталы( Symbol (), PERIOD_CURRENT , 1 , 4 ), " фрактал верхний=" ,Фракталы( Symbol (), PERIOD_CURRENT , 0 , 4 ));



double Фракталы( string символ, ENUM_TIMEFRAMES период, int буфер, int бар)
  {           //Номера буферов: 0 - UPPER_LINE, 1 - LOWER_LINE.
   double ЗначениеФрактал[ 1 ];
   int Fractals= iFractals (символ,период);
   CopyBuffer (Fractals,буфер,бар, 1 ,ЗначениеФрактал);
   return (ЗначениеФрактал[ 0 ]);
  }

Çubuk bir fraktal üzerine düşerse, bu değer doğru bir şekilde elde edilir. Ve eğer vurmazsa, double tipin maksimum değeri 1.7976931348623158e+308 döndürülür.

ve sıfır döndürmeli

 
Dmitriy2 :

Bana neyi yanlış yaptığımı söyle

Çubuk bir fraktal üzerine düşerse, bu değer doğru bir şekilde elde edilir. Ve eğer vurmazsa, double tipin maksimum değeri 1.7976931348623158e+308 döndürülür.

ve sıfır döndürmeli

Size EMPTY_VALUE verildi, buradan okuyabilirsiniz
 

Tünaydın!

 

MQL5 çalışmaya başladım ama pek iyi gitmiyor. Bu işlev MQL5'e nasıl dönüştürülür?

 

val1=(Düşük[iDüşük(NULL, PERIOD_M15 ,MODE_LOW,3 ,1)]

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5
 

mql5 :
Вам отдаётся EMPTY_VALUE, прочитать можно тут

anladım teşekkürler
[Silindi]  
abeiks :

Tünaydın!

 

MQL5 çalışmaya başladım ama henüz çok iyi değilim. Bu işlev MQL5'e nasıl dönüştürülür?

 

val1=(Düşük[iDüşük(NULL, PERIOD_M15 ,MODE_LOW,3 ,1)]

MQL4'ten MQL5'e geçiş makalesini zaten biliyor musunuz?
 
Interesting :
MQL4'ten MQL5'e geçiş makalesini zaten biliyor musunuz?

Sadece bu makaleye bakıyorum, ancak programcı olmayan biri olarak benim için her şey net değil. Bu nedenle MQL4'teki anlaşılabilir işlevi benimle karşılaştırmak için dönüştürülmüş işlevi MQL5'te görmek istedim.

 
Interesting :
MQL4'ten MQL5'e geçiş makalesini zaten biliyor musunuz?

Ayrıca basit bir işlevim vardı if(DayOfWeek()==5) {...

Ama şimdi MQL5'e nasıl dönüştürüleceği belli değil.

 

Ve yanlışlıkla böyle bir kütüphaneyi (Ruslaştırılmış stdlib.mqh) MKL5'te yapmadınız mı? yeni kodlara bak

Русифицированная и немного переделанная stdlib.mqh - может кому пригодится. . . - MQL4 форум
  • www.mql5.com
Русифицированная и немного переделанная stdlib.mqh - может кому пригодится. . . - MQL4 форум
 
Dmitriy2 :

Ve yanlışlıkla böyle bir kütüphaneyi (Ruslaştırılmış stdlib.mqh) MKL5'te yapmadınız mı? yeni kodlara bak

Hata kodları için ErrorDescription.mqh var