MQL5의 초보자 질문입니다. 프로는 지나치지 않습니다. - 페이지 7

 
Artyom Trishkin :

DRAW_NONE == 0

그리기_라인 == 1

그래서 당신은 어딘가에 다른 것이 있습니다. 이론적으로 모든 것이 당신을 위해 작동해야 합니다.

아직 무엇이 문제인지 말할 수는 없지만 항상 작동하는 것은 아닙니다.
 
이 주제와 관련이 없는 댓글은 " MQL4 MT4 MetaTrader 4 초보자의 질문 "으로 이동되었습니다.
 
Artyom Trishkin :

고맙지 만 사양 할게. 모든 것은 limit>1로 한 번만 수행됩니다. 이것은 역사의 첫 번째 시작 및 로드입니다. 그리고 평활 period_sm=10인 경우 이 경우 제한은 10보다 작아야 합니다. 따라서 다음과 같이 됩니다.

 if (limit> 1 )
  {
   limit=rates_total-period_sm- 1 ;
   ArrayInitialize (Buffer,InitValue);
  }

InitValue - 버퍼를 초기화할 값 - 0 또는 EMPTY_VALUE - 적절합니다. 아니면 -100500...

귀하의 예에서 제안한 대로 - 그렇게 하는 것은 옳지 않습니다 - 또는 이해가 되지 않는 경우 자세한 설명을 제공하십시오.

"이것은 첫 번째 실행 및 기록 로딩입니다"라고 명명한 것에 대한 결정을 내리기 -- prev_calculated의 값에 따라 발생합니다.

제한(귀하의 경우 제한이 무엇인지 명확하지 않음) -- 이것이 재계산이 시작되는 막대의 수인 경우 -- 여기서 제한은 1보다 클 수 있습니다. 예를 들어 5분 동안 연결이 없었습니다. - M1 limit=5에서 연결이 나타나고 처음부터 지표를 다시 계산할 이유가 없을 때

일반 터미널 예제에서 모든 것을 사용하는 방법을 볼 수 있습니다.

"곰" 표시기의 예:

MQL4(처음부터 끝까지 막대 번호 지정):

   int limit=rates_total-prev_calculated;
//---
   if (rates_total<=InpBearsPeriod)
       return ( 0 );
//---
   if (prev_calculated> 0 )
      limit++;
   for ( int i= 0 ; i<limit; i++)

MQL5(끝에서 시작까지 막대 번호 지정):

   if (prev_calculated<InpBearsPeriod)
      limit=InpBearsPeriod;
   else limit=prev_calculated- 1 ;
//--- the main loop of calculations
   for (i=limit;i<rates_total && ! IsStopped ();i++)
 

안녕 모두. MT-5에 대한 데모 계정이 있었습니다. Windows를 재정렬한 후 MT-5에 들어가기 위해 비밀번호 로그인을 잃어버렸습니다. 이제 웹 터미널에 등록되었습니다.

데모 계정 MT-5. 다 괜찮아. 일반 MT-5 홈 터미널에 새 로그인, 비밀번호를 삽입합니다. 새로운 F9 주문을 열 때만 모든 것이 작동합니다.

새 주문 창에서 구매 및 판매 버튼이 활성화되지 않습니다. 신청할 수 없습니다. 어떻게 해야 하는지 알려주세요.

잘못된 주제로 묻는다면 죄송합니다.

고맙습니다.

 
Shara1 :

안녕 모두. MT-5에 대한 데모 계정이 있었습니다. Windows를 재정렬한 후 MT-5에 들어가기 위해 비밀번호 로그인을 잃어버렸습니다. 이제 웹 터미널에 등록되었습니다.

데모 계정 MT-5. 다 괜찮아. 일반 MT-5 홈 터미널에 새 로그인, 비밀번호를 삽입합니다. 새로운 F9 주문을 열 때만 모든 것이 작동합니다.

새 주문 창에서 구매 및 판매 버튼이 활성화되지 않습니다. 신청할 수 없습니다. 어떻게 해야 하는지 알려주세요.

잘못된 주제로 묻는다면 죄송합니다.

고맙습니다.

감사합니다. 창에는 새로운 F9 주문이 있으며 열에는 볼륨이 0.00입니다. 0.01을 넣으면 모든 것이 작동합니다.

 

안녕하세요, 일부 Expert Advisors에는 다음 줄이 있습니다.

   double highest= DBL_MIN ,lowest= DBL_MAX ;

질문 - 변수가 이러한 상수 DBL_MIN , DBL_MAX와 같은 이유는 무엇입니까?

 
refounder83 :

안녕하세요, 일부 Expert Advisors에는 다음 줄이 있습니다.

질문 - 변수가 이러한 상수 DBL_MIN , DBL_MAX와 같은 이유는 무엇입니까?

DBL_MAX보다 작은 것으로 알려져 있고 DBL_MIN보다 큰 것으로 알려진 실제 데이터와 비교합니다.

예를 들어:

 double x= DBL_MIN ;
int total= ArraySize (array);
for ( int i= 0 ; i<total; i++)
  {
   double y=array[i];  
   if (y>x) x=y;
  }
Print ( "x=" , DoubleToString (x, Digits ()));
 
감사합니다 이해했습니다)
 

그러나이 절차는 서버 시간을 초로 변환하기 위해 수행됩니까?

 datetime time= TimeTradeServer ()+ 60 * 60 * 24 ;
   
  
 
refounder83 :

그러나이 절차는 서버 시간을 초로 변환하기 위해 수행됩니까?

"서버 시간"에 1일을 더한 값입니다(60초 * 60분 * 24시간).

PeriodSeconds()를 사용할 수 있습니다.

 Print (" PeriodSeconds ( PERIOD_D1 )=", PeriodSeconds ( PERIOD_D1 ),", PeriodSeconds ( PERIOD_H1 )* 24 =", PeriodSeconds ( PERIOD_H1 )* 24 ,", 60 * 60 * 24 =", 60 * 60 * 24 );