오류, 버그, 질문 - 페이지 1626

 
Alexey Da :

모든 Expert Advisor에서 이 동작이 관찰됩니까?

그래도 로그는 아프지 않습니다. 서비스 데스크에 티켓을 제출하십시오.

아직 휴대전화에서 로그와 파일을 첨부할 수 없습니다. 약 500개의 최적화 매개변수가 있으며 매개변수 값은 0에서 2 사이입니다. 그러면 모든 것이 느립니다. 이전 빌드에서는 하루에 120,000개의 패스가 전달되었습니다.
 
Alexey Navoykov :

...그렇지 않으면 OnStart() { } 함수만 있는 완전히 비어 있는 스크립트가 400ms 이상 컴파일된다는 사실을 어떻게 설명할 수 있습니까!

물론 컴파일러를 작성하지는 않지만 프로젝트 범위에 전혀 의존하지 않는 특정 최소값이 있다고 확신합니다. 그것은 택시를 불러 다음 입구에 가는 것과 같습니다. 몇 미터를 움직인 것 같습니다. 돈으로 몇 코펙을 지불해야 하지만 최소 신고 가격 이 200r이라는 질문도 제기될 수 있습니다. 바로 거기에 가십시오. 왜 ?!
 
Alexey Oreshkin :
물론 컴파일러를 작성하지는 않지만 프로젝트 범위에 전혀 의존하지 않는 특정 최소값이 있다고 확신합니다. 그것은 택시를 불러 다음 입구에 가는 것과 같습니다. 몇 미터를 움직인 것 같습니다. 돈으로 몇 코펙을 지불해야 하지만 최소 신고 가격 이 200r이라는 질문도 제기될 수 있습니다. 바로 거기에 가십시오. 왜 ?!
글쎄, Yandex 택시 및 유사한 서비스의 출현으로 이것은 이미 다소 누그러졌습니다. 예, 모든 사람이 식사를 해야 하기 때문에 이 수치는 상당히 합리적입니다. 그러나 내가 제시한 수치는 수행되는 작업의 복잡성에 분명히 적절하지 않습니다.
 
Alexey Navoykov :

느린 MQL5 컴파일 문제에 대해 다시 언급하고 싶습니다. 약 3개월 전에 나는 이 주제를 제기하려고 했지만 어떤 이유에서인지 이해가 되지 않았고 내 주장이 충분히 설득력이 없었습니다. 따라서 모든 것이 거의 즉시 컴파일되는 이전 빌드(1159)로 롤백했습니다(새 컴파일러에서 내 프로젝트는 20초 만에 컴파일됨).

그리고 일주일 전에 저는 "신의 축복이 그들에게 20초만 주어집니다. 새로운 것을 위해 참을게요."라고 생각하면서 새로운 빌드로 전환하기 위해 새로운 시도를 했습니다. 당연히 새로운 조건에 맞게 코드를 약간 수정해야 했습니다. 그 과정에서 새로운 컴파일러의 몇 가지 버그를 발견했습니다(여기에 대해 썼습니다). 그리고 결과는 무엇입니까? 내 프로젝트는 이미 30초 동안 컴파일되었습니다! 이것이 프로젝트의 복잡성 때문인지 아니면 컴파일러의 다음 "복잡함" 때문인지 모르겠지만 이것은 어떤 프레임워크에도 맞지 않습니다.

이 프로젝트에는 약 700kb의 소스 코드가 있습니다. 이것은 수십 개의 mqh를 포함하는 Expert Advisor입니다. 모든 것이 OOP입니다. 이전에 큰 기능이 있기 때문에 감속이 가능하다고 썼습니다. 나는 이것들 중 몇 가지를 가지고 있었다. 글쎄, 나는 그것들을 작은 부분으로 부수었습니다. 효과는 0입니다.

그리고 가장 놀라운 것은 이 매우 긴 편집에서 의미가 없다는 것입니다. 프로그램의 속도는 이전 컴파일러와 동일하며 특별히 측정되었습니다. "도대체 뭐지?"라는 문구만 나옵니다.

컴파일러에 버그/결함이 있다는 강한 느낌이 듭니다. 그 때문에 처음부터 멍하게 쫓고 있습니다. OnStart() { } 함수만 있는 절대적으로 비어 있는 스크립트가 400ms 이상 컴파일된다는 사실을 다른 방법으로 설명할 수 있습니다! 더미에서 컴파일/최적화하는 데 시간이 너무 오래 걸릴 수 있다는 것은 이해할 수 없습니다. 글쎄, 거기에 작은 함수와 클래스를 추가하면 컴파일 시간이 어떻게 빠르게 증가하는지 관찰할 수 있습니다.

나는 내 하드웨어가 Core i5U와 확실히 거리가 멀다는 것을 즉시 알아차렸습니다. 그러나 이것은 내 프로젝트가 이전 컴파일러에서 1-2초 만에 컴파일되는 것을 방지하지 않습니다. 따라서 거기에 있는 더미는 일반적으로 즉시 컴파일됩니다.

그리고 저도 참고하겠습니다. 컴파일러는 이전에 컴파일된 조각의 캐싱뿐만 아니라 소스 코드의 신원에 대한 진부한 검사조차 완전히 부족합니다. 저것들. 프로젝트를 컴파일한 다음 아무 것도 변경하지 않고 다시 "컴파일" 버튼을 누르고 다시 같은 30초 동안 기다립니다. 글쎄, 어디가 맞는지...

MT 개발자와 대규모 프로젝트를 진행하는 포럼 회원의 의견을 듣고 싶습니다(이 문제에 관심이 있는 사람은 정말 저뿐인가요?), 누군가가 어떤 하드웨어에서 컴파일하는 데 얼마나 걸립니까? 실행 파일 컴파일에 대해 즉시 예약하십시오.

이것은 복잡한 구조에 관한 것이며, 종종 여기에 버그로 보고하는 실패가 자주 발생합니다. 사용하지 않으면 시간이 크게 단축됩니다. 예를 들어, 코드베이스의 모든 코드는 20초보다 훨씬 빠르게 컴파일됩니다. 매우 느린 랩톱의 빈 1368 빌드는 수십 ms를 컴파일합니다. 플레이할 코드를 주세요.
 
coderex :
그것이 내가 더 이상 아무것도 증명하려고 하지 않는 이유입니다. 게다가 플러스 프로젝트는 훨씬 더 오래 빌드되지만 훨씬 더 크지만 실행 파일 또는 라이브러리 파일당, 그리고 프로젝트에 대해 플러스 어셈블리에 몇 분 동안 익숙합니다. 최대 수십 분의 구조 디렉토리가있는 여러 파일의 :) 10-20 초를 기다리는 것은 문제가되지 않습니다 ...
MQL에서 그러한 프로젝트 가 얼마나 될 것인지 상상하는 것은 무섭습니다. 예, 본격적인 IDE에는 다양한 컴파일 모드가 있습니다. 대부분의 경우 디버깅으로 충분하지만 릴리스 빌드를 의미합니다. 그러나 MT에서는 이것을 기다릴 것입니다.
또한 미리 컴파일된 파일이 사용되므로 후속 빌드가 확실히 더 빠릅니다.
 
fxsaber :
이것은 복잡한 구조에 관한 것이며, 종종 여기에 버그로 보고하는 실패가 자주 발생합니다. 사용하지 않으면 시간이 크게 단축됩니다. 예를 들어, 코드베이스의 모든 코드는 20초보다 훨씬 빠르게 컴파일됩니다. 수십 ms를 컴파일하는 매우 느린 랩톱에 더미 1368 빌드가 있습니다. 플레이할 코드를 주세요.
모든 코드에 관해서 - 당신은 흥분하지 않습니까? 그런 자신감이 어디 있습니까? 당신은 그들 모두를 시도 했습니까?
그리고 복잡한 구조에 관해서는 - 이것은 단지 당신의 추측일 뿐입니다. 뭐가 그렇게 어렵니? 어떤 종류의 복잡성을 나타낼 수 있다면 구문 검증 단계에서만 즉시 수행됩니다. 이는 예를 들어 실행 코드가 생성되지 않는 mqh를 컴파일하여 볼 수 있습니다. 따라서 이 검사 후에 구문 구성의 모든 명백한 어려움이 이미 해결되었으며 컴파일러는 무엇이 어디로 가는지 명확하게 알고 있습니다. 그런 다음 실행 코드의 최적화 단계가 시작됩니다. 여기 이 문제가 있습니다.
알겠습니다. 컴퓨터에 있을 때 재생할 코드를 알려 드리겠습니다. 그러나 나는 약한 하드웨어에서 수십 ms에 대한 당신의 이야기에 이미 혼란스러워합니다. 우리는 정말로 같은 것에 대해 이야기하고 있습니까? .mq5 스크립트 파일? 그리고 어떤 프로세서가 있습니까?
 
-Aleks- :
링크는 특정 정보를 제공하지 않습니다.

첫 번째 메시지에 두 장의 사진이 있는 주제의 첫 페이지를 여는 것은 추측하기 어렵습니다 ???

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

Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
  • 리뷰: 1
  • www.mql5.com
Недавно один из национальных брокеров России Solid Financial Services запустил торговую платформу MetaTrader 5 с хеджинговой системой учета позиций...
 
Alexey Viktorov :

첫 번째 메시지에 두 장의 사진이 있는 주제의 첫 페이지를 여는 것은 추측하기 어렵습니다 ???

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

나는 첫 번째 사진을 보았고 그들의 웹사이트에는 5센트짜리 계정이 없습니다. 그런데 두 번째 사진에 그런 데이터가 있는데 거기에 겹침이 가능한지 명확하지 않습니까? 그리고 오픈 오더 수와 포지션 물량 의 한계에 부담을 주는데... 일반적으로 이것은 좋지 않습니다. 하지만 기회가 생겨서 좋습니다.

그러나 전체 코드를 다시 작성할 인센티브는 없습니다(복잡한 코드를 다시 작성하는 데 많은 비용을 지출하는 경우 포함).

 
-Aleks- :

나는 첫 번째 사진을 보았고 그들의 웹사이트에는 5센트짜리 계정이 없습니다. 그런데 두 번째 사진에 그런 데이터가 있는데 거기에 겹침이 가능한지 명확하지 않습니까? 그리고 오픈 오더 수와 포지션 물량 의 한계에 부담을 주는데... 일반적으로 이것은 좋지 않습니다. 하지만 기회가 생겨서 좋습니다.

그러나 전체 코드를 다시 작성할 인센티브는 없습니다(복잡한 코드를 다시 작성하는 데 많은 비용을 지출하는 경우 포함).

그렇다면 왜 그러한 이유를 발명할 필요가 있었을까요? 결국, 당신은 NO WAY라고 말할 수 있고 그렇지 않을 것입니다 ...

달러 계정에 거래할 돈이 없다면 주문 수와 수량에 어떤 제한이 있을 수 있습니까 ??? 이 모든 것이 이상합니다.

 
Alexey Viktorov :

그렇다면 왜 그러한 이유를 발명할 필요가 있었을까요? 결국, 당신은 NO WAY라고 말할 수 있고 그렇지 않을 것입니다 ...

달러 계정에 거래할 돈이 없다면 주문 수와 수량에 어떤 제한이 있을 수 있습니까 ??? 이 모든 것이 이상합니다.

나는 원하고 나는 할 것입니다 - 나는 이미 주문 작업에 대한 수업을 주문했습니다 - 나에게 맞는 방식 - 나는 연말까지 그 모습을 기다리고 있습니다.

나는 그리드와 역추세를 거래하고, 랏이 증가하더라도 많은 통화 쌍이 있기 때문에 많은 주문과 큰 포지션 볼륨 에 대한 지원이 필요합니다. 네 가지 방법으로 다양한 트릭을 통해 문제를 해결합니다. 다시 개발하고 구현해야 하는 경우 시간이 걸릴 뿐 재무 결과가 향상되지 않습니다.