[SERVICE DESK] 타이머에서 시니어 TF의 시간을 가져오는 동안 오류가 발생했습니다! - 페이지 4

 
Vitaly Gorbunov :
글쎄, 나는 그것이 목발이라고 말하지 않을 것입니다. 서버에서 견적 스트림을 기다리고 있습니다. 그렇지 않으면 기록이 업데이트되지 않습니다. 또 다른 옵션은 컴퓨터의 현지 시간을 사용하여 시간대에 대한 수정 사항을 입력하는 것입니다. 이 표준 시간대는 자동으로 계산될 수 있고 결국에는 여전히 견적이 업데이트될 때까지 기다립니다. 예, 약간 비뚤어졌지만 Metaquote가 MT4에서 아무 것도 변경하지 않을 것이라고 생각합니다. 결국 이것은 어떤 식으로든 처리해야 하는 서버와의 연결 문제입니다.

여기. 그리고 이것이 문제라는 것을 깨달았습니다! 하지만 수정이 필요하거나 인증서가 모든 경우에 알고리즘으로 보완되어야 한다고 생각합니다.

데이터를 가져오는 함수는 오류 및 경고 없이 왼쪽 데이터를 생성해서는 안됩니다!

이것은 동기화 및 후속 정지/오류에 대한 나의 첫 번째 주제가 아닙니다(이전 주제는 MT5에 관한 것이었으며 아직 명확한 답변을 받지 못했습니다).

 
Alexey Kozitsyn :

예, 작동하는 것 같습니다. 또는 사용할 수 있습니다. 고맙습니다! 하지만 기능의 정상적인 작동을 원합니다.

누락된 막대가 없는 경우에만 작동하며 그러한 보장은 없습니다. 현재 시간(그리고 아마도 이전 시간에도)에 대해 서버에 새 따옴표가 없다고 가정합니다. 따라서 마지막 막대는 일부 이전 막대입니다.

 
Ihor Herasko :

검증에 대한 접근 방식에는 두 가지 중요한 오류가 있습니다.

  1. 표시기의 OnInit()에서는 현재 TF를 포함하여 모든 TF의 올바른 데이터를 얻는 것이 불가능합니다. 터미널 시작 시 표시기의 OnInit()는 실제로 빈 창에서 실행됩니다(터미널이 꺼졌을 때 있던 데이터가 없을 수도 있음). 시장 환경조차도 아직 사용할 수 없는 경우가 많습니다. 도움말에는 OnInit()에서 하지 말아야 할 일에 대한 경고가 많이 있습니다. 따라서 코드에 포함될 수 있는 것이 거의 없습니다. 일반적으로 이것은 설정 값을 확인하고, 표시기 버퍼를 배열에 연결하고, 클래스가 있는 경우 생성합니다. 다른 모든 것은 OnCalculate()에서 수행해야 합니다.
  2. 이러한 모든 검사는 OnCalculate가 한 번 이상 호출된 후에만 수행할 수 있습니다.

1. 이고르, 코드 봤어? OnInit()에서 무엇을 얻을 수 있습니까?

2. 수표는 무엇입니까? 표시기가 올바른 작동을 위해 적어도 한 번은 OnCalculate()를 사용해야 한다고 어디에 쓰여 있습니까?

 
Alexey Navoykov :

누락된 막대가 없는 경우에만 작동하며 그러한 보장은 없습니다. 현재 시간(그리고 아마도 이전 시간에도)에 대해 서버에 새 따옴표가 없다고 가정합니다. 따라서 마지막 막대는 일부 이전 막대입니다.

이 (내가 말했듯이 목발) 솔루션은 지금까지 없는 것보다 낫습니다. 내가 말했듯이 (그리고 증명), 실수가 있습니다. 개발자는 빨리 수정할수록 좋습니다.

 
따라서 왼쪽 데이터를 제공하지 않고 마지막으로 수신된 데이터를 제공하며 터미널이 따옴표 스트림을 수신하기 시작할 때까지 오류가 발생하지 않습니다. 귀하의 경우에는 따옴표가 사라지기 전에 데이터를 얻으려고 하므로 프로그래머는 이러한 예외적인 상황을 스스로 처리해야 합니다. 뿐만 아니라 의사 소통의 모든 중단. 그리고 MT5의 문제점은 무엇입니까? 매우 흥미롭게 읽을 수 있습니다.
 
Alexey Navoykov :

누락된 막대가 없는 경우에만 작동하며 그러한 보장은 없습니다. 현재 시간(그리고 아마도 이전 시간에도)에 대해 서버에 새 따옴표가 없다고 가정합니다. 따라서 마지막 막대는 일부 이전 막대입니다.

iBarShift 를 사용한 리셉션을 사용하면 기록의 구멍을 식별할 수 있지만 이를 위해서는 일정 간격으로 양모를 해야 합니다. 이 작업을 수행하는 절차를 직접 작성했습니다. 그 후 MTF 프로그램의 공백을 잊어버렸습니다.
 
Vitaly Gorbunov :
따라서 왼쪽 데이터를 제공하지 않고 마지막으로 수신된 데이터를 제공하며 터미널이 따옴표 스트림을 수신하기 시작할 때까지 오류가 발생하지 않습니다. 귀하의 경우에는 따옴표가 사라지기 전에 데이터를 얻으려고 하므로 프로그래머는 이러한 예외적인 상황을 스스로 처리해야 합니다. 뿐만 아니라 의사 소통의 모든 중단. 그리고 MT5의 문제점은 무엇입니까? 매우 흥미롭게 읽을 수 있습니다.

글쎄, e-may ... 우리는 이미이 분석 단계를 통과했습니다. 자신의 로그 보기:

 2018.09 . 21 15 : 02 : 42.910 Custom indicator test XAUUSD,H1: removed
2018.09 . 21 15 : 15 : 27.985 test XAUUSD,H1: initialized
2018.09 . 21 15 : 15 : 29.520 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.552 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.589 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.605 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.636 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.667 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.705 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.736 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.768 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.805 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.837 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.868 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.906 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.937 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 29.969 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 30.006 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 30.038 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 30.069 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 30.106 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 30.138 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 30.169 test XAUUSD,H1: OnTimer : Связь отсутствует!
2018.09 . 21 15 : 15 : 31.880 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 4066
2018.09 . 21 15 : 15 : 31.900 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 0
2018.09 . 21 15 : 15 : 31.940 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 0
2018.09 . 21 15 : 15 : 31.990 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 0
2018.09 . 21 15 : 15 : 32.010 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 0
2018.09 . 21 15 : 15 : 32.074 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 0
2018.09 . 21 15 : 15 : 32.100 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 0
2018.09 . 21 15 : 15 : 32.120 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 0
2018.09 . 21 15 : 15 : 32.174 test XAUUSD,H1: test.mq4: Данные истории по последнему часу отсутствуют! Ошибка # 0

하위 시퀀스. 먼저 연결을 확인해보자. 연결이 설정되자마자 우리는 시간을 얻습니다 . 설명해주세요 도대체 왜 에러 4066이 먼저 리턴된 다음 리턴되지 않는지!? 마지막 호출 이후 20ms 동안 변경된 사항은 무엇입니까?

 
Vitaly Gorbunov :
그리고 MT5의 문제점은 무엇입니까? 매우 흥미롭게 읽을 수 있습니다.

https://www.mql5.com/en/forum/219829

Клинч в индикаторах mql5.
Клинч в индикаторах mql5.
  • 2017.11.15
  • www.mql5.com
Недавно столкнулся с одной крайне неприятной проблемой...
 
Alexey Kozitsyn :

이 (내가 말했듯이 목발) 솔루션은 지금까지 없는 것보다 낫습니다. 내가 말했듯이 (그리고 증명), 실수가 있습니다. 개발자는 빨리 수정할수록 좋습니다.

글쎄, 우리가 최고의 목발에 대해 이야기한다면 현재 시간뿐만 아니라 마지막으로 알려진 막대 이후로 지난 모든 이전 시간도 확인해야합니다. 그렇지 않으면 현재 시간에 대한 따옴표가 없는 경우 이 수표에서 멈춥니다.
 
Alexey Kozitsyn :

글쎄, e-may ... 우리는 이미이 분석 단계를 통과했습니다. 자신의 로그 보기:

하위 시퀀스. 먼저 연결을 확인해보자. 연결이 설정되자마자 우리는 시간을 얻습니다. 설명해주세요 도대체 왜 에러 4066이 먼저 리턴된 다음 리턴되지 않는지!? 마지막 호출 이후 20ms 동안 변경된 사항은 무엇입니까?

데이터가 오류 4066과 함께 로드된 다음 메타따옴표를 사용할 수 없습니다. 이 상황에서 수신된 데이터가 처리될 가능성이 높으며 오류가 발생하지 않았습니다. 그리고 여기까지는 모든 것이 논리적입니다.