모든 벡터 기반이며 완전히 확장 가능하고 모든 디스플레이에 맞게 조정 가능합니다. 모든 시각적 디스플레이는 구독 설정에 따라 이벤트 우선 순위에 따라 모든 MQL 이벤트를 처리하고 객체에 배포하는 핵심 클래스 내에서 비동기적으로 작동합니다.
나는 내가 매우 흥미로운 스레드를 훔치는 것이 아니기를 바라며, 만약 그렇다면 피터를 용서하십시오, 그것은 단지 이론적 인 관심에 대한 짧은 대답을 바라는 토론이 아닐 것입니다 - 당신은 시스템에 인스턴스화 된 모든 클래스 객체를 알고 (모든 객체 포인터를 추적) 각 객체가 해당 제어 정적 클래스에 필요한 이벤트를 구독 할 수있는 액세스 권한을 가지고 있고 그 정적 제어 싱글 톤 클래스가 모든 객체에 이벤트를 전달하는 일종의 정적 클래스가 있다는 것을 의미합니까? 그렇다면 OOP 측면에서 올바른 것으로 보십니까 아니면 허용되는 이벤트 중심 프로그래밍입니까? 당신이 그것에 대해 썼기 때문에 그것에 대한 질문을 받아들이고 싶을 것 같고, 그렇다면 관련성이 있지만이 스레드를 가로 채지 않도록 가능한 한 짧게 유지합시다.
나는 내가 매우 흥미로운 스레드를 훔치는 것이 아니기를 바라며, 만약 내가 그렇게한다면, 그것은 이론적 인 관심에 대한 짧은 대답을 바라는 토론이 아닐 것입니다 - 당신은 시스템에 인스턴스화 된 모든 클래스 객체를 알고 (모든 객체 포인터를 추적) 각 객체가 해당 제어 정적 클래스에 필요한 이벤트를 구독 할 수있는 액세스 권한을 가지고 있고 그 정적 제어 싱글 톤 클래스가 모든 객체에 이벤트를 전달하는 일종의 정적 클래스가 있음을 의미합니까? 그렇다면 OOP 측면에서 올바른 것으로 보십니까 아니면 허용되는 이벤트 중심 프로그래밍입니까? 당신이 그것에 대해 썼기 때문에 그것에 대한 질문을 받아들이고 싶을 것 같고, 그렇다면 관련성이 있지만이 스레드를 가로 채지 않도록 가능한 한 짧게 유지합시다.
간단한 설명:
코어는 모든 메타트레이더 이벤트를 수신하고 모든 객체가 코어에 구독할 수 있습니다. 따라서 모든 객체가 "공용: 가상 void OnEACycle(CCycleParams * cpm)"이라는 함수를 갖도록 CObject 클래스도 재설계/수정해야 했습니다. 그런 다음 이러한 주기는 차트 이벤트, 초기화, 해제 등이 될 수 있습니다. 모든 객체에는 "public: 가상 void OnEATick()"이 있을 수도 있습니다. 이렇게 하면 어떤 주기의 끝을 구독할 수 있기 때문에 추가 기능을 얻을 수 있다는 장점이 있습니다. 어떤 주기가 끝날 때 파일을 닫거나 다른 작업을 완료하는 데 매우 유용합니다.
또한 모든 CObject 객체는 자식과 구독자를 가질 수 있습니다. 즉, 객체가 sth. 를 클릭했을 때와 같은 자체 이벤트를 트리거할 수 있습니다. 그런 다음 object.SubEvent(STH_CLICKED, params)를 수행하기만 하면 됩니다. 이렇게 하면 객체 자체는 누가 이 정보를 필요로 하는지 신경 쓰지 않고 구독자에게만 배포되며, 구독자는 OnSubEvent(int msg, CSubEventParams * sep)를 받고 원하는 대로 할 수 있습니다.
대체로 이렇게 하면 C#에서 우리가 아는 코딩 방식에서 더 자유로워지며, 여기서도 .Invoke()를 사용하여 이벤트를 실행하고 누가 이벤트를 받는지 신경 쓰지 않아도 됩니다.
실제로 구현하기가 그렇게 복잡하지는 않지만, 모든 시나리오에서 작동해야 하는 모든 단일 EA 또는 미래의 지표의 핵심/기반이기 때문에 세부 사항은 결국 어려운 문제입니다.
VE 개발의 현재 단계:
다음 개발 업데이트가 기대됩니다.
멋진 말씀이네요, 피터. VE를 사용하여 직접 빌드하면 UI 디자인이 어떻게 작동하는지에 대한 귀중한 통찰력을 얻을 수 있을 것 같습니다.
다음 개발 업데이트가 기대됩니다.
모든 벡터 기반이며 완전히 확장 가능하고 모든 디스플레이에 맞게 조정 가능합니다.
모든 시각적 디스플레이는 구독 설정에 따라 이벤트 우선 순위에 따라 모든 MQL 이벤트를 처리하고 객체에 배포하는 핵심 클래스 내에서 비동기적으로 작동합니다.
나는 내가 매우 흥미로운 스레드를 훔치는 것이 아니기를 바라며, 만약 그렇다면 피터를 용서하십시오, 그것은 단지 이론적 인 관심에 대한 짧은 대답을 바라는 토론이 아닐 것입니다 - 당신은 시스템에 인스턴스화 된 모든 클래스 객체를 알고 (모든 객체 포인터를 추적) 각 객체가 해당 제어 정적 클래스에 필요한 이벤트를 구독 할 수있는 액세스 권한을 가지고 있고 그 정적 제어 싱글 톤 클래스가 모든 객체에 이벤트를 전달하는 일종의 정적 클래스가 있다는 것을 의미합니까? 그렇다면 OOP 측면에서 올바른 것으로 보십니까 아니면 허용되는 이벤트 중심 프로그래밍입니까? 당신이 그것에 대해 썼기 때문에 그것에 대한 질문을 받아들이고 싶을 것 같고, 그렇다면 관련성이 있지만이 스레드를 가로 채지 않도록 가능한 한 짧게 유지합시다.
나는 내가 매우 흥미로운 스레드를 훔치는 것이 아니기를 바라며, 만약 내가 그렇게한다면, 그것은 이론적 인 관심에 대한 짧은 대답을 바라는 토론이 아닐 것입니다 - 당신은 시스템에 인스턴스화 된 모든 클래스 객체를 알고 (모든 객체 포인터를 추적) 각 객체가 해당 제어 정적 클래스에 필요한 이벤트를 구독 할 수있는 액세스 권한을 가지고 있고 그 정적 제어 싱글 톤 클래스가 모든 객체에 이벤트를 전달하는 일종의 정적 클래스가 있음을 의미합니까? 그렇다면 OOP 측면에서 올바른 것으로 보십니까 아니면 허용되는 이벤트 중심 프로그래밍입니까? 당신이 그것에 대해 썼기 때문에 그것에 대한 질문을 받아들이고 싶을 것 같고, 그렇다면 관련성이 있지만이 스레드를 가로 채지 않도록 가능한 한 짧게 유지합시다.
간단한 설명:
코어는 모든 메타트레이더 이벤트를 수신하고 모든 객체가 코어에 구독할 수 있습니다. 따라서 모든 객체가 "공용: 가상 void OnEACycle(CCycleParams * cpm)"이라는 함수를 갖도록 CObject 클래스도 재설계/수정해야 했습니다. 그런 다음 이러한 주기는 차트 이벤트, 초기화, 해제 등이 될 수 있습니다. 모든 객체에는 "public: 가상 void OnEATick()"이 있을 수도 있습니다. 이렇게 하면 어떤 주기의 끝을 구독할 수 있기 때문에 추가 기능을 얻을 수 있다는 장점이 있습니다. 어떤 주기가 끝날 때 파일을 닫거나 다른 작업을 완료하는 데 매우 유용합니다.
또한 모든 CObject 객체는 자식과 구독자를 가질 수 있습니다. 즉, 객체가 sth. 를 클릭했을 때와 같은 자체 이벤트를 트리거할 수 있습니다. 그런 다음 object.SubEvent(STH_CLICKED, params)를 수행하기만 하면 됩니다. 이렇게 하면 객체 자체는 누가 이 정보를 필요로 하는지 신경 쓰지 않고 구독자에게만 배포되며, 구독자는 OnSubEvent(int msg, CSubEventParams * sep)를 받고 원하는 대로 할 수 있습니다.
대체로 이렇게 하면 C#에서 우리가 아는 코딩 방식에서 더 자유로워지며, 여기서도 .Invoke()를 사용하여 이벤트를 실행하고 누가 이벤트를 받는지 신경 쓰지 않아도 됩니다.
실제로 구현하기가 그렇게 복잡하지는 않지만, 모든 시나리오에서 작동해야 하는 모든 단일 EA 또는 미래의 지표의 핵심/기반이기 때문에 세부 사항은 결국 어려운 문제입니다.
시간이 있었다면 기사를 작성하고 출처를 제공했을 것입니다. 비밀도 아니고 마술도 아닙니다.
만든 GUI를 보았습니다. 아주 마음에 드네요. 직접 작성하신 건가요, 아니면 MQL 라이브러리를 사용하신 건가요?
고맙습니다.
아니요, 라이브러리는 사용하지 않았습니다. 처음부터 제가 직접 디자인했습니다. 사실 원래의 CCanvas만 수정했을 뿐 다른 것은 아무것도 사용하지 않았습니다.
고맙습니다.
아니요, 라이브러리는 없습니다. 제가 처음부터 직접 개발했습니다. 사실 CCanvas만 원본에서 변형한 것일 뿐 다른 것은 없습니다.