이제 mt4 차트의 버튼 및 텍스트 필드 가능 - 페이지 2

 
멋진
 

고스트, 지금 작동하는 0.3이 있습니다. 0.2에 대해서는 확실하지 않지만 0.3은 확실히 CHECKBOX 및 BUTTONS에서 텍스트와 bgcolor를 지원합니다(나머지는 아직 구현되지 않음).

체크박스의 상태를 얻기 위해 우리는 새로운 함수 를 정의할 것이지만 현재 tbIsClicked(handle)는 클릭을 감지할 수 있으므로 1 또는 0일 수 있기 때문에 상태를 포착하는 내부 함수를 만들 수 있습니다. 그러나 다음 버전에서는 체크박스 상태를 관리하는 새로운 함수가 올 것입니다.

텍스트 상자 값을 사용하려면

문자열 tbGetText(핸들)

버튼 값을 가져올 기능은 없지만 다음을 통해 버튼 텍스트를 설정할 수 있습니다.

tbSetText( obj, text, fontsize, fontname )

이 기능은 또한 레이블, 텍스트 필드 등의 값을 설정할 수 있습니다 .....

fx1

 
fx1.net :

여기에서 미리보기로 mt4에 대한 새로운 무료 애드온을 소개하고 싶습니다. 현재 mt4gui라는 제품을 테스트하고 있습니다. 이 제품을 사용하면 버튼, 텍스트 필드, 목록 필드를 차트에 직접 배치할 수 있습니다. 다음은 이미 작동 중인 미리보기 스크린샷입니다.

http://fx1.net/wiki/uploads/img_7.png

버튼은 브로커 측 틱을 기다리지 않고 클릭 직후에 반응합니다. 다음 주에 더 많은 기능으로 이 제품을 개선할 예정입니다. 내가 이것을 게시하는 이유는 커뮤니티에서 필요한 아이디어를 얻기 위함입니다. 물론 모든 것이 실제로 실현될 수 있는 것은 아니지만 여기서 흥미로운 아이디어를 필터링하겠습니다.

다음은 사용법을 보여주는 매우 기본적인 코드의 예입니다.

lib 일명 다이어그램에 개체를 추가하는 것은 어떻습니까? 위나피

매우 유용하다

 

브리타넥,

이러한 객체는 버전 1.0까지 모든 공통 객체를 릴리스하고 싶기 때문에 이 단계에서 구현하기가 매우 복잡합니다. 그러면 고급 주제로 이동할 수 있지만 제안에 감사드립니다. 새로운 아이디어에 대해 알려주십시오.


fx1.net

 

내 이전 게시물에서 내가 명확하지 않은 것 같아요. 다시 시도해 보겠습니다.

1) 함수 가 화면에 버튼을 배치하는 방식은 mql의 ObjectCreate와 약간 다릅니다. 모서리에 묶여 있지 않습니다. 따라서 아래쪽 모서리와 관련하여 개체를 배치하려면 음수 좌표가 있습니다. 또한 배치는 차트 창이 아닌 전체 창에서 이동합니다. 나는 그것에 대해 반대 할 것이 없지만 일반적인 mql 기능을 사용하여 음수 좌표가있는 버튼 옆에 텍스트를 배치하는 것은 불가능하거나 할 수 없습니다. "pxy" 기능은 차트 창에 텍스트를 넣는 데 있어 다른 기능만큼 훌륭하지만 좌표가 다르게 주어졌기 때문에 작동하지 않았습니다.

2) 버전 2에서 색상이 작동하지 않았습니다. 버전 3으로 업데이트해 주셔서 감사합니다. 더 이상 색상 문제가 전혀 없습니다. 훌륭한.

3) 다시 한 번 dll의 tbPutObject 함수를 사용하여 별도의 하위 창에 개체를 배치할 수 있는지 묻고 싶습니다. 내 생각에 당신의 제품은 그렇게 된다면 10배는 더 가치가 있을 것입니다. 그것은 일종의 무역 콘솔이 될 것이며 창 내에서 매우 관리하기 쉽습니다. 또한 포인트 1에서 제기된 모든 좌표 문제를 해결할 것입니다.

4) 여기에 게시한 샘플과 fx1 사이트에서 가져온 샘플이 있습니다. 그리고 물론 deinit의 각 객체에 대해 tbRemove가 있습니다. 전문가가 제거될 때 개체를 제거하는 것이 아닙니다. 이유를 모르겠습니다.

제품에 대해 다시 한 번 감사의 말씀을 드리고 싶습니다. 그것은 정말 훌륭하고 정확히 내가 오랫동안 찾던 것입니다.

한 가지 문제가 있지만 주의를 기울이고 싶었습니다. MT4의 ExpertAdvisor 버튼이 OFF 위치에 있고 버튼 중 하나를 클릭해도 아무 일도 일어나지 않지만 ExpertAdvisor 버튼을 다시 켜는 순간 EA는 클릭에서 모든 명령을 수행합니다. 테스트를 위해 ExpertAdvisor가 꺼져 있는 동안 구매와 판매를 모두 클릭했습니다. 고쳐야 할 부분이라고 생각합니다.

 

fx1.net : 차트에서 컨트롤 이 자주 깜박입니다. 이 문제를 해결할 수 있습니까? 깜박임 빈도는 틱 데이터에 따라 다릅니다.

 
고스트: 내 비디오를 참조하십시오. 그들은 전혀 플러시하지 않습니다. 구현의 문제. 틱마다 제거했다가 다시 적용하면 이런 일이 발생할 수 있지만 다른 경우에는 다소 정적입니다. 적어도 내 편에서는. 어떻게 구현했는지 게시할 수 있습니까?
 
pro_ :

내 이전 게시물에서 내가 명확하지 않은 것 같아요. 다시 시도해 보겠습니다.

1) 함수가 화면에 버튼을 배치하는 방식은 mql의 ObjectCreate와 약간 다릅니다. 모서리에 묶여 있지 않습니다. 따라서 아래쪽 모서리와 관련하여 개체를 배치하려면 음수 좌표가 있습니다. 또한 배치는 차트 창이 아닌 전체 창에서 이동합니다. 나는 그것에 대해 반대 할 것이 없지만 일반적인 mql 기능을 사용하여 음수 좌표가있는 버튼 옆에 텍스트를 배치하는 것은 불가능하거나 할 수 없습니다. "pxy" 기능은 차트 창에 텍스트를 넣는 데 있어 다른 기능만큼 훌륭하지만 좌표가 다르게 주어졌기 때문에 작동하지 않았습니다.


pro_: 예 MQL은 별도의 속성을 설정하여 이를 수행하고 위치를 양수로 유지합니다. 나는 당신이 음의 좌표로 더 잘 할 수 있다고 믿습니다. 그것이 내가 이것을 그렇게 구현한 이유입니다. pxy 함수 에 대해 이해할 수 있습니다. 약간 수정하여 좌표를 지정합니다. 예. .dll로 차트 축 등을 볼 수 없기 때문에 전체 창입니다. 반면에 그들은 정적처럼 보이지만 단순히 너비와 높이를 측정하고 이에 상대적인 텍스트 x,y를 배치할 수 있습니다.

2) 버전 2에서 색상이 작동하지 않았습니다. 버전 3으로 업데이트해 주셔서 감사합니다. 더 이상 색상 문제가 전혀 없습니다. 훌륭한.

v3는 아직 버튼, 확인란의 색상을 지원합니다.


3) 다시 한 번 dll의 tbPutObject 함수를 사용하여 별도의 하위 창에 개체를 배치할 수 있는지 묻고 싶습니다. 내 생각에 당신의 제품은 그렇게 된다면 10배는 더 가치가 있을 것입니다. 그것은 일종의 무역 콘솔이 될 것이며 창 내에서 매우 관리하기 쉽습니다. 또한 포인트 1에서 제기된 모든 좌표 문제를 해결할 것입니다.

글쎄, 주요 작업은 실제로 차트 창에 배치하는 것이 었습니다. 별도의 창 배치는 매우 쉬울 것이지만 현재는 방법을 선택했습니다. 차트 또는 분리 창에 배치하면 구현이 약간 다릅니다. 이후 버전에서는 이를 지원할 수 있습니다. 차트가 내부에 있는 MDI 창의 크기를 변경하지 않고 CHART를 더 작게 만들 계획이 있습니다. 이렇게 하면 추가 버튼을 배치하기 위해 오른쪽이나 아래쪽에 별도의 공간을 가질 수 있습니다. 차트 옆에 있는 버튼처럼 보일 것입니다.


4) 여기에 게시한 샘플과 fx1 사이트에서 가져온 샘플이 있습니다. 그리고 물론 deinit의 각 객체에 대해 tbRemove가 있습니다. 전문가가 제거될 때 개체를 제거하는 것이 아닙니다. 이유를 모르겠습니다.

예, 한 번 작동했음을 확인합니다. 이 중요한 문제를 확인하겠습니다

한 가지 문제가 있지만 주의를 기울이고 싶었습니다. MT4의 ExpertAdvisor 버튼이 OFF 위치에 있고 버튼 중 하나를 클릭해도 아무 일도 일어나지 않지만 ExpertAdvisor 버튼을 다시 켜는 순간 EA는 클릭에서 모든 명령을 수행합니다. 테스트를 위해 ExpertAdvisor가 꺼져 있는 동안 구매 및 판매를 모두 클릭했습니다. 고쳐야 할 부분이라고 생각합니다.

네 맞습니다. 이 문제를 확인하지 않았습니다. 나는 또한 그것에 대해 노력할 것입니다.

mt4gui를 테스트해 주셔서 대단히 감사합니다!

 

fx1.net : 내 코드를 게시하기 전에 샘플 코드를 확인하겠습니다.

tbSetText를 사용하여 모든 틱 에서 레이블 텍스트를 업데이트하는 것이 문제가 될 수 있습니까?

애드온에 라디오 버튼을 추가할 계획입니까? 그렇지 않다면 어떻게 체크박스의 체크 상태를 변경할 수 있습니까?

 

v0.4에서 tbRemove 및 tbRemoveAll 버그가 수정되었습니다.

확인란 지원이 확장되었습니다.

int tbSetChecked(int,bool);

int tbIsChecked(int);

사이트의 데모 코드가 업데이트되었습니다.

사유: