오류, 버그, 질문 - 페이지 109

 

안녕하세요 여러분! 피벗 포인트 표시기를 작성하려고하는데 계산은 정확하지만 선이 올바르게 그려지기를 원하지 않습니다 . 내 코드 또는 터미널에서 잼이 어디에 있는지 알아낼 수 있도록 도와주세요.

 #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
파일:
 

내가 뭘 잘못하고 있는지 말해줘

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 ]);
  }

막대가 프랙탈에 있으면 이 값을 올바르게 얻은 것입니다. 그리고 적중하지 않으면 double 유형의 최대값이 1.7976931348623158e+308 반환됩니다.

0을 반환해야 합니다.

 
Dmitriy2 :

내가 뭘 잘못하고 있는지 말해줘

막대가 프랙탈에 있으면 이 값을 올바르게 얻은 것입니다. 그리고 적중하지 않으면 double 유형의 최대값이 1.7976931348623158e+308 반환됩니다.

0을 반환해야 합니다.

EMPTY_VALUE이(가) 제공되었습니다. 여기에서 읽을 수 있습니다.
 

안녕하세요!

 

MQL5 공부를 시작했는데 아직 잘 못해요. 이 기능을 MQL5로 변환하는 방법은 무엇입니까?

 

val1=(낮음[iLowest(NULL, PERIOD_M15 ,MODE_LOW,3,1)]

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

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

이해, 감사
 
abeiks :

안녕하세요!

 

MQL5를 공부하기 시작했지만 잘 되지 않습니다. 이 기능을 MQL5로 변환하는 방법은 무엇입니까?

 

val1=(낮음[iLowest(NULL, PERIOD_M15 ,MODE_LOW,3,1)]

MQL4에서 MQL5로 전환 기사에 대해 이미 알고 계십니까?
 
Interesting :
MQL4에서 MQL5로 전환 기사에 대해 이미 알고 계십니까?

이 글을 보고 있는 중이지만 프로그래머가 아닌 저로서는 모든 것이 명확하지 않습니다. 그래서 MQL4에서 이해하기 쉬운 함수를 나와 비교하기 위해 MQL5에서 변환된 함수를 보고 싶었다.

 
Interesting :
MQL4에서 MQL5로 전환 기사에 대해 이미 알고 계십니까?

또한 간단한 함수 if(DayOfWeek()==5) {...

그러나 이제는 MQL5로 변환하는 방법이 명확하지 않습니다.

 

그리고 실수로 MKL5에서 그런 라이브러리(Russified stdlib.mqh)를 만들지 않았습니까? 새로운 코드를 봐

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

그리고 실수로 MKL5에서 그런 라이브러리(Russified stdlib.mqh)를 만들지 않았습니까? 새로운 코드를 봐

오류 코드에 대한 ErrorDescription.mqh 가 있습니다.