FORTS 도와주세요 - 페이지 9

 
komposter :

그리고 프로그램(및 프로그래머)에 대해 "아니오"와 "준비되지 않음"의 차이점은 무엇입니까?

데이터가 준비되지 않으면 오류가 발생합니다.

또는 이 정보가 즉시 제공되지 않아 표시되지 않을 수도 있습니다.

그리고 서버에 "등반"하지 않기 위해.

그리고 당신은 우리의 "독자"입니다... 질문:

데이터가 준비된 경우 시계열 빌드는 무엇입니까( CopyTime (symbol,period,first_date+PeriodSeconds(period),1,times) )?

Если мы успешно прошли все проверки, то сделаем последнюю попытку обойтись без обращения к торговому серверу. Сначала узнаем начальную дату, для которой доступны минутные данные в формате HCC.
Запросим это значение функцией SeriesInfoInteger () с модификатором SERIES_TERMINAL_FIRSTDATE и опять сравним со значением параметра start_date.

   if ( SeriesInfoInteger (symbol, PERIOD_M1 , SERIES_TERMINAL_FIRSTDATE ,first_date))
     {
       //--- there is loaded data to build timeseries
       if (first_date> 0 )
        {
         //--- force timeseries build                                            
         CopyTime (symbol,period,first_date+ PeriodSeconds (period), 1 ,times);
         //--- check date
         if ( SeriesInfoInteger (symbol,period, SERIES_FIRSTDATE ,first_date))
             if (first_date> 0 && first_date<=start_date) return ( 2 );
        }
     }
 
 
MigVRN :
맞습니다. 로드 하고 준비합니다. 그러나 표시기의 지연으로 인해 걸려있는 모든 것과의 채팅 속도가 느려지기 때문에 표시기에서 호출이 이루어질 때까지 시리즈가 준비되지 않으면 함수가 오류를 반환하도록 만들었습니다. 데이터 준비를 초기화합니다. 일정 시간이 지나면 더 이상 오류를 반환하지 않습니다. 이것은 당신의 로그에서 일어나고 있습니다.

미그VRN!

Chukchi는 인증서를 다시 읽고 동의하지 않아야 합니다.

"맞아요. 그녀는 짐을 싣고 준비합니다."

이것은 당신의 생각입니다....

그리고 도움말은 식별자가 SERIES_TERMINAL_FIRSTDATE 인 SeriesInfoInteger 함수라고 말합니다.

다음을 반환해야 합니다.

SERIES_TERMINAL_FIRSTDATE

마침표에 상관없이 클라이언트 단말기에 기호로 기록된 최초의 날짜

그녀는 아무것도 할 필요가 없습니다!

터미널 기록에 데이터가 있습니다. 날짜를 가져옵니다.

아니오 - "0"이 반환됩니다.

 
새로운 날 그리고 다시 원을 그리십시오.
 
barabashkakvn :
새로운 날 그리고 다시 원을 그리십시오.
도움말에서 다른 것을 보여주세요.
 
papaklass :
데이터를 준비하고 작업합니다. 당신은 뭔가 잘못되었다고 150번 더 말할 수 있고 어떻게 해야 하는지 150번 답을 얻을 수 있습니다. 그것은 당신에게 달려 있으므로 자신을 돌보십시오!

감사합니다. 하지만 당신은 모든 것이 증명되어야 한다는 것을 아주 잘 알고 있습니다.

SD는 데이터가 있을 때 0을 반환하는 것은 기능상의 오류가 아닌 것으로 간주합니다.

그렇다면 반드시 문서에 기록해야 합니다!

 

Mikalas :

해야 하고 해서는 안 됩니다. 이것이 우리가 할 이야기의 전부입니다. 글쎄, 당신은 그것이 어떻게 작동하는지 스스로 볼 수 있습니다 :)

내가 동의할 수 있는 유일한 것은 도움말에서 어떤 데이터가 즉시 준비되었는지(언제든지 사용 가능), 액세스할 때 터미널이 어떤 데이터를 준비하는지 완전히 명확하지 않다는 것입니다.

나는(!) 시계열 데이터(시간 및 가격, 막대 수, ENUM_SERIES_INFO_INTEGER 열거, 다른 것을 잊었을 수 있음)에 액세스할 때 데이터 가 즉시 준비되지 않는다는 것을 이해합니다.

이러한 상황을 피하기 위해 도움말에 다음과 같이 작성되어 있습니다.

mql5 프로그램은 모든 기호 및 시간대의 데이터에 액세스할 수 있으므로 필요한 시계열의 데이터가 아직 터미널에서 생성되지 않았거나 필요한 가격 데이터가 거래 서버와 동기화되지 않았을 가능성이 있습니다. 이 경우 데이터가 준비되기까지의 대기 시간을 예측하기 어렵습니다.

데이터 준비 대기 루프를 사용하는 알고리즘은 최상의 솔루션이 아닙니다 . 이 경우 유일한 예외는 스크립트입니다. 이벤트 처리가 없기 때문에 다른 알고리즘을 선택할 수 없기 때문입니다. 사용자 지정 지표의 경우 이러한 알고리즘은 다른 대기 주기와 마찬가지로 권장되지 않습니다 . 이 기호에 대한 모든 지표 및 기타 가격 데이터 처리의 계산이 중단되기 때문입니다.

Expert Advisors 및 사용자 지정 표시기 의 경우 이벤트 처리 모델을 사용하는 것이 좋습니다. OnTick() 또는 OnCalculate() 이벤트를 처리할 때 필요한 시계열의 모든 필요한 데이터를 얻을 수 없으면 다음 핸들러 호출 시 데이터에 대한 액세스를 계산 하여 이벤트 핸들러를 종료해야 합니다. .

 
MigVRN :

해야 하고 해서는 안 됩니다. 이것이 우리의 모든 대화입니다. 글쎄, 어떻게 작동하는지 직접 볼 수 있습니다 :)

내가 동의할 수 있는 유일한 것은 도움말에서 어떤 데이터가 즉시 준비되었는지(언제든지 사용 가능), 액세스할 때 터미널이 어떤 데이터를 준비하는지 완전히 명확하지 않다는 것입니다.

나는(!) 시계열 데이터(시간 및 가격, 막대 수, ENUM_SERIES_INFO_INTEGER 열거, 다른 것을 잊었을 수 있음)에 액세스할 때 데이터 가 즉시 준비되지 않는다는 것을 이해합니다.

이러한 상황을 피하기 위해 도움말에 다음과 같이 작성되어 있습니다.

mql5 프로그램은 모든 기호 및 시간대의 데이터에 액세스할 수 있으므로 필요한 시계열의 데이터가 아직 터미널에서 생성되지 않았거나 필요한 가격 데이터가 거래 서버와 동기화되지 않았을 가능성이 있습니다. 이 경우 데이터가 준비되기까지의 대기 시간을 예측하기 어렵습니다.

데이터 준비 대기 루프를 사용하는 알고리즘은 최상의 솔루션이 아닙니다 . 이 경우 유일한 예외는 스크립트입니다. 이벤트 처리가 없기 때문에 다른 알고리즘을 선택할 수 없기 때문입니다. 사용자 지정 지표의 경우 이러한 알고리즘은 다른 대기 주기와 마찬가지로 권장되지 않습니다 . 이 기호에 대한 모든 지표 및 기타 가격 데이터 처리의 계산이 중단되기 때문입니다.

Expert Advisors 및 사용자 지정 표시기 의 경우 이벤트 처리 모델을 사용하는 것이 좋습니다. OnTick() 또는 OnCalculate() 이벤트를 처리할 때 필요한 시계열의 모든 필요한 데이터를 얻을 수 없으면 다음 핸들러 호출 시 데이터에 대한 액세스를 계산 하여 이벤트 핸들러를 종료해야 합니다. .

안드레이!

나는 당신에 대해 모르지만 나는 수년 동안 문서 작업을 해왔습니다.

봐, 내가 (!) 이해한 대로 문서에서 따랐다.

1. 터미널에 기호별 이력 데이터가 있는지 확인합니다( 식별자SERIES_TERMINAL_FIRSTDATE 인 SeriesInfoInteger).

아마도 나는 이것에 대해 논쟁하지 않습니다. 그녀는 무언가를 만들고 초기화합니다.

2. 데이터 없음(빈 기록 시작 날짜 반환) - 데이터를 위해 서버로 이동합니다.

3. 날짜가 있습니다 . CopyTime 함수 ( symbol , period , first_date+ PeriodSeconds ( period ),1,times)를 사용하여 지정된 시간 프레임을 구축합니다.

4. 주어진 날짜로 시계열의 시작을 확인합니다 ( SeriesInfoInteger ( symbol , period , SERIES_FIRSTDATE , first_date).

문서에 그렇게 나와 있습니다.

그러나 내가 (!) 정확히 거기에있는 터미널에서 기호로 ( 시계열이 아닌 !!!!) 히스토리 데이터를 요청할 때

함수는 "0"을 반환합니다.

이것이 정확하다고 생각하십니까?

 
Mikalas :

그러나 내가 (!) 정확히 거기에있는 터미널에서 기호로 ( 시계열이 아닌 !!!!) 히스토리 데이터를 요청할 때

함수는 "0"을 반환합니다.

이것이 정확하다고 생각하십니까?

데이터(준비되지 않음)가 디스크에 있습니다. 데이터(준비된)는 근처 채팅에 있을 수 있습니다. 하지만 칠면조가 달리고 있는 채팅에는 준비된 데이터가 없습니다. 따라서 오류. 맞습니다. 하지만 불편해요 :)

나는 그러한 질문을 좋아하지 않지만 인접한 기호 의 표시기 에서 데이터를 요청하는 것이 중요합니까 ??? (도움말과 내 예에 쓰여진 내용을 고려하여 칠면조가 전문가와 채팅의 실행을 어떻게 늦출 수 있는지). 이 모든 어려움을 우회하는 것이 가능합니다 ...

 
papaklass :

데이터가 아닌 "FIRSDDATE"를 요청하고 있습니다. 날짜는 있을 수 있지만 저축으로 인해 데이터가 누락될 수 있습니다. 현재 사용 중이 아닌 경우 모든 문자에 대한 데이터를 다운로드하는 이유는 무엇입니까? 개발자는 사용자가 이 데이터에 액세스할 때만 데이터를 업로드하는 합리적인 방법을 선택했습니다. 이것은 정상적인 접근 방식입니다. 터미널 작업을 하는 당신은 이것을 알고 이 상황에 따라 행동해야 합니다.

거래에 시간을 낭비하는 대신 기본적인 것들에 집착하고 게으른 시간을 낭비합니다. 당신의 시간을 불쌍히 여기십시오. :)

로봇이 나를 위해 거래, 나는 지금 집에 전혀 없습니다 ...

그리고 내 거래를 개선하기 위해 지표가 필요합니다 :)

 
Mikalas :

안드레이!

나는 당신에 대해 모르지만 나는 수년 동안 문서 작업을 해왔습니다.

봐, 내가 (!) 이해한 대로 문서에서 따랐다.

1. 터미널에 기호별 이력 데이터가 있는지 확인합니다( 식별자SERIES_TERMINAL_FIRSTDATE 인 SeriesInfoInteger).

아마도 나는 이것에 대해 논쟁하지 않습니다. 그녀는 무언가를 만들고 초기화합니다.

2. 데이터 없음(빈 기록 시작 날짜 반환) - 데이터를 위해 서버로 이동합니다.

3. 날짜가 있습니다 . CopyTime 함수 ( symbol , period , first_date+ PeriodSeconds ( period ),1,times)를 사용하여 지정된 시간 프레임을 구축합니다.

4. 주어진 날짜로 시계열의 시작을 확인합니다 ( SeriesInfoInteger ( symbol , period , SERIES_FIRSTDATE , first_date).

문서에 그렇게 나와 있습니다.

그러나 내가 (!) 정확히 거기에있는 터미널에서 기호로 ( 시계열이 아닌 !!!!) 히스토리 데이터를 요청할 때

함수는 "0"을 반환합니다.

이것이 정확하다고 생각하십니까?

문서를 선택적으로가 아니라 주의 깊게 읽으십시오. 디스크에 히스토리 데이터가 있다고 해서 터미널이 "정확히 있음"을 의미하지는 않습니다. 이 경우(표시기에서 액세스할 때) 함수는 메모리의 시계열 캐시에서만 작동합니다. 저것들. 즉각적인 동기 메모리 액세스가 있으며 준비된 시계열이 없으면 SERIES_FIRSTDATE 날짜(배열의 첫 번째 요소)가 반환되지 않습니다. 그러나 요청은 물론 메모리로 시계열의 준비 로딩을 시작합니다.

SERIES_TERMINAL_FIRSTDATE 요청은 데이터베이스 초기화 및 서버와의 동기화와 관련됩니다. 어떤 경우에도 첫 번째 항소는 즉시 작동하지 않습니다.

필요한 이력을 얻을 수 있는 근본적인 가능성은 SERIES_SERVER_FIRSTDATE를 통해 확인됩니다. 저것들. 물론, 히스토리 요청의 X번 반복에 의존하는 것이 가능하지만, 터미널이 SERIES_SERVER_FIRSTDATE까지 히스토리의 존재를 확인하면 해당 시계열 데이터의 가용성은 시간 문제일 뿐입니다(m1 데이터베이스와 m1 데이터베이스의 동기화 서버 및 시계열 생성).