이 미스터리를 풀도록 도와주세요!! - 페이지 2

 
WHRoeder :
테스터에서 비주얼 모드를 사용하지 않는 한 저널에는 아무 것도 없을 것입니다.
정확하지 않습니다. 최적화하는 동안 저널에 아무 것도 출력되지 않지만 Visual 모드가 선택 되지 않은 경우 저널에 대한 출력은 제대로 작동합니다. (빌드 445에서 방금 테스트)
 

나는 어떤 경우에도 비주얼 모드를 사용하고 있습니다!

매우 이상한 것이 또 있습니다. 동일한 매개변수 로 동일한 EA를 두 번 이상 실행하면 표시되는 비주얼 모드에서 다른 트랜잭션이 표시됩니다!

대부분의 경우 90%는 동일하지만 특정 장소에서는 여러 번 실행하면 다른 결과가 나타납니다!

모든 실행 후에 초기화하거나 지워야 하는 일부 버퍼(예: 변수)가 있습니까? 선언 섹션에서 모든 변수를 초기화하려고 합니다.

어쩌면 내 컴퓨터가 엉망이 되었습니까? 나는 지금 빨대를 잡고 있다.

 
ernest02 :

나는 어떤 경우에도 비주얼 모드를 사용하고 있습니다!

매우 이상한 것이 또 있습니다. 동일한 매개변수로 동일한 EA를 두 번 이상 실행하면 표시되는 비주얼 모드에서 다른 트랜잭션이 표시됩니다!

대부분의 경우 90%는 동일하지만 특정 장소에서는 여러 번 실행하면 다른 결과가 나타납니다!

모든 실행 후에 초기화하거나 지워야 하는 일부 버퍼(예: 변수)가 있습니까? 선언 섹션에서 모든 변수를 초기화하려고 합니다.

어쩌면 내 컴퓨터가 엉망이 되었습니까? 나는 지금 빨대를 잡고 있다.

각 실행에 대한 스프레드는 무엇입니까?
 

좋아 얘들아! 이거 해결!

내가 게시한 더 큰 코드를 보십시오.

첫 번째 줄은 "if" 문이고 true이면 이후 줄을 처리합니다.

수행해야 하는 작업 중 하나는 열려 있는 구매 주문 을 마감하는 것입니다.

이제 테스터에서 EA를 실행하면 실제로 모든 구매 주문이 닫히지만...

코드 중간에 있는 Print 문을 건너뛰고 저널에 기록되지 않습니다!

따라서 코드가 처리되고 있다는 것을 알고 있지만 특정 인쇄 문만 저널에 기록되지만 다른 것은 기록되지 않습니다!

그러니 저에게 설명해주세요!

 
ernest02 :

이제 테스터에서 EA를 실행하면 실제로 모든 구매 주문이 닫히지만...

코드 중간에 있는 Print 문을 건너뛰고 저널에 기록되지 않습니다!

따라서 코드가 처리되고 있다는 것을 알고 있지만 특정 인쇄 문만 저널에 기록되지만 다른 것은 기록되지 않습니다!

그러니 저에게 설명해주세요!

다음은 저널에 인쇄됩니다. . .

   Print ( "SellTicket is " ,SellTicket);     // <----- this will print

   if (SellTicket >= 0 ) 
      {
       PlaySound ( "news.wav" );
      SellTime = OrderOpenTime();
      SellSignal = false ;

      }
   Print ( "SellSignal2 is " , SellSignal);   // <----- this will print

그들이 인쇄하지 않는다면 내가 볼 수있는 한 가능성은 다음과 같습니다.

  • 게시한 코드를 실행하고 있지 않습니다.
  • 구매 주문 이 다른 코드/기능에 의해 종료되고 있습니다.

 

SellTicket이 0이면 진지하게?

 if (SellTicket >= 0 ) // ???

저널을 마우스 오른쪽 버튼으로 클릭하고 열기를 선택한 다음 메모장으로 저널 로그를 엽니다.

저널 탭에 항상 모든 로그가 표시되는 것은 아닙니다.

 

나는 로그 파일을 보았고 거기에 기록된 판매 또는 구매 거래 또는 다른 "인쇄" 명령이 없습니다.

나는 너무 의욕이 떨어졌다! 나는 지금 2주 동안 이 일을 해왔지만 진전이 없었고 문제가 무엇인지에 대한 아이디어가 부족했습니다.

(나도 내 comouter에 Metatrader 5를 설치 하고 사용자 아래 가상 저장소에 일부 데이터와 로그 파일을 저장하는 Windows 7을 실행하는 것이 얼마나 가치가 있는지 말하고 싶습니다)

 
ernest02 :

나는 로그 파일을 보았고 거기에 기록된 판매 또는 구매 거래 또는 다른 "인쇄" 명령이 없습니다.

나는 너무 의욕이 떨어졌다! 나는 지금 2주 동안 이 일을 해왔지만 진전이 없었고 문제가 무엇인지에 대한 아이디어가 부족했습니다.

(나도 내 comouter에 Metatrader 5를 설치하고 사용자 아래 가상 저장소에 일부 데이터와 로그 파일을 저장하는 Windows 7을 실행하는 것이 얼마나 가치가 있는지 말하고 싶습니다)

아, MT4는 어디에 설치되어 있습니까? Program Files에 있습니까? 그렇다면 UAC 문제가 있을 수 있습니다. Program Files가 아닌 디렉토리(예: C:\MT4-Installs\)에 MT4를 새로 설치하고 EA를 시도할 수 있습니다.
 

MT4를 설치한 C:/ 아래에 폴더를 만들었지만 Program Files(x86) 아래에 두 개의 다른 복사본(라이브 하나와 데모 하나)이 설치되어 있습니다.

마지막 두 개의 로그 파일은 없지만 루트 MT4 아래에 로그 파일이 있습니다. (그래서 로그 파일에 있는 내용을 보고할 수 있습니다.)

이제 나는 또 다른 변칙을 발견했습니다. (두 개의 동일한 실행에서 다른 결과를 얻는다는 사실을 이미 언급했습니다)

나는 iCCI를 사용 하여 CCI 지수를 추적하여 매수/매도 거래 결정을 내립니다. CCI 조건이 true가 아닌 경우에도 트랜잭션이 발생한다는 것을 발견했습니다!

이런 엉망이야! 내 시스템이 훨씬 더 간단하고 안정적으로 보였던 XP 시절로 거슬러 올라갑니다!

수건을 던질 준비가 되었습니다!

 
@ernest02 : 코드를 다시 작성하면 됩니다. 인쇄/경고/설명 기능을 사용하여 코드를 디버그하십시오. OrderSend가 실행된 이유에 대해 의아해하는 경우 [OrderSend 바로 위에] 이를 트리거하는 변수의 값을 인쇄하십시오. CCI == true인 이유에 대해 의아해하는 경우 [CCI 호출 전] CCI 호출을 트리거하는 변수의 값을 인쇄하십시오. 범인을 찾을 때까지 Print Statement를 이렇게 뒤로 계속 이동합니다.
사유: