MQL로 작성된 UI 갤러리 - 페이지 42

 

추가되었습니다:

이제 메뉴 창이 항상 차트 공간 안에 유지되며 시야에서 벗어나지 않습니다. 예시:

차트의 오른쪽 테두리를 넘어가지 않습니다:


차트의 아래쪽 테 두리를 넘어가지 않습니다:


 
나중에 이전 빌더 빌드(4년 전)에서 이미 작동했기 때문에 구현 직전의 기능 목록을 제공하겠습니다. 새 릴리스에 포함시키는 것은 매우 현실적입니다.
 

우선순위가 정해지지 않은 개발 방향은 결코 좋은 결과로 이어지지 않습니다. 모든 전문 개발자가 알고 있는 기본적인 진리입니다. 4년 전에는 완성된 버전의 디자이너를 올릴 수 없었던 이유는 완성 계획이 없었기 때문입니다. 계획이 있었다면 모든 것이 오래 전에 끝났을 것입니다. 프로젝트를 중단한 다음 이유는 포럼에서 다른 사람들의 의견에 대한 무익한 논쟁입니다. 프로그래밍의 접근 방식이나 GUI의 필요성-불필요성에 대한 논쟁.... 안타깝게도 쓸데없는 시간 낭비였습니다.

그렇다면 이 프로젝트의 완성은 무엇일까요? 이 질문에 대한 답은 향후 개발 방향의 선택을 결정하기 때문에 매우 중요합니다.

그래서 제가 제시하는 대로

1. 인터페이스 요소의 소프트웨어 제어.

이것은 현재 주요 작업 중 하나입니다. 이제 사용자는 API 파일에서 GUI 이벤트만 '포착'할 수 있고 요소 속성이나 매개변수 값을 가져오거나 변경할 수는 없습니다. 복잡성을 고려할 때 이 작업은 쉬우며 다음 릴리스 전에 해결될 것이라고 말할 수 있습니다. 사용자에게 다양한 GUI 요소 및 창 속성에 대한 프로그래밍 방식의 액세스 권한을 부여하세요.


2. 일반 테이블과 동적 테이블 .

일반 테이블은 이미 구현되었습니다. 그 작업은 반복적으로 테스트되었습니다. 열과 행 끌어서 놓기(표에서 위치 변경), 표 행 축소/확장(T_FOLDER 요소 추가) 또는 열 숨기기/숨기기와 같은 기능이 작동했습니다. 표에 컨트롤을 자동으로 통합하는 기능이 작동했습니다. 예를 들어 체크박스, 드롭다운 목록, 버튼, 슬라이더, 버튼이 있는 입력 필드, 간단한 입력 필드 등은 그룹 헤더에 IS_TABLE 키워드를 추가하면 모두 테이블에 저절로 통합되었습니다. 셀의 값은 값에 따라 색상을 지정할 수 있습니다. 테이블을 트리 목록에 포함시킬 수도 있습니다.

하지만 이전 기능을 모두 되살리는 데 시간을 투자할 가치가 있을까요?

말하기 어렵습니다.

가장 먼저 해야 할 일은 일반 테이블의 기본 기능을 다시 가져와서 잘 작동하는지 확인하는 것이라고 생각합니다. 나머지는 알아서 할 일입니다.

그러나 진지한 거래 로봇의 인터페이스에서 가장 중요한 것은 동적 테이블입니다. 증권 거래소의 끝없는 데이터 스트림을 통과 할 수있는 것들. 전에는 구현 한 적이 없습니다.

결론: 동적 테이블이 우선순위입니다.

(개발을 시작해야 합니다.)


3. 트리 목록.

이전에도 여러 번 GUI 요소를 다시 만들었습니다. 그리고 매번 더 잘 작동했습니다. 최신 버전이 특히 좋지만 아직 완성된 것은 아닙니다. 자세히 기억하면 하루 이틀이면 끝낼 수 있습니다. 하지만 GUI에서 얼마나 필요한가요? 나는 그것이 아프지 않을 것이라고 생각하지만 그것에 집착해서는 안됩니다.

결론: 트리 목록은 추가 개발의 우선 순위가 아닙니다.

(시간이 되면 마무리하겠습니다.)


4. 동적 창.

크기 조정, 수직 및 수평 스크롤, 크기 조정, 차트 크기 변경에 따른 크기 조정 창 적용 등 기본적인 메커니즘은 이미 잘 작동하고 있습니다. 하지만 작고 성가신 버그가 많이 있습니다. 완성된 동적 창은 큰 동적 테이블과 긴 목록에 이상적입니다.

결론: 동적 창을 완성하는 것이 최우선 과제입니다.

(열정을 가지고 2~3일 정도 열심히 작업해야 할 수도 있습니다.)


5. 그룹 및 테이블 미니마이저.

G_FOLDER 및 T_FOLDER 요소. 과거에는 이미 매우 잘 작동했습니다. 테스트 할 시간이 없었기 때문에 지금 어떻게 작동하는지 모르겠습니다. 흥미롭게도 최근 요소 현상 함수를 개발하면서 트리 목록과 이 두 가지 유형의 축소기 관리를 통합했습니다. 하나의 함수는 세 가지 요소를 관리하며 크기가 400~500줄을 넘지 않았습니다(제 기준으로는 많지 않습니다). 이 기능을 다시 작동시키면(지금은 비활성화되어 있습니다) 세 가지 요소가 모두 완벽하게 작동할 것입니다. 어디 봅시다.

결론: G_FOLDER 및 T_FOLDER 요소는 우선순위가 없습니다.

(기회와 욕구가 있으면 할 것입니다).



그리고 지금 떠오른 마지막 우선 순위 작업입니다:

6. 마크업 언어로 작성된 요소 및 창 그룹 템플릿의 브랜치 생성.

이를 통해 사용자는 언어에 대한 깊은 지식 없이도 작업을 해결하는 데 필요한 인터페이스를 빠르고 쉽게 구축 할 수 있습니다.


추가 개발 우선 순위에 대한 의견이 있으시면 공유해 주세요. 메모해 두겠습니다.

 

네, 프로그램 관리가 가장 중요하며 엔진을 사용하는 모든 사람에게 필수입니다.

저에게는 동적 테이블이 필수입니다. 저는 주로 이벤트와 보고서를 실시간으로 시각화하기 위해 인터페이스가 필요합니다. 컨트롤은 이를 관리하기 위한 스트래핑(필터 등)입니다. 이를 구현함으로써 엔진 통합을 시작할 수 있었습니다.

두 번째 우선 순위는 전체 화면 창입니다. 하지만 이것은 매우 간단합니다. 이미 디자이너에서 이 작업을 수행했습니다. 작업 표시줄이 있습니다. 그리고 일시적으로 가능한 가장 큰 창을 사용할 수 있습니다. 크기를 선택해야하는데 고통 스럽습니다.

세 번째 우선 순위는 그래픽입니다. 얼마나 어려운지 모르겠습니다. 충분히 유연하다면 표준 캔버스 도구를 사용해야 할 수도 있습니다. 분노의 질주 이지 패스트 v1 외에는 사용해 본 적이 없습니다.

의욕만 있으면 충분하죠. 대부분의 경우 싫어하는 사람들과 마주치면 의욕이 사라지곤 하죠. "선한 사람들이 다수이지만 악한 사람들이 더 잘 조직되어 있다"는 말이 있죠.

 
Edgar Akhmadeev 컨트롤 (필터 등)이 필요했는데, 이를 구현하면서 엔진 통합을 시작할 수 있었습니다.

두 번째 우선 순위는 전체 화면 창입니다. 하지만 이것은 매우 간단합니다. 이미 디자이너에서 이 작업을 수행했습니다. 작업 표시줄이 있습니다. 그리고 일시적으로 가능한 가장 큰 창을 사용할 수 있습니다. 치수를 선택해야하는데 고통 스럽습니다.

세 번째 우선 순위는 그래픽입니다. 얼마나 어려운지 모르겠습니다. 충분히 유연하다면 표준 캔버스 도구를 사용하는 것이 좋을 것 같아요. 분노의 질주 쉽고 빠른 v1을 제외하고는 사용해 본 적이 없습니다.

의욕만 있으면 충분합니다. 종종 싫어하는 사람들과 마주치면 의욕이 사라지곤 하죠. "선한 사람들이 다수이지만, 악한 사람들이 더 잘 조직되어 있다"는 말이 있죠.

1. 프로그래밍 방식의 아이템 관리는 다음 릴리스에 포함될 예정입니다. 잠정적으로 7일~10일 후.

2. 동적 테이블은 "개발 중"입니다. 얼마나 걸릴지는 아직 말씀드릴 수 없습니다. 프로세스가 매우 빠를 수도 있고.... 또는 그렇게 빠르지 않을 수도 있습니다. 알 수 없습니다.

3. 이미 전체 화면 창이 있습니다. 시도해 보세요. 창 속성에서 "설정" 대신 "DINAMIC"을 입력합니다. 테스트하고 소감을 작성합니다.(빌더의 필드 릴리스 버전으로 이동하세요). 창의 가장자리를 당겨서 크기를 변경하거나 상단 버튼으로 확대할 수 있습니다. 상단 표시줄(창 이름 위치)을 두 번 클릭하거나 '캡'으로 창을 잡고 크기가 조정될 때까지 위로 드래그하는 옵션이 있습니다. 다른 방법으로도 동일한 조작이 가능합니다.

4. 창의 API 파일을 인쇄하여 여기에 게시합니다. 테이블이 어떻게 인쇄되는지 살펴보고 이해하겠습니다. 이것은 향후 소프트웨어 연결 구현에 중요합니다.


5. 사용자 지정 차트에 대해 진지하게 생각해 보겠습니다. 아나톨리의 구현을 보았지만 이 요소를 복제하려고 시도하지는 않았습니다.

 

동적 창으로 작업할 때 중요한 뉘앙스입니다:

창에는 자체 캔버스가 포함되어 있기 때문에 V_BOX 유형의 요소는 허용되지 않습니다. 이로 인해 한 캔버스가 다른 캔버스와 겹치게 됩니다. 따라서 이 요소는 모든 줄 i, IN, "V1", 와 함께 주석 처리해야 합니다.

즉, V_BOX 요소에 배치된 그룹은 "MF"의 창에만 있어야 합니다. i, IN, "V1" 줄을 특별히 주석 처리할 필요는 없습니다.

그래도 작동하지 않으면 내일 더 자세히 설명해 드리겠습니다. 사진으로.

 

설정 창을 동적 창으로 변환하는 예제입니다:

(이미지 클릭)

 
성공적으로 실행되었지만 이 GUI 라이브러리를 처음부터 마스터하는 방법을 알기에는 너무 많은 내용을 게시한 것 같습니다.
 
사용자에게 라이브러리 사용 방법을 알리기 위해 더 많은 (7)개의 강의를 추가할 예정입니다.
 
도구 상자가 좁혀지면 하단의 작업 표시줄이 즉시 응답하지 않으므로 다른 차트로 전환한 후 다시 클릭해야 작업 표시줄이 하단으로 이동합니다. 이 문제를 개선할 수 있을지 모르겠습니다.