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

 
-Aleks- :
반올림해야 할 초가 표시됩니다. 문제는 반올림입니다.

그래서

 datetime Day00= 86400 *(time[n]/ 86400 ); //начало дня
그리고 하루의 시작에 반올림이 있습니다. 86400=24*60*60
 
-Aleks- :

네, 사용할 수 없습니다.

다음은 필요한 두 번째 값입니다. " MqlDateTime&    dt_struct        // 값을 받아들이는 구조 ", 하지만 이 MqlDateTime을 사용하는 방법을 이해하지 못합니다.

시간이 있습니다. 시간에는 년, 월, 일, 시, 분, 초 등의 매개변수가 있습니다. TimeToStruct() 함수를 호출하여 시간을 이러한 구성 요소로 분해합니다. 또한 예를 들어 시간, 분, 초를 재설정할 수 있습니다. 하루의 시작을 알 수 있습니다.

MqlDateTime은 int, bool 등과 같은 데이터 유형입니다. 그것은 단지 그것이 복합 유형이라는 것입니다. 해당 필드(시, 분, 초...)에 액세스하려면 점을 사용해야 합니다. 예: dt_struct.hour는 시간 값입니다. 구조에 대한 추가 정보 https://www.mql5.com/ru/docs/basis/types/classes.

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
변경 사항이 없으므로 건너뛴 로그 의 주문에 대한 이 설명은 무엇을 의미합니까?

 
Aleksey Lebedev :

그래서

그리고 하루의 시작에 반올림이 있습니다. 86400=24*60*60
귀하의 공식에 따라 현재 막대와 먼 막대 사이의 일수를 구하지만 요즘은 조건부입니다. 오늘의 9시간과 전날의 1시간이 될 수 있으며 초의 차이는 1.42일과 같은 122400이 됩니다. 반올림하면 1일이 되지만 2가 되어야 합니다.
 
Alexey Kozitsyn :

시간이 있습니다. 시간에는 년, 월, 일, 시, 분, 초 등의 매개변수가 있습니다. TimeToStruct() 함수를 호출하여 시간을 이러한 구성 요소로 분해합니다. 또한 예를 들어 시간, 분, 초를 재설정할 수 있습니다. 하루의 시작을 알 수 있습니다.

MqlDateTime은 int, bool 등과 같은 데이터 유형입니다. 그것은 단지 합성 유형입니다. 해당 필드(시, 분, 초...)에 액세스하려면 점을 사용해야 합니다. 예: dt_struct.hour는 시간 값입니다. 구조에 대한 추가 정보 https://www.mql5.com/ru/docs/basis/types/classes.

죄송합니다. 이 영점 조정을 어떻게 합니까?
 
-Aleks- :
귀하의 공식에 따라 현재 막대와 먼 막대 사이의 일수를 구하지만 요즘은 조건부입니다. 오늘의 9시간과 전날의 1시간이 될 수 있으며 초의 차이는 1.42일과 같은 122400이 됩니다. 반올림하면 1일이 되지만 2가 되어야 합니다.

하루 손실, 23h + 24h + 9h = 2일 8h ... 필요한 경우 이 공식은 필요하지 않습니다.

현재 시간대의 각 차트에 대해 계산을 해야 합니다. 계산하려면 상위 TF(일)의 날짜를 알아야 합니다. 위의 코드를 첨부했습니다. 요점은 현재 TF에서 막대가 열리는 순간 상위 TF의 최고 가격 을 각 막대에서 아는 것입니다.

반복합니다:
 datetime Day00= 86400 *(time[n]/ 86400 ); //начало дня для time[n]



그러나 당신은 여전히 구조라고 말합니다 .. :)

 
Aleksey Lebedev :

하루 손실, 23h + 24h + 9h = 2일 8h ... 필요한 경우 이 공식은 필요하지 않습니다.

반복합니다:



그러나 당신은 여전히 구조라고 말합니다 .. :)

왜 23시간이냐 - 1시간을 썼는데 본질은 변함이 없다

24(어제 - 어제 1시) + 24(어제 - 오늘 1시) + 8(오늘 1시간 후 - 1시간) \u003d 56/24 \u003d 2.33 즉. 그것은 이틀 동의로 밝혀졌다?

 
-Aleks- :

왜 23시간이냐 - 1시간을 썼는데 본질은 변함이 없다

24(어제 - 어제 1시) + 24(어제 - 오늘 1시) + 8(오늘 1시간 후 - 1시간) \u003d 56/24 \u003d 2.33 즉. 그것은 이틀 동의로 밝혀졌다?

어제 시작 23시간 전+

어제 24시간+

오늘 9시 =

2일 8h=2,(33)일

맞습니다. 다음과 같습니다.

 int DayN=time[ 0 ]/ 86400 -time[ 163 ]/ 86400 ;

상관없어요 필요없어요)
 
Aleksey Lebedev :

어제 시작 23시간 전+

어제 24시간+

오늘 9시 =

2일 8h=2,(33)일

맞습니다. 다음과 같습니다.

상관없어요 필요없어요)

이제 오늘이 9시가 아니라 19시라고 상상해 봅시다.

24(어제 - 어제 1시) + 24(어제 - 오늘 1시) + 18(오늘 1시간 후 - 1시간) \u003d 66/24 \u003d 2.75 즉. 그것은 3 일 동의로 밝혀졌다?

일일 범위가 어떻게 변경되고 하루 동안의 계산은 2 또는 3일을 제공합니다. 이것이 문제입니다.

옵션

  int DayN=time[ 0 ]/ 86400 -time[ 163 ]/ 86400 ;

현재 막대가 1시간이고 계산된 막대가 23시간이라고 상상하는 경우에도 적합하지 않습니다. 이 경우 계산 결과는 0이지만 1이어야 합니다.
 
-Aleks- :
현재 막대가 1시간이고 계산된 막대가 23시간이라고 가정하면 이 옵션도 적합하지 않습니다. 이 경우 계산 결과는 0이지만 1이어야 합니다.

1이 되며 두 시간 모두 먼저 하루 종일 반올림한 다음 뺍니다.

사유: