문제를 제기하는 것은 좋지만 목표를 달성하는 방법에 대한 해결책이나 제안을 제시하지 않는다면 불평하는 것은 누구에게도 도움이되지 않습니다.
...
사실 pfx가 이 문제를 제기하고 불만을 제기한 것은 좋은 일이며 MetaQuotes가 이 문제를 해결해야 합니다. 왜냐하면 그들은 우리보다 메타트레이더를 더 잘 알고 있기 때문입니다(참고로 이 글의 저자 Renat Fatkhullin은 MetaQuotes의 CEO이기도 합니다). 누군가가 그 문제를 제기했다고 해서 그 사람이 문제에 대한 해결책을 가지고 있는 것은 아닙니다.
그리고실제로 .dll이 매번 호출되고 있는데 "자주 호출하지 않는 것이좋다" 고 말하는 것은 말이 안 된다는 데 동의합니다.그리고 요즘은 정직이 좋은 변화라는 MetaQuotes CEO의 말을 들으니 반갑습니다.
pfx, 당신이 인용한 단락을 바꾼 것 같습니다...
5. DLL 호출 래퍼 및 호출 속도 저하
위에서 이미 설명한 것처럼 DLL 함수의 모든 호출은 안전을 보장하기 위해 특수 래퍼로 래핑됩니다.
이 바인딩은 기본 코드를 마스킹하고, 스택을 대체하고, stdcall/cdecl 계약을 지원하며, 호출된 함수 내에서 예외를 모니터링합니다.
이 작업은 필연적으로 호출 함수의 지연으로 이어집니다.
따라서 작은 작업을 위해 초당 수백 또는 수천 번씩 매우 빈번하게 DLL 함수 호출을 수행하는 것은 권장하지 않습니다.
드물게 호출하는 것이 좋습니다.
..이쪽으로 ...
5. DLL 호출 래퍼와 호출 속도 저하
위에서 이미 설명한 것처럼 DLL 함수의 모든 호출은 안전을 보장하기 위해 특수 래퍼로 래핑됩니다. 이 바인딩은 기본 코드를 마스킹하고, 스택을 대체하고, stdcall/cdecl 계약을 지원하며, 호출된 함수 내에서 예외를 모니터링합니다.
이 정도의 작업량으로 인해 함수 호출이 크게 지연되지는 않습니다.
질문을 피하기 위해 문서의 일부 문단을 변경하는 것이 아니라 .dll 호출 속도 저하 문제를 실제로 해결했으면 좋겠습니다.
질문에 대해 말하자면, Renat Fatkhullin이 글의 마지막 줄에 "관심을 가져 주셔서 감사합니다!"라고 썼기 때문에 Renat가 " 진지하게 어떤 종류의 진술인지 "에 대한 pfx 질문에 답하고 싶습니다. 어떤 질문에도 답할 준비가 되어 있습니다"라는 문장을 남겼습니다.
Renat이 언제 이 글을 썼는지는 모르겠지만 Microsoft는 더 이상 Visual Studio 2005를 제공하지 않습니다. 비주얼 스튜디오 2010과 2011 베타를 제공하고 있으며 곧 2008을 버릴 것 같습니다.
마이크로소프트 비주얼 스튜디오 2010은여기를 클릭하고 2008은 여기를 클릭하세요. 설치 프로그램은 웹 설치 프로그램으로 인터넷 연결이 느리면 짜증날 수 있습니다. 오프라인 인스톨러는 ISO 이미지로 제공되지만 여기에는 Visual Studio C# 및 Visual Basic도 포함되어 있습니다. 설치 후 두 스튜디오 모두 몇 가지 업데이트가 필요하며, 그 용량도 꽤 큽니다.
질문에 대해 말하자면, Renat Fatkhullin이 글의 마지막 줄에 "관심을 가져 주셔서 감사합니다!"라고 썼기 때문에 Renat가 " 진지하게 어떤 종류의 진술인지 "에 대한 pfx 질문에 답하고 싶습니다. 어떤 질문에도 답할 준비가 되어 있습니다."라고 답하거나 적어도 단락을 변경했습니다.
MT5에서 작동하지 않는 Fann2MQl.dll(http://fann2mql.wordpress.com 에 문서화되어 있음)을 수정해야 합니다. 그 이유는 MT5에서는 원하는 위치에서 파일을 열 수 없기 때문입니다. 기본적으로 두 곳(포워드 모드와 테스트 모드)에서 열어야 합니다.
그래서 문제는 fopen 대신 어떤 함수를 호출하고 어떤 헤더 파일을 포함해야 하는가 입니다. MT5 내부에서 파일을 열어야 하는 것 같기 때문입니다. 터미널.exe를 우회하여 파일을 열려는 시도(dll에서 fopen을 사용하는 경우)는 사용된 터미널.exe 실행 모드(아이콘 클릭 또는 매개 변수 /portable을 사용하여 명령줄에서)에 따라 설치 디렉토리 또는 데스크톱으로 자동 전달됩니다.
이 전달은 파일 경로의 첫 글자에만 파일 이름이 표시되기 때문에 이상할 뿐만 아니라 기괴합니다.
Fann2MQL is a Neural Network processing package for MetaTrader4. It enables you to write your own Expert Adviser or Indicator taking advantage of Fast Artificial Neural Network Library. It’s very simple and efficient. You can use up to 1024 network simultaneously without recompiling it and in case you need more power it lets you perform...
...
문제를 제기하는 것은 좋지만 목표를 달성하는 방법에 대한 해결책이나 제안을 제시하지 않는다면 불평하는 것은 누구에게도 도움이되지 않습니다.
...
사실 pfx가 이 문제를 제기하고 불만을 제기한 것은 좋은 일이며 MetaQuotes가 이 문제를 해결해야 합니다. 왜냐하면 그들은 우리보다 메타트레이더를 더 잘 알고 있기 때문입니다(참고로 이 글의 저자 Renat Fatkhullin은 MetaQuotes의 CEO이기도 합니다). 누군가가 그 문제를 제기했다고 해서 그 사람이 문제에 대한 해결책을 가지고 있는 것은 아닙니다.
그리고실제로 .dll이 매번 호출되고 있는데 "자주 호출하지 않는 것이좋다" 고 말하는 것은 말이 안 된다는 데 동의합니다.그리고 요즘은 정직이 좋은 변화라는 MetaQuotes CEO의 말을 들으니 반갑습니다.
pfx, 당신이 인용한 단락을 바꾼 것 같습니다...
5. DLL 호출 래퍼 및 호출 속도 저하
위에서 이미 설명한 것처럼 DLL 함수의 모든 호출은 안전을 보장하기 위해 특수 래퍼로 래핑됩니다.
이 바인딩은 기본 코드를 마스킹하고, 스택을 대체하고, stdcall/cdecl 계약을 지원하며, 호출된 함수 내에서 예외를 모니터링합니다.
이 작업은 필연적으로 호출 함수의 지연으로 이어집니다.
따라서 작은 작업을 위해 초당 수백 또는 수천 번씩 매우 빈번하게 DLL 함수 호출을 수행하는 것은 권장하지 않습니다.
드물게 호출하는 것이 좋습니다.
..이쪽으로 ...
5. DLL 호출 래퍼와 호출 속도 저하
위에서 이미 설명한 것처럼 DLL 함수의 모든 호출은 안전을 보장하기 위해 특수 래퍼로 래핑됩니다. 이 바인딩은 기본 코드를 마스킹하고, 스택을 대체하고, stdcall/cdecl 계약을 지원하며, 호출된 함수 내에서 예외를 모니터링합니다.
이 정도의 작업량으로 인해 함수 호출이 크게 지연되지는 않습니다.
질문을 피하기 위해 문서의 일부 문단을 변경하는 것이 아니라 .dll 호출 속도 저하 문제를 실제로 해결했으면 좋겠습니다.
질문에 대해 말하자면, Renat Fatkhullin이 글의 마지막 줄에 "관심을 가져 주셔서 감사합니다!"라고 썼기 때문에 Renat가 " 진지하게 어떤 종류의 진술인지 "에 대한 pfx 질문에 답하고 싶습니다. 어떤 질문에도 답할 준비가 되어 있습니다"라는 문장을 남겼습니다.
저희도 여러분의 답변을 듣고 싶습니다 :).
시간이 되면 이에 대해 더 자세히 작성해 보겠습니다.
Renat이 언제 이 글을 썼는지는 모르겠지만 Microsoft는 더 이상 Visual Studio 2005를 제공하지 않습니다. 비주얼 스튜디오 2010과 2011 베타를 제공하고 있으며 곧 2008을 버릴 것 같습니다.
마이크로소프트 비주얼 스튜디오 2010은여기를 클릭하고 2008은 여기를 클릭하세요. 설치 프로그램은 웹 설치 프로그램으로 인터넷 연결이 느리면 짜증날 수 있습니다. 오프라인 인스톨러는 ISO 이미지로 제공되지만 여기에는 Visual Studio C# 및 Visual Basic도 포함되어 있습니다. 설치 후 두 스튜디오 모두 몇 가지 업데이트가 필요하며, 그 용량도 꽤 큽니다.
Visual Studio 설치가 마음에 들지 않는다면 https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments 에서 다른 대안을 찾아볼 수 있습니다. 제가 가장 선호하는 것은 NetBeans와 Code::Block입니다. NetBeans는 오라클에서 지원하며 오라클 솔라리스 스튜디오를 기반으로 합니다. 그러나 NetBeans는 컴파일러와 함께 제공되지 않으므로 초보자에게는 성가신 Cygwin 또는 MinGW 컴파일러를 찾아야 합니다. 유명한 DevC++의 최신 안정 버전은 7년 전이었지만 지금은 웹 사이트가 죽은 링크로 가득하고 더 이상 아무도 관리하지 않는 것처럼 보이므로 권장하지 않습니다.
비주얼 스튜디오를 사용하는 것이 더 낫습니다. 방법을 안다면 다양한 옵션을 사용할 수 있기 때문입니다.
질문에 대해 말하자면, Renat Fatkhullin이 글의 마지막 줄에 "관심을 가져 주셔서 감사합니다!"라고 썼기 때문에 Renat가 " 진지하게 어떤 종류의 진술인지 "에 대한 pfx 질문에 답하고 싶습니다. 어떤 질문에도 답할 준비가 되어 있습니다."라고 답하거나 적어도 단락을 변경했습니다.
아주 좋은 튜토리얼!
파일 참조를 만들어야 하나요?
MT5에서 작동하지 않는 Fann2MQl.dll(http://fann2mql.wordpress.com 에 문서화되어 있음)을 수정해야 합니다. 그 이유는 MT5에서는 원하는 위치에서 파일을 열 수 없기 때문입니다. 기본적으로 두 곳(포워드 모드와 테스트 모드)에서 열어야 합니다.
그래서 문제는 fopen 대신 어떤 함수를 호출하고 어떤 헤더 파일을 포함해야 하는가 입니다. MT5 내부에서 파일을 열어야 하는 것 같기 때문입니다. 터미널.exe를 우회하여 파일을 열려는 시도(dll에서 fopen을 사용하는 경우)는 사용된 터미널.exe 실행 모드(아이콘 클릭 또는 매개 변수 /portable을 사용하여 명령줄에서)에 따라 설치 디렉토리 또는 데스크톱으로 자동 전달됩니다.
이 전달은 파일 경로의 첫 글자에만 파일 이름이 표시되기 때문에 이상할 뿐만 아니라 기괴합니다.
64비트 DLL을 만들거나 MQL5가 32비트 DLL을 로드하도록 허용하는 방법을 아는 사람이 있나요? 내 DLL이 "64 비트가 아니기 때문에 MQ5가 내 테스트 스크립트를로드하지 않습니다. 고마워요.
이 문제를 해결할 수 있습니다: 솔루션 탐색기 -> 솔루션 오른쪽 클릭 -> 구성 관리자 -> 활성 솔루션 플랫폼 드롭다운 메뉴 -> x64 선택 -> 닫기 -> 솔루션 다시 빌드를 클릭합니다.
도움이 되었기를 바랍니다.
행운을 빕니다.
안녕하세요,
Microsoft Visual Studio 2013 Express 버전에서 생성된 DLL에서는 작동하지 않습니다(첨부 파일 참조).
MSVCR120D_APP.DLL 라이브러리를 찾지 못하는 것 같고 KERNEL_32에도 문제가 있습니다.
비슷한 문제가 있는 사람이 있나요? 이 문제를 해결하려면 어떻게 해야 하나요?
감사합니다
mql5는 콜백 함수가 포함된 가져오기 dll을 지원하나요?
예를 들어
아래와 같은 함수를 포함하는 tclient.dll이라는 dll이 있습니다:
유형 정의 TCLIENT_API void(*call_back)(Tick* p);
TCLIENT_API int sub_tick(CTX ctx, const char* insId, call_back f);
그렇다면 mql5에서 sub_tick을 어떻게 선언하고 호출해야 하나요?
#import "tclient.dll"
//함수 "sub_tick" 선언하는 방법
#import
void ontick(tick &ticks[])
{}
int OnInit()
{
//함수를 호출하는 방법 "sub_tick"?
}