그리고 프로그램(및 프로그래머)에 대해 "아니오"와 "준비되지 않음"의 차이점은 무엇입니까?
데이터가 준비되지 않으면 오류가 발생합니다.
또는 이 정보가 즉시 제공되지 않아 표시되지 않을 수도 있습니다.
그리고 서버에 "등반"하지 않기 위해.
그리고 당신은 우리의 "독자"입니다... 질문:
데이터가 준비된 경우 시계열 빌드는 무엇입니까( 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 timeseriesif (first_date> 0 )
{
//--- force timeseries build CopyTime (symbol,period,first_date+ PeriodSeconds (period), 1 ,times);
//--- check dateif ( SeriesInfoInteger (symbol,period, SERIES_FIRSTDATE ,first_date))
if (first_date> 0 && first_date<=start_date) return ( 2 );
}
}
MigVRN : 맞습니다. 로드 하고 준비합니다. 그러나 표시기의 지연으로 인해 걸려있는 모든 것과의 채팅 속도가 느려지기 때문에 표시기에서 호출이 이루어질 때까지 시리즈가 준비되지 않으면 함수가 오류를 반환하도록 만들었습니다. 데이터 준비를 초기화합니다. 일정 시간이 지나면 더 이상 오류를 반환하지 않습니다. 이것은 당신의 로그에서 일어나고 있습니다.
해야 하고 해서는 안 됩니다. 이것이 우리가 할 이야기의 전부입니다. 글쎄, 당신은 그것이 어떻게 작동하는지 스스로 볼 수 있습니다 :)
내가 동의할 수 있는 유일한 것은 도움말에서 어떤 데이터가 즉시 준비되었는지(언제든지 사용 가능), 액세스할 때 터미널이 어떤 데이터를 준비하는지 완전히 명확하지 않다는 것입니다.
나는(!) 시계열 데이터(시간 및 가격, 막대 수, ENUM_SERIES_INFO_INTEGER 열거, 다른 것을 잊었을 수 있음)에 액세스할 때 데이터 가 즉시 준비되지 않는다는 것을 이해합니다.
이러한 상황을 피하기 위해 도움말에 다음과 같이 작성되어 있습니다.
mql5 프로그램은 모든 기호 및 시간대의 데이터에 액세스할 수 있으므로 필요한 시계열의 데이터가 아직 터미널에서 생성되지 않았거나 필요한 가격 데이터가 거래 서버와 동기화되지 않았을 가능성이 있습니다. 이 경우 데이터가 준비되기까지의 대기 시간을 예측하기 어렵습니다.
데이터 준비 대기 루프를 사용하는 알고리즘은 최상의 솔루션이 아닙니다 . 이 경우 유일한 예외는 스크립트입니다. 이벤트 처리가 없기 때문에 다른 알고리즘을 선택할 수 없기 때문입니다. 사용자 지정 지표의 경우 이러한 알고리즘은 다른 대기 주기와 마찬가지로 권장되지 않습니다 . 이 기호에 대한 모든 지표 및 기타 가격 데이터 처리의 계산이 중단되기 때문입니다.
Expert Advisors 및 사용자 지정 표시기 의 경우 이벤트 처리 모델을 사용하는 것이 좋습니다. OnTick() 또는 OnCalculate() 이벤트를 처리할 때 필요한 시계열의 모든 필요한 데이터를 얻을 수 없으면 다음 핸들러 호출 시 데이터에 대한 액세스를 계산 하여 이벤트 핸들러를 종료해야 합니다. .
해야 하고 해서는 안 됩니다. 이것이 우리의 모든 대화입니다. 글쎄, 어떻게 작동하는지 직접 볼 수 있습니다 :)
내가 동의할 수 있는 유일한 것은 도움말에서 어떤 데이터가 즉시 준비되었는지(언제든지 사용 가능), 액세스할 때 터미널이 어떤 데이터를 준비하는지 완전히 명확하지 않다는 것입니다.
나는(!) 시계열 데이터(시간 및 가격, 막대 수, ENUM_SERIES_INFO_INTEGER 열거, 다른 것을 잊었을 수 있음)에 액세스할 때 데이터 가 즉시 준비되지 않는다는 것을 이해합니다.
이러한 상황을 피하기 위해 도움말에 다음과 같이 작성되어 있습니다.
mql5 프로그램은 모든 기호 및 시간대의 데이터에 액세스할 수 있으므로 필요한 시계열의 데이터가 아직 터미널에서 생성되지 않았거나 필요한 가격 데이터가 거래 서버와 동기화되지 않았을 가능성이 있습니다. 이 경우 데이터가 준비되기까지의 대기 시간을 예측하기 어렵습니다.
데이터 준비 대기 루프를 사용하는 알고리즘은 최상의 솔루션이 아닙니다 . 이 경우 유일한 예외는 스크립트입니다. 이벤트 처리가 없기 때문에 다른 알고리즘을 선택할 수 없기 때문입니다. 사용자 지정 지표의 경우 이러한 알고리즘은 다른 대기 주기와 마찬가지로 권장되지 않습니다 . 이 기호에 대한 모든 지표 및 기타 가격 데이터 처리의 계산이 중단되기 때문입니다.
Expert Advisors 및 사용자 지정 표시기 의 경우 이벤트 처리 모델을 사용하는 것이 좋습니다. OnTick() 또는 OnCalculate() 이벤트를 처리할 때 필요한 시계열의 모든 필요한 데이터를 얻을 수 없으면 다음 핸들러 호출 시 데이터에 대한 액세스를 계산 하여 이벤트 핸들러를 종료해야 합니다. .
데이터가 아닌 "FIRSDDATE"를 요청하고 있습니다. 날짜는 있을 수 있지만 저축으로 인해 데이터가 누락될 수 있습니다. 현재 사용 중이 아닌 경우 모든 문자에 대한 데이터를 다운로드하는 이유는 무엇입니까? 개발자는 사용자가 이 데이터에 액세스할 때만 데이터를 업로드하는 합리적인 방법을 선택했습니다. 이것은 정상적인 접근 방식입니다. 터미널 작업을 하는 당신은 이것을 알고 이 상황에 따라 행동해야 합니다.
거래에 시간을 낭비하는 대신 기본적인 것들에 집착하고 게으른 시간을 낭비합니다. 당신의 시간을 불쌍히 여기십시오. :)
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 데이터베이스의 동기화 서버 및 시계열 생성).
그리고 프로그램(및 프로그래머)에 대해 "아니오"와 "준비되지 않음"의 차이점은 무엇입니까?
데이터가 준비되지 않으면 오류가 발생합니다.
또는 이 정보가 즉시 제공되지 않아 표시되지 않을 수도 있습니다.
그리고 서버에 "등반"하지 않기 위해.
그리고 당신은 우리의 "독자"입니다... 질문:
데이터가 준비된 경우 시계열 빌드는 무엇입니까( CopyTime (symbol,period,first_date+PeriodSeconds(period),1,times) )?
맞습니다. 로드 하고 준비합니다. 그러나 표시기의 지연으로 인해 걸려있는 모든 것과의 채팅 속도가 느려지기 때문에 표시기에서 호출이 이루어질 때까지 시리즈가 준비되지 않으면 함수가 오류를 반환하도록 만들었습니다. 데이터 준비를 초기화합니다. 일정 시간이 지나면 더 이상 오류를 반환하지 않습니다. 이것은 당신의 로그에서 일어나고 있습니다.
미그VRN!
Chukchi는 인증서를 다시 읽고 동의하지 않아야 합니다.
"맞아요. 그녀는 짐을 싣고 준비합니다."
이것은 당신의 생각입니다....
그리고 도움말은 식별자가 SERIES_TERMINAL_FIRSTDATE 인 SeriesInfoInteger 함수라고 말합니다.
다음을 반환해야 합니다.
SERIES_TERMINAL_FIRSTDATE
마침표에 상관없이 클라이언트 단말기에 기호로 기록된 최초의 날짜
그녀는 아무것도 할 필요가 없습니다!
터미널 기록에 데이터가 있습니다. 날짜를 가져옵니다.
아니오 - "0"이 반환됩니다.
새로운 날 그리고 다시 원을 그리십시오.
데이터를 준비하고 작업합니다. 당신은 뭔가 잘못되었다고 150번 더 말할 수 있고 어떻게 해야 하는지 150번 답을 얻을 수 있습니다. 그것은 당신에게 달려 있으므로 자신을 돌보십시오!
감사합니다. 하지만 당신은 모든 것이 증명되어야 한다는 것을 아주 잘 알고 있습니다.
SD는 데이터가 있을 때 0을 반환하는 것은 기능상의 오류가 아닌 것으로 간주합니다.
그렇다면 반드시 문서에 기록해야 합니다!
Mikalas :
해야 하고 해서는 안 됩니다. 이것이 우리가 할 이야기의 전부입니다. 글쎄, 당신은 그것이 어떻게 작동하는지 스스로 볼 수 있습니다 :)
내가 동의할 수 있는 유일한 것은 도움말에서 어떤 데이터가 즉시 준비되었는지(언제든지 사용 가능), 액세스할 때 터미널이 어떤 데이터를 준비하는지 완전히 명확하지 않다는 것입니다.
나는(!) 시계열 데이터(시간 및 가격, 막대 수, ENUM_SERIES_INFO_INTEGER 열거, 다른 것을 잊었을 수 있음)에 액세스할 때 데이터 가 즉시 준비되지 않는다는 것을 이해합니다.
이러한 상황을 피하기 위해 도움말에 다음과 같이 작성되어 있습니다.
mql5 프로그램은 모든 기호 및 시간대의 데이터에 액세스할 수 있으므로 필요한 시계열의 데이터가 아직 터미널에서 생성되지 않았거나 필요한 가격 데이터가 거래 서버와 동기화되지 않았을 가능성이 있습니다. 이 경우 데이터가 준비되기까지의 대기 시간을 예측하기 어렵습니다.
데이터 준비 대기 루프를 사용하는 알고리즘은 최상의 솔루션이 아닙니다 . 이 경우 유일한 예외는 스크립트입니다. 이벤트 처리가 없기 때문에 다른 알고리즘을 선택할 수 없기 때문입니다. 사용자 지정 지표의 경우 이러한 알고리즘은 다른 대기 주기와 마찬가지로 권장되지 않습니다 . 이 기호에 대한 모든 지표 및 기타 가격 데이터 처리의 계산이 중단되기 때문입니다.
Expert Advisors 및 사용자 지정 표시기 의 경우 이벤트 처리 모델을 사용하는 것이 좋습니다. OnTick() 또는 OnCalculate() 이벤트를 처리할 때 필요한 시계열의 모든 필요한 데이터를 얻을 수 없으면 다음 핸들러 호출 시 데이터에 대한 액세스를 계산 하여 이벤트 핸들러를 종료해야 합니다. .
해야 하고 해서는 안 됩니다. 이것이 우리의 모든 대화입니다. 글쎄, 어떻게 작동하는지 직접 볼 수 있습니다 :)
내가 동의할 수 있는 유일한 것은 도움말에서 어떤 데이터가 즉시 준비되었는지(언제든지 사용 가능), 액세스할 때 터미널이 어떤 데이터를 준비하는지 완전히 명확하지 않다는 것입니다.
나는(!) 시계열 데이터(시간 및 가격, 막대 수, 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"을 반환합니다.
이것이 정확하다고 생각하십니까?
그러나 내가 (!) 정확히 거기에있는 터미널에서 기호로 ( 시계열이 아닌 !!!!) 히스토리 데이터를 요청할 때
함수는 "0"을 반환합니다.
이것이 정확하다고 생각하십니까?
데이터(준비되지 않음)가 디스크에 있습니다. 데이터(준비된)는 근처 채팅에 있을 수 있습니다. 하지만 칠면조가 달리고 있는 채팅에는 준비된 데이터가 없습니다. 따라서 오류. 맞습니다. 하지만 불편해요 :)
나는 그러한 질문을 좋아하지 않지만 인접한 기호 의 표시기 에서 데이터를 요청하는 것이 중요합니까 ??? (도움말과 내 예에 쓰여진 내용을 고려하여 칠면조가 전문가와 채팅의 실행을 어떻게 늦출 수 있는지). 이 모든 어려움을 우회하는 것이 가능합니다 ...
데이터가 아닌 "FIRSDDATE"를 요청하고 있습니다. 날짜는 있을 수 있지만 저축으로 인해 데이터가 누락될 수 있습니다. 현재 사용 중이 아닌 경우 모든 문자에 대한 데이터를 다운로드하는 이유는 무엇입니까? 개발자는 사용자가 이 데이터에 액세스할 때만 데이터를 업로드하는 합리적인 방법을 선택했습니다. 이것은 정상적인 접근 방식입니다. 터미널 작업을 하는 당신은 이것을 알고 이 상황에 따라 행동해야 합니다.
거래에 시간을 낭비하는 대신 기본적인 것들에 집착하고 게으른 시간을 낭비합니다. 당신의 시간을 불쌍히 여기십시오. :)
로봇이 나를 위해 거래, 나는 지금 집에 전혀 없습니다 ...
그리고 내 거래를 개선하기 위해 지표가 필요합니다 :)
안드레이!
나는 당신에 대해 모르지만 나는 수년 동안 문서 작업을 해왔습니다.
봐, 내가 (!) 이해한 대로 문서에서 따랐다.
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 데이터베이스의 동기화 서버 및 시계열 생성).