MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1117

 
Roman :

진짜 손...

다른 시간대에 인쇄하십시오.

미리 정의된 변수 _Period 는 다음과 같은 값을 출력하기 때문에:

_Period 변수는 현재 차트의 기간 값을 저장합니다.

그리고 이 기간은 차트 기간에 해당하는 ENUM_TIMEFRAMES 열거의 상수 값에 의해 결정됩니다.

알겠습니다.

 //+------------------------------------------------------------------+
//|                                         TestTimeframe_Period.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                             https://mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://mql5.com/ru/users/artmedia70"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   Print
     (
       "Значение предопределённой переменной _Period на графике " ,TimeframeDescription( Period ()), " = " ,( string )( int ) _Period , "\n" ,
       "Значение константы перечисления ENUM_TIMEFRAMES " , EnumToString ( Period ()), " = " ,( string )( int ) Period (), "\n" ,
       "Период графика, соответствующий константе перечисления ENUM_TIMEFRAMES " , EnumToString ( Period ()), ", со значением " ,( string )( int ) Period (), " = " ,TimeframeDescription( Period ())
     );
  }
//+------------------------------------------------------------------+
//| Возвращает описание таймфрейма                                   |
//+------------------------------------------------------------------+
string TimeframeDescription( const ENUM_TIMEFRAMES timeframe)
  {
   return StringSubstr ( EnumToString ((timeframe> PERIOD_CURRENT ? timeframe : ( ENUM_TIMEFRAMES ) Period ())), 7 );
  }
//+------------------------------------------------------------------+
Документация по MQL5: Предопределенные переменные / _Period
Документация по MQL5: Предопределенные переменные / _Period
  • www.mql5.com
Предопределенные переменные / _Period - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Roman :

mql4는 사용하지 않음)))에 익숙해지지 않았습니다.
도대체 왜 다른 60으로 나누어야합니까 ???
매뉴얼 어디에 이런 내용이 나와있나요?
이것들은 이미 버그를 우회하는 목발입니다.
이제 모든 시간대에 목발을 확인하십시오.

벌레? 즉, M1, M2, M3, M4, M5, M6 및 즉시 M10의 시간 프레임이 존재합니다. 이 또한 버그라고 생각하십니까?

개발자에게 누락된 기간 버그 를 수정하도록 요청하지 않는 이유

M7, M8, M9, M11, M13, M14, M16, M17, M18, M19, M21, M22, M23, M24, M25, M26, M27, M28, M29, M31 - M59, H1_M1, H1_M3, -- H1_M - , ---, ---, HUNDRED_THOUSAND_YEARS ?

열거 상수의 내부 표현이 갑자기 버그 가 된 이유는 무엇입니까?

300루블짜리 지폐가 없어서 귀찮지 않습니까?

 
Artyom Trishkin :

벌레? 즉, M1, M2, M3, M4, M5, M6 및 즉시 M10의 시간 프레임이 존재합니다. 이 또한 버그라고 생각하십니까?

개발자에게 누락된 기간 버그 를 수정하도록 요청하지 않는 이유

M7, M8, M9, M11, M13, M14, M16, M17, M18, M19, M21, M22, M23, M24, M25, M26, M27, M28, M29, M31 - M59, H1_M1, H1_M3, -- H1_M - , ---, ---, HUNDRED_THOUSAND_YEARS ?

열거 상수의 내부 표현이 갑자기 버그 가 된 이유는 무엇입니까?

300루블짜리 지폐가 없어서 곤란하지 않습니까?

알려주십시오. 값 16385 가 H1 차트 기간의 값과 일치합니까?
그리고 H1 이상의 다른 모든 기간 값.
Igor는 이진 형식으로 인쇄하기도 했고 다음은 내 게시물입니다. 동일한 내용이 다른 형식일 뿐입니다.

당신은 완전히 다른 대초원으로 올라갔습니다. 논의되지 않은 것을 끌지 마십시오.
중재자가 목발로 벌레를 흐리게 하는 것이 짜증나네요!
그것들을 제거하는 데 도움이 되지 않습니다.

여기에 또 다른 버그가 있습니다.

 Print ( PeriodSeconds ( PERIOD_MN1 )* 1000 );

MN 차트에서도 마찬가지입니다.

 Print ( PeriodSeconds ( PERIOD_CURRENT )* 1000 );
 
Roman :

알려주십시오. 값 16385 가 H1 차트 기간의 값과 일치합니까?
그리고 H1 이상의 다른 모든 기간 값.

당신은 완전히 다른 대초원으로 올라갔습니다. 논의되지 않은 것을 끌지 마십시오.
중재자가 목발로 벌레를 흐리게 하는 것이 짜증나네요!
그것들을 제거하는 데 도움이 되지 않습니다.
여기에 또 다른 버그가 있습니다.

도움을 공부할 시간이 없습니까?

당신이 이해하지 못하는 모든 것 - 개발자가 수정해야 한다고 생각하는 이 모든 버그는 무엇입니까?

아니면 이 경우 읽는 법을 배우고 무엇을 아는 중재자에게 넘어가지 않는 것이 더 나을까요?

 Print (( string )( uint ) PeriodSeconds ( PERIOD_MN1 )* 1000 )

int 가 넘쳐나요?

직접 인쇄하십시오:

 Print
  (
   "( int ) PeriodSeconds ( PERIOD_MN1 ) = ",( int ) PeriodSeconds ( PERIOD_MN1 ),
   ", ( ulong ) PeriodSeconds ( PERIOD_MN1 )* 1000 = ",( ulong ) PeriodSeconds ( PERIOD_MN1 )* 1000 ,
   ", INT_MAX = ", INT_MAX
  );

자신의 생각에 있는 버그를 수정하십시오.

밀리초가 필요한 경우 ulong 유형으로 표시하십시오.

 
Artyom Trishkin :

도움을 공부할 시간이 없으신가요?

당신이 이해하지 못하는 모든 것 - 개발자가 수정해야 한다고 생각하는 이 모든 버그는 무엇입니까?

아니면 이 경우 읽는 법을 배우고 무엇을 아는 중재자에게 넘어가지 않는 것이 더 나을까요?

int 가 넘쳐나요?

직접 인쇄하십시오:

자신의 생각에 있는 버그를 수정하십시오.

오버플로로 예, 흥분되어이 순간을 고려하지 않았습니다. 감사합니다.
그러나 귀하의 예제는 컴파일되지 않습니다.

그리고 그것은 정상적으로 인쇄되므로 문자열이 필요할 때와 그렇지 않을 때를 추측하십시오))

 Print (( uint ) PeriodSeconds ( PERIOD_MN1 )* 1000 );


그리고 _Period 변수에 대해 H1 위에는 확실히 뭔가 잘못된 것이 있습니다.

 
Roman :

알려주십시오. 값 16385 가 H1 차트 기간의 값과 일치합니까?
그리고 H1 이상의 다른 모든 기간 값.
Igor는 바이너리 형식으로 인쇄하기도 했고 다음은 내 게시물입니다.

당신은 완전히 다른 대초원으로 올라갔습니다. 논의되지 않은 것을 끌어들이지 마십시오 .
중재자가 목발로 벌레를 흐리게 하는 것이 짜증나네요!
그것들을 제거하는 데 도움이 되지 않습니다.

여기에 또 다른 버그가 있습니다.

MN 차트에서도 마찬가지입니다.

1. 예, 상수 값에 해당합니다 .

2. 그리고 나머지는 모두 상수 값에 해당합니다 .

인쇄해 봅니다

 Print (" SYMBOL_BID =", SYMBOL_BID ); 

현재 입찰 가격이 귀하에게 표시되거나 다른 것이 표시될 것이라고 생각하십니까?

그럼 왜 예상해

 Print (" PERIOD_H1 =", PERIOD_H1 );

H1 또는 60과 같은 것이 표시됩니까?

그리고 Igor 는 그것을 인쇄 하지 않았지만 ENUM_TIMEFRAMES 열거형 상수 값의 내부 표현을 바이너리 형식으로 보여주었습니다 .

당신은 당신이 보여주는 enum 상수의 값이 버그 라고 주장했고, 내가 당신에게 설명하는 것은 목발입니다. 이것은 그렇지 않습니다. 단순한 기본 사항에 대한 무지입니다.

나는 이것을 위해 휴가를 냅니다 - 기본을 배우고 개발자의 버그와 목발로 당신의 무지를 입히지 마십시오 - 빈 것을 던지는 것은 좋지 않습니다. 예, 그리고 당신이 선택한 단어는 일종의 "단단한"것이지만, 당신이 뭔가를 모른다는 사실을 잊어 버립니다.

당신은 그것을 알아낼 것이고 당신의 스케치는 그러한 "아는" 사람들을 위해 남을 것입니다. 약간의 방해...

 
Roman :

오버플로로 예, 흥분되어이 순간을 고려하지 않았습니다. 감사합니다.
그러나 귀하의 예제는 컴파일되지 않습니다.

그리고 그것은 정상적으로 인쇄되므로 문자열이 필요할 때와 그렇지 않을 때를 추측하십시오))


그리고 _Period 변수에 대해 H1 위에는 확실히 뭔가 잘못된 것이 있습니다.

즉, "컴파일하지 않음"은 무엇을 의미합니까? 포럼에서 스크립트로 복사하고 컴파일했습니다.


그리고 _Period 변수는 현재 차트의 ENUM_TIMEFRAMES 열거 상수 값을 int 로 반환합니다. 즉, 분, 초가 아닌 현재 차트에 해당하는 ENUM_TIMEFRAMES의 상수 값입니다.

 
Roman :

그리고 그것은 정상적으로 인쇄되므로 문자열이 필요할 때와 그렇지 않을 때를 추측하십시오))

그리고 당신은 추측할 필요가 없습니다. 무슨 일이 일어나고 있는지, 왜 그런지 생각하고 이해해야 합니다. 써야 할 때와 쓰지 않아도 될 때.

 
Artyom Trishkin :

그럼 왜 예상해

H1 또는 60과 같은 것이 표시됩니까?

H1 아래의 분 타임프레임은 올바른 값을 반환하기 때문입니다.
도움말에 설명된 대로 그들은 지속적인 헛소리가 아닌 timeframe 의 값을 반환합니다.

 Print (" PERIOD_M1 =", PERIOD_M1 );
Print (" PERIOD_M5 =", PERIOD_M5 );
Print (" PERIOD_M30 =", PERIOD_M30 );
Print (" PERIOD_H1 =", PERIOD_H1 );
 2020.04 . 10 03 : 19 : 50.600 VP (EPM20,H4)   PERIOD_M1 = 1
2020.04 . 10 03 : 19 : 50.600 VP (EPM20,H4)   PERIOD_M5 = 5
2020.04 . 10 03 : 19 : 50.600 VP (EPM20,H4)   PERIOD_M30 = 30
2020.04 . 10 03 : 19 : 50.600 VP (EPM20,H4)   PERIOD_H1 = 16385

따라서 더 높은 시간 프레임에서 이를 예상하고 몇 분 안에 시퀀스를 계속하는 것이 논리적입니다.
PERIOD_H1=60

등.

 
Roman :

H1 아래의 분 타임프레임은 올바른 값을 반환하기 때문입니다.
도움말에 설명된 대로 그들은 지속적인 헛소리가 아닌 timeframe 의 값을 반환합니다.

따라서 더 높은 시간 프레임에서 이를 예상하고 몇 분 안에 시퀀스를 계속하는 것이 논리적입니다.
PERIOD_H1=60

등.

... 계속해서 사악한 노래를 작곡하고 공산주의, 스트럼 스트럼 및 *** 수집을 기대하십시오 ...

예상되는 "부울" 값을 반환할 것으로 예상하여 상수 값을 사용하지 않는 것이 논리적입니다.

다시 한 번 (마지막으로) SYMBOL_BID 상수에 대해 상기시켜 드리겠습니다. 어떤 이유로 1 대신 현재 입찰 가격의 값을 기대하는 것이 "논리적"입니까? 아니면 아직도 안되나요?

모든 것. 교육 프로그램에 지쳐서 교육을 받지 않은 것 같습니다.