MQL5에 대한 소원 - 페이지 99

 
Henry_White >> :

다음 릴리스에서 보고 싶은 것:

  1. 틱 핸들러 콘텐츠 외부에서 자체 프로시저를 실행하는 기능(MT4의 경우 start())(예: 별도의 스레드에서 통계 계산, 최적화 등),
  2. 마우스를 다루기 위한 가장 간단한 기능. 예를 들어, "OnClick" 이벤트에서 포인터의 좌표를 MT 차원으로 가져올 수 있습니다(X - 막대 인덱스, Y - 현재 창의 Y 좌표).

1. 지금 당신을 멈추게 하는 것은 무엇입니까?

2. MQL5에서 Expert Advisors는 창 이벤트(EMNIP)를 처리할 수 있습니다.

 
TheXpert >> :

1. 지금 당신을 멈추게 하는 것은 무엇입니까?

글쎄요, 방법을 아시면 이 기술/지식을 공유해 주시면 대단히 감사하겠습니다.

 
TheXpert >> :

2. MQL5에서 Expert Advisors는 창 이벤트(EMNIP)를 처리할 수 있습니다.

ChartEvent 이벤트 핸들러는 Expert Advisors에서만 사용할 수 있습니다. 그런데... 꽤 이상한 차별 )) IMHO, 지표에서도 이 필요성은 적지 않습니다(Expert Advisors에서는 이것이 필요하지 않다고 생각합니다).

 
Henry_White >> :

글쎄요, 방법을 아시면 이 기술/지식을 공유해 주시면 대단히 감사하겠습니다.

아스팔트 위의 두 손가락처럼은 아니지만 할 수 있습니다. dll을 연결하고 새 스레드에서 계산을 호출합니다. 여기에서 WinAPI가 도움이 되며 타이머 또는 콜백으로 끝납니다.

헨리_화이트 >> :

ChartEvent 이벤트 핸들러는 Expert Advisors에서만 사용할 수 있습니다. 그건 그렇고... 꽤 이상한 차별))

나도 좋아하지 않는다. 그러나 이제 칠면조는 일정에 얽매이지 않습니다.

 
TheXpert >> :

아스팔트 위의 두 손가락처럼은 아니지만 할 수 있습니다. dll을 연결하고 새 스레드에서 계산을 호출합니다. 여기에서 WinAPI가 도움이 되며 타이머 또는 콜백으로 끝납니다.

c DLL 옵션에 대해 생각했지만 dll에서 시계열에 대한 올바른 액세스 권한과 10개 이상의 서로 다른 표시기 값, 그리고 이 모든 것을 역사의 적절한 깊이까지 얻는 방법이 완전히 명확하지 않습니다. 그리고 계산 시간이 1분 이상 걸린다는 점을 고려하면(저는 분 단위로 작업합니다) 터미널에 새 막대를 추가한 후 DLL 포인터가 참조할 위치가 완전히 불분명합니다. 그러나 결국 수십 개의 계산된 매개변수를 반환하고 다른 곳에서 가격대에 대한 그래픽을 던져야 합니다. 그것은 사소하지 않으며 일반적으로 ...

이것저것 살펴보고 실험과 각종 점검, 디버깅에 시간이 얼마나 걸릴지 가늠해보고 나서 MQL로 시간 클러스터 처리를 작성했는데... 잘 되지만... 못생겼다. 그리고 영혼은 묻습니다! ))) 네, 그리고 마당에는 이미 21 세기입니다 ... 그러나 나는 그 시대에 대응하고 싶습니다))

 

나는 "점"의 개념을 명확히(정의)할 것을 제안합니다.

핍은 5번째 유효 숫자입니다: 1.234 5 .

견적이 하나 이상의 숫자(1.23456)로 표시되고 스프레드 = 0.00018이면 포인트 스프레드는 1 입니다. 18번이 아니라 8번 입니다.

이것은 용어의 통일성을 허용하고 혼란을 피할 것입니다.

 
SK. >> :

나는 "점"의 개념을 명확히(정의)할 것을 제안합니다.

핍은 5번째 유효 숫자입니다: 1.234 5 .

견적이 하나 이상의 숫자(1.23456)로 표시되고 스프레드 = 0.00018이면 포인트 스프레드는 1 입니다. 18번이 아니라 8번입니다.

이렇게 하면 용어가 통일되고 혼동을 피할 수 있습니다.

맞습니다 - 중개인은 18이 아니라 웹사이트에 "spread 1.8"을 씁니다. 그들은 자신이 하는 일을 정확히 알고 있습니다. :)

 

Функция OnCalculate() вызывается только в пользовательских индикаторах
при необходимости произвести расчет значений индикатора по событию Calculate.

나는 여전히 개체로 표시기를 만드는 방법을 모르고 변경된 막대의 수를 알지 못하더라도

 

나는 printf 기능이 있는 것을 본다

그리고 또 다른 sprintf 를 얻는다면 얼마나 좋을까



 
Roffild >> :

나는 여전히 개체로 표시기를 만드는 방법을 모르고 변경된 막대의 수를 알지 못하더라도

MQL5 도움말은 다음과 같이 설명합니다.

int OnCalculate( const int Rates_total, // 입력 시계열의 크기
상수 int prev_calculated, // 이전 호출에서 처리된 막대
상수 날짜 /시간[], // 시간
상수 double & open[], // 열기
상수 double & high[], // 높음
상수 더블 & 로우[], // 로우
상수 더블 & 닫기[], // 닫기
상수 long & tick_volume[], // 틱 볼륨
상수 long & volume[], // 실제 볼륨
상수 int & spread[] // 스프레드
);

OnCalculate() 함수에서 반환된 값과 두 번째 입력 매개변수 prev_calculated 사이의 관계에 유의하십시오. 함수를 호출할 때 prev_calculated 매개변수에는 이전 호출 에서 OnCalculate() 함수가 반환 한 값이 포함됩니다. 이를 통해 이 기능의 이전 실행 이후 변경되지 않은 막대에 대한 재계산을 피하기 위해 사용자 지정 지표를 계산하는 경제적인 알고리즘을 구현할 수 있습니다.

이렇게 하려면 일반적으로 현재 함수 호출의 막대 수를 포함하는 Rates_total 매개변수의 값을 반환하는 것으로 충분합니다. OnCalculate() 함수에 대한 마지막 호출 이후 가격 데이터가 변경된 경우(더 깊은 기록이 업로드되었거나 기록 공백이 채워진 경우) prev_calculated 입력 매개변수의 값은 터미널 자체에 의해 0으로 설정됩니다.