내 접근 방식. 코어 - 엔진. - 페이지 47

 
Реter Konow :

오히려 나는 내 일에 대해 비판적이다. 그렇기 때문에 나는 항상 발전하고 있다.

아나톨리는 좋은 사람입니다. 이의가 없습니다. 도서관이 좋다.

하지만 오늘 보여드린 창도 아주 어렵게 만들 수 있습니다. 더 말할 것도 없습니다.

관심을 끌기 위해 여기에서 내 창을 반복하기 위해 작성해야 하는 코드를 작성하고 표시할 수 있습니다. 그러면 내 버전과 비교할 것입니다.

질문에 대한 질문: 해당 창이 필요한 이유와 반자동 거래에 어떻게 도움이 되는지 설명할 수 있습니까?

 
Реter Konow :

GUI 라이브러리를 작성한 이유는 무엇입니까?

MT4에서 그래픽 개체로 작업하는 것도 가장 노동 집약적입니다. 객체를 생성할 뿐만 아니라 많은 속성을 설정하는 것도 필요합니다. 그래픽 개체 작업을 단순화하기 위해 몇 가지 그래픽 개체를 빠르게 만들 수 있는 몇 가지 기능이 있습니다. MT5가 등장했을 때 모든 그래픽 개체에는 더 많은 속성이 있었고 기능에 대한 매개 변수 수가 너무 많아 바보처럼 보였습니다. 따라서 새로운 조건에서 그래픽 개체 작업을 단순화하는 방법에 대한 질문이 제기되었습니다. OOP가 등장한 이후로 그 응용도 고려되었다. 결과적으로 처음에는 하나의 그래픽 개체로 빠르게 작업할 수 있는 클래스가 있었습니다. 그런 다음 여러 복합 요소를 만드는 아이디어가 떠올랐습니다. 나는 그 아이디어가 마음에 들었고 첫 번째 기사인 자신만의 컨트롤을 만드는 방법을 썼습니다. 모든 것이 어떻게 든 순조롭게 진행되었으며 2-3 주 동안 내 즐거움을 위해 표준 컨트롤과 유사한 여러 컨트롤이 생성되었고 라이브러리가 밝혀졌습니다. 두 번째 기사에 설명이 나와 있습니다. 세 번째 기사는 양식이지만 키트에는 다소 형식적이어서 라이브러리를 완성하기로 결정했으며 이를 위해 양식이 스스로 제안했습니다. 그런데 양식이 잘 안 맞아서 어떻게 하면 좋을지 생각이 안 났다. 물론 지금은 방법을 알고 있습니다. 또한 당시에는 마우스 이동 이벤트가 없었기 때문에 스크롤바가 이상하고 모양이 이상하게 드래그됩니다. 양식에 관해서는 - 프롬프트 대신에 그것을 가져 와서 해독했습니다. 그리고 라이브러리를 매우 편리하게 만들기 위해 꽤 많은 작업이 있습니다. 마무리 짓고, 스크롤바를 다시 만들고, 폼을 드래그 앤 드롭하고, 폼 자체를 다르게 만들어 클래스를 공백으로 복사하지 않고, 객체를 만들고 거기에 컨트롤을 붙일 생각도 있다.

 
Vitaly Muzichenko :

질문에 대한 질문: 해당 창이 필요한 이유와 반자동 거래에 어떻게 도움이 되는지 설명할 수 있습니까?

반자동 거래는 완전 자동 또는 수동 거래와 마찬가지로 이해할 수 없고 재정적으로 해로운 "쓰레기"입니다.

거래자가 관심을 가질 수 있는 또 다른 유형의 거래입니다.

 
Artyom Trishkin :

당신이 적합하다고 생각하는대로 고려하십시오. Anatoly의 기사에 대한 토론을 다시 읽을 수 있습니다. 경쟁하려는 시도가 있습니다. 그러나 Anatoly는 오래 전에 "소음과 먼지 없이" 겸손하고 효율적으로 전문적으로 모든 것을 수행했으며 여전히 자신을 칭찬합니다.

문제는 - 그것을 사용하는 방법입니다. 50개의 기사를 읽어야 합니까? 그리고 동시에 역설적으로 "단순하고 빠름"이라고 합니다.

 
Dmitry Fedoseev :

문제는 - 어떻게 사용합니까? 50개의 기사를 읽어야 합니까?

나는 기사없이 어떻게 든 빨리 모든 것을 이해했습니다. 나는 그것들을 물론 읽었습니다. 나는 나가서 모바일로 읽었습니다. 설명되는 내용을 이해합니다. 그러나 객체를 만들고 작업하는 것은 Peter보다 쉽습니다. OnInit()에서 속성 설명으로 필요한 수의 개체를 만들고 OnChartEvent()에서 메시지를 사용합니다. 일반 이벤트 모델.

나중에 라이브러리를 직접 퍼왔습니다. 크로스 플랫폼으로 만들고, 재초기화 중에 원래 상태로 재설정되지 않도록 생성된 모든 개체의 값을 저장하고, 개체와의 많은 상호 작용을 위한 사운드를 추가했습니다. 기본 및 개별 및 비활성화됨 - 지속적으로 울리고 차임벨이 울리지 않도록) , 탐닉하고 버려짐 - 자신의 아이디어가 있습니다. Anatoly의 라이브러리는 프로그램에서 new를 사용하여 즉석에서 개체를 생성하는 것을 허용하지 않으며 둘 이상의 창을 활성화하는 것을 허용하지 않습니다... 일반적으로 개발의 여지가 있습니다. 그러나 이것은 그에게 질문입니다. 또는 자신에게 - 자신의 필요에 필요한 모든 것을 수행하고 필요한 모든 대상과 사용 가능성.

 
Artyom Trishkin :

나는 기사없이 어떻게 든 빨리 모든 것을 이해했습니다. 나는 그것들을 물론 읽었습니다. 나는 나가서 모바일로 읽었습니다. 설명되는 내용을 이해합니다. 그러나 객체를 만들고 작업하는 것은 Peter보다 쉽습니다. OnInit()에서 속성 설명으로 필요한 수의 개체를 만들고 OnChartEvent()에서 메시지를 사용합니다. 일반 이벤트 모델.

나중에 라이브러리를 직접 퍼왔습니다. 크로스 플랫폼으로 만들고, 재초기화 중에 원래 상태로 재설정되지 않도록 생성된 모든 개체의 값을 저장하고, 개체와의 많은 상호 작용을 위한 사운드를 추가했습니다. 기본 및 개별 및 비활성화됨 - 지속적으로 울리고 차임벨이 울리지 않도록) , 탐닉하고 버려짐 - 자신의 아이디어가 있습니다. Anatoly의 라이브러리는 프로그램에서 new를 사용하여 즉석에서 개체를 생성하는 것을 허용하지 않으며 둘 이상의 창을 활성화하는 것을 허용하지 않습니다... 일반적으로 개발의 여지가 있습니다. 그러나 이것은 그에게 질문입니다. 또는 자신에게 - 자신의 필요에 필요한 모든 것을 수행하고 필요한 모든 대상과 사용 가능성.

객체는 아마도 new를 통해 생성될 수 있습니다. 불가능할 수는 없습니다. 아니면 정말 불가능합니까? 그러나 양식 생성은 저처럼 어리석고 표준 라이브러리에서도 동일합니다. 양식을 공백으로 복사해야 합니다. 흥미롭게도 그들은 나를 너무 비난했고 내 양식에 대해 거의 파문을 일으킬 뻔했지만 그들 자신은 그 지점에서 아무데도 움직이지 않았습니다.

 

이것이 속도.. 이것이 속도입니다!

60km를 이동하는 동안 15 페이지가 주제에 던져졌습니다. 4(!!)km당 총 1페이지 ;-)

Peter는 언제 코어와 코어 엔진을 움직일 것입니까? 그는 시간이 없습니다.

 
Dmitry Fedoseev :

객체는 아마도 new를 통해 생성될 수 있습니다. 불가능할 수는 없습니다. 아니면 정말 불가능합니까? 그러나 양식 생성은 저처럼 어리석고 표준 라이브러리에서도 동일합니다. 양식을 공백으로 복사해야 합니다. 흥미롭게도 그들은 나를 너무 비난했고 내 양식에 대해 거의 파문을 일으킬 뻔했지만 그들 자신은 그 지점에서 아무데도 움직이지 않았습니다.

예, 거기에서 그는 100개의 창에 대해 동일한 코드를 100번 반복해야 하지만 자신의 매개변수를 사용합니다. 나는 이것을 제거했습니다 - 각 컨트롤 에 대해 생성을 위한 보편적인 방법을 만들었습니다 - 각 요소에 필요한 매개변수만 입력하십시오. 따라서 생성하기가 매우 쉬웠습니다. 창이 필요합니다. CreateWindow(초기, 개별, 매개변수) 등. 그런 다음 요소가 생성되면 여기에 작은 것을 추가하거나 기본값으로 둘 수 있습니다.

즉, 대략(구조적으로) 다음과 같습니다.

CreateWindow(0);

CreateButton(1,0,координаты);

CreateButton(2,0,координаты);

...

CreateNuclearBomb(1,0,координаты);

...

글쎄, 이것은 두 개의 버튼과 하나의 원자 폭탄이있는 하나의 창 모양으로 이미 충분합니다. :)

하지만 나는 Anatoly의 라이브러리를 재작업했습니다. 그에게는 더 어려운 일인 것 같아요.

new로 생성에 관해서는-그가 거기에 있습니다. 내 기억이 저에게 도움이된다면-나는 오랫동안 코드를 살펴 보지 않았습니다-글로벌 수준에 하나의 개체가 있으며 모든 요소를 만들고 관리하는 작업이 이미 진행 중입니다. 그것에서.

물론, new에 의해 생성된 여러 라이브러리를 배치할 목록을 만든 다음 타이머와 이벤트에서 이러한 목록을 볼 수 있으며 그 안에서 어떤 일이 발생하는지 확인할 수 있습니다. 그러나 한 번 시도했습니다. 이러한 각 개체는 인접한 개체의 동작에 반응했습니다. 하나의 창을 움직이면 나머지도 날아갑니다. 글쎄, 나는 또한 이해하기 위해 던졌다. 시간이 없다.

 
Artyom Trishkin :

예, 거기에서 그는 100개의 창에 대해 동일한 코드를 100번 반복해야 하지만 자신의 매개변수를 사용합니다. 나는 이것을 제거했습니다 - 각 컨트롤에 대해 생성을 위한 보편적인 방법을 만들었습니다 - 각 요소에 필요한 매개변수만 입력하십시오. 따라서 생성하기가 매우 쉬웠습니다. 창이 필요합니다. CreateWindow(초기, 개별, 매개변수) 등. 그런 다음 요소가 생성되면 여기에 작은 것을 추가하거나 기본값으로 둘 수 있습니다.

즉, 대략(구조적으로) 다음과 같습니다.

CreateWindow(0);

CreateButton(1,0,координаты);

CreateButton(2,0,координаты);

...

CreateNuclearBomb(1,0,координаты);

...

글쎄, 이것은 두 개의 버튼과 하나의 원자 폭탄이있는 하나의 창 모양으로 이미 충분합니다. :)

하지만 나는 Anatoly의 라이브러리를 재작업했습니다. 그에게는 더 어려운 일인 것 같아요.

new로 생성에 관해서는-그가 거기에 있습니다. 내 기억이 저에게 도움이된다면-나는 오랫동안 코드를 살펴 보지 않았습니다-글로벌 수준에 하나의 개체가 있으며 모든 요소를 만들고 관리하는 작업이 이미 진행 중입니다. 그것에서.

물론, new에 의해 생성된 여러 라이브러리를 배치할 목록을 만든 다음 타이머와 이벤트에서 이러한 목록을 볼 수 있으며 그 안에서 어떤 일이 발생하는지 확인할 수 있습니다. 그러나 한 번 시도했습니다. 이러한 각 개체는 인접한 개체의 동작에 반응했습니다. 하나의 창을 움직이면 나머지도 날아갑니다. 글쎄, 나는 또한 이해하기 위해 던졌다. 시간이 없다.

CreateWindow(0) 및 CreateButton()에 대한 0 매개변수는 무엇입니까? CreateWindow(0)의 경우 이것은 창 식별자이고 CreateButton()의 경우 버튼이 양식 0에 있음을 의미합니다. 아니면 전혀? 하나의 양식만 가능하고 모든 컨트롤 이 해당 양식에 있습니까?

 
Dmitry Fedoseev :

CreateWindow(0) 및 CreateButton()의 0 매개변수는 무엇입니까? CreateWindow(0)의 경우 이것은 창 식별자이고 CreateButton()의 경우 버튼이 양식 0에 있음을 의미합니다. 아니면 전혀? 하나의 양식만 가능하고 모든 컨트롤이 해당 양식에 있습니까?

각 요소는 다른 요소에 연결될 수 있습니다. "0"이 무엇인지 올바르게 이해했습니다. 이것은 요소 식별자입니다. GUI를 구축하는 원리를 도식적으로 묘사했습니다. 그리고 버튼에 등록되어 이 창에 붙게 됩니다. 어떤 요소에서도 창에 대한 링크를 작성하지 않았다면 차트에 첨부되었을 것입니다. 제 생각에는 그가 그렇게 한 것 같습니다. 정확히 기억은 나지 않습니다.