MetaTrader 4 Build 529 베타가 새로운 컴파일러와 함께 출시됨 - 페이지 39

 
범위 를 벗어나면 코드에 오류가 있음을 분명히 나타냅니다. 즉, 배열을 넘어서는 것입니다. 거기에 오류의 행과 위치가 표시되어 있으므로 오류를 찾으십시오.
 

다음은 코드입니다.


datetime    prevtime0 = 0 ;
double prevVolume0 = 0 ;
double prevClose0 = 0 ;
void init()
{
   Print ( "_______Test init" );
   prevtime0 = iTime( NULL , PERIOD_M1 , 0 ); 
   prevVolume0 = iVolume( NULL , PERIOD_M1 , 0 );
   prevClose0 = iClose( NULL , PERIOD_M1 , 0 );
}

void start()
{
  Print ( " prevtime0!!!!! = " ,prevtime0, " iTime(NULL,PERIOD_M1,0) =" ,iTime( NULL , PERIOD_M1 , 0 ) );
  Print ( " prevVolume0!!!!! = " ,prevVolume0, " iVolume(NULL,PERIOD_M1,0) =" ,iVolume( NULL , PERIOD_M1 , 0 ) );
  Print ( " prevClose0!!!!! = " ,prevClose0, " iClose(NULL,PERIOD_M1,0) =" ,iClose( NULL , PERIOD_M1 , 0 ) );
  Print ( "" );

  prevtime0 = iTime( NULL , PERIOD_M1 , 0 ); 
  prevVolume0 = iVolume( NULL , PERIOD_M1 , 0 );
  prevClose0 = iClose( NULL , PERIOD_M1 , 0 );

}

터미널 Version 4.0 Build 536에서 실행한 결과입니다.

2013.11.11 22:53:08 테스트 EURJPY,M1: prevClose0!!!!! = 133.02 iClose(NULL, PERIOD_M1,0 ) =133.02
2013.11.11 22:53:08 테스트 EURJPY,M1: prevVolume0!!!!! = 133.02 아이볼륨(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 테스트 EURJPY,M1: prevtime0!!!!! = 2013.11.11 22:38:00 아이타임(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
2013.11.11 22:52:25 테스트 EURJPY,M1:
2013.11.11 22:52:25 테스트 EURJPY,M1: prevClose0!!!!! = 133.02 iClose(NULL,PERIOD_M1,0) = 133.02
2013.11.11 22:52:25 테스트 EURJPY,M1: prevVolume0!!!!! = 133.02 아이볼륨(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 테스트 EURJPY,M1: prevtime0!!!!! = 2013.11.11 22:38:00 아이타임(NULL,PERIOD_M1,0) =2013.11.11 22:38:00

보시다시피 iClose도 iVolume도 iTime도 변경되지 않습니다.

나는 i로 시작하는 나머지 기능을 믿습니다.

또한 이 예의 iVolume 기능은 Volume을 명확하게 표시하지 않습니다.

동시에 iVolume을 제외한 모든 것이 테스터에서 작동하고 변경됩니다. 그녀는 그곳에서도 일하지 않습니다.

메모.

 
thecore :

다음은 코드입니다.


터미널 Version 4.0 Build 536에서 실행한 결과입니다.

2013.11.11 22:53:08 테스트 EURJPY,M1: prevClose0!!!!! = 133.02 iClose(NULL,PERIOD_M1,0) = 133.02
2013.11.11 22:53:08 테스트 EURJPY,M1: prevVolume0!!!!! = 133.02 아이볼륨(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 테스트 EURJPY,M1: prevtime0!!!!! = 2013.11.11 22:38:00 아이타임(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
2013.11.11 22:52:25 테스트 EURJPY,M1:
2013.11.11 22:52:25 테스트 EURJPY,M1: prevClose0!!!!! = 133.02 iClose(NULL,PERIOD_M1,0) = 133.02
2013.11.11 22:52:25 테스트 EURJPY,M1: prevVolume0!!!!! = 133.02 아이볼륨(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 테스트 EURJPY,M1: prevtime0!!!!! = 2013.11.11 22:38:00 아이타임(NULL,PERIOD_M1,0) =2013.11.11 22:38:00

보시다시피 iClose도 iVolume도 iTime도 변경되지 않습니다.

나는 i로 시작하는 나머지 기능을 믿습니다.

또한 이 예의 iVolume 기능은 Volume을 명확하게 표시하지 않습니다.

동시에 iVolume을 제외한 모든 것이 테스터에서 작동하고 변경됩니다. 그녀는 그곳에서도 일하지 않습니다.

메모.

글쎄, 나는 돌았다. 뭐가 문제 야?
 
tara :
글쎄, 나는 돌았다. 뭐가 문제 야?


흠...

iTime(NULL, PERIOD_M1,0 ) 함수는 왼쪽 터미널과 같은 시간을 반환하지 않습니다.

터미널은 2013.11.11 22:53:08을 출력하고 iTime은 2013.11.11 22:38:00을 출력하지만 출력해야 합니다.

2013.11.11 22:53:00

iVolume(NULL,PERIOD_M1,0)은 1, 2, 3, 100과 같은 정수를 반환해야 합니다.

이 예에서와 같이 133.02

iClose는 첫 번째 경우에 133.02를 반환하고 두 번째 경우에 133.03을 반환해야 합니다.

 

이러한 모든 기능은 분 단위로 조금씩 다르게 작동합니다. 귀하의 인쇄는 진드기에 작동합니다. MT의 시간은 초 단위로 계산됩니다.

그리고 두 번째 터미널은 일반적으로 왼쪽에 있습니다 :)

 
tara :

이러한 모든 기능은 분 단위로 조금씩 다르게 작동합니다. 인쇄는 당신을 위해 진드기에 작동합니다. MT의 시간은 초 단위로 계산됩니다.

그리고 두 번째 터미널은 일반적으로 왼쪽에 있습니다 :)

들어봐, 오늘 밤 이야기할 사람이 없다는 걸 이해해.

그러므로 나는 결과의 인쇄물에서 분 단위로 내가 특별히

다른 분에 두 개의 결과.

게다가 이 메시지는 당신을 위한 것이 아니라 개발자를 위한 것입니다.

[삭제]  
thecore :

iVolume(NULL,PERIOD_M1,0)은 1, 2, 3, 100과 같은 정수를 반환해야 합니다.

이 예에서와 같이 133.02

실제로 캠페인 iVolume은 볼륨 대신 마지막 가격( 종가 )을 반환합니다.

그러나 도움말의 설명이 정말 재미있었습니다(첫 번째 옵션은 파일에서 가져오고 두 번째 옵션은 사이트에서 가져옴).

하나

 datetime   iVolume(
   string            symbol,           // символ
   int               timeframe,       // период
   int               shift             // сдвиг
   );

2

 double iVolume( string symbol, int timeframe, int shift)
 
thecore :


흠...

iTime(NULL,PERIOD_M1,0) 함수는 왼쪽 터미널과 같은 시간을 주지 않습니다.

터미널은 2013.11.11 22:53:08을 출력하고 iTime은 2013.11.11 22:38:00을 출력하지만 출력해야 합니다.

2013.11.11 22:53:00

iVolume(NULL,PERIOD_M1,0)은 1, 2, 3, 100과 같은 정수를 반환해야 합니다.

이 예에서와 같이 133.02

iClose는 첫 번째 경우에 133.02를 반환하고 두 번째 경우에 133.03을 반환해야 합니다.


RefreshRates()를 사용해도 OnTick은 같은 문제가 있고 테스터에서 시간과 가격이 업데이트되지 않지만 RefreshRates()를 사용하면 모든 것이 좋습니다...
 
지표에 대한 두 가지 문제가 더 있으면 서비스 데스크 를 참조하십시오!
 
thecore :

보시다시피, iClose도 iVolume도 iTime도 변경되지 않습니다.

나는 i로 시작하는 나머지 기능을 믿습니다.

또한 이 예제의 iVolume 기능은 Volume을 명확하게 표시하지 않습니다.


결정된. 감사해요