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

 
Александр :

귀하의 게시물이 구현 참여 신청서로 간주됩니까?

저도 이 주제로 봤는데 제 이전 글을 잘 안 읽으셨나보네요.

프리랜스를 통해 - 제발. 예산은 얼마입니까? 내가 어디에서 부주의하게 읽었다고 생각했나요?

 
Dmitry Fedoseev :

프리랜서를 통해 - 제발. 예산은 얼마입니까? 내가 어디에서 부주의하게 읽었다고 생각했나요?

프리랜서는 자제하겠습니다.

여기에서 관리에 대해:

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

내 접근 방식. 코어 - 엔진.

알렉산더 , 2018.12.16 16:12

MQL 및 프로그래밍 전반에 대한 나의 기술은 상당히 겸손합니다. ...

...과정을 깊이 파고들지 않고 결과를 가속화할 수 있는 기회가 있다면 그것을 활용하지 않겠습니까?

 

엔진 창에서 Expert Advisor가 그린 사용자 정의 애니메이션의 예:

EA의 제어 코드:

 void OnTimer ()
  { 
   static int q1,a,b; 
   //------------------------------------
   if (!a)LOAD_CANVAS_Last_10_bars(); 
   //---------------------------------
   if (!b) q1++;
   if (q1 == 200 )b = 1 ;
   if (b)q1--;
   if (!q1)b = 0 ;  
   //------------- 
   ELLIPSE(q1,q1,q1+q1* 2 ,q1+q1, clrBlue );          
   //------------------------------------
  }

CCanvas 클래스의 14가지 그리기 기능을 엔진의 그리기 블록에 추가했습니다. 이러한 함수는 EA에서 호출됩니다. 이를 위해 Connection_Properties.mqh 파일에 그리기 기능을 위한 래퍼 함수가 추가되었습니다.

원, 직사각형, 삼각형, 아치, 타원, 선을 그릴 수 있습니다.

그리기 함수를 호출하기 전에 그릴 캔버스를 지정해야 합니다(예: LOAD_CANVAS_Last_10_bars(); ).

기술은 아직 원시입니다. 디버깅하면서 기성품 예제를 게시하겠습니다.

 
Александр :

안녕하세요.

내 제품의 거래 기능을 활성화/비활성화하고 그에 따라 몇 가지 매개변수를 조정하는 패널을 만들려고 합니다.

EA 코드에서 패널을 구현할 때 테스터에 ChartEvent 이벤트가 없기 때문에 전략 테스터에서 패널 버튼을 누르는 정상적인 작동이 불가능하게 되었습니다.

또는 표시기 코드에서 패널을 구현할 때 주문을 열 수 없습니다.

토론: https://www.mql5.com/ru/forum/294890

Peter는 내가 거절할 수 없는 패널을 개발하는 데 도움을 주겠다고 제안했습니다.

따라서 오늘 패널은 다음과 같습니다.

또는 모든 버튼을 눌렀을 때 다음과 같이 하십시오.

각 버튼 아래에 있는 매개변수는 위/아래 화살표를 사용하거나 편집 필드를 편집하여 변경할 수 있습니다.

"지금" 버튼의 경우 매개변수 값 .Locking(거짓);, 다른 모든 버튼의 경우 .Locking(true);

"Trailing" 버튼의 경우 All/Each 값이 포함된 매개변수(스위치)를 하나 더 추가해야 합니다.

또한 시간 프레임을 선택할 수 있는 드롭다운 목록과 현재 심볼에 대한 미결 주문 목록이 있는 창을 패널에 추가하여 각 주문(스왑 포함)의 이익과 앞에 십자 표시를 추가해야 합니다. 각각 닫습니다.

Peter, TK는 이 설명으로 충분합니까?

여기 패널이 있습니다.

모양을 수정하고 "All / Each" 스위치를 정확히 어디에 배치해야 하는지와 vol. 기간이 있는 목록(중앙 상단에 있다고 가정).

누른 버튼:


 

테스터 거래에 관해서는 지금 이 문제를 해결하고 있습니다. 어드바이저와 엔진의 연결을 완전히 다시 하고 싶습니다. "통신 개체"(MT 개체, 프로그램 간에 데이터를 전송하는 데 사용되는 문자열 설명)를 통해 구현합니다.

이는 일반 상호 작용과 Expert Advisor 테스트 모드에서의 상호 작용을 위한 빠르고 보편적인 통신 방법이 될 수 있습니다.

현재 통신 방식에서는 OnChartEvent() 이벤트 큐가 로드됩니다. 이벤트가 많으면 EA와 엔진 간의 메시지 송수신이 지연되어 시각적으로 눈에 띄게 됩니다. 메시지가 OnChartEvent() 이벤트 대기열 외부에서 수신 및 전송되기 때문에 MT 개체를 통한 통신은 이 문제를 제거해야 합니다.

이론적으로 작동해야합니다 ...

 
Реter Konow :

여기 패널이 있습니다.

모양을 수정하고 "All / Each" 스위치를 정확히 어디에 배치해야 하는지와 vol. 기간이 있는 목록(중앙 상단에 있다고 가정).

패널을 작업 공간의 전체 너비로 만드는 것이 더 낫다고 생각합니다(주문 목록에 더 많은 메타가 있을 것입니다).

Lot, Profit으로 레이블이 지정된 편집 필드와 "지금" 버튼 옆에는 100분의 1 단위(형식 0.00)가 있어야 합니다.

나는 실험하고 레이블과 두 개의 버튼("-" 및 "+")이 있는 기간 목록으로 필드를 교체하는 것이 더 낫다는 결론에 도달했습니다. 버튼의 맨 윗줄 수준에 배치합니다. 레이블은 가운데, "-" 버튼은 왼쪽, "+" 버튼은 레이블 오른쪽에 있습니다. 아래에는 열린 주문 목록을 위한 장소가 있습니다.

"Profit" 레이블 수준에서 "Trailing" 버튼 아래에 All/Each 스위치를 배치합니다.

이것은 나의 비전이지만 내가 이해하는 한 포럼을 읽고 당신의 작업을 살펴본 후 당신은 그림에 대한 갈망과 능력이 있으므로 제안을 신경 쓰지 않을 것입니다.

 
Александр :

1. 패널을 작업 공간의 전체 너비로 만드는 것이 더 낫다고 생각합니다(주문 목록에 더 많은 메타가 있을 것입니다).

2. "지금" 버튼 옆에 있는 Lot, Profit으로 레이블이 지정된 편집 필드에는 100분의 1 단위(형식 0.00)가 있어야 합니다.

3. 나는 실험하고 레이블과 두 개의 버튼("-" 및 "+")이 있는 기간 목록으로 필드를 대체하는 것이 더 낫다는 결론에 도달했습니다. 버튼의 맨 윗줄 수준에 배치합니다. 레이블은 가운데, "-" 버튼은 왼쪽, "+" 버튼은 레이블 오른쪽에 있습니다. 아래에는 열린 주문 목록을 위한 장소가 있습니다.

4. "Profit" 레이블 수준에서 "Trailing" 버튼 아래에 All/Each 스위치를 배치합니다.

5. 이것은 나의 비전이지만 내가 이해하는 한 포럼을 읽고 당신의 작품을 본 후에 당신은 그림에 대한 갈망과 능력이 있으므로 당신의 제안에 반대하지 않을 것입니다.

1. 즉, 패널을 차트의 너비에 맞게 자동으로 조정하려면? 아니면 차트의 너비만?

2. 할게요.

3. 잘 이해되지 않는다. 즉, +/- 버튼을 사용하여 입력 필드에서 시간 프레임을 구성해야 합니까? 그리고 주문 목록이 있는 별도의 창을 만들지 않으려면? 모든 것이 패널에 있습니까?

4. 스위치를 눌렀다 떼면 텍스트가 바뀌는 간단한 버튼이 될 수 있습니까?

5. 그래픽 요소를 추가합니다.

(작은 슬라이더를 스위치로 만들 수 있습니다. 슬라이더가 오른쪽/왼쪽으로 이동합니다)

 
Реter Konow :

테스터 거래에 관해서는 지금 이 문제를 해결하고 있습니다. 어드바이저와 엔진의 연결을 완전히 다시 하고 싶습니다. "통신 개체"(MT 개체, 프로그램 간에 데이터를 전송하는 데 사용되는 문자열 설명)를 통해 구현합니다.

이는 일반 상호 작용과 Expert Advisor 테스트 모드에서의 상호 작용을 위한 빠르고 보편적인 통신 방법이 될 수 있습니다.

현재 통신 방식에서는 OnChartEvent() 이벤트 큐가 로드됩니다. 이벤트가 많으면 EA와 엔진 간의 메시지 송수신이 지연되어 시각적으로 눈에 띄게 됩니다. 메시지가 OnChartEvent() 이벤트 큐 외부에서 수신 및 전송되기 때문에 MT 개체를 통한 통신은 이 문제를 제거해야 합니다.

이론적으로 작동해야합니다 ...

요점을 완전히 이해했는지 확신할 수 없습니다.

OnChartEvent() 이벤트를 통해 테스트 모드에서 패널과 Expert Advisor 간의 연결을 구현한다는 것을 올바르게 이해하고 있습니까?

그렇다면 성공 가능성이 거의 없기 때문입니다. 테스터에서는 Expert Advisor에 대해 OnChartEvent() 이벤트가 생성되지 않습니다(지표에만 해당).

https://www.mql5.com/en/forum/294890/page4#comment_9914750 여기에서 OnChartEvent() 이벤트를 OnTick() 이벤트로 교체하는 것이 제안되었습니다.

시도했지만 모든 복합 개체(SpinEdit, ComboBox 및 기타)가 작동을 멈춥니다. Button.Pressed() 테스터의 변수 값을 변경할 수 있는 유일한 방법과 독립 버튼(SpinEdit 유형의 복잡한 개체에 포함되지 않은 버튼)에 대해서만

SimplePanel проблема при переключении таймфрейма
SimplePanel проблема при переключении таймфрейма
  • 2018.12.16
  • www.mql5.com
В составе стандартного пакета MT4 имеется пример создания панели управления "Simple Panel...
 
Александр :

요점을 완전히 이해했는지 확신할 수 없습니다.

OnChartEvent() 이벤트를 통해 테스트 모드에서 패널과 Expert Advisor 간의 연결을 구현한다는 것을 올바르게 이해하고 있습니까?

그렇다면 성공할 가능성이 거의 없기 때문입니다. 테스터에서는 Expert Advisor에 대해 OnChartEvent() 이벤트가 생성되지 않습니다(지표에만 해당).

https://www.mql5.com/en/forum/294890/page4#comment_9914750 여기에서 OnChartEvent() 이벤트를 OnTick() 이벤트로 교체하는 것이 제안되었습니다.

시도했지만 모든 복합 개체(SpinEdit, ComboBox 및 기타)가 작동을 멈춥니다. Button.Pressed() 테스터의 변수 값을 변경할 수 있는 유일한 방법과 독립 버튼(SpinEdit 유형의 복잡한 개체에 포함되지 않은 버튼)에 대해서만

설명이 길다. 그러나 내 경험을 믿으십시오. 통신 방법이 작동합니다.

패널은 일반 차트에 있습니다. 테스터의 고문. 패널은 테스터에서 Expert Advisor를 찾고 MT 개체를 만들고 설명을 통해 Expert Advisor와 "통신"합니다.

일반 차트에서는 OnChartEvent()가 작동합니다. 테스터에서는 없습니다. 그러나 매개변수 값의 동기화를 방해하지는 않습니다.

효과가 있을 거라 확신합니다.

일주일 질문입니다.

 
Реter Konow :

설명이 길다. 그러나 내 경험을 믿으십시오. 통신 방법이 작동합니다.

패널은 일반 차트에 있습니다. 테스터의 고문. 패널은 테스터에서 Expert Advisor를 찾고 MT 개체를 만들고 설명을 통해 Expert Advisor와 "통신"합니다.

일반 차트에서는 OnChartEvent()가 작동합니다. 테스터에서는 없습니다. 그러나 이것은 매개변수 값의 동기화를 방해하지 않습니다.

효과가 있을 거라 확신합니다.

일주일 질문입니다.

작동 안 할 것이다.