[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 368

 

안녕하세요.

새로운 바의 개설을 결정할 필요가 있습니다. 내 Expert Advisor에 순수 함수를 삽입했습니다. MQL 교과서의 예

void Fun_New_Bar() // 새 막대 감지 함수
{
정적 날짜 시간 New_Time=0; // 현재 막대의 시간
부울 New_Bar=거짓; // 새 막대가 없습니다.
if(New_Time!=Time[0]) // 시간 비교
{
New_Time=시간[0]; // 이제 시간은
New_Bar=참; // 새 막대가 있습니다.
}
반환(New_Bar);
}

단일 오류를 제공 합니다 .

변수 "New_Time"은 int 함수 이전에도 datetime New_Time으로 정의되었습니다. - 이것이 없으면 컴파일에서 정의되지 않은 변수 오류가 발생했습니다.

메인 프로그램에서 함수는 다음과 같이 호출됩니다.

Fun_New_Bar(); // 함수 접근
if (New_Bar==false) // 막대가 새것이 아닌 경우..
반품;

왜 작동하지 않는지 누가 말할 수 있습니까?

그리고 또 다른 흥미로운 관찰 - 당신은 무언가를 수정하고 복사합니다 - 주석이 없으면 즉시 다시 복사를 켭니다 - 다시

'(' - 예기치 않은 함수 정의 - 이것이 이유입니다. 컴파일러가 처음으로 나를 이해할 수 없을 정도로 혼란스럽게 쓰고 있습니까?

 
keekkenen >> :
때로는 비뚤어진 곳을 인쇄하고 0.0000 = 0이 표시되고 작동하지 않습니다 - false, 만일을 대비하여 값을 정규화하십시오.

문제가 있는 조건을 복제하여 새 조건을 추가하면 문제가 해결되었습니다.

고맙습니다!


추신: 제 경우에는 주문 오류가 문제를 보고한 것이 좋습니다. 다른 경우에는 Expert Advisor의 논리가 완전히 위반될 수 있습니다.

메시지가 없으면 이에 대해 알 수 없습니다 :(((

 

함수는 void로 선언됩니다. 아무 것도 반환하지 않지만 코드는 return(New_Bar); 이래서 오류..

변수의 반환 유형에 따라 선언해야 합니다. - bool Fun_New_Bar()

음, 적절하게 사용하십시오. if ( !Fun_New_Bar() ) return(0);

 
keekkenen писал(а) >>

함수는 void로 선언됩니다. 아무 것도 반환하지 않지만 코드는 return(New_Bar); 이래서 오류..

변수의 반환 유형에 따라 선언해야 합니다. - bool Fun_New_Bar()

음, 적절하게 사용하십시오. if ( !Fun_New_Bar() ) return(0);

첫 번째 변형에서 이것은 정확히 내가 "bool Fun_New_Bar()"를 가지고 있던 것이지만 오류는 동일했기 때문에 교과서에서와 같이 함수를 호출했습니다. void는 아무 것도 변경하지 않았습니다. 이제 나는 당신의 프롬프트에 따라 그것을했습니다 - 동일하고 변경 사항 없음 - 동일한 오류

사실, 변경 사항이 나타났습니다. 오류는 279행(주석 행)에 나열되기 시작했으며 함수는 280에서 시작합니다.

관련된 질문은 int() 함수를 일회성 분석 블록으로 로드하는 것이 얼마나 허용 가능한가입니다. 예를 들어 지표에서 마지막 두 반전의 값을 결정합니다.

그게 내가 해낸 방법이야. 이 때문에 고문이 쐐기를 박는 것일까요?

 

예기치 않은 함수 정의 - Fun_New_Bar 함수 이전에 코드에서 누락되었거나 추가 괄호,

코드를 주의 깊게 살펴보면 무엇이 잘못되었는지 확실히 알게 될 것입니다 ..

 
keekkenen писал(а) >>

예기치 않은 함수 정의 - Fun_New_Bar 함수 이전에 코드에서 누락되었거나 추가 괄호,

코드를 주의 깊게 살펴보면 무엇이 잘못되었는지 확실히 알게 될 것입니다 ..

이제 내가 볼게요. 지나가면서 나는 이 함수를 거기에서 짜내려고 할 것입니다. 이미 이러한 오류가 발생한 두 함수는 호출 사이트로 이동된 후 오류 없이 컴파일되었습니다. 또한 "잘못된" 함수를 호출 위치로 전송하면 동일한 오류가 다른 함수로 전달되지만 반드시 다음 순서는 아닐 수도 있습니다.

 
alsu >> :

1. 아직 설치하지 않은 경우 QIPInfium 을 설치합니다.

2. 단말기에 별도의 ICQ 계정 등록

3. MsgBox 플러그인 설치 및 구성 - 자세한 지침

4. 시그널을 생성해야 하는 Expert Advisor(지표, 스크립트)에서 위 링크의 안내에 설명된 대로 필요한 메시지가 있는 파일을 OutBox 폴더에 씁니다. 터미널 디렉터리 외부의 파일에 쓰려면 예를 들어 ZI_File_Functions_Full_Lib 라이브러리를 사용할 수 있습니다.


그래서 구글과 창의적인 능력을 소유하면 최소한의 프로그래밍으로 4단계로 무엇이든 만들 수 있습니다 :))))

감사합니다. 작동합니다 :)

 

어드바이저를 데모 모드로 실행하면 수동 거래 처럼 주문 확인 창이 지속적으로 팝업됩니다. 옵션에서 이 기능은 취소되었지만 여전히 어딘가에 걸려 있습니다.

팝업 확인을 취소할 수 있는 방법이 있나요?

 
Andrei01 >> :

어드바이저를 데모 모드로 실행하면 수동 거래처럼 주문 확인 창이 지속적으로 팝업됩니다. 옵션에서 이 기능은 취소되지만 여전히 어딘가에 연결되어 있습니다.

팝업 확인을 취소할 수 있는 방법이 있나요?


settings_MT 서비스 설정 어드바이저


전문가 설정

 

감사하다. 이것은 프로필 어딘가에 기록되어 있고 취소할 수 없기 때문에 정확히 작동하지 않는 것입니다. 프로필을 다시 생성하여 문제가 해결되었습니다.