MetaTrader 4 클라이언트 터미널 387 및 MetaTrader 4 데이터 센터 빌드 387의 새 버전 - 페이지 10

 
nen :

이것은 비주얼 모드 버그가 아닙니다. 이것은 정확히 표시기 버퍼를 0으로 만드는 것입니다 - 388 버전으로 버퍼를 다시 초기화합니다.

아아, 당신이 틀렸습니다. 이것은 IndicatorCounted()라는 메커니즘의 일반 작업입니다. 이력이 크게 변경되면 표시기 버퍼 를 재설정합니다(이 메커니즘은 모든 빌드에 있음).

이 경우 비주얼 모드에서 버그가 나타났습니다(실제로는 이것을 일주일 동안 찾지 못했습니다). 내가 이미 설명한 버그의 종류.

 
AlexSTAL :
나는 아래에 이 동작의 원인을 완전히 찾았습니다.

확인해주셔서 감사합니다. 이제 파기할 방법이 명확해졌습니다.

가능한 한 빨리 업데이트를 찾고 수정하여 릴리스하도록 노력하겠습니다.

 
AlexSTAL :
글쎄, 당신은 스스로 대답합니다.

나는 실수를 저질렀다. 최신 개발에서는 IndicatorCounted()가 사용되지 않는다. ZUP에서는 그냥 적용됩니다. 또한 이 재초기화를 catch하지 않습니다.
 
터미널에 버그가 있으며 마지막 빌드, 즉 iBands 표시기 에서 편차 0.8 매개변수를 지정할 때 0으로 설정됨을 알려드립니다. 1보다 작은 모든 표시는 0을 넣습니다.이 매개 변수는 int를 참조하고 정수여야 한다는 것을 알고 있습니다.그러나 표시를 차트에 첨부할 때 편차 값을 1보다 작게 설정할 수 있습니다. 차트에 1 미만을 넣을 수 있지만 Expert Advisor에는 안되는 이유는 무엇입니까?
 
VOLDEMAR :
터미널에 버그가 있으며 마지막 빌드, 즉 iBands 표시기에서 편차 0.8 매개변수를 지정할 때 0으로 설정됨을 알려드립니다. 1보다 작은 모든 표시는 0을 넣습니다.이 매개 변수는 int를 참조하고 정수여야 한다는 것을 알고 있습니다.그러나 표시를 차트에 첨부할 때 편차 값을 1보다 작게 설정할 수 있습니다. 차트에 1 미만을 넣을 수 있지만 Expert Advisor에는 안되는 이유는 무엇입니까?
내가 기억하는 한 항상 그랬다. 그렇지 않은 경우 Slava(stringo)가 저를 수정합니다.
 
VOLDEMAR :
터미널에 버그가 있으며 마지막 빌드, 즉 iBands 표시기에서 편차 0.8 매개변수를 지정할 때 0으로 설정됨을 알려드립니다. 1보다 작은 모든 표시는 0을 넣습니다.이 매개 변수는 int를 참조하고 정수여야 한다는 것을 알고 있습니다.그러나 표시를 차트에 첨부할 때 편차 값을 1보다 작게 설정할 수 있습니다. 차트에 1 미만을 넣을 수 있지만 Expert Advisor에는 안되는 이유는 무엇입니까?

네. 전달된 매개변수의 유형을 보십시오.

그는 INT 입니다

그래서 iCustom BBands를 사용 하십시오

 
sergeev :

네. 전달된 매개변수의 유형을 보십시오.

그는 INT 입니다

그래서 iCustom BBands를 사용하십시오

사용 방법?????

한 번도 사용하지 않은...

 
VOLDEMAR :

사용 방법?????

한 번도 사용하지 않은...

시작하기에 좋은 곳입니다. 항상 처음으로 뭔가가 있습니다. :)
 

일반적으로 문제는 여기서 논의된 것보다 약간 더 넓습니다. 터미널에는 터미널이 지금 무엇을 하고 있는지 직접 "질문"할 수 있는 일부 코드(비트 세트)를 반환해야 하는 GetTerminalState 와 같은 기능이 분명히 부족합니다 . 예를 들어, IsConnected(다시 로그인한 후 항상 결과를 올바르게 반환하지는 않음)는 예 또는 아니오만 보고합니다. 나는 자세히 설명하고 싶습니다:

- 오프라인(연결을 시도했지만 작동하지 않음, 아무 것도 하지 않음)

- 연결(연결 시도)

- 연결됨(서버와 연결됨)

후자의 경우에는 다음과 같은 설명도 필요합니다.

- HistoryOrdersLoading, HistoryOrdersLoaded (업로드, 전체 주문 내역 업로드 . 대용량 내역의 경우 시간이 많이 걸리며 터미널에 이미 모든 내역이 있음을 알고 싶습니다.)

HistoryBarsLoading, HistoryBarsLoaded

주문을 처리할 때 주문 개시 명령이 전송되었고 이제 터미널이 주문이 열리거나 수정되거나 닫히기를 기다리고 있다는 사실을 아는 것은 전혀 불필요한 일이 아닙니다. 결국, 주문은 즉시 실행되지 않으며, 터미널이 지금 정확히 무엇에 대해 생각하고 있는지 아는 것이 좋을 것입니다(틱이 계속되고 터미널이 어떤 이유로 거래되지 않습니다 - 왜?) ;)

전문가의 작업/교역 허가 상태도 여기에서 "포장"할 수 있습니다.

 
nen :

좋은.

시력검사를 하고 있습니다. 이동 평균 전문가 고문.

ZUP을 설치합니다.

유로. 시계.

내 확장 코드는 히스토리 페이징을 추적합니다. 즉, 히스토리가 스왑될 때 재초기화가 발생합니다.

이 스레드의 앞부분에서 코드 조각을 게시했습니다. 모두 최적화입니다.

나는 사진을 게시합니다. 내 "무게 자란" 코드는 그림을 그리기 위한 것입니다. 그게 전부입니다. 그는 자동 거래를 하지 않습니다. 그리고 그림이 잘못 그려지면 이것은 버그입니다.

첫 번째 사진입니다. 작은 이야기. 하나의 광선이 나타났습니다. 모든 것이 정상입니다.

테스트 시작 직후에 여러 개의 지그재그 광선이 그려지고 나비가 그려졌습니다. 비행은 정상입니다.

우리는 더 멀리 날아갑니다. 귀하의 재초기화가 발생했습니다. 프로그램은 이것을 추적할 수 없습니다. 재초기화를 추적할 수 있는 정기적인 가능성은 없습니다.

계산 최적화가 활성화되어 있고 완전한 재계산에 대한 신호가 없었으므로 결과가 표시됩니다.

약간의 새로운 역사가 축적되었습니다. 지그재그의 한 광선이 그려졌습니다.

지금 표시기를 다시 설치하면 초기 초기화가 수행되고 모든 것이 다음과 같이 표시됩니다.

등. 표시기 버퍼의 재초기화를 추적하기 위한 표준 기능은 없습니다.

그리고 각 눈금의 표시기를 다시 계산하는 것에 대해 걱정하지 마십시오. 그런 잔학 행위를 스스로하십시오. 당신은 오랫동안 이 정신으로 많은 일을 했습니다. 그리고 우리가 수년 동안 많은 버그에 대해 아무리 많이 말해도 귀하에게 도달하지 못했습니다. 그리고 이제 많은 프로그래머가 단순히 당신과 싸우는 데 지쳐서 자신의 실수에 대한 해결 방법을 만들었을 때 비열한 태도를 취하기 시작합니다.

귀하의 코드는 더욱 성장했습니다. 그리고 당신은 혁신의 결과에 대해 잘 모릅니다.

우리는 더 테스트합니다.


다시, 귀하의 재초기화는 여러 번 거쳤습니다. 다음과 같이 표시되어야 합니다.

재현이 어렵나요? 아니면 그냥 욕망이 없습니까?

그리고 같은 정신으로 모든 것을 테스트할 때.

아픈 머리에서 건강한 머리로 버릴 필요는 없습니다. 코드가 성장했습니다.

-------

결론적으로 반복하겠습니다. 나는 나 자신에 대해 걱정하지 않습니다. 나 자신을 위해 프로그래밍 방식으로 버그를 우회할 수 있습니다. 그러나 엄청난 수의 사용자가이 작업을 수행 할 수 없습니다.

추가하겠습니다. 저는 아직 지표를 판매하지 않았으며 유료 개발을 한 번도 하지 않았습니다. 메타쿼트 회사가 387-388 빌드와 같이 모든 것을 근본적으로 바꿀 수 있다면 외부에서 아무도 MQL(*) 언어를 사용하여 정상적인 개발 비즈니스를 구축할 수 없을 것이라고 생각합니다. 아직 타사 개발자에게 안정적인 개발 기반을 제공할 수 없습니다.

그리고 현재 나는 귀하의 언어를 사용하는 모든 유료 개발을 일종의 사기로 간주합니다.


설명된 대로 모든 작업을 수행했습니다. 그러나 몇 가지 변경 사항이 있습니다.

  1. 클라이언트 터미널에서 OUR 버퍼가 다시 초기화될 때 출력을 로그에 넣습니다.
  2. ZUP 인디케이터에는 나비를 제거했을 때 출력물을 넣어두었습니다.

여기 로그가 있습니다.

 15 : 45 : 16 Compiling 'ZUP_v92'
15 : 45 : 16 ZUP_v92 EURUSD,H1: loaded successfully
15 : 45 : 40 ZUP_v92 EURUSD,H1: initialized
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1095   IndicatorCounted= 0
15 : 45 : 40 ZUP_v92 EURUSD,H1: triangle deleted
15 : 45 : 40 ZUP_v92 EURUSD,H1: triangle deleted
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1095   IndicatorCounted= 0
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1095   IndicatorCounted= 1094
15 : 45 : 41 custom indicator ZUP_v92 EURUSD,H1 buffer reinitialize
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 0
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 0
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
...
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 08 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 08 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 08 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 08 ZUP_v92 EURUSD,H1: triangle deleted
...
15 : 55 : 15 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 15 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 15 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 15 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1035
15 : 55 : 24 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 24 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036

마지막 나비 삭제(두 개의 삼각형 삭제 라인) 후 버퍼 재초기화는 없었습니다!

덧붙여서 좋아하는 225 빌드에서도 같은 동작을 재현