오류, 버그, 질문 - 페이지 2442

 
fxsaber :

무엇이 바뀔까요?

내가 작업(문제)을 이해하는 한 실행 파일 tk의 해시를 변경하는 것은 불가능합니다. 최적화에 사용됩니다

여기서 나는 제안한다

 int Array[] = { 123 };

플러그인 라이브러리에 꺼내서 최적화 통과 후 재컴파일 - 확인은 안했지만 실행하는 동안 mql 라이브러리가 연결된 것 같습니다(리소스 아님)

 
Igor Makanu :

내가 작업(문제)을 이해하는 한 실행 파일의 해시를 변경할 수 없습니다.

작업을 이해하지 못했습니다.

EA는 EX5가 변경된 경우 다른 파일 이름을 생성해야 합니다.

 
fxsaber :

작업을 이해하지 못했습니다.

EA는 EX5가 변경된 경우 다른 파일 이름을 생성해야 합니다.

2개의 라이브러리를 연결하고 다른 이름을 사용하려면 라이브러리를 변경하는 것이 좋습니다.

조작 방법은 다음과 같습니다.

전문가 link_library.mq5:

 #import "lib.ex5"
int value_array();
#import
//+------------------------------------------------------------------+
int OnInit ()
  {
   Print ( "Array = " ,value_array());
   return ( INIT_SUCCEEDED );
  }

lib.mq5 라이브러리:

 int Array[] = { 123 };
 int value_array() export
   {
     return (Array[ 0 ]);
   }
MQL에서 라이브러리는 본질적으로 실행 파일과 거의 다르지 않습니다. 제한이 없으며 자체적으로 파일에 쓸 수도 있습니다. 모든 것이 MQL 프로그램과 비슷할 수 있습니다.
 
Igor Makanu :

2개의 라이브러리를 연결하고 다른 이름을 사용하려면 라이브러리를 변경하는 것이 좋습니다.

조작 방법은 다음과 같습니다.

전문가 link_library.mq5:

lib.mq5 라이브러리:

MQL에서 라이브러리는 본질적으로 실행 파일과 거의 다르지 않습니다. 제한이 없으며 자체적으로 파일에 쓸 수도 있습니다. 모든 것이 MQL 프로그램과 비슷할 수 있습니다.

작업이 명확하지 않은 이유를 이해할 수 없습니다. Expert Advisor가 변경된 경우 파일 이름을 변경하십시오.

 
fxsaber :

작업이 명확하지 않은 이유를 이해할 수 없습니다. Expert Advisor가 변경된 경우 파일 이름을 변경하십시오.

나는 문제를 전혀 이해하지 못한다.
.mq5 파일 자체의 소스 코드를 리소스로 포함하고 여기에서 해시를 가져옵니다.

 
이 주제와 관련이 없는 댓글은 " MQL4에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 "으로 이동되었습니다.
 
Sergey Dzyublik :

나는 문제를 전혀 이해하지 못한다.
.mq5 파일 자체의 소스 코드를 리소스로 포함하고 여기에서 해시를 가져옵니다.

따라서 포함된 EX5에 대한 액세스(해시 계산을 위한 바이트)가 없습니다.

 
fxsaber :

따라서 포함된 EX5에 대한 액세스(해시 계산을 위한 바이트)가 없습니다.

모든 것이 작동 중입니다.

 #resource "\\Experts\\Advisors\\ExpertMACD.ex5" as uchar ex5_data[];


그리고 코드 변경에 대해 이야기했다면 ex5와 어떤 관련이 있습니까? .mq5로 추적하는 것이 더 낫습니다.
당신 자신이 궁극적으로 필요한 것이 무엇인지 이해하지 못하는 것 같습니다.
 
Sergey Dzyublik :

그리고 코드 변경에 대해 이야기했다면 ex5와 어떤 관련이 있습니까? .mq5로 추적하는 것이 더 낫습니다.

당신 자신이 궁극적으로 필요한 것이 무엇인지 이해하지 못하는 것 같습니다.

글쎄요 제가 썼는데 어디가 더 자세하게 나와있나요?

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

fxsaber , 2019.04.23 06:15

이런 고문이 있다

 void OnDeinit ( const int )
{
   int Array[] = { 123 };
  
   FileSave (( string ) MQLInfoInteger ( MQL_PROGRAM_HASH ), Array);
}


패스하면 같은 이름의 파일이 작성됩니다. 맞습니다.


그런 다음 123 대신 숫자 456을 작성하여 다시 컴파일합니다.

그 후 각 패스는 해당 파일과 동일한 파일을 작성하지만 이름은 다릅니다 .


이것은 어떻게든 구현해야 하는 기능입니다. 저것들. EX5가 변경된 경우 생성하는 파일 이름도 변경됩니다.


추신: __DATETIME__ 매크로 사용은 적합하지 않습니다.


Name1로 파일을 생성하는 mq5가 있습니다. mq5에서 일부 숫자를 변경합니다. Name2가 생성되어야 합니다. 코드에서 다른 것을 변경했습니다 - Name3. 등.

 
fxsaber :

글쎄요 제가 썼는데 어디가 더 자세하게 나와있나요?


Name1로 파일을 생성하는 mq5가 있습니다. mq5에서 일부 숫자를 변경합니다. Name2가 생성되어야 합니다. 코드에서 다른 것을 변경했습니다 - Name3. 등.

.mq5 형식의 소스를 리소스로 연결하고 소스의 내용에서 해시를 읽습니다.
소스를 변경하면 컴파일할 때 새 소스가 자동으로 리소스로 풀업되고 새 해시가 계산됩니다.
뭐가 그렇게 어렵니?