베타 빌드 530의 배열 크기 조정 버그 - 페이지 5

 
angevoyageur :

테스트하고 다른 터미널의 업데이트를 피하려면 다음 폴더를 제거해야 합니다.

  • Windows 7 : C:\ProgramData\MetaQuotes\WebInstal 업데이트 성공 후 테스트 터미널에서 다른 터미널로 업데이트되지 않습니다.
  • Windows XP: C: \ Documents and Settings \ All Users \ Application Data \ MetaQuotes \ Webinstall \

이 정보(아마도 러시아 포럼에서 가져옴)는 더 이상 최신 정보가 아닙니다. v534부터 Win7+의 업데이트는 %programdata%\metaquotes\webinstall이 아니라 %appdata%\metaquotes\webinstall에 있습니다.

후속 버전에서 다시 변경될 수 있습니다.

 
cyclops993 :

이 정보(아마도 러시아 포럼에서 가져옴)는 더 이상 최신 정보가 아닙니다. v534부터 Win7+의 업데이트는 %programdata%\metaquotes\webinstall이 아니라 %appdata%\metaquotes\webinstall에 있습니다.

후속 버전에서 다시 변경될 수 있습니다.

고맙습니다.
 
angevoyageur :

나는 전문 프로그래머이기 때문에 아마도 좋은 예가 아닐 것입니다. 그래서 저에게는 큰 노력이 필요하지 않으며 새로운 프로그래밍 언어를 배우는 것을 좋아합니다. 나도 oop에 대한 경험이 있다.

. . . . .

대부분 귀하가 작성한 내용에 동의합니다. 저는 소프트웨어 엔지니어는 아니지만 mql5에 약간 손을 댔고 작성한 코드에서 OOP를 사용할 필요가 없었습니다. . . 그러나 다른 사람의 코드를 읽고 이해함으로써 많은 것을 배웁니다. OOP의 원리를 이해하지 못하면 일부 mql5 코드를 따라가기가 어려울 수 있습니다.
 
RaptorUK : 대부분 귀하가 작성한 내용에 동의합니다. 저는 소프트웨어 엔지니어는 아니지만 mql5에 약간 손을 댔으며 작성한 코드에서 OOP를 사용할 필요가 없었습니다. . . 그러나 다른 사람의 코드를 읽고 이해함으로써 많은 것을 배웁니다. OOP의 원리를 이해하지 못하면 일부 mql5 코드를 따라가기가 어려울 수 있습니다.

Imo, OOP는 캡슐화, 추상화, 상속 및 다형성에 대한 믿음을 포함합니다. 추상화 때문에 다른 사람의 코드를 "팔로우"할 수 있다고 생각하지 않습니다. 당신이 알아야 할 것은 그것이하는 일입니다 . 좀 더 진지하게 말하자면, OOP는 언어 && IDE에 의해 시행되고 지원되는 조직/카탈로그 수준을 제공한다고 생각합니다. 프로그래머는 너무 많은 조직을 가질 수 없습니다. 이것은 아마도 대부분의 프로그래머가 향후 프로젝트 에 시간을 절약할 수 있도록 합니다.

 

동전의 양면에 대해 잘 알고 있는 사람의 좋은 통찰력이었습니다. mql5 기능과 함께 mql4를 계속 사용하기 위해 꼭 필요한 것은 아니지만 그래도 oop 개념과 원칙에 따라 코딩할 때의 이점은 무엇이며 소규모 프로젝트 코딩에 얼마나 잘 적용되는지 알고 싶습니다. EA처럼.

 

내가 EA를 코딩할 때 일반적으로 책 1권과 유사하게 끝납니다. 중앙 허브 기능 은 사물의 현재 상태를 누적하고 해당 정보를 동일한 배열의 정보를 사용하여 결정하는 주변 기능으로 둘러싸인 전역 배열에 저장합니다. 이를 위해 각각은 로트 크기 등을 계산하기 위해 다른 도우미 함수를 호출합니다. start() 함수는 우선 순위에 따라 중앙 허브 함수를 먼저 호출한 다음 주변 함수를 호출합니다. 그 기본 구조는 꽤 잘 작동하지만 전체가 해당 어레이에 대한 전역 액세스에 중점을 두고 있다는 사실이 마음에 들지는 않았지만 다른 방법을 찾을 만큼 마음에 들지 않았습니다. 즉, 충분히 잘 작동하므로 고치려고 하지 않았습니다.

oop 접근 방식이 그것과 어떻게 다른지 그리고 어떤 이점이 있는지 알고 싶습니다.

 
SDC : 내가 EA를 코딩할 때 일반적으로 책 1과 유사하게 됩니다. 중앙 허브 기능은 사물의 현재 상태를 축적하고 해당 정보를 동일한 어레이의 정보를 사용하는 주변 기능으로 둘러싸인 전역 어레이에 저장합니다. 무엇을 할지 결정하고, 각각은 로트 크기 등을 계산하기 위해 다른 도우미 함수를 호출합니다. start() 함수는 우선 순위에 따라 중앙 허브 함수를 먼저 호출한 다음 주변 함수를 호출합니다. 그 기본 구조는 꽤 잘 작동하지만 전체가 해당 어레이에 대한 전역 액세스에 중점을 두고 있다는 사실이 마음에 들지는 않았지만 다른 방법을 찾을 만큼 마음에 들지 않았습니다. 즉, 충분히 잘 작동하므로 고치려고 하지 않았습니다.

oop 접근 방식이 그것과 어떻게 다른지 그리고 어떤 이점이 있는지 알고 싶습니다.

나는 당신이 프로그램 흐름을 설명하고 있다고 믿습니다. 나는 그것이 OOP 뒤에 있는 big_idea라고 생각하지 않습니다. (imo) OOP는 다음과 같은 문제를 해결하려고 합니다. 나는 OOP 멍청한 놈이지만 그것에 대한 세계관을 형성하고 있습니다.

1) 함수 가 global_variables와 독립적입니까? other_words에서 귀하의 기능은 독립형 객체입니까? 캡슐화

2) 함수가 local_variable_names와 같은 세부 정보를 숨기나요? 화면의 코드 양을 단순화합니까? 추출

3) 수정을 위해 자체 복제본을 생성하는 기능이 있습니까? 자신만의 데이터 유형을 생성하는 기능이 마음에 드시나요? 계승.

4) 즉석에서 변경하는 기능이 있습니까? 예: 함수가 integer_array와 double_array를 처리할 수 있습니까? 다형성.

OOP가 building_ea에서 도움을 줄 수 있는 방법은 ea_builder가 비프로그래머가 Expert_advisor를 빌드하도록 돕는 것과 유사합니다. 좋아하는 Order_Accounting_Function -> Data_Function -> Event Tracking Function -> Volume Defining Function -> Trading Criteria Defining Function -> Trade Functions -> Error Processing Function을 잡으면 됩니다. 그리고 붐, 당신은 Expert_Advisor가 있습니다. 수년에 걸쳐 개발한 모든 거래 기준 정의 기능을 쉽게 교환할 수 있습니다.

예를 들어 내 전문 고문을 수정하려면 내 전역 변수가 적용되는 위치와 이에 종속되는 다른 기능(상태 또는 상태 배열에서와 같이)을 연구해야 합니다. OOP는 as_simple_as Accounting(Option_3); 디스플레이(옵션_1); 캡션(Option_5); TradingSys(Option_7); 볼륨 크기(옵션 2); OrderType(Option_2) 및 전체 전문가입니다.

이렇게 하면 다른 사람이 라이브러리 집합을 더 쉽게 사용할 수 있으며 일반적으로 다른 사람에게 효과가 있는 것이 나중에 언젠가는 귀하에게도 효과가 있습니다. 다른 것이 아니라면 조립 라인의 독립 실행형 개체를 생각하십시오. :)

 
***P: (나는 이것을 잊고 싶지 않다). 물론 우리 대부분은 우리가 사용하는 코드의 내용을 모르는 것을 좋아하지 않습니다. 또는 다른 사람의 코드를 이해하려고 하는 데 몰두합니다. 그렇지 않으면 사용하지 않을 것입니다. 그러나 mql4의 대부분의 기본 함수 (예: OrderSend())는 view_point의 객체입니다. 우리는 그들의 코드를 볼 수_없지만 그것을 받아들입니다. 나는 other_people 라이브러리에 대한 이러한 수용이 대규모 프로젝트를 수행하는 professional_oop_programmer가 수용하고 구축해야 하는 것이라고 믿습니다. 그렇지 않으면 바퀴를 다시 만드는 데 문제가 있습니다.
 

내 EA의 최신 버전이 이에 가까워지고 있습니다. 이제 모두 포함 파일이지만 최소한 일부 수정 없이 바로 사용할 수 있을 만큼 강력하지 않습니다. 내가 자주 범하는 실수는 사실이 끝날 때까지 모호해야 하는 함수 에 기준 특정 코드를 작성하지 않는다는 것입니다. 그리고 그들은 glabal 배열에 너무 많이 의존합니다. 시간이 되면 더 많은 로컬 배열을 사용할 것입니다. 더 적은 전역 액세스를 보상하기 위해 매개변수를 전달합니다.

 
ubzen :
***P: (나는 이것을 잊고 싶지 않다). 물론 우리 대부분은 우리가 사용하는 코드의 내용을 모르는 것을 좋아하지 않습니다. 또는 다른 사람의 코드를 이해하려고 하는 데 몰두합니다. 그렇지 않으면 사용하지 않을 것입니다. 그러나 mql4의 대부분의 기본 함수(예: OrderSend())는 view_point의 객체입니다. 우리는 그들의 코드를 볼 수_없지만 그것을 받아들입니다. 나는 other_people 라이브러리에 대한 이러한 수용이 대규모 프로젝트를 수행하는 professional_oop_programmer가 수용하고 구축해야 하는 것이라고 믿습니다. 그렇지 않으면 바퀴를 다시 만드는 데 문제가 있습니다.
차이가 있습니다. . . 주문하려면 OrderSend() 를 사용하는 것 외에 다른 옵션이 없습니다. . . 다른 사람의 라이브러리를 사용할지 여부를 선택할 수 있습니다. . . 출처가 존중되더라도 사용하기 전에 이해하려고 노력합니다. 일부 오류가 발견되고 수정 되는 방법은 다음과 같습니다. https://www.mql5.com/en/forum/133792/page3 " 랩터UK's 코멘트 : "