"10분 안에 MQL5용 DLL 라이브러리를 작성하고 데이터를 교환하는 방법" 기사에 대한 토론 - 페이지 9

 
Renat :

기술 수준을 향상시켜야 합니다.

64비트 프로그램의 경우 64비트 라이브러리가 필요하며 합리적인 프레임워크 내에서 32비트 라이브러리를 연결할 방법이 없습니다. 32비트 버전을 설치하려면 설치 프로그램을 /32 스위치로 실행해야 합니다.

이 기사를 다시 작성하고 MetaEditor와 MT4 및 MT5 플랫폼에서 오랫동안 구현된 멋진 것들을 추가할 것입니다. 많은 개발자가 새로운 기능을 인식하지 못합니다.

답변해 주셔서 감사합니다. 이제 시장은 매우 복잡하고 거래는 마치 성급하고 기술 분야에서 개선할 시간이 거의 없습니다. 32비트와 64비트 프로그램의 차이를 잘 모르겠습니다. 이 때문에 사용자에게 불필요한 문제가 발생하고 있음을 알 수 있습니다. Microsoft를 포함하여 모두가 어딘가에서 운전하고 있으며 더 빠른 쿨러를 원하지만 사용자에게는 지속적인 문제가 있습니다. 내 컴퓨터 32에서 64비트와 속도 차이가 별로 없습니다. 사실, 나는 i7-4 프로세서를 가지고 있습니다. 마지막 Intel 프로세서입니다. 아마도 이것 때문일 것입니다. 그리고 마이크로소프트가 C++를 짜기 시작했다는 것을 알 수 있습니다. 최신 컴파일러에서는 C++ 형식으로 작업하는 기능 설정도 제거되었습니다. 그리고 질문에 왜? 그들은 새롭고 더 발전된 C#에서 그것을 시도하지 않는 이유에 대해 대답합니다. 따라서 미래를 내다본다면 이것도 고려해야 합니다.
 
ANG3110 :


그리고 마이크로소프트가 C++를 짜기 시작했다는 것을 알 수 있습니다. 최신 컴파일러에서는 C++ 형식으로 작업하는 기능 설정도 제거되었습니다. 그리고 질문에 왜? 그들은 새롭고 더 발전된 C#에서 그것을 시도하지 않는 이유에 대해 대답합니다. 따라서 미래를 내다본다면 이것도 고려해야 합니다.

글쎄요, 마이크로소프트는 잘 알려진 기술 킬러이며 최근에는 스스로 무덤을 파고 있습니다.

그를 괴롭히는 이유 - 그를 자신의 구멍에 빠지게하십시오. 이것은 기술적 세부 사항에 시간을 낭비하지 않도록 너무 비 유적입니다. 세부 사항을 원하는 사람 - 인터넷에 수천 가지가 있습니다. "더 나은 C#" 이후에는 다른 말이 없습니다.

 
:)
 
동료 여러분, VS에서 MT 라이브러리를 연결하는 방법은 무엇입니까? 내 스튜디오가 문자열, 날짜 시간에 밑줄을 긋지 않도록 ...
 
Renat Fatkhullin :

기술 수준을 향상시켜야 합니다.

64비트 프로그램의 경우 64비트 라이브러리가 필요하며 합리적인 프레임워크 내에서 32비트 라이브러리를 연결할 방법이 없습니다. 32비트 버전을 설치하려면 설치 프로그램을 /32 스위치로 실행해야 합니다.

이 기사를 다시 작성하고 MetaEditor와 MT4 및 MT5 플랫폼에서 오랫동안 구현된 멋진 것들을 추가할 것입니다. 많은 개발자가 새로운 기능을 인식하지 못합니다.

64비트 버전의 터미널에 대해 64비트 dll을 생성하는 예가 있습니까? 예, 그리고 "멋진 것들"에 대해 알고 있는 것이 흥미롭습니다)
 

모든 것이 쉽게 밝혀졌습니다!

저는 무료 Visual Studio Community 2015 를 설치했습니다.(즉, Community는 Express와 달리 x64를 지원하기 때문입니다.) 물론 x64의 유료 버전에도 있지만 무료 옵션을 고려했습니다. Web Installer에서 오류가 발생하여 ISO 이미지에서 설치했습니다. 설치할 때 "사용자 지정" 설치를 선택하고 C++(기본적으로 설치되지 않음)를 확인합니다.

그런 다음 기사에서와 같이 모든 것을 수행했습니다. Win32 프로젝트를 만들었습니다. x64 터미널이 (예상대로) 수락을 거부하는 어셈블리를 만들었습니다.

그런 다음 "Build" -> "Configuration Manager" 탭에서 플랫폼을 x64로 변경했습니다("Active Solution Platform"을 x64로 변경할 수도 있음).


다시 조립했습니다. 새 dll은 \x64\Debug 폴더(최종 어셈블리는 x64\Release\에 있음)에 있었고 x64 터미널은 다음을 실행하여 문제 없이 처리했습니다.

19:29:01.883 dll_test (EURUSD.e,H1) 시간 16msec, int: -752584127 double: 17247836076609.0
19:29:01.883 dll_test(EURUSD.e,H1) 배열: 0 1 2 3 4 5 6 7 8 9
19:29:01.883 dll_test (EURUSD.e,H1) 교체: 빠른 갈색 고양이가 게으른 개 위로 점프
19:29:01.886 dll_test(EURUSD.e,H1) 0x000007FEFB0F176F에서 액세스 위반 '...\MQL5\Libraries\ConsoleApplication1.dll'의 0x000000000000000에 쓰기
포착된 오류에 대한 추가 설명
저것들. 모든 것이 작동합니다!!!

Downloads | Visual Studio
Downloads | Visual Studio
  • www.visualstudio.com
Visual Studio Community 2015 with Update 1 - Free Visual Studio Community 2015 with Update 1 is a free, fully featured, and extensible IDE for individual developers, open source projects, academic research, education, and small professional teams. Create applications for Windows, Android, and iOS as well as web applications and cloud services...
 

메모:

다른 컴퓨터로 전송할 때 DLL이 작동을 거부했습니다. VS 자체에서 구성 요소를 사용했습니다. 문제는 프로젝트 -> 속성 -> MFC 사용에서 해결되고 "정적 라이브러리에서 MFC 사용"으로 설정됩니다. 그런 다음 DLL을 다시 빌드하고 다시 컴파일하십시오.

포럼에서 발견:

DLL을 사용하여 로컬 컴퓨터뿐만 아니라 로컬 네트워크에서도 Expert Advisors를 최적화할 수 있습니다. 이렇게 하려면 네트워크 컴퓨터에서 에이전트를 테스트하기 위해 레지스트리에 /dll 키를 추가합니다. 레지스트리 편집기 호출: regedit

Renat Fatkhullin :

기존에 설치된 에이전트의 경우 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MetaTester-XXXX 분기의 레지스트리를 통해서만 시작 명령을 변경할 수 있습니다.

각 ImagePath 매개변수를 클릭하고 줄 끝에 / dll을 추가하기만 하면 됩니다.


 

저는 현재 DLL을 통해 ZeroMQ를 MT4에 연결하고 있습니다.

어떻게 든 매우 나쁩니다. 표시기를 시작하거나 언로드 할 때 터미널이 항상 부서집니다. 그리고 디버그 모드 에서는 표시되지 않으므로 무슨 일이 일어나고 있는지 전혀 명확하지 않습니다.

 

안녕하세요.

어떤 이유로 테스트 케이스를 실행할 때 가져온 함수 에 대한 첫 번째 호출에서 스크립트가 잘립니다.

2016.07.30 23:30:14.088 스크립트 스크립트 mql5dll_test(EURUSD,H1) 제거됨

내가 무엇을 잘못하고 있지?

 
EsEr :

안녕하세요.

어떤 이유로 테스트 케이스를 실행할 때 가져온 함수 에 대한 첫 번째 호출에서 스크립트가 잘립니다.

2016.07.30 23:30:14.088 스크립트 스크립트 mql5dll_test(EURUSD,H1) 제거됨

내가 무엇을 잘못하고 있지?

기사 6년 전, 뭔가 달라졌다, 아마도

어떤 오류 코드?