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

 
Heroix :

이것은 1 컴퓨터에 2 터미널입니다. 업데이트에 대한 터미널의 모든 제안에 대해 - 나는 "예"라고 대답합니다.

파일은 .mql5 형식으로 다른 컴퓨터에서 플래시 드라이브로 전송되었으며 두 터미널의 다른 편집자가 열고 컴파일했습니다.

일반적으로 내가 이해한 대로 MT를 업데이트해야 합니다.

수동으로 업그레이드할 때 /MQL5 폴더도 전송해야 합니다. 사용하는 표준 라이브러리 가 엄청나게 많기 때문입니다.

mq5 파일 형식으로 실행 파일과 소스 코드만 전송했기 때문에 실수를 한 것입니다.

 
OrderLots() 및 iClose 가 MQL 5에서 어떻게 가능한가요?
 

빌드 695로 업데이트되었습니다. Object.mqh 포함 을 컴파일할 때 오류가 표시되기 시작했습니다.


 
denkir :

빌드 695로 업데이트되었습니다. Object.mqh 포함 을 컴파일할 때 오류가 표시되기 시작했습니다.

파일이 자동으로 업데이트되었습니까? 아니면 파일만 전송되었습니까?

UserData에 파일을 저장할 때 정상적인 경우 프로그램 루트에서 /MQL5 디렉토리를 데이터 디렉토리로 복사하십시오(파일 메뉴에서 열림).

 
개발자

그리고 경제 달력 에 무슨 일이 일어났습니까? 그것은 존재합니까?

추가 질문: 어떤 데이터가 형성되었으며 DC에 "연결"하는 방법을 기반으로 합니까?

 
papaklass : 데이터가 일치하지 않지만 일치해야 하므로 두 번째 및 세 번째 경우는 첫 번째 조건의 별도 부분입니다. 문제가 무엇인지 알 수 없습니다.

여기 조건이 있습니다

 if ( mn < STP || mn >= STP )

왜 이런 식으로 표현되어 있습니까? 현재 형식에서는 모든 mn 및 STP에서 작동합니다. 그렇다면 왜 그것을 전혀 포함합니까? 그리고 다음 두 가지 옵션 - 개별 상황의 특정 컷오프가 있습니다.

그래서 모든 것이 논리적인 것처럼 보입니다. 세 가지 옵션 모두에서 one + two == tri(1, 2 및 tri의 계산에 대한 세부 사항은 들어가지 않음)입니다.

 
papaklass :

이것이 우리가 말하는 것입니다. 전체 공간(케이스 1)을 두 그룹(케이스 2와 3)으로 나누고 싶습니다. 논리적으로 one + two == tri라는 표현은 참이어야 하지만 저에게는 적합하지 않습니다. 첫 번째 조건에서 one=148이고 두 번째 조건에서 172입니다. 또한 two와 tri에 대해서는 일치하지 않습니다. 그리고 내가 이해할 수없는 문제는 무엇입니까?

문제는 일반적인 상태에 있습니까? 이 코드는 다른 것에 의존합니까?

진부한 예:

조건 (a): H1의 막대가 증가하면 열립니다. TP=SL=100

조건 (b): H1의 막대가 감소하면 열립니다. TP=SL=100

추가 조건: 이미 포지션이 있는 경우 조건을 두 번째로 확인하지 않습니다.

그러면 (a) 플러스 (b)를 켜면 TP / SL이 작동하는대로 매번 열립니다.

우리가 켜면 (a) 우리는 모든 첫 번째 경우에 더하여 (!!!!) 열지 않았을 때 몇 번 더 열 것입니다. 왜냐하면 그 전에는 조건 (b)에 따라 열었기 때문입니다.

유사하게 조건 (b)만을 포함하기 위해

 
papaklass : 논리적으로 one + two == tri라는 표현은 참이어야 하지만 저에게는 맞지 않습니다.

예, 자세히 살펴보십시오. 각 옵션에 대해 동일한 비교(1 + 2 == 3)가 수행됩니다.

papaklass : 첫 번째 조건에서는 1=148이고 두 번째 조건에서는 172입니다.

글쎄, 이것은 완전히 다른 질문입니다. 즉, 첫 번째 옵션의 값이 두 번째 및 세 번째 옵션의 값과 같지 않은 이유입니다.

두 번째 및 세 번째 옵션에서는 첫 번째 옵션과 비교하여 제한 조건을 도입합니다. 예를 들어 두 번째 옵션에서 첫 번째 옵션에 비해 1의 값이 증가한 이유를 생각해 보십시오. 코드의 주어진 부분에서 이것은 아직 명확하지 않습니다.

 
papaklass :

이전 게시물로.

세 번째 경우: 하나=0, 둘=124, 트리=124.

데이터는 일치하지 않지만 일치해야 합니다. 두 번째 및 세 번째 경우는 첫 번째 조건의 별도 부분입니다. 문제가 무엇인지 알 수 없습니다.

추신: 입력 int STP=200;

데이터 세트를 변경하면 올바른 결과를 얻을 수 있습니다. space mn<제외한 STP.

 if ( /*mn < STP || */ mn >= STP ){
 
papaklass : 내 예에서는 다음과 같이 선택합니다.

1. space2(1개)와 space3(2개)를 모두 선택합니다. 230 = 148 + 82 즉 space2(하나) = 148 및 space3(2) = 82입니다.

2. ... 148로 남아 있어야 하는데 172가 되었습니다.

3. ... 82로 남아 있어야 하지만 124가 됩니다.

이것이 내가 말하는 것 입니다. 첫 번째 옵션의 값이 두 번째 및 세 번째 옵션의 값과 같지 않은 이유에 대한 질문입니다.

papaklass : space2 와 space3의 값은 일정해야 하기 때문에 이 공간을 얻기 위한 조건은 이전 게시물에서 제공한 세 가지 예에서 모두 변경되지 않습니다.

이 논리적 가정에서 오류를 찾기 위해 매우 간단하게 제안합니다. 세 가지 옵션 모두에서 "공백 X"가 증가하는 각 사례를 인쇄하고 결과를 비교하고 "공백 2 및 공백 3의 값"이 다음과 같은 이유를 분석합니다. 동일하지 않습니다.

덧셈. ilunga 는 이미 한 옵션에서 다른 옵션으로 전환할 때 특정 거래가 손실될 수 있음을 암시했습니다. 결국, 당신은 연산자의 본문에 if() 함수/메소드 OpenPosition()의 강점이 킬러인 OpenPosition()을 포함시켰습니다. 그리고 if() 문에서 확인하는 조건에 따라 다른 시간에 실행됩니다.