빌드 646: Bool 변수가 올바른 설정을 제공하지 않습니다. - 페이지 4

 
deysmacro :
MetaQuotes는 사용자가 재컴파일 후 재설정 여부를 결정할 수 있는 기능을 제공하는 것이 더 낫습니다. 그렇죠? 그래, 난 동의.
 
alop : 캡 잠금으로 작성된 EXTERN의 예를 이해하지 못합니까?
 // #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
#define 이 주석 처리되어 있는 한 extern없습니다 . 주석을 제거하면 모두 extern 됩니다.
 

WHRoeder... 나는 아직도 당신이 말하는 것에 약간 혼란 스럽습니다 ...

그렇다면 재컴파일 시 차트의 변수를 강제로 변경하려면 코드를 어떻게 작성해야 할까요?

이것은 우리 중 많은 사람들에게 큰 거래입니다. 두 가지 관점에서 모두 생각합니다...

어떤 사람들은 재컴파일 시 변수가 변경되는 것을 원하지 않습니다. 그리고 저는 완전히 이해합니다...

그러나 30개 이상의 쌍을 실행하는 다른 사람들에게는 각 차트에서 "재설정"을 클릭해야 하는 것이 재앙입니다...

어쨌든, 당신이 말하는 것은 위의 코드 변경이 변수 변경을 강제하거나 하지 않을 것이라는 것입니다...

다음과 같은 예를 들어 주시겠습니까?

강제 변수 변경:

(여기에 예)

강제 변수 변경 없음:

(여기에 예)

 

위의 내용이 이 시나리오의 양쪽 모두에 매우 도움이 될 것이라고 생각합니다...

도와주셔서 정말 감사합니다!

 

 

또한 - 활성 차트에서 변수 변경을 강제 실행하려면(eas) - 다시 컴파일할 때 변수 변경을 강제 실행하기 위해 삭제할 수 있는 캐시 파일이 없나요?

찾으려고 했지만 저장된 값이 어딘가에 미스터리 파일에 숨겨져있는 것 같습니다 ...

다시한번 도와주셔서 감사합니다...

위의 코드 예제도 트릭을 수행하지만 다른 해결 방법으로 캐시 설정을 찾을 수 있는 위치를 아는 것이 좋습니다....

 

그래서 역시...

내가 라인을 바꾸면

 

 #define EXTERN extern  

외부 유형 이름 var1=...;

에게

 #define EXTERN extern  

extern 유형 이름 정의 var1=...;

 

읽기 오류가 발생합니다 - 외부 변수가 이미 정의되었습니다...

그래서 - 제 생각에는 - 해결 방법이 혼란 스럽습니다. 명확히 해 주시겠습니까?

정말 고마워.

 
whistler :

그래서 역시...

내가 라인을 바꾸면

 

외부 유형 이름 var1=...;

에게

extern 유형 이름 정의 var1=...;

 

읽기 오류가 발생합니다 - 외부 변수가 이미 정의되었습니다...

그래서 - 제 생각에는 - 해결 방법이 혼란 스럽습니다. 명확히 해 주시겠습니까?

정말 고마워.

이 시도:

# EXTERN을 정의하고 여기에 아무것도 넣지 마십시오.

EXTERN bool trade1 = true; <= 일반적으로 extern이 있는 곳에 EXTERN을 추가합니다.

EXTERN bool trade2 = true;

EXTERN bool trade3 = 거짓;

시작 부분에 extern을 추가하려면 다음을 수행하십시오.

#define EXTERN extern

extern을 제거 하려면 다음을 수행하십시오.

#define EXTERN 다음과 같이 extern을 제거해야 합니다.

#외부 정의

앤디

 

수동 입력 대화는 일반적으로 코딩 단계에서 필요하지 않으므로 코딩 변경이 완료될 때까지 extern 수정자를 사용하지 마십시오.

 // will not reset on recompile unless the value is changed in the code.
extern int Var1 = 20 ;
extern int Var2 = 40 ;
 //will always reset on recompile
int Var1 = 20 ;
int Var2 = 40 ;
 

멋진 자료.. 감사합니다...

extern을 제거 하고 다시 컴파일했는데 MetaTrader를 실행하고 차트에서 EA 설정을 보니 extern을 제거한 변수가 완전히 사라졌습니다... MetaTrader를 닫고 MetaEditor를 다시 실행했습니다...

extern에 다시 추가하고 다시 컴파일한 다음 MetaTrader를 다시 시작했습니다. 변수가 EA에 다시 추가되었고 변수가 새 변수 설정으로 업데이트되었습니다...

그래서 - 효과가 있었습니다 - 정말 감사합니다! :) 수파 스타스!

 
whistler : WHRoeder... 아직도 무슨 말씀이신지 조금 헷갈리네요...
이것
와 동일
 // #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
 #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
 extern typename var1=...;
extern typename var2=...;
 #define EXTERN /*EMPTY*/
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
 

안녕!

다시 컴파일(F5)한 후 EA로 이동하여 입력(F7)을 엽니다. 오른쪽 하단에 '재설정' 버튼이 있습니다. 이것을 클릭하면 EA가 (하드) 코딩된 값으로 재설정됩니다.

이것을 알아내는 데 시간이 걸렸습니다. LOL. 기적은 일어납니다. s**t도 마찬가지입니다. ㅋㅋㅋ

친애하는,

시몬

S 사랑 니아