초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 141

 
forexman77 :

정말 감사합니다! 공장.

mql5 로직을 설명합니다. mql4에서 시간 단위로 시간을 결정하기 위해 int Hour()가 사용됩니다. 내가 이해하는 한 5에는 그러한 상수가 없습니다.

1. 프로그램은 우리가 시간을 요구한다는 것을 어떻게 인식합니까? MqlDateTime 에서 추측하고 있습니까?

2. 현재 시간(분)을 현재 시간(시)에 더하기, 즉 현재 시간(분)을 찾으려면 구성은 다음과 같습니다.

1. 예

2. 맞아.

 

둘째 날 어드바이저를 mql 4에서 mql 5로 재작업하고 있습니다.

1. 1970년 1월 1일부터 데일리바의 영업시간을 초단위로 구해야 합니다. 포럼에서 이 기능을 찾았습니다.

 //--- переменные для указания параметров функции
int start = 0 ; // индекс бара
int count = 1 ; // количество баров
datetime tp[]; // массив, в котором возвращается время баров
//--- копирование времени 
CopyTime ( _Symbol , PERIOD_D1 ,start,count,tp);
//--- вывод результата
Alert (tp[ 0 ]);

함수가 마지막 또는 첫 번째 막대의 시간을 찾는지 여부가 완전히 명확하지 않습니까?

거래일의 시작에 필요한 시간이 날짜와 시간의 형태로 표시됩니다.

2.1970년 1월 1일에서 첫 번째 질문의 시간을 초로 변환하는 방법. StringToTime 기능을 찾았는데, 필요한 건 다 해주는 것 같지만, 여러 조합을 시도해 보니 사과문을 열려면 어떤 버튼을 눌러야 할지 모르는 침팬지 같은 느낌이 든다.

삼.   mql 5에는 iBarShift , iLow, iLowest 기능이 없습니다. 주요 문제는 그 안에 코드를 빌드하는 것입니다. 매일 특정 시간 동안 최소값을 찾는 방법이나 이 작업을 구현하기 위해 mql 5의 어떤 기능을 사용해야 하는지 알려주실 수 있습니까?

Документация по MQL5: Преобразование данных / StringToTime
Документация по MQL5: Преобразование данных / StringToTime
  • www.mql5.com
Преобразование данных / StringToTime - Документация по MQL5
 
forexman77 :

둘째 날 어드바이저를 mql 4에서 mql 5로 재작업하고 있습니다.

1. 1970년 1월 1일부터 데일리바의 영업시간을 초단위로 구해야 합니다. 포럼에서 이 기능을 찾았습니다.

2. 첫 번째 질문의 시간을 1970년 1월 1일부터 초로 변환하는 방법. StringToTime 기능을 찾았는데, 필요한 건 다 해주는 것 같지만, 여러 조합을 시도해 보니 사과문을 열려면 어떤 버튼을 눌러야 할지 모르는 침팬지 같은 느낌이 든다.

삼.   mql 5에는 iBarShift , iLow, iLowest 기능이 없습니다. 주요 문제는 그 안에 코드를 빌드하는 것입니다. 매일 특정 시간 동안 최소값을 찾는 방법이나 이 작업을 구현하기 위해 mql 5의 어떤 기능을 사용해야 하는지 알려주실 수 있습니까?

1.2. 우리는 여기에서 읽습니다.

3. 여기를 읽으십시오.

 
DC2008 :

1.2. 우리는 여기에서 읽습니다.

3. 여기를 읽으십시오.

두 번째 질문에. 날짜 시간으로 모든 것을 다시 읽으십시오. "datetime 유형은 1970년 1월 1일 이후의 초 단위로 날짜와 시간을 저장하도록 설계되었습니다."

그렇다면 경고가 호출될 때 초가 아닌 2013.10.02 00:00:00이 표시되는 이유는 무엇입니까?

 
forexman77 :

두 번째 질문에. 날짜 시간으로 모든 것을 다시 읽으십시오. "datetime 유형은 1970년 1월 1일 이후의 초 단위로 날짜와 시간을 저장하도록 설계되었습니다."

그렇다면 경고가 호출될 때 초가 아닌 2013.10.02 00:00:00이 표시되는 이유는 무엇입니까?

이제 여기를 읽으십시오. 경고에 표시하려면 날짜/시간 유형을 int로 변환해야 합니다.

 
DC2008 :

이제 여기를 읽으십시오. 경고에 표시하려면 날짜/시간 유형을 int로 변환해야 합니다.

나는 다음과 같은 디자인을 만들었다.

 int start = 0 ; // индекс бара
int count = 1 ; // количество баров
datetime tp[]; // массив, в котором возвращается время баров
//--- копирование времени 
CopyTime ( _Symbol , PERIOD_D1 ,start,count,tp);
//--- вывод результата
int st=tp[ 0 ];
Alert ( "st=" ,st);

메타 트레이더 4에 대한 지표와 비교하여 동일한 숫자를 얻습니다.

이제 mql5를 컴파일할 때 노란색 메시지가 나타납니다.

유형 변환으로 인한 데이터 손실 가능성

다음과 같이 시도했습니다.

 int start = 0 ; // индекс бара
int count = 1 ; // количество баров
datetime tp[]; // массив, в котором возвращается время баров
//--- копирование времени 
CopyTime ( _Symbol , PERIOD_D1 ,start,count,tp);
//--- вывод результата
Alert ( IntegerToString (tp[ 0 ]));
오류가 없습니다. 그러나 IntegerToString을 어디에 붙여야 경고 없이 값을 얻을 수 있는지 모르겠습니다. EA에서 계산에 사용하기 때문입니다. 문자열 값이 된다는 것을 이해하지 못했을 뿐인데, 다른 숫자와의 비교로 사용할 수 있습니까?
 
forexman77 :

나는 다음과 같은 디자인을 만들었다.

메타 트레이더 4에 대한 지표와 비교하여 동일한 숫자를 얻습니다.

이제 mql5를 컴파일할 때 노란색 메시지가 나타납니다.

유형 변환으로 인한 데이터 손실 가능성

예, 모든 것이 더 쉽습니다!

 //--- вывод результата
Alert ( "st=" ,( int )tp[ 0 ]);
 

한 번 다른 구독을 신청한 경우 어떻게 신호를 생성 할 수 있습니까?

저것들. 나는 이미 그를 언팔로우했다. 불가능합니까?

2주 이내에 100% 제작되었으며 누구와도 공유할 수 없습니다(

 
이 질문도 흥미롭다
 
DC2008 :

예, 모든 것이 더 쉽습니다!

그래도 Alert 뿐만 아니라 계산을 위해서도 변수 "st"가 필요하고, 컴파일할 때 "유형 변환으로 인한 데이터 손실이 가능합니다"라는 경고가 나타납니다.

나는 그것이 10자리 숫자로 밝혀지고 int에서 최대값이 2 147 483 647이기 때문에 현재 1 380 758 400을 얻습니다. 아마도 long을 사용하는 것이 합리적이고 아마도 Advisor가 많은 것을 소비할 것입니다. 이 부분의 리소스?

Документация по MQL5: Общие функции / Alert
Документация по MQL5: Общие функции / Alert
  • www.mql5.com
Общие функции / Alert - Документация по MQL5