서비스 데스크. 불만, 제안.

 

안녕하세요. 오늘 다시 한 번, 저는 Service Desk에서 그들이 항상 문제에 대해 듣고 싶어하는 것은 아니지만, 심지어 듣고 싶어하지도 않는다는 사실을 접했습니다. 시작하자.

며칠 전에 서비스 데스크에 또 다른 요청을 작성했습니다. 응용 프로그램의 본질은 다음과 같습니다(MT4의 경우).

Индикатор находится на ТФ, старше М1. Пытаюсь получить данные через функцию SeriesInfoInteger() с ТФ М1. Функция возвращает нули для свойств SERIES_BARS_COUNT, SERIES_FIRSTDATE, SERIES_SERVER_FIRSTDATE после того, как на М1 образовался новый бар. До того, как образовался новый бар - данные возвращаются корректные. После - нули. 

두 번째 문제는 비슷한 유형입니다. 표시기는 TF MN1에 있습니다. TF M5를 사용하여 SeriesInfoInteger() 함수를 통해 데이터를 가져오려고 합니다. 이 함수는 얼마 동안 올바른 값을 반환하고, 그 후에는 새로운 M5 BAR가 열리지 않았음에도 불구하고 단순히 수행을 중지하고 0을 반환하기 시작합니다!

두 경우 모두 데이터를 가져오려는 시간 프레임으로 돌아가고 이전 시간 프레임으로 전환하면 데이터가 한동안 정확하다가 0이 됩니다.

앱 표시기.

표시기가 설치된 위치 이외의 TF에 대해 사용 가능한 기록을 확인/로드하려면 위의 SeriesInfoInteger() 함수 속성이 필요했습니다.

프로그래머 중 누구도 유형의 불확실성을 좋아하지 않을 것입니다. 처음에는 데이터가 있고, 그 다음에는 데이터가 존재하지 않고 얻을 수 없습니다. 더욱이, 프로그램이 작성되는 사용자(들)는 그것을 좋아하지 않을 것입니다. 이 버그를 테스트하기 위해 프로그램을 제공했다는 메시지를 볼 수 있습니다. 또한 다음과 같은 로그도 제공되었습니다.

 2015.10 . 29 14 : 25 : 52.663 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 5001 , firstDate = 2015.10 . 26 00 : 00 , serv_firstdate = 2015.08 . 21 10 : 59
2015.10 . 29 14 : 25 : 53.113 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 5001 , firstDate = 2015.10 . 26 00 : 00 , serv_firstdate = 2015.08 . 21 10 : 59
2015.10 . 29 14 : 25 : 53.419 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 5001 , firstDate = 2015.10 . 26 00 : 00 , serv_firstdate = 2015.08 . 21 10 : 59
2015.10 . 29 14 : 25 : 53.930 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 5001 , firstDate = 2015.10 . 26 00 : 00 , serv_firstdate = 2015.08 . 21 10 : 59
2015.10 . 29 14 : 25 : 54.487 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 5001 , firstDate = 2015.10 . 26 00 : 00 , serv_firstdate = 2015.08 . 21 10 : 59
2015.10 . 29 14 : 25 : 54.795 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 5001 , firstDate = 2015.10 . 26 00 : 00 , serv_firstdate = 2015.08 . 21 10 : 59
2015.10 . 29 14 : 25 : 55.412 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 0 , firstDate = 1970.01 . 01 00 : 00 , serv_firstdate = 1970.01 . 01 00 : 00
2015.10 . 29 14 : 25 : 55.943 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 0 , firstDate = 1970.01 . 01 00 : 00 , serv_firstdate = 1970.01 . 01 00 : 00
2015.10 . 29 14 : 25 : 56.678 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 0 , firstDate = 1970.01 . 01 00 : 00 , serv_firstdate = 1970.01 . 01 00 : 00
2015.10 . 29 14 : 25 : 57.169 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 0 , firstDate = 1970.01 . 01 00 : 00 , serv_firstdate = 1970.01 . 01 00 : 00
2015.10 . 29 14 : 25 : 57.938 test_271015_series_easy EURUSD,M5: OnCalculate 1 : bars count = 0 , firstDate = 1970.01 . 01 00 : 00 , serv_firstdate = 1970.01 . 01 00 : 00

데이터는 단순히 중단되며 데이터 요청이 진행 중인 TF로 TF를 변경하는 경우에만 더 가져올 수 있습니다.

그리고 이것이 내가 SD에서 얻은 답변입니다.

지원팀 2015.10.29 10:41
다른 사람의 심볼 주기에서 실제 데이터를 받기 위해서는 10초에 한 번 이상 이 데이터에 액세스해야 합니다. 또는 예를 들어 iTime을 사용하여 Expert Advisor에서 이 데이터에 액세스합니다. 그러면 3분에 한 번 이상 데이터에 액세스할 수 있습니다.
지원팀 2015.10.29 10:42

상태: 열림 닫힘

이 메시지는 Service Desk(또는 일부 직원)가 사용자가 오류에 대해 작성하는 내용을 전혀 신경 쓰지 않는다는 것을 보여줍니다. 10초에 한 번 이상 데이터에 액세스하라는 메시지가 표시됩니다!? 각 틱에서 데이터가 훨씬 더 자주 요청되는 것을 로그에서 볼 수 있습니다. 이 로그를 읽지 않은 것이 확실합니다. 그러나 "더 자주" 액세스하거나 Expert Advisor의 데이터에 액세스하라는 제안을 받았습니다. 멋진. 그리고, 마치 그들이 나를 도왔다는 듯이 지원서는 즉시 닫혔다.

계속해. 내 대답은 다음과 같습니다.

알렉세이 코지친 2015.10.29 10:57
로그를 봐! 통화는 매 틱마다 진행됩니다! Tiki는 훨씬 더 자주 간다! 마찬가지로 초당 10회 빈도의 타이머에서!
알렉세이 코지친 2015.10.29 10:57
상태: 닫힘 열림

알렉세이 코지친 2015.10.29 10:59
기간에 대해 - 이것은 단지 시험을 위한 기간입니다! 당신이 그것에 대해 이야기하고 있다면. 다시 말하지만, 모든 틱마다 데이터가 요청됩니다!
알렉세이 코지친 2015.10.29 11:00
그들은 처음에 와서 그것을 하지 않을 수 있습니다! 로그를 자세히 살펴보십시오.
알렉세이 코지친 2015.10.29 12:06

오류를 식별했습니까?

그리고 서비스 데스크의 응답:

지원팀 2015.10.29 12:09

원하는 차트를 열면 차트를 닫을 때까지 해당 데이터가 항상 메모리에 저장됩니다.

빌드 900 이후로 공격적인 메모리 해제를 구현했습니다. 메모리에 문제가 있으면 가능한 모든 것이 해제됩니다.

충분한 데이터가 있는 적절한 최소 TF를 선택하려면 이러한 속성이 필요합니다. 각 차트를 열라는 제안을 받았습니다. 그리고 동시에 분석하는 도구의 수는 중요하지 않습니다. 가능한 모든 차트를 열면 만족할 것입니다.

공격적인 릴리스 및 메모리 문제에 대해. 터미널에 메모리 문제가 없습니다. 터미널 로그에는 오류가 없습니다. 이를 바탕으로 단순히 메모리를 해제할 수 있는 상황을 안내받았다고 판단할 수 있다. 그러나 이것은 분명히 내 경우가 아닙니다. Service Desk가 문제를 이해하기를 원하지 않고 뒤에 남겨지기를 원하는 또 다른 사실입니다.

더 나아가.

알렉세이 코지친 2015.10.29 12:27

그래픽을 생산하는 것보다 공격적인 메모리 릴리스를 개선하는 것이 더 낫다고 생각하지 않습니까? 그리고 어떤 메모리 문제에 대해 이야기하고 있습니까? 그리고 네, 풀어주세요. 하지만 목발 없이 더 받을 수 있게 해주세요!

앱에서 표시기를 실행해 보셨습니까? 데이터가 다른 사람의 TF에서 왔다는 것을 이해합니까? 그들이 오고, 오고, 쾅-그냥 그만 둡니다!? 이것이 정상적인 행동입니까?

다음은 문서의 일부입니다.

Expert Advisors 및 사용자 지정 지표의 경우 이벤트 처리 모델을 사용하는 것이 좋습니다. OnTick() 또는 OnCalculate() 이벤트를 처리할 때 필요한 시계열의 모든 필요한 데이터를 가져올 수 없으면 다음 호출 시 데이터에 대한 액세스를 계산하여 이벤트 핸들러를 종료해야 합니다. 매니저.

내가 준 지표에는 그러한 모델이 사용됩니다. 데이터가 수신되지 않으면 다음 틱에 데이터가 도착할 것으로 예상됩니다. 하지만 데이터는 더 이상 오지 않습니다! 조금도! 문서에 모순이 있습니다!

mql5에서는 모든 것이 제대로 작동합니다. 왜 mql4에서도 구성할 수 없습니까?

그리고 대답:

지원팀 2015.10.29 12:45

아니요. 그것은 보이지 않는다.

문서와 관련하여 결론은 다음과 같습니다. 일부 기호 기간의 데이터가 지속적으로 필요한 경우 OnInit에서 이 데이터의 지속적인 존재를 확인합니다. 예를 들어, 간단한 요청 iTime(needed_symbol,needed_period). 그리고 매 틱마다 iTime을 유지하십시오.

터미널에 메모리를 직접 로드합니다. 따라서 차트의 막대 수를 필요한 제한으로 줄이십시오. 중요한 데이터를 보호하려면 원하는 기간 기호가 있는 차트를 엽니다.

현재 상황에 만족하지 못한다면 이 토론을 포럼으로 가져오도록 합시다. 여기에서 논의하는 것은 무의미합니다.

MT5에는 과거 데이터를 사용하는 완전히 다른 모델이 있습니다.

지원팀 2015.10.29 12:46
상태: 닫힘

순서대로:

아니요. 그것은 보이지 않는다.

그냥 무례. 설명도 없고 코멘트도 없습니다.

문서와 관련하여 결론은 다음과 같습니다. 일부 기호 기간의 데이터가 지속적으로 필요한 경우 OnInit에서 이 데이터의 지속적인 존재를 확인합니다. 예를 들어, 간단한 요청 iTime(needed_symbol,needed_period). 그리고 매 틱마다 iTime을 유지하십시오.

최초의 상식 목발 . 바로 결론!? 이 결론은 어디에 있습니까? mql로 작성하는 모든 사람들이 스스로이 결론을 내렸다고 정말로 생각하십니까!? 사람을 위해 생각하지 마십시오. 기록된 내용에서 결론이 도출됩니다. 비교하려고. "데이터 액세스 구성" 섹션의 mql5에 대한 문서에는 데이터 액세스를 구성하는 방법에 대한 예가 있습니다. 모든 것이 잘 작동합니다. SeriesInfoInteger() 함수가 0을 반환하면 원하는 기호/마침표에 대해 iTime() 함수를 호출해야 한다는 것을 즉시 추측해야 합니다. 왜 이것에 대해 작성되지 않았습니까? 그리고 이러한 목발 없이 SeriesInfoInteger() 함수를 단순히 수정하는 것이 불가능한 이유는 무엇입니까? 아니면 최소한 문서에서 명확히 하시겠습니까? 개발자 여러분, 더 적은 질문을 원하신다면 문서에 방법과 내용을 자세히 한 번 작성해 주세요. 사람들이 읽을 수 있습니다!

터미널에 메모리를 직접 로드합니다. ...

매우 흥미롭습니다, 당신은 나에게 무엇을 전달하고 싶었습니까!? 터미널은 메모리를 소비할 수 있지만 터미널에 메모리를 로드하는 것은 저에게 새로운 것입니다.

따라서 차트의 막대 수를 필요한 제한으로 줄이십시오. 중요한 데이터를 보호하려면 원하는 기간 기호가 있는 차트를 엽니다.

예, 당신은 무엇입니까!? 얼마나 많은 막대에서 응용 프로그램의 지표를 테스트했다고 생각합니까? 물어보지도 않았기 때문에 신경쓰지 않는 것 같습니다. 이 숫자는 5000입니다. 가능한 최소값입니다. 그리고 다시 차트를 여는 제안. 이해했습니다. 감사합니다. 이것을 문서에 추가하십시오(필요한 경우).

그리고 결승전.

현재 상황에 만족하지 못한다면 이 토론을 포럼으로 가져오도록 합시다. 여기에서 논의하는 것은 무의미합니다.

MT5에는 과거 데이터를 사용하는 완전히 다른 모델이 있습니다.

예, 현재 상황에 만족하지 않습니다. 사용자는 프로그램에서 버그를 찾습니다(그리고 저는 여전히 SeriesInfoInteger() 함수의 동작을 버그로 간주합니다). 그들은 무료로 그것을합니다. 그리고 당신은, 당신이 그들을 수정하고 싶지 않은 것이 아니라, 당신이 그들의 말을 듣고 싶지도 않고, 사용자가 제공하는 데이터를 봅니다. 그리고 사실을 적대적으로 인식하고 실수를 신경 쓰지 않는 것은 이번이 처음이 아닙니다. 개발자분들의 귀기울이고 앞으로 긍정적인 변화가 있기를 바랍니다. 그리고 현재의 태도로 당신 자신과 당신의 제품에 대한 태도를 대중화하지 않습니다.

읽어주셔서 감사합니다.

이 기능을 테스트하려는 사람이 있으면 표시기가 응용 프로그램에 있습니다.

 

"이 토론을 포럼으로 가져오자."

내 무례함이나 기억을 지우는 문제, 포럼에서 무엇에 대해 논의할 건가요?

 
Slawa :

그들은 당신에게 "이 토론을 포럼으로 가져오자."라고 말했습니다.

내 무례함이나 기억을 지우는 문제, 포럼에서 무엇에 대해 논의할 건가요?

그래서 포럼에 토론을 가져왔습니다. 호환되도록 합시다.

무례함에 대해. Servicedesk와 이야기하는 것이 항상 즐거운 것은 아닙니다. 위의 주장.

기능에 대해. 기능이 제대로 작동하지 않는다는 증거를 제시했습니다. 당신은 나에게 "목발"을 제공했습니다. 목발이 없는 경우를 제외하고는 올바른 작업이 불가능한 경우에는 이러한 목발에 대한 설명을 문서에 추가하여 향후 질문이 없도록 합니다.

 
나는 프로그래머에게 말을 부탁한다. SeriesInfoInteger() 함수의 이 동작에 만족하십니까? 언어 문서에 만족하십니까?
 
Alexey Kozitsyn :
나는 프로그래머에게 말을 부탁한다. SeriesInfoInteger() 함수의 이 동작에 만족하십니까? 언어 문서에 만족하십니까?

오래 전에 지표의 데이터 문제를 제기했습니다!

https://www.mql5.com/ru/forum/42180

문제가 해결되었다는 확신이 들었습니다.

이것은 1200의 릴리스 노트에도 작성되었습니다.

17. 터미널: MQL5 프로그램에서 정기적인 데이터 액세스에도 불구하고 이력 데이터가 사용되지 않은 것으로 언로드되는 버그를 수정했습니다.

그런데 왜 문제가 해결되지 않았 습니까?

ФОРТС Прошу помощи
ФОРТС Прошу помощи
  • www.mql5.com
Прошу откомпилировать этот код и "бросить" индикатор на символ MIX-6. - - Категория: автоматические торговые системы
 
Михаил :

오래 전에 지표의 데이터 문제를 제기했습니다!

https://www.mql5.com/ru/forum/42180

문제가 해결되었다는 확신이 들었습니다.

이것은 1200의 릴리스 노트에도 작성되었습니다.

17. 터미널: MQL5 프로그램에서 정기적인 데이터 액세스에도 불구하고 이력 데이터가 사용되지 않은 것으로 언로드되는 버그를 수정했습니다.

그런데 왜 문제가 해결되지 않았 습니까?

이 경우 MT4를 의미했습니다. 그러나 MT5의 경우 질문도 관련이 있습니다.

 
Alexey Kozitsyn :

이 경우 MT4를 의미했습니다. 그러나 MT5의 경우 질문도 관련이 있습니다.

아직 1200으로 업그레이드를 안해봐서 수정이 되었는지 안됐는지 확인을 못하겠네요.

하지만 MT5에는 그런 버그가 있었다

 
Михаил :

아직 1200으로 업그레이드를 안해봐서 수정이 되었는지 안됐는지 확인을 못하겠네요.

하지만 MT5에는 그런 버그가 있었다

이제 1204가 로드 중입니다. 봅시다.
 
Alexey Kozitsyn :
이제 1204가 로드 중입니다. 봅시다.
1200 (bcs-demo)을 확인했는데 수정 된 것 같습니다 :)
 
MT5 기능인 SeriesInfoInteger 를 사용하지 않고 대신 기존 기능인 MT4, iBars, iTime, MarketInfo 등을 사용하면 문제가 남아 있습니까?
 
네 번째에서 우리는 바로잡을 것입니다 - 우리는 사용하지 않는 차트의 공격적인 언로딩을 너무 지나쳤습니다.
사유: