라이브러리를 MQL5로 변환할 때입니다. - 페이지 5

 

그런데 사람이 이해할 수 있는 언어로 저장소 작업을 위한 명령을 만드는 것이 정말 불가능했을까요? - 음, 다음과 같습니다.

"저장소로 보내기"

"저장소에서 다운로드"

"저장소와 동기화"

"나와 동기화"

그리고 현재 팀은 - 글쎄, 그것은 분명하지 않습니다. 그리고 이것에서 나는 Urain 에 동의합니다. 그리고 누군가에게 직관적으로 명확하지 않은 것이 있다면, 이 누군가는 새로운 기능을 사용하기 위해 명령을 배우는 데 시간을 할애하고 싶어하지 않을 것입니다. 특히 그 이전에는 기능 없이 관리했다면 더욱 그렇습니다.

 

가지가 위시리스트로 변해 나도 여기 에 담을게

숫자 라이브러리의 경우 다음과 같습니다.

  • 보간, 평활화 및 근사화
  • 행렬 작업
  • 최적화(극한 검색), 방법:

1차원: 골든 섹션 방법, 이분법, 포물선 방법, 그리드 탐색, 피보나치 방법, 삼항 탐색
직접 방법: Gauss 방법, Nelder-Mead 방법, Hook-Jeeves 방법, Configuration 방법, Rosenbrock 방법
1차: 기울기 하강법, Zeutendijk 방법, 좌표 하강법, 켤레 기울기 방법, Quazi-Newton 방법, Levenberg-Marquardt 알고리즘
2차: Newton 방법, Newton-Raphson 방법
확률론적: Monte Carlo 방법, Simulated annealing, Evolutionary algorithm, Genetic algorithm , Differential evolution, Ant colony algorithm, Particle swarm method

Wikipedia의 목록, 전체가 아마도 필요하지 않을 것입니다.

  • 신경망?

수치 방법 라이브러리 외에도:

  • 도표 작성

Java Reflection API의 아날로그를 언어에 포함

  • 객체 클래스의 정의.
  • 수정자, 필드, 메서드, 생성자에 대한 정보를 가져옵니다.
  • 프로그램이 실행될 때까지 이름을 알 수 없는 클래스의 인스턴스를 만듭니다(문자열로 제공됨).
  • ...

그리고 정규 표현식

그리고 이것에 좋은 추가 기능은 기호 차트 창이 아닌 프로그램을 실행하는 기능입니다. 그리고 일반 창에서. 사용자 "응용 프로그램"에서 벗어날 수 없다는 것은 이미 명백합니다. 모든 작업에 대해 누구에게나 참조할 수 있기 때문에 기호에 바인딩하는 이유는 무엇입니까? 일반적으로 5-ke에서는 기호에 대한 기본 호버링이 전혀 필요하지 않습니다. 이것은 정말 편리한 많은 지표와 전문가 응용 프로그램입니다.

그리고 최소한 인터페이스 요소에서 차트로 이벤트의 "출현"을 차단하기 위해 이제 드래그 창 개체가 차트 스크롤과 함께 성가시게 됩니다(또는 이미 그럴 수도 있습니까?).

정적 메서드에 감사드립니다. 내 싱글톤은 더 이상 전역 함수가 아닙니다.

 
Renat :
우리는 다른 언어로 작성된 기존 라이브러리의 변환을 단순화하기 위해 MQL5 컴파일러를 미세 조정하는 데 많은 작업을 수행했습니다.

또한 MQL5 언어의 개발은 계속됩니다. 강력한 코드 프로파일러를 포함하여 더 많은 기능이 곧 제공될 예정입니다.

이제 두 가지 작업이 있습니다.
1) 변환을 위한 유용한 오픈 소스 라이브러리 선택
2) 전환 프로젝트 실행을 위한 자원 봉사자 모집(이 비용은 우리가 부담합니다)

우선, 잠재적인 프로젝트 목록을 수집하고 싶습니다. 링크와 간단한 설명을 도와주세요.
마켓에 라이브러리를 업로드하려는 사람들에게 더 유리하기 때문이라고 생각합니다. 이것은 장기적인 목표이며 일회성 지불을 제공합니다. 물론, 프로젝트에 대해 $10,000에서 $50,000 또는 그 이상을 제안할 준비가 되어 있다면 다른 대화를 통해 무언가를 바꿀 준비가 되어 있습니다.
 
-Alexey- :
마켓에 라이브러리를 업로드하려는 사람들에게 더 유리하기 때문이라고 생각합니다. 이것은 장기적인 목표이며 일회성 지불을 제공합니다. 물론, 프로젝트에 대해 $10,000에서 $50,000 또는 그 이상을 제안할 준비가 되었으면 다른 대화를 통해 무언가를 바꿀 준비가 되었습니다.
매우 흥미롭습니다. 제공할 준비가 된 것은 무엇입니까? 글쎄, 적어도 미묘한 힌트 pliz?
 
큰 숫자를 사용하여 여전히 복잡한 숫자로 작업합니다. 3차원 그래프의 추가 생성과 함께 좌표 변환 .
 
TheXpert :
레이:)
아아! 아야! :)
 

또 다른 질문 - 현재 MQL5를 C++에 최대한 가깝게 하려고 노력하고 있다면 #ifdef 또는 #if가 정의되거나 #if?에 관한 질문을 재고해 보십시오.

다음으로, 디버깅 라이브러리 에 관해 질문을 드리겠습니다. 아마 눈치채지 못하셨겠죠?

Небольшой вопрос -- сейчас есть возможность нормально дебажить библиотеки? Просто не всегда все баги вылазят сразу -- некоторые могут остаться и вылезти уже во время активного пользования библиотекой.

물론 내부통제에 의해 부분적으로 해결되지만 라이브러리 코드의 빌드업에 비추어 볼 때 매우 의미 있는 일이다.

EMNIP, 라이브러리의 중단이 작동하지 않습니다.

 
Renat :
MQL4와 MQL5 모두에서 7년 동안 완벽하게 작동했는데 "보증된 DLL 액세스"에 대해 듣는 것은 이상합니다.

그것은 잘 작동합니다 - 이것은 헤더 파일과 함께 C ++ (또는 C #) dll을 가져 와서 적절한 폴더에 넣고 # 포함 을 통해 원본 헤더 파일을 포함시킬 때입니다. 당신의 코드와 그게 다야. 지금 가능한가요?

 
다른 비 C/C++ 언어에서 가능합니까?

C/C++의 완전한 보안 부족과 직접적인 데이터 액세스는 보안에 대해 최소한의 관심이라도 갖는 언어와 잘 어울리지 않습니다. 헤더 *.h 파일은 MQL5에서 사실상 그대로 사용할 수 있으며 MQH로 이름을 바꿀 수 있습니다. 그러나 링크로 작동하고 데이터에 직접 액세스할 수 있는 장소는 편집해야 합니다.

이 모든 것을 통해 DLL이 포함된 번들은 잘 작동합니다.

 
Renat :
. . . 헤더 *.h 파일은 MQL5에서 사실상 그대로 사용할 수 있으며 MQH로 이름을 바꿀 수 있습니다. 그러나 링크로 작동하고 데이터에 직접 액세스할 수 있는 장소는 편집해야 합니다.

고칠게 많을 것 같아요.

사실 데이터에 직접 접근하는 데는 아무런 문제가 없습니다. 결국 MetaTrader 자체 아마도 C / C ++로 작성되었을 것이고 아무것도 없을 것입니다. 게다가 일반적으로 링커를 사용하면 어셈블러 삽입도 할 수 있고 아무 것도 할 수 없습니다. MetaTrader 를 기억하십시오. Windows에서 직접 또는 간접적으로 실행하는 것은 엄청난 수의 시스템 dll을 사용하며 그것도 괜찮습니다.

사용자의 선택권을 박탈하는 것은 불가능한 것 같습니다. 예를 들어 ALGLIB - dll 및 해당 기본 헤더 파일(파일)을 선택하고 "비뚤어진 핸들"로 이를 건드리지 않고 신뢰할 수 있는 디버그된 라이브러리를 사용할 수 있지만 단순히 MQL 컴파일러에 이것이 MQL 이 아닌 C ++의 헤더 파일입니다.

문제가 발생할 수 있습니다. 이 라이브러리가 악의적이고 위험한 경우에는 어떻게 됩니까? 그러나 나는 그것을 직접 사용하기로 결정했습니다.

즉, MQL 로 작성된 모든 것은 원하는 대로 안전하게 하되, 감히 외부에 연결하면 이는 제 개인적인 문제입니다. 내 운영 체제를 보호할 뿐만 아니라 MetaTrader 에 위험할 수도 있습니다.