자신만의 MetaTrader 확장 프로그램(dll) 생성 - 페이지 5

 

나는 당신이 큰 사업가를 참조하십시오???

이것은 당신이 가지고 있는 그런 똥을 팔 수 있는 포럼이 아닙니다.

DGC OZFX EA에서 정확히 무엇을 수정했습니까?

firedoji:
쉬운!! 모든 외환 전자 책을 다운로드하고 내부 지침을 살펴보십시오. 거기에서 200++ 이상의 전자 책과 일부 EA도 얻습니다. 거기에 있는 모든 EA는 편집되고 수정되었습니다...

------------------------------------------

모든 EA 다운로드 모든 지표 다운로드 전자책 다운로드
 
prasxz:
웹 서비스에 mt4 dll을 연결하고 웹 사이트를 통해 MT4 열린 위치를 표시하는 PHP 스크립트를 만들어 MT4가 없는 사람들이 웹 사이트에서 실시간으로 볼 수 있도록 할 수 있습니까?

누군가가 얼마 전에 훌륭하게 작동하는 MQL/MySQL 예제를 게시했지만, 유일한 문제는 대부분의 호스팅 회사가 데이터베이스 서버에 대한 원격 액세스를 허용하지 않는다는 것입니다. 그러나 서버에 대한 전체 액세스 및 제어 권한이 있는 경우 데이터베이스에 연결하고 각각의 새 주문에 대한 데이터를 삽입하는 EA를 작성할 것입니다. 그런 다음 웹사이트에서 데이터베이스에 연결하고 데이터를 읽기만 하면 됩니다. 제 생각에는 이것이 최선의 방법일 것입니다.

이제 MT4 DLL은 PHP 스크립트에 연결할 수 있지만 EA에서 웹사이트로 정보를 전달하려고 시도한 적이 없습니다. 하지만 성공적으로 다른 방법으로 수행할 수 있었습니다... Windows 소켓을 살펴봐야 합니다. 및 HTTP_GET / HTTP_POST와 같은 기능 .

패트릭

 
Mistigri:
잘 모르겠습니다. 라이브러리가 친숙해 보입니다. 웹사이트에 연결하는 데 사용하고 있습니까? 대신 wininet.lib를 사용해 보셨습니까?

여기서 문제가 def 파일이라고 생각하지 않거나 dll이 로드되지 않고 제대로 작동하지 않는다고 생각합니다. 더 많은 정보(예: dll에서 사용 중인 코드의 일부)를 제공할 수 있다면 아마도 제가 할 수 있습니다. 도와주세요.

패트릭

안녕하세요 패트릭입니다!

여기에서 라이브러리와 소스 코드를 찾았습니다.

https://www.mql5.com/en/forum/178272

나는 거기에 내 게시물을 올렸지 만 관리자는이 스레드로 옮겼습니다 ...

감사해요!

 

인터넷에 있는 파일 읽기

안녕,

EA가 로컬 시스템이 아닌 인터넷에 있는 파일을 읽기를 원합니다.

FileOpen은 파일이 메타트레이더 디렉토리에 있는 경우에만 작동합니다.

ac#-dll로 지쳤지만 " 함수 를 호출할 수 없습니다"라는 오류 메시지가 나타납니다.

이 문제에 대한 쉬운 해결책이 있습니까??

감사해요

 

오류 127에 대한 솔루션 - 함수를 호출할 수 없음

오류 127에 대한 솔루션 - 함수를 호출할 수 없음

괜찮아,

드디어 어젯밤에 다시 보게 되었습니다. 문제는 잘못된 def 파일을 연결하거나 def 파일을 dll과 연결 하지 않는 것과 관련이 있습니다.

Visual Studio 2008 Express에서 수정하는 방법은 다음과 같습니다.

1) 프로젝트, 속성 또는 Alt-F7로 이동

2) 링커로 이동 - 더블 클릭하면 드롭다운 목록이 나타납니다.

3) 입력 선택

4) 모듈 정의 파일을 def 파일 이름으로 변경합니다.

파일의 경로와 전체 이름(예: .\MyDef.def)이 있는지 확인하십시오.

2008 Express 버전에서는 프로페셔널 버전처럼 자동으로 생성되지 않습니다.

이것이 주범입니다. 여전히 문제를 일으킬 수 있는 다른 링커/컴파일러 문제가 있을 수 있습니다. 당신이해야 할 일은 Metatrader4와 함께 제공되는 ExportFunction 예제 프로젝트를로드하는 것입니다. 이것은 Experts/DllSample 폴더에 있습니다. 이제 페이지별로, 항목별로 속성 페이지로 이동하여 ExportSample 또는 ExpertSample이라고 표시된 모든 곳(또는 명명 규칙과 관련하여 사용하는 모든 항목)을 살펴보고 고유한 명명 규칙과 일치하도록 속성을 변경합니다. 이 항목을 항목별로 살펴보고 127 오류가 발생했는지 확인했습니다. 올바른 모듈 정의 파일이 종속성으로 명시적으로 지정될 때까지 해당 오류가 계속 발생했습니다. 샘플과 일치하도록 모든 것을 변경했기 때문에 그 외에 다른 것이 없을 수도 있다는 말은 아니지만 def 파일이 명시적이면 해결됩니다.

dll은 lib 폴더에 있어야 합니다. dll을 명시적으로 가져오고 매개변수, 반환 유형 등이 포함된 함수 이름을 나열하는 포함 디렉토리에 mqh 파일이 있어야 합니다. 그런 다음 지표 또는 전문가에 헤더 파일을 포함해야 합니다. 그렇게 해야 합니다.

CodersGuru와 Mistigri는 모두 이를 수행하는 방법에 대한 좋은 예를 가지고 있지만 비전문가 Express 버전은 def 파일을 종속성으로 명시적으로 추가하지 않으며 이것이 Express 버전을 사용하는 우리 모두가 겪는 문제의 근원입니다. (적어도 특정 프로젝트를 선택할 때 명시적으로 추가해서 문제가 있는 우리를 선택하게 하지는 않습니다.)

첨부된 이미지 를 참조하십시오. 컴파일러와 링커 값이 Metatrader와 함께 제공되는 exportfunction 샘플의 값과 일치하는지 확인하고 싶을 수도 있습니다.

문안 인사,

MG

파일:
properties.jpg  75 kb
 
fedecosta:
안녕하세요 패트릭입니다!

여기에서 라이브러리와 소스 코드를 찾았습니다.

https://www.mql5.com/en/forum/178272

나는 거기에 내 게시물을 올렸지 만 관리자는이 스레드로 옮겼습니다 ...

감사해요!

죄송합니다. 아직 볼 기회가 없었고 바빴지만 잊지 않고 다시 알려 드리겠습니다.

페코07:

EA가 로컬 시스템이 아닌 인터넷에 있는 파일을 읽기를 원합니다.

두 가지 옵션이 있습니다. 웹사이트에 연결할 C# 앱을 작성하고, 컴퓨터에 데이터 파일을 작성하고 MT4에서 이를 읽거나, 웹사이트에 연결할 C++ dll을 작성하여 데이터를 읽습니다....

C# 경로로 이동하면 지금까지 DLL 경로보다 훨씬 빠른 것 같습니다. C++ DLL을 작성하려는 경우 시작하는 데 도움이 되는 몇 가지 코드가 있습니다.

MT4 DLL 웹 연결 | 미스티그리

MG_1:

문제는 잘못된 def 파일을 연결하거나 def 파일을 dll과 연결하지 않는 것과 관련이 있습니다.

Visual Studio 2008 Express에서 수정하는 방법은 다음과 같습니다.

정보 주셔서 감사합니다! 실례가 되지 않는다면 내 사이트에 있는 게시물의 일부를 복제하겠습니다...

 
Mistigri:
정보 주셔서 감사합니다! 실례가 되지 않는다면 내 사이트에 있는 게시물의 일부를 복제하겠습니다...

문제 없습니다. 많은 사람들이 그곳에 가서 배우기 때문에 Express 사용자와 gnu 등 사용자에게 도움이 되기를 바랍니다.

-MG

 
fedecosta:
안녕하세요 여러분!

이 라이브러리를 사용하는 데 문제가 있습니다.

나는 그것들을 metatrader\experts\library에 넣었습니다.

.def 파일의 경로를 올바르게 정의합니다.

...하지만 내 EA는 다음 오류를 레지스터에 인쇄합니다. -65495

무엇이 문제가 될 수 있습니까?

그리고 무엇보다 어떻게 해결해야 할까요?

.def 파일이 손상될 수 있습니까?

미리 감사드립니다...

안녕하세요 페데코스타입니다.

c:\ 드라이브 바로 아래에 def 파일을 복사해 보십시오. 저에게 효과가 있는 것 같습니다.

이것은 DLL 프로그래밍과 관련이 없으며 이 EA에만 해당됩니다...

패트릭

 
Mistigri:
안녕하세요 팀,

dev-c++를 사용할 때 def 파일이 자동으로 생성됩니다. 문제는 결국 다음과 같은 함수 이름을 갖게 된다는 것입니다.

EXPORTS

_Z11GetSMAArrayP8RateInfoiiPd@16 @ 1

_Z12GetHighValueP8RateInfoii = _Z12GetHighValueP8RateInfoii@12 @ 2

_Z12GetHighValueP8RateInfoii@12 @ 3

_Z13GetCloseValueP8RateInfoii = _Z13GetCloseValueP8RateInfoii@12 @ 4

_Z13GetCloseValueP8RateInfoii@12 @ 5

_Z11GetSMAArrayP8RateInfoiiPd = _Z11GetSMAArrayP8RateInfoiiPd@16 @ 6[/PHP]

Now you need to make sure you add the following check around your code

[PHP]

#ifdef __cplusplus

extern "C" {

#endif

#ifdef __cplusplus

}

#endif

VS2008에서 했던 샘플 파일이 첨부되어 있지만 이번에는 dev-c++를 사용하여 ...

도움이 되었기를 바랍니다

dll 파일을 작성할 때,

def 파일의 함수 는 시작 부분에 _z12를 추가해야 합니까?

즉 .mq4 파일에서

호출 finction: get_max_deviation

그런 다음 .def 파일에서

전달된 함수: _z12get_max_deviation???

함수 이름 뒤의 @ 숫자는 무엇을 의미합니까?

감사해요

 
Mistigri:

VS2008에서 했던 샘플 파일이 첨부되어 있지만 이번에는 dev-c++를 사용하여 ...

도움이 되었기를 바랍니다

첨부 파일

MistigriFX 샘플 Debug.mq4(2.1KB, 15개 보기)

MSFXDEV.zip (8.6 KB, 17 보기 )

나는 당신의 파일을 dl하고 그림 쇼로 .cpp를 컴파일합니다.

하지만 오류가 발생

내 컴파일 방법이 잘못 되었습니까? dll로 컴파일하려면 어떻게합니까? (저는 C++ 초보자입니다 ^^)

파일:
dev_dll.jpg  298 kb