또는 다른 예. 나는 최근에 동시에 여러 상품을 거래할 수 있도록 절차적 EA를 조정하라는 요청을 받았습니다(동일한 차트에서 시작됨). 절차적 스타일에서 그가 동시에 다른 기호에 대해 독립적으로 거래하도록 하려면 매우 길고 어려운 트릭이 필요합니다. 방금 모든 절차 코드를 클래스에 배치하고 세 개의 인스턴스를 만들었습니다. 각각에는 작업 기호 등을 포함하여 개별 설정 세트가 제공되었습니다. 코드는 처음처럼 작동했습니다. 사용자는 행복했습니다.
이번 주에 비슷한 예가 있었는데 한 TF에 바가 열리면 구매가 열리고 다른 TF에 바가 열리면 판매가 열리는 어드바이저를 만들어달라고 했습니다. 나를 감동시켰다))
그러나 그는 새로운 막대 를 정의하는 진부한 기능을 가져 와서 클래스로 다시 작성하고 새로운 막대 정의 클래스의 인스턴스를 2 개 생성했으며 생성자를 초기화 할 때 TF 기간을 매개 변수로 전달했습니다.
5분 동안 작동하지만 모든 것이 작동함을 보장하며 함수의 이름에 혼동이 없을 것입니다. NewBar_TF1() , NewBar_TF2() .... 사용자가 TF 설정을 변경한 후 초기화가 편리하기 때문에 삭제됨 DeInit()의 객체, ONInit()의 객체 생성
여러분, Peter에게 OOP의 이점을 확신시키려는 것은 무엇입니까?
여기에서 당신은 헛된 구슬을 던지고 있습니다.
여러분 말이 맞습니다. 저는 이 모든 것을 알고 완벽하게 이해합니다. 그러나 Peter가 내 OOP-soul의 일부 정신적 끈을 "나는 원하지 않아, 나는하지 않을 것입니다."라고 만지는 것 같아서 나는 끊임없이 논쟁과 말다툼에 대한 끝없는 설명에 침입합니다.
그리고 엔진은 텍스트 파일에서 커널을 로드합니다. 어렵지 않습니다.
A, 분명하다. 예, 그게 더 좋습니다. 저것들. 핵심은 텍스트 파일입니다. 사실 엔진에 대한 설정 그룹입니다.
아니, Vasily, 당신은 모든 것을 극화하는 경향이 있습니다.))
생성자에는 클릭 시 모든 파일을 인쇄하는 버튼이 있습니다.
그리고 엔진은 텍스트 파일에서 커널을 로드합니다. 어렵지 않습니다.
산만하게 해서 미안하지만 그냥 궁금합니다. 리팩토링은 어떻게 해야 합니까? 예를 들어, 실패한 이름을 변경하거나 일반적으로 요소의 구성/배열을 변경합니다.
A, 분명하다. 예, 그게 더 좋습니다. 저것들. 핵심은 텍스트 파일입니다. 사실 엔진에 대한 설정 그룹입니다.
네. 정확히. 엔진이 특정 GUI를 렌더링하고 작업하는 데 필요한 모든 정보입니다. 이제 엔진에 직접 설치하고 생성자가 인쇄하는 파일에서 로드 가능하게 만들 것입니다.
산만하게 해서 미안하지만 그냥 궁금합니다. 리팩토링은 어떻게 해야 합니까? 예를 들어, 실패한 이름을 변경하거나 일반적으로 요소의 구성/배열을 변경합니다.
그것은 모두 생성자에 있습니다. KIB 코드가 작성되고 파일이 다시 컴파일됩니다.
생성자와 함께 작업하는 방법은 다음과 같습니다. https://www.mql5.com/en/blogs/post/717782
또는 다른 예. 나는 최근에 동시에 여러 상품을 거래할 수 있도록 절차적 EA를 조정하라는 요청을 받았습니다(동일한 차트에서 시작됨). 절차적 스타일에서 그가 동시에 다른 기호에 대해 독립적으로 거래하도록 하려면 매우 길고 어려운 트릭이 필요합니다. 방금 모든 절차 코드를 클래스에 배치하고 세 개의 인스턴스를 만들었습니다. 각각에는 작업 기호 등을 포함하여 개별 설정 세트가 제공되었습니다. 코드는 처음처럼 작동했습니다. 사용자는 행복했습니다.
이번 주에 비슷한 예가 있었는데 한 TF에 바가 열리면 구매가 열리고 다른 TF에 바가 열리면 판매가 열리는 어드바이저를 만들어달라고 했습니다. 나를 감동시켰다))
그러나 그는 새로운 막대 를 정의하는 진부한 기능을 가져 와서 클래스로 다시 작성하고 새로운 막대 정의 클래스의 인스턴스를 2 개 생성했으며 생성자를 초기화 할 때 TF 기간을 매개 변수로 전달했습니다.
5분 동안 작동하지만 모든 것이 작동함을 보장하며 함수의 이름에 혼동이 없을 것입니다. NewBar_TF1() , NewBar_TF2() .... 사용자가 TF 설정을 변경한 후 초기화가 편리하기 때문에 삭제됨 DeInit()의 객체, ONInit()의 객체 생성
IMHO, OOP는 편리하고 실용적입니다
그것은 모두 생성자에 있습니다. KIB 코드가 작성되고 파일이 다시 컴파일됩니다.
생성자와 함께 작업하는 방법은 다음과 같습니다. https://www.mql5.com/en/blogs/post/717782
네. 정확히...
그렇기 때문에 엔진에 대한 많은 혼란이 다른 사람들에게 발생합니다. 시스템 요소에 비표준 이름을 지정합니다. 커널이 아니라 자동 생성된 설정 파일입니다.
그러나 이벤트에 있는 모든 사용자 지정 편집 바인딩도 재정의합니까?
더 자세히 설명하십시오.
그렇기 때문에 엔진에 대한 많은 혼란이 다른 사람들에게 발생합니다. 시스템 요소에 비표준 이름을 지정합니다. 커널이 아니라 자동 생성된 설정 파일입니다.
따라서 파일은 인쇄된 커널입니다. 그 중 몇 가지가 있습니다.