내 접근 방식. 코어 - 엔진. - 페이지 139

 
Georgiy Merts :

여러분, Peter에게 OOP의 이점을 확신시키려는 것은 무엇입니까?

Artyom Trishkin :

여기에서 당신은 헛된 구슬을 던지고 있습니다.

여러분 말이 맞습니다. 저는 이 모든 것을 알고 완벽하게 이해합니다. 그러나 Peter가 내 OOP-soul의 일부 정신적 끈을 "나는 원하지 않아, 나는하지 않을 것입니다."라고 만지는 것 같아서 나는 끊임없이 논쟁과 말다툼에 대한 끝없는 설명에 침입합니다.

 
Реter Konow :

그리고 엔진은 텍스트 파일에서 커널을 로드합니다. 어렵지 않습니다.

A, 분명하다. 예, 그게 더 좋습니다. 저것들. 핵심은 텍스트 파일입니다. 사실 엔진에 대한 설정 그룹입니다.

 
Реter Konow :

아니, Vasily, 당신은 모든 것을 극화하는 경향이 있습니다.))

생성자에는 클릭 시 모든 파일을 인쇄하는 버튼이 있습니다.

그리고 엔진은 텍스트 파일에서 커널을 로드합니다. 어렵지 않습니다.

산만하게 해서 미안하지만 그냥 궁금합니다. 리팩토링은 어떻게 해야 합니까? 예를 들어, 실패한 이름을 변경하거나 일반적으로 요소의 구성/배열을 변경합니다.

 
Vasiliy Sokolov :

A, 분명하다. 예, 그게 더 좋습니다. 저것들. 핵심은 텍스트 파일입니다. 사실 엔진에 대한 설정 그룹입니다.

네. 정확히. 엔진이 특정 GUI를 렌더링하고 작업하는 데 필요한 모든 정보입니다. 이제 엔진에 직접 설치하고 생성자가 인쇄하는 파일에서 로드 가능하게 만들 것입니다.

 
Maxim Kuznetsov :

산만하게 해서 미안하지만 그냥 궁금합니다. 리팩토링은 어떻게 해야 합니까? 예를 들어, 실패한 이름을 변경하거나 일반적으로 요소의 구성/배열을 변경합니다.

그것은 모두 생성자에 있습니다. KIB 코드가 작성되고 파일이 다시 컴파일됩니다.

생성자와 함께 작업하는 방법은 다음과 같습니다. https://www.mql5.com/en/blogs/post/717782

 
Vasiliy Sokolov :

또는 다른 예. 나는 최근에 동시에 여러 상품을 거래할 수 있도록 절차적 EA를 조정하라는 요청을 받았습니다(동일한 차트에서 시작됨). 절차적 스타일에서 그가 동시에 다른 기호에 대해 독립적으로 거래하도록 하려면 매우 길고 어려운 트릭이 필요합니다. 방금 모든 절차 코드를 클래스에 배치하고 세 개의 인스턴스를 만들었습니다. 각각에는 작업 기호 등을 포함하여 개별 설정 세트가 제공되었습니다. 코드는 처음처럼 작동했습니다. 사용자는 행복했습니다.

이번 주에 비슷한 예가 있었는데 한 TF에 바가 열리면 구매가 열리고 다른 TF에 바가 열리면 판매가 열리는 어드바이저를 만들어달라고 했습니다. 나를 감동시켰다))

그러나 그는 새로운 막대 를 정의하는 진부한 기능을 가져 와서 클래스로 다시 작성하고 새로운 막대 정의 클래스의 인스턴스를 2 개 생성했으며 생성자를 초기화 할 때 TF 기간을 매개 변수로 전달했습니다.

5분 동안 작동하지만 모든 것이 작동함을 보장하며 함수의 이름에 혼동이 없을 것입니다. NewBar_TF1() , NewBar_TF2() .... 사용자가 TF 설정을 변경한 후 초기화가 편리하기 때문에 삭제됨 DeInit()의 객체, ONInit()의 객체 생성

IMHO, OOP는 편리하고 실용적입니다

 
Реter Konow :

그것은 모두 생성자에 있습니다. KIB 코드가 작성되고 파일이 다시 컴파일됩니다.

생성자와 함께 작업하는 방법은 다음과 같습니다. https://www.mql5.com/en/blogs/post/717782

그러나 이벤트에 있는 모든 사용자 지정 편집 바인딩도 재정의합니까?
 
Реter Konow :

네. 정확히...

그렇기 때문에 엔진에 대한 많은 혼란이 다른 사람들에게 발생합니다. 시스템 요소에 비표준 이름을 지정합니다. 커널이 아니라 자동 생성된 설정 파일입니다.

 
Maxim Kuznetsov :
그러나 이벤트에 있는 모든 사용자 지정 편집 바인딩도 재정의합니까?

더 자세히 설명하십시오.

 
Vasiliy Sokolov :

그렇기 때문에 엔진에 대한 많은 혼란이 다른 사람들에게 발생합니다. 시스템 요소에 비표준 이름을 지정합니다. 커널이 아니라 자동 생성된 설정 파일입니다.

따라서 파일은 인쇄된 커널입니다. 그 중 몇 가지가 있습니다.