캔버스 멋지다! - 페이지 81

 
Dmitry Fedoseev 물건을 다루려고 할 때 발생합니다.

문제에 대한 해결책은 EA에 있습니다:

ObjectFind()가 필요하지 않을 수도 있습니다.

문제와 함께 코드를 첨부했다면 어제 이미 문제가 해결되었을 것입니다.

이것은 전혀 문제가 아닙니다.
이 문제 (온차트 이벤트 멈춤)는 MT4에만 존재하며, 전혀 명확하지 않습니다. 저도 오랫동안 괴로워했습니다. 하지만 이미 약 1년 전에 이 스레드에서 논의되었습니다.

 
Nikolai Semko #:

전혀 문제가 되지 않습니다.
이 문제는 MT4에만 존재하며 전혀 분명하지 않습니다. 나는 아주 오랫동안 나 자신을 괴롭혔다. 하지만 약 1년 전에 이미 이 스레드에서 논의되었습니다.

나는 문제가 무엇인지 전혀 모르고 원인과 해결 방법을 썼습니다. 하지만 계속 고통받을 수 있습니다 ...

 
Dmitry Fedoseev #:

그리고 문제가 무엇인지 전혀 모르고 원인과 해결 방법 만 썼습니다. 하지만 계속 고통받을 수 있습니다.

이 말은 돌에 새겨 져야합니다! :))
 
Dmitry Fedoseev #:

그리고 문제가 무엇인지 전혀 모르고 원인과 해결 방법 만 썼습니다. 하지만 계속 고통받을 수 있습니다.

단위 문제는 그것과 아무 관련이 없습니다. 이 문제는 MT5에서만 발생합니다. 그리고 여기서 우리는 MT4에 대해 이야기하고 있습니다.

 
Nikolai Semko #:

당신은 이상한 사람입니다.
질문을 할 때 다른 사람들이 자신의 코드와 수백 줄의 코드를 이해하기를 원하지만, 정작 답변에 침투하여 백 줄의 코드를 들여다 보려고 하지도 않습니다.

알았어요. 제가 더 쉽게 해드리겠습니다.
온차트이벤트에서 온타이머로 모든 코드를 번역합니다. 타이머를 30밀리초로 설정합니다. 전역 변수(터미널이 아닌)만 입력해야 하며, OnChartEvent에서 업데이트해야 하고 OnTimer에서 재설정(bool)해야 합니다 .
변수는
다음과 같을 수 있습니다 .

저에게는 전혀 명확하지 않았습니다. 앞서 제공한 링크를 통해 이 문제는 오래된 문제이며, 시장에서 10,000회 이상 판매한 저자도 그 해결책을 찾았다는 것을 알게 되었습니다.

그리고 이것은 개체가 있는 모든 MT4 전문가 어드바이저에 적용되므로 수많은 사용자가 이 문제에 직면했습니다. 그들은 시장에 나와있는 저자에게 글을 쓰지만 그들은 해결책을 모릅니다. 그렇기 때문에 이 문제를 해결하는 것이 매우 중요했습니다.

GIF(작업성 증명)를 보면서 저는 이 접근 방식을 제 제품에 구현하기로 결심했습니다. 아마 내일 앉아서 실험하고 다시 보고할 것입니다.
 
Vitaliy Kuznetsov #:

저에게는 전혀 분명하지 않았습니다. 앞서 제공한 링크를 통해 이 문제는 오래된 문제이며 시장에서 10,000회 이상 판매한 저자들도 해결책을 찾았다는 사실을 알게 되었습니다.

그리고 이것은 객체가있는 모든 MT4 전문가 고문에게 적용되므로 수많은 사용자가이 문제에 직면했음을 의미합니다. 그들은 시장에 나와있는 저자에게 글을 쓰지만 그들은 해결책을 모릅니다. 그렇기 때문에 이 문제를 해결하는 것이 매우 중요했습니다.

GIF를 보면서 저는 이 접근 방식을 제 제품에 구현하기로 결심했습니다. 아마 내일 앉아서 실험하고 다시보고 할 것입니다.


그러나 지연없이 작동합니다.

 
Nikolai Semko #:


하지만 지연 없이 작동합니다.

먼저, 감사합니다!

흠, 주어진 코드 내에서 작동하는 것 같습니다. 하지만 여전히 EA와 충돌합니다. 예를 들어 여기 - https://www.mql5.com/ru/code/35440.

다른 EA에서도 확인했습니다. EA의 코드를 개선해야겠습니다. 문제는 여전히 관련이 있습니다.
cm partial closing position
cm partial closing position
  • www.mql5.com
Советник закрывает позиции частями и переводит их в безубыток.
 
Vitaliy Kuznetsov #:

먼저, 감사합니다!

흠, 주어진 코드 내에서 작동하는 것 같습니다. 하지만 여전히 EA와 충돌합니다. 예를 들어 여기 - https://www.mql5.com/ru/code/35440.

다른 EA에서도 확인했습니다. EA의 코드를 개선해야겠습니다. 여전히 문제입니다.


예, EA의 코드를 조정하여 OnChartEvent에 계산이 없도록 해야 합니다 .
규칙은 간단합니다:
- 이벤트 및 좌표의 전역 변수(터미널이 아님)는 OnChartEvent에 채워야 하지만 번거로운 계산이 있는 함수는 실행하지 않아야 합니다.
- 이러한 함수의 모든 호출은 이벤트 변수에 따라 타이머에서 수행해야합니다.
- 이벤트가 처리 된 후 타이머에서 이러한 이벤트를 재설정하여 타이머의 다음 반복에서 동일한 작업을 다시 실행하지 않도록해야합니다.

반복합니다 - 이것은 MT4에서만 멈추는 OnChartEvent의 버그입니다

재미있는 점은 MQ가이 버그를 수정하면 분명히 기본적 인 버그 ( OnChartEvent내부에 약 10 밀리 초의 계산이 있으면 멈춤) 타이머의 도움으로 너무 쉽게 수정되면 많은 사람들이 OnChartEvent가 적극적으로 사용되는 지표 또는 전문가 조언자를 다시 컴파일 한 후 모든 것이 날고 있음을 알게 될 것입니다 :)))
또는 사람들이 MT5로 전환하도록 만드는 인위적인 버그일 수도 있습니다 ;))))

 
Nikolai Semko #:


예, OnChartEvent에 계산이 없도록 EA의 코드도 조정해야합니다 .
규칙은 간단합니다 :
- 이벤트 및 좌표의 전역 변수 (터미널 아님)는 OnChartEvent에 채워야하지만 번거로운 계산이있는 함수를 실행하지 마십시오.
- 이러한 함수의 모든 호출은 이벤트 변수에 따라 타이머에서 수행해야합니다.
- 이벤트가 처리 된 후 타이머에서 이러한 이벤트를 재설정하여 타이머의 다음 반복에서 동일한 작업을 다시 실행하지 않도록해야합니다.

반복합니다 - 이것은 MT4에서만 멈추는 OnChartEvent의 버그입니다

재미있는 점은 MQ가이 버그를 수정하면 분명히 기본적 인 버그 ( OnChartEvent내부에 약 10 밀리 초의 계산이 있으면 멈춤) 타이머의 도움으로 너무 쉽게 수정되면 많은 사람들이 OnChartEvent가 적극적으로 사용되는 지표 또는 전문가 조언자를 다시 컴파일 한 후 모든 것이 날고 있음을 알게 될 것입니다 :)))
또는 사람들이 MT5로 전환하도록 만드는 인위적인 버그일 수도 있습니다 ;))))

일반적인 인디케이터 코드 개선 방법으로는 객체를 사용하는 폐쇄형 코드에서 EA와의 충돌을 해결할 수 없다는 것이 밝혀졌습니다.

EA를 개선하면 모든 대시보드 인디케이터와의 충돌이 전 세계적으로 해결되기를 바랍니다(이것이 제 과제입니다).

MT4 빌드 1353 스레드에 썼으니 터미널 프로그래머가 주목할 것입니다.

추신 나는 올빼미와 스키가 가지 않은 무언가를 변경했습니다 ...

 
Vitaliy Kuznetsov #:


추신: 올빼미와 스키가 가지 않은 부분을 수정했습니다....

온차트 이벤트에 루프와 다른 함수의 호출이 남아 있지 않은 것이 확실합니까 ?
온타이머(또는 온차트 이벤트 ) 에서 일어나는 일의 계산 시간을 GetMicrosecondCount()로 측정하세요 .

사유: