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

 
Yousufkhodja Sultonov :
설정에서 1000을 지정했음에도 불구하고 테스터가 열린 위치 의 수를 100으로 제한하는 상황을 극복하는 방법을 알려주십시오.
아니오, 이것은 터미널 제한이 아니라 브로커, 100개 이상의 주문을 제공하는 브로커와 함께 데모 계정을 엽니다.
 

CopyRates() 에 대해 읽기 신중하게 참조:

메모

1. 요청된 데이터의 간격이 서버에서 사용 가능한 데이터를 완전히 벗어나면 함수는 -1을 반환합니다. TERMINAL_MAXBARS(차트 의 최대 막대 수) 외부에서 데이터를 요청하면 함수도 -1을 반환합니다.

2. 표시기에서 데이터를 요청할 때 요청된 시계열이 아직 빌드되지 않았거나 서버에서 다운로드해야 하는 경우 함수는 즉시 -1을 반환하지만 로드/빌드 프로세스 자체는 시작됩니다.

3. Expert Advisor 또는 스크립트에서 데이터를 요청할 때 터미널에 이 데이터가 로컬에 없으면 서버에서 다운로드가 시작되고 로컬 히스토리에서 데이터를 구축할 수 있는 경우 필요한 시계열 구성이 시작됩니다. , 그러나 아직 준비되지 않았습니다. 함수는 시간 초과가 만료되는 순간까지 준비될 데이터의 양을 반환하지만 기록 로드는 계속되고 다음 유사한 요청은 더 많은 데이터를 반환합니다.

1. 모든 것이 정확하고 논리적입니다. 데이터를 요청하기 전에 창에서 허용되는 막대 수를 확인해야 합니다.

2. 여기에서도 모든 것이 정확합니다. 서버에 대한 연결을 확인하는 것을 잊지 말고 터미널이 필요한 양을 반환할 때까지 데이터 수신을 시도해야 합니다. 여기에서 얻은 데이터의 품질에 대해서는 의심의 여지가 없습니다. 데이터가 존재하거나 존재하지 않습니다.

3. 그리고 여기에는 절대적으로 명확한 것이 없습니다. 수신된 데이터가 완전한지 결코 확신할 수 없습니다. 그리고 사용자에게 확실하지 않은 완전성 데이터가 필요한 이유는 무엇입니까? 실습에 따르면 어떤 트릭(서버에서 다운로드를 초기화하기 위해 데이터를 얻으려는 예비 시도)도 요청이 완전한 데이터를 수신할 것이라는 확신을 주지 못합니다.

Expert Advisors의 데이터 수집 기능의 동작을 지표의 동작과 유사하게 만드는 것이 더 실용적이라고 생각합니다.

 
Joo Zepper :

CopyRates() 에 대해 읽기 신중하게 도움:


3. 그리고 여기에는 절대적으로 명확한 것이 없습니다. 수신된 데이터가 완전한지 결코 확신할 수 없습니다. 그리고 사용자에게 확실하지 않은 완전성 데이터가 필요한 이유는 무엇입니까? 실습에 따르면 어떤 트릭(서버에서 다운로드를 초기화하기 위해 데이터를 얻으려는 예비 시도)도 요청이 완전한 데이터를 수신할 것이라는 확신을 주지 못합니다.

왜 확신할 수 없습니까? 확실히 하려면 SeriesInfoInteger ( symbol , period , SERIES_SYNCHRONIZED ) 를 사용하십시오.

문서 를 더 읽어보십시오. 덜 사려깊지 않습니다.

 
Slawa :

왜 확신할 수 없습니까? 확실히 하려면 SeriesInfoInteger ( symbol , period , SERIES_SYNCHRONIZED ) 를 사용하십시오.

문서 를 더 읽어보십시오. 덜 사려깊지 않습니다.

팁 감사합니다만 이 플래그를 확인하는 것은 오랫동안 저에게 적극적으로 사용되었습니다. 더 신뢰할 수 있는 방법이 있습니까?

나는 당신의 다음 조언을 기대합니다 - 요청한 악기의 차트 창을 여십시오. 그리고 이것은 완료되었지만 완전한 데이터를 수신한다는 보장은 없습니다.

 
Joo Zepper :
팁 감사합니다만 이 플래그를 확인하는 것은 오랫동안 저에게 적극적으로 사용되었습니다. 더 신뢰할 수 있는 방법이 있습니까?

그렇다면 무엇이 문제인가? 이 플래그가 true로 설정되면 현재 데이터가 완전히 동기화됩니다. 당신이 가지고 있는 것보다 더 많은 데이터가 서버에 있기 때문에 그것들은 불완전할 수 있습니다 - 이야기는 더 깊습니다

그런 다음 기록을 완전히 요청하고 확인하십시오. SeriesInfoInteger ( 기호 , PERIOD_M1 , SERIES_SERVER_FIRSTDATE )(현지 분의 첫 번째 날짜 포함)

 
Slawa :

그렇다면 무엇이 문제인가? 이 플래그가 true로 설정되면 현재 데이터가 완전히 동기화됩니다. 당신이 가지고 있는 것보다 더 많은 데이터가 서버에 있기 때문에 그것들은 불완전할 수 있습니다 - 이야기는 더 깊습니다

그런 다음 기록을 완전히 요청하고 확인하십시오. SeriesInfoInteger ( 기호 , PERIOD_M1 , SERIES_SERVER_FIRSTDATE )(현지 분의 첫 번째 날짜 포함)

그러나 그것은 전문가에게 자살입니다. 소름 끼치는 브레이크가 제공됩니다. 그리고 원칙적으로 이야기 전체가 필요하지 않습니다.

여기 내가 생각하는 것이 있습니다. 마켓 리뷰는 항상 최신 데이터를 가지고 있으며, 단말이 요청 시 서버 이력 내에서 필요한 데이터 양과 창에 허용된 바 수를 제공할 수 없는 경우 이러한 경우 지표에서와 같이 -1을 반환합니다. 데이터 가져오기 또는 -1, 여기서 세 번째는 제공되지 않아야 합니다.

 

데이터를 요청하기 전에 다음을 수행합니다.

 for ( int attempt = 0 ; attempt < 10 ; attempt++) 
  {
     bool flag = true ; 
     for ( int symb = 0 ; symb < SymbolCNT; symb++) 
    {
       if (!synched[symb]) 
      {
         // trial copying of price data
         int copied = CopyRates (symbsName[symb], smPeriod, startPosDataGet, barsReq, prices[symb].Data); 
        
         if (copied >= barsReq) 
        {
           if (idChart[symb] != - 1 ) 
          {
             ChartClose (idChart[symb]); 
            idChart[symb] = - 1 ;
          }
          synched[symb] = true ;
        }
         else 
        {
          flag = false ; 
           if (showAlert) 
             Alert (symbsName[symb] + ": requested/received " + ( string )barsReq + "/" + ( string )copied); 
          
           if (idChart[symb] == - 1 ) 
          {
            idChart[symb] = ChartOpen (symbsName[symb], smPeriod); 
             ChartSetInteger ( ChartFirst (), CHART_BRING_TO_TOP , 0 , true );
          }
        }
      }
    }
     if (!flag) 
       if ( TerminalInfoInteger ( TERMINAL_CONNECTED )) 
         Sleep ( 1000 );
  }
  
   for ( int symb = 0 ; symb < SymbolCNT; symb++) 
     if (idChart[symb] != - 1 ) 
       ChartClose (idChart[symb]); 

그러나 이미 직접 요청을 통해 구멍이 있는 데이터가 들어옵니다. 때로는 구멍이 없습니다. 나는 이것에 대해 이야기하고 있습니다. 얻은 데이터에 확실성이 없습니다.

 
Karputov Vladimir :

메시지 편집기 를 통해 삽입된 영상은 저장되지 않습니다.

구글 크롬 버전 46.0.2490.86m.

인터넷 익스플로러 11.11.10586.0.

버그가 수정됩니다. 메시지 감사합니다.
 

시스템을 Windows 10으로 업데이트한 후 일반 표시등이 작동하지 않습니다. 차트에 첨부할 수 없습니다. 편집기에서 컴파일 오류

오류

 
Alexandr :
시스템을 Windows 10으로 업데이트한 후 일반 표시등이 작동하지 않습니다. 차트에 첨부할 수 없습니다. 편집기에서 컴파일 오류 https://i.gyazo.com/5dbea3b25ab9a45cf3a9449335c1f57f.png
권한이 있는 항목일 수 있습니다 . 터미널의 폴더에 쓰기가 허용되는지 확인하고 UAC를 낮추십시오.
사유: