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

 

나는 모호함이 하나의 설명을 참조하는 것으로 봅니다. 이것이 어떻게 나타납니까?

설명하겠습니다. 새 틱이 도착하면 0.5초 동안 멈춘 다음 아무 기능도 실행되지 않습니다. 그 후 중지된 기능이 이미 실행된 것처럼 실행이 계속됩니다.

예를 들어 배열의 번호를 1 2 3 4 5 6으로 지정하고 동시에 숫자 4에 눈금이 표시되면 배열은 다음과 같이 번호가 매겨집니다. 1 2 3 5 6

(이것은 특정 구현이 아닌 좋은 예입니다).

하지만 똑같이 한다

각 반복에서 볼은 한 위치만큼 이동합니다.

틱이 도착하면 일부 공이 디스플레이에서 완전히 떨어질 수 있습니다(스크립트의 지연을 500 미만으로 설정하면 명확하게 볼 수 있습니다. 음, 다른 시스템에 대해 다른 방식으로, 강력한 시스템에서 가능합니다. 글리치가 나타나려면 지연이 100이어야 함),

그런 다음 새 반복에서 복원됩니다. 배경을 로드할 때 동일한 일이 발생합니다(이는 특히 고해상도 4-3단계 이하에서 분명합니다).

개체가 너무 많은 배경의 로딩 시간이 각각 더 길고 새로운 틱의 압력을 받을 확률이 더 높기 때문에 더 작은 단계에서 더 자주 나타납니다.

 
stringo :

틱이 클라이언트 터미널에 도착하면 시장 개요, 히스토리, 공개 차트 에서 한 번에 여러 위치에 적용되어야 합니다. 동시에 지표도 다시 계산됩니다. 그리고 어떻게 원하셨어요?

코어가 하나 있고 동시에 차트가 최대로 열려 있으면 물론 다른 구성 요소의 실행 속도가 느려집니다. 리소스를 공유해야 합니다.

일반적으로 질문의 이상한 표현. OnTick()은 무엇과 관련이 있습니까? 그리고 다른 기능의 작업에 어떻게 침입합니까?

하나의 MT-5 프로그램이 시스템에서 비주얼 모드로 실행되고, 하나의 차트가 MT-5에서 열리고, 하나의 스크립트(또는 고문)가 차트에서 실행됩니다.

그리고 이 모든 것을 가지고 객체의 좌표를 변경하려면 새 틱이 도착할 때 컴퓨터 시간이 충분하지 않습니다 ????

 
Urain :

그리고 이 모든 것을 가지고 객체의 좌표를 변경하려면 새 틱이 도착할 때 컴퓨터 시간이 충분하지 않습니다 ????

매우 경제적이지 않은 방식으로 그려진 3600개의 레이블 텍스트 개체가 동시에 화면에 있다는 것을 잊지 마십시오(글꼴로 원을 그리는 것은 분명히 근시안적입니다).

3600개 개체 대신 하나의 BMP 사진을 더 잘 넣으십시오. 그러면 속도가 즉시 중지됩니다.

3600개의 물체로 이루어진 기질이 없으면 모든 것이 날아갑니다.

 
Renat :

매우 경제적이지 않은 방식으로 그려진 3600개의 레이블 텍스트 개체가 동시에 화면에 있다는 것을 잊지 마십시오(글꼴로 원을 그리는 것은 분명히 근시안적입니다).

3600개 개체 대신 하나의 BMP 사진을 더 잘 넣으십시오. 그러면 속도가 즉시 중지됩니다.

3600개의 물체로 이루어진 기질이 없으면 모든 것이 날아갑니다.

이것은 내 원래 계획이었습니다 (현재 시장 상황에 따라 실제로 백그라운드에서 생성되어야 함).

그러나 여기에서는 점으로 배경을 만드는 것으로 밝혀졌으며 gif로만 저장됩니다.

당신은 bmp를 다운로드해야,

이러한 mql 도구는 여기에서 대처할 수 없습니다. 형식을 번역하려면 타사 로션이 필요합니다(하지만 저는 mql에서 모든 것을 하고 싶었습니다).

추신: 일반적으로 그래픽 측면에서 저에게 가장 큰 문제는 주어진 좌표에서 화살표를 그릴 수 없다는 것입니다.

(그리고 당신은 그것을 가격과 시간에 연결해야 합니다).

매개변수 Step=3인 ZYZY가 3600개 있는 경우 일반적으로 40,000개가 있습니다.

 

분명히 우리는 편집 가능한 비트맵의 형태로 새로운 그래픽 개체와 그것에 대한 기본 작업 세트를 만들 것입니다.

따라서 하나의 개체 안에 복잡한 그래픽을 그릴 수 있으므로 수백 수천 개의 개체를 관리할 필요가 없습니다.

 
Renat :

분명히 우리는 편집 가능한 비트맵의 형태로 새로운 그래픽 개체와 그것에 대한 기본 작업 세트를 만들 것입니다.

따라서 하나의 개체 안에 복잡한 그래픽을 그릴 수 있으므로 수백 수천 개의 개체를 관리할 필요가 없습니다.


그것은 좋을 것입니다. 그렇지 않으면 나는 4에서 그러한 상황을 자주 접했습니다.

글쎄, 당신이 무엇보다도 먼저 거래 주문 에 투자했고 그래픽이 두 번째로 중요하다는 것이 분명합니다.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 

모든 것이 비활성화되고 자동 거래가 비활성화되며 메시지가 오고 있습니다. 전문가가 일하고 있다는 것이 밝혀졌습니다. 이것은 전문가의 메시지입니다. 그러면 안됩니다.

 
Prival :

모든 것이 비활성화되고 자동 거래가 비활성화되며 메시지가 오고 있습니다. 전문가가 일하고 있다는 것이 밝혀졌습니다. 이것은 전문가의 메시지입니다. 그러면 안됩니다.

내가 아는 한 "자동 거래" 금지가 Expert Advisor의 운영 금지를 의미하지는 않습니다. 분명히 EA 코드 에는 거래 작업 에 발생할 수 있는 문제에 대한 추가 검사가 없습니다...
 
Prival :

모든 것이 비활성화되고 자동 거래가 비활성화되며 메시지가 오고 있습니다. 전문가가 일하고 있다는 것이 밝혀졌습니다. 이것은 전문가의 메시지입니다. 그러면 안됩니다.

맞아요 전문가의 작업은 금지가 아니라 자동매매만 금지

여기 도움말에서

Разрешить/запретить совершение торговых операций советниками и скриптами. Функция данной кнопки аналогична настройке терминала на вкладке "Советники" .

나는 이 금지가 터미널에서 나온 것임을 이해합니다.

따라서 주문 시 로그에 오류 메시지가 표시되지 않도록 하기 위해서는 거래 주문 전에 AccountInfoInteger(ACCOUNT_TRADE_EXPERT) 함수를 사용해야 합니다.

 

거래만 금지되며 EA가 작동하는 동안 해당 오류의 출력으로 거래를 시도합니다. 이를 방지하려면 터미널을 사용하여 거래 작업을 분석하기 전에 터미널의 상태 를 확인해야 합니다.

 if ( TerminalInfoInteger ( TERMINAL_TRADE_ALLOWED ))
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
사유: