하나의 표시기에 0으로 나누기 오류가 있습니다. - 페이지 8

 
Aleksey Vyazmikin :

우리가 가지고 있다고 가정 해 봅시다.

동시에 start_time이 2018.04 여야 한다는 것을 알고 있습니다 . 28 23:00 _

시간이 정확하지 않은 것으로 나타났습니까?

Alex, 내 예를 참조하십시오. 지나가는 시간당 시간이 현재 막대에서 가장 가까운 시간으로 바뀌는 방식을 한 줄씩 보여 주었습니다.

 
제한 변수 유형의 선언을 찾지 못했습니다. 시력이 약하다
 
Алексей Тарабанов :
제한 변수 유형의 선언을 찾지 못했습니다. 시력이 약하다

Post 50, OnCalculate 절차

 
Sergey Savinkin :

Post 50, OnCalculate 절차

감사합니다. 하지만 어느 것이 50입니까? 링크를 제공할 수 있습니까?

 
Алексей Тарабанов :

감사합니다. 하지만 어느 것이 50입니까? 링크를 제공할 수 있습니까?

https://www.mql5.com/en/forum/262864/page5

페이지에만 링크합니다. 게시물 제목에 #50이라고 나와 있습니다. 당신의 #74 ))

В одном индикаторе появилась ошибка деления на ноль
В одном индикаторе появилась ошибка деления на ноль
  • 2018.07.04
  • www.mql5.com
Общее обсуждение: В одном индикаторе появилась ошибка деления на ноль
 
감사해요
 
Sergey Savinkin :
먼저 limit=start_index-stop_index+ 1, 즉 limit==1을 작성한 다음 2로 나누면 limit=(int)(stop_time-start_time)/PeriodSeconds(_Period)입니다. 유닛이 추가되지 않았습니다. 0은 마침표로 나뉩니다.

맞습니다. limit=start_index-stop_index+ 1은 i>0, 즉 기록에 대한 계산 및 현재 막대에 대한 limit=(int)(stop_time-start_time)/PeriodSeconds(_Period) 계산.

네, 그리고 요점은 사실 우리의 시간이 왜 그렇게 비뚤어졌는지입니다. 한 시간이라는 시간 프레임이 있다면 날짜는 시작과 끝 모두에서 둥글어야 합니다. 이것이 진정한 문제이며 시간이 어떻게 든 초기 날짜의 막대가 잘못되었습니다 !!!

아마도 문제가 있습니다

start_index= ArrayBsearch ( Time ,start_time);

이 시점에서 start_time이 올바르게 오기 때문에

 datetime start_time=rates[i].time;
 
Alexey, "끝에"는 없습니다. 바로 양자화입니다. 정확히 18시에 바가 열리고 최소값과 최대값이 표시되고 같은 시간에 안전하게 닫힙니다.
 
Алексей Тарабанов :
Alexey, "끝에"는 없습니다. 바로 양자화입니다. 정확히 18시에 바가 열리고 최소값과 최대값이 표시되고 같은 시간에 안전하게 닫힙니다.

봐, 우리 바는 18:00에 열렸는데, 이는 초기 시간( start_time )이 18:00이고 종료( stop_time ) 예상 바 종료 시간이 19:00임을 의미합니다. 따라서 이들 사이의 지수는 M1 기간 동안 다를 것입니다. 그리고 코드에서 시작 인덱스와 끝 인덱스가 같으며 사실이 아닙니다.

 
Aleksey Vyazmikin :

맞습니다. limit=start_index-stop_index+ 1은 i>0, 즉 기록에 대한 계산 및 현재 막대에 대한 limit=(int)(stop_time-start_time)/PeriodSeconds(_Period) 계산.

네, 그리고 요점은 사실 우리의 시간이 왜 그렇게 비뚤어졌는지입니다. 한 시간이라는 시간 프레임이 있다면 날짜는 시작과 끝 모두에서 둥글어야 합니다. 이것이 진정한 문제이며 시간이 어떻게 든 초기 날짜의 막대가 잘못되었습니다 !!!

아마도 문제가 있을 것입니다

이 시점에서 start_time이 올바르게 오기 때문에

그리고 먼저 시간별 시간대에서 CopyRates를 수행한 다음(반올림된 숫자를 얻음) 현재 시간대의 시간(시간으로 바뀌는 시간)과 시간별에서 요금을 CreateFigure 프로시저로 전달한 다음 확인합니다. 현재 시간 프레임의 시간 배열에 의해 이미 인덱스에 대해? start_index= ArrayBsearch ( 시간 , 시작 시간 );