MT4 플랫폼의 Visual Studio. - 페이지 4

 

다음 링크를 클릭하면 그래픽 엔진용 인터페이스를 만들기 위한 기술 정보 및 지침이 포함된 파일이 어떻게 보이는지 확인할 수 있습니다.

https://www.youtube.com/watch?v=ciVqJwgIIyg&feature=youtu.be#t=66.940294

 
Реter Konow :

제가 아는 한 현재로서는 MS Visual Studio에서 만든 인터페이스를 MT 플랫폼 차트로 옮길 수 있는 방법이 없습니다.

왜 그렇게 결정했습니까? 있고 심지어 몇 개 있습니다. 사실, 인터페이스인 인터페이스가 차트로 전송되어야 하는 이유는 분명하지 않습니다. 그렇다면 예, 아마도 존재하지 않을 것입니다. 하지만 MT 위에서는 충분히 가능합니다.
 
Реter Konow :

...

이것은 사용자가 자신의 프로그램을 위한 그래픽 인터페이스 생성 과 관련된 모든 문제에서 코드 및 컴파일러로부터 완전히 격리되고 스튜디오에서 제공하는 시각적 제어 도구만 다룰 것임을 의미합니다 . 인터페이스를 만들 때 "드래그 앤 드롭"기술과 다양한 설정 창을 사용하여 창 및 컨트롤에 대한 기성품 템플릿의 속성을 결정할 수 있습니다.

...

... 이 엔진은 개발자의 응용 프로그램과 통합되고 모든 그래픽 작업을 수행합니다.

그러나 코드를 통하지 않는다면 어떻게 개발자의 애플리케이션과 통합될까요? 프로그램이 Market Watch와 유사한 테이블을 표시해야 한다고 가정합니다. 그런 다음 그녀는 셀 "A1"에 셀 A2에 "EURUSD"라는 비문이 포함되어야 한다는 지시를 보내야 합니다(가격 "1.238273" 등). 또한 터미널마다 도구 세트가 다르며 테이블의 필드와 이름을 정적으로 채우는 것은 불가능합니다.

Microsoft Visual Studio에서는 모든 것이 명확합니다. 응용 프로그램을 만들기 위한 순수한 소프트웨어 환경 에 대한 편리한 추가 기능입니다. 저것들. Visual Studio는 실제로 시각적 개발 환경이 아니며 프로그램의 경우 작동 방식이 명확하지 않습니다.

 
Vasiliy Sokolov :

그러나 코드를 통하지 않는다면 어떻게 개발자의 애플리케이션과 통합될까요? 프로그램이 Market Watch와 유사한 테이블을 표시해야 한다고 가정합니다. 그런 다음 그녀는 셀 "A1"에 "EURUSD"라는 비문이 포함되어야 한다는 지침을 보내야 합니다. 또한 터미널마다 도구 세트가 다르며 테이블의 필드와 이름을 정적으로 채우는 것은 불가능합니다.

Microsoft Visual Studio에서는 모든 것이 명확합니다. 응용 프로그램을 만들기 위한 순수한 소프트웨어 환경 에 대한 편리한 추가 기능입니다. 저것들. Visual Studio는 실제로 시각적 개발 환경이 아니며 프로그램의 경우 작동 방식이 명확하지 않습니다.

현재 그래픽 엔진과 사용자 응용 프로그램의 기능을 결합하는 문제에 대한 솔루션이 개발 중입니다.

일반적인 개념만 소개할 수 있습니다.

자신의 응용 프로그램을 작성할 때 개발자는 사용자 정의 함수에서 반환된 변수 값(예: "EURUSD"에 대한 현재 입찰 가격 값)을 프로그램 내부가 아니라 외부에 저장해야 합니다.

이것은 변수 자체에 이름을 지정하는 대신 공유 메모리 배열 셀(자신의 프로그램 외부에 있음)의 인덱스를 작성하고 함수에서 받은 값을 거기에 저장해야 함을 의미합니다.

저는 이 전역 배열을 "커널 매개변수"라고 부릅니다. 또한 사용자는 이 셀의 주소를 스튜디오의 컨트롤에 할당합니다. 차례로 그래픽 엔진은 개체를 주기적으로 순환하고 매개 변수 커널에서 개체에 바인딩된 매개 변수의 주소를 확인합니다. 이 주소의 값이 사용자 정의 함수에 의해 변경된 경우 엔진은 창에서 이를 업데이트합니다. 또는 그 반대의 경우도 마찬가지입니다. 컨트롤에 의해 값이 변경된 경우 사용자 지정 기능은 해당 처리를 수락합니다.

사실, 이 솔루션은 "매개변수 커널"이라고 하는 공통 메모리를 통해 상호 작용하는 두 프로그램의 공생입니다. 두 프로그램(인터페이스가 있는 그래픽 엔진과 사용자 프로그램)은 터미널 내부의 다른 그래픽에 배치됩니다.

문제는 공유 메모리 생성에만 있습니다. MQL로 해결하려고 할 때 DLL을 사용하고 싶지 않지만 탈출구가 없으면 거기에 공유 메모리를 만들 수 있습니다. 나는 이미 이것을 했다.

 
Реter Konow :

문제는 공유 메모리 생성에만 있습니다. MQL로 해결하려고 할 때 DLL을 사용하고 싶지 않지만 탈출구가 없으면 거기에 공유 메모리를 만들 수 있습니다. 나는 이미 이것을 했다.

DLL에 의존하는 즉시 당신의 개념은 아무것도 남지 않을 것입니다. 그냥 아무것도 - Pshik. DLL을 사용하면 네, DLL이 없어도 작업을 전혀 개발하지 않고도 해결할 수 있습니다. 그리고 이것은 현대 프로그래밍의 주요 개념입니다. 이미 생성된 경우 아무 것도 직접 개발하지 마십시오.
 
Yuriy Asaulenko :
왜 그렇게 결정했습니까? 있고 심지어 몇 개 있습니다. 사실, 인터페이스인 인터페이스가 차트로 전송되어야 하는 이유는 분명하지 않습니다. 그렇다면 예, 아마도 존재하지 않을 것입니다. 하지만 MT 위에서는 충분히 가능합니다.
명시 해주세요.
 
Yuriy Asaulenko :
DLL에 의존하는 즉시 당신의 개념은 아무것도 남지 않을 것입니다. 그냥 아무것도 - Pshik. DLL을 사용하면 네, DLL이 없어도 작업을 전혀 개발하지 않고도 해결할 수 있습니다.
귀하의 의견을 설명해 주십시오.
 
Реter Konow :
명시 해주세요.

정확히 무엇을 지정합니까? MT 위에 VS에 창을 만드시겠습니까? 이것은 모든 창 위에 있는 한 마리의 새입니다.

VS와 데이터 공유 ? 적어도 4가지 방법.

 
Реter Konow :
귀하의 의견을 설명해 주십시오.
이전 게시물을 참조하거나 더 구체적으로 부탁드립니다. 아무 노력 없이 Windows를 사용할 수 있습니다.
 
Реter Konow :

문제는 공유 메모리 생성에만 있습니다. MQL로 해결하려고 할 때 DLL을 사용하고 싶지 않지만 탈출구가 없으면 거기에 공유 메모리를 만들 수 있습니다. 나는 이미 이것을 했다.

물론 DLL을 통해 상호 작용을 구성할 수도 있습니다. 이 작업만 더 이상 누구에게도 필요하지 않기 때문입니다. 모든 DLL은 시장에서 금지됩니다. 표준 MQL 내에서 두 프로그램 간의 전역 데이터 교환을 구성하는 유일한 방법은 전역 변수 를 사용하는 것입니다. 그건 그렇고, 여기에 전역 변수를 통해 데이터를 교환하기 위한 매우 멋진 라이브러리가 있습니다: https://www.mql5.com/ru/code/12786

일반적으로 누구를 위해 스튜디오를 만들고 있는지 명확하지 않습니다. 개발자의 경우 솔루션에 API가 없습니다. 아무도 프로그램이 데이터를 교환할 별도의 응용 프로그램, 특히 마켓에 있는 프로그램을 드래그하고 싶어하지 않습니다.

구독 라이선스가 있는 솔루션은 IMHO도 매우 불행한 옵션입니다. 여기에서 프로그래머는 스튜디오를 기반으로 프로그램을 개발하고 첫 달 작업 비용을 지불하고 두 번째 달에는 스튜디오의 그래픽 코어가 추가 지불을 요구했기 때문에 프로그램 작동을 거부했습니다. 날뛰다. 개발자 중 누구도 지속적으로 추가 지불이 필요한 복합 단지를 기반으로 프로젝트를 진행하지 않습니다. 그러나 라이선스를 한 번에 구매하고 스튜디오 자체가 응용 프로그램의 일부가 될 것이라고 상상하더라도 이것이 시장에서 어떻게 작동하는지 다시금 명확하지 않습니다(다른 라이선스가 포함된 라이선스 프로그램).

그럼에도 불구하고 주요 질문에 답하십시오. 귀하의 프로젝트는 어떤 대상 고객을 위해 작성되었습니까? 일반 사용자에게 스튜디오가 필요한 이유는 무엇입니까? MetaTrader 5의 Microsoft Word는 무엇입니까? 물론 멋지지만 왜? 사람들은 이미 만들어진 솔루션에 비용을 지불합니다. 특정 작업을 수행하는 프로그램 및 알고리즘의 경우. 양식을 만들 필요가 없습니다. 그들은 프로그램이 필요합니다. 그리고 바로 이 프로그램을 작성하는 프로그래머는 작업이 매우 이상한 방식으로 구성되어 있기 때문에 스튜디오를 사용할 수 없습니다.

이제 강조점은 시장에 있어야 한다는 것을 이해하십시오. 인프라 프로젝트를 생성하려면 먼저 스스로 질문에 답해야 합니다. "시장에서 사업을 하거나 프리랜스에서 일하는 프로그래머가 내 스튜디오를 사용하기 시작하는 이유는 무엇입니까? 그것이 그들에게 무엇을 줄까요?"