이 기능의 문제점을 설명해 주시겠습니까? - 페이지 4 12345678 새 코멘트 Vladimir Karputov 2016.06.24 15:55 #31 Alexey Viktorov : 블라디미르인데 테스터에서 문제가 안나오는데.. 그런 고민은 어디서 나오나요??? 아니면 테스터에 Expert Advisor가 한 명뿐이기 때문에? 나는 또한 SD에서 유일한 변경 사항은 두 번째 고문이 다른 쌍에 넣는 것이라고 제안했습니다. 테스터에서는 전체 거래 환경을 미리 준비합니다. 모든 것이 접시에 있습니다. 걱정 마. 실생활에서는 다릅니다. 비표준 행동(다른 시간대 및/또는 다른 기호로 작업)을 사용하면 거래 환경의 관련성을 스스로 관리해야 합니다. Alexey Viktorov 2016.06.24 15:55 #32 Karputov Vladimir : 한 터미널(M15 기간에는 Expert Advisors가 있었음)에서는 하나의 기호에서 작동하지 않았습니다. 문제는 다른 사람의 시간대를 사용할 때 모든 기록을 "풀업"해야 한다는 것 입니다. 시간 . CopyTime()을 통해 하는 것이 좋다고 생각합니다. 그리고 CopyRates() 가 이 히스토리를 가져옵니다??? 결국, 시간은 구조에 존재합니다 ... Dmitry Fedoseev 2016.06.24 15:56 #33 Karputov Vladimir : 그것은 실수가 아니다. 당신은 다른 사람의 시간 프레임에 작업하고 있습니다. 이 경우 다른 사람의 시간대에 대한 데이터가 최신인지 확인해야 합니다. 개인적으로 대안이 보이지 않습니다. 사실이 아니며 SERIES_LASTBAR_DATE 가 어떻게 작동하는지 알 수 없습니다. 마지막 막대의 시간은 지정된 기호의 TimeCurrent()를 사용하여 계산할 수 있으므로 아무 것도 업데이트할 필요가 없을 수도 있습니다. 개발자에게 물어보십시오. 그러나 두 개의 변수가 true에 할당되면 함께(&&를 검사할 때) 이러한 변수도 true를 제공한다는 분명한 사실입니다. Andrey Khatimlianskii 2016.06.24 18:25 #34 다른 도구/TF의 캐시가 사라지는 문제가 실제로 존재합니다. 또한 오류를 확인하고 루프에서 로드를 기다리는 것이 항상 도움이 되는 것은 아닙니다. 우리는 서비스 데스크에서 이야기했지만 MQ에서 진행 상황은 없었고 단 하나의 힌트만 있었습니다. Support Team 2016.02.29 11:45 의심되는 것은 기록 데이터가 시간 초과에 의해 언로드된다는 것입니다. 2가지 솔루션이 있습니다. 1. 3분에 한 번 이상 데이터에 액세스 2. 데이터에 매우 간단한 지표를 첨부합니다. 예를 들어 볼륨. 계산이 없으며 하나의 버퍼만 사용됩니다. 표시기가 있으면 액세스 빈도에 관계없이 메모리에 기록 캐시가 유지됩니다. 두 번째 팁이 작동하지 않고 표시기가 항상 호출되지만 어느 시점에서 캐시가 떨어져 데이터를 가져올 수 없게됩니다. Andrey Khatimlianskii 2016.03.18 13:41 나는 그러한 목발로 문제를 해결했습니다. 150초마다 관련된 모든 기기/TF에 대해 다음 코드를 호출합니다. bool CheckTimeSeries( string symbol, ENUM_TIMEFRAMES period ) { double array[]; if ( CopyClose ( symbol, period, 1 , 1 , array ) <= 0 ) { int err = GetLastError (); Print ( " * Can't refresh timeseries (" , symbol, ", " , period, ")! ERROR #" , err, "!!!" ); return ( false ); } return ( true ); } 충분히 빠르게 작동하며 이 업데이트 후에 오류 4806이 사라진 것 같습니다. Alexey Viktorov 2016.06.24 19:23 #35 또 다른 오해에 대한 의견을 부탁드립니다. Bars 해당 기간 기호에 대한 기록의 막대 수를 반환합니다. 기능에는 2가지 옵션이 있습니다. 두 번째 옵션만 관심이 있습니다. 주어진 간격의 막대 수 요청 int Bars ( string symbol_name, // имя символа ENUM_TIMEFRAMES timeframe, // период datetime start_time, // с какой даты datetime stop_time // по какую дату ); 조언자 텍스트 /*******************Expert initialization function*******************/ int OnInit () { return ( INIT_SUCCEEDED ); } /*******************************************************************/ /************************Expert tick function************************/ void OnTick () { datetime dtarr[], date = D'2016.06.22' ; ArraySetAsSeries (dtarr, true ); CopyTime ( _Symbol , PERIOD_D1 , 0 , 5 , dtarr); Print (dtarr[ 0 ]); Print ( " " , Bars ( _Symbol , PERIOD_D1 , date, dtarr[ 0 ])); Print ( " " , Bars ( _Symbol , PERIOD_D1 , date+ 1 , dtarr[ 0 ])); } /*******************************************************************/ /******************Expert deinitialization function******************/ void OnDeinit ( const int reason) { } /*******************************************************************/ 나는 시간 00:00:00이 시간 00:00:01과 정확히 같은 다음 날에 속한다는 것을 이해합니다. 하지만... 제안된 지문은 이에 동의하지 않습니다. 2016.06 . 24 22 : 18 : 56.450 TestTime (EURUSD,M15) 2 2016.06 . 24 22 : 18 : 56.450 TestTime (EURUSD,M15) 3 2016.06 . 24 22 : 18 : 56.450 TestTime (EURUSD,M15) 2016.06 . 24 00 : 00 : 00 2016.06.22 00:00:00 ~ 2016.06.24 00:00:00 3개의 일일 바, 2016.06.22 00:00:01 ~ 2016.06.24 00:0TWO...00 사이에만 아니면 제가 뭔가 착각하고 있는건가요??? 파일: TestTime.mq5 2 kb Alexey Viktorov 2016.06.24 19:30 #36 그리고 현재 막대의 시간에 1초를 더하면 Print ( " " , Bars ( _Symbol , PERIOD_D1 , date, dtarr[ 0 ]+ 1 )); Print ( " " , Bars ( _Symbol , PERIOD_D1 , date+ 1 , dtarr[ 0 ]+ 1 )); 그러면 이렇게 됩니다 2016.06 . 24 22 : 26 : 48.602 TestTime (EURUSD,M15) 3 2016.06 . 24 22 : 26 : 48.602 TestTime (EURUSD,M15) 4 2016.06 . 24 22 : 26 : 48.602 TestTime (EURUSD,M15) 2016.06 . 24 00 : 00 : 00 시간이 2016.06.24 00:00:01 다음바에 속하는거같은데??? Dmitry Fedoseev 2016.06.24 19:52 #37 막대 수가 결정되는 간격에는 상한 시간이 포함되지 않습니다. Alexey Viktorov 2016.06.25 05:51 #38 Dmitry Fedoseev : 막대 수가 결정되는 간격에는 상한 시간이 포함되지 않습니다. 드미트리, 이상하지 않아? 새 막대가 나타났지만 아직 계산하지 않습니다. 들어봐, 이것이 이 동작의 이유가 아닌가? SeriesInfoInteger(_Symbol, PERIOD_D1, SERIES_LASTBAR_DATE ); ? 새 막대가 나타나고 눈금이 있고 코드가 실행되고 있지만 시간은 아직 고려되지 않았습니다??? Alexey Viktorov 2016.06.27 10:59 #39 글쎄, 어린 양은 날아갔습니다 ... 그리고 완전히 무시했습니다 ... Vladimir, 당신은 적어도 이 질문에 대답할 수 있습니까 ??? Alexey Viktorov : 그리고 CopyRates()가 이 히스토리를 가져옵니다??? 결국, 시간은 구조에 존재합니다 ... Разъясните пожалуйста что в этой функции может быть не так? www.mql5.com Форум трейдеров MQL5.community Vladimir Karputov 2016.06.27 11:02 #40 Alexey Viktorov : 글쎄, 어린 양은 날아갔습니다 ... 그리고 완전히 무시했습니다 ... Vladimir, 당신은 적어도 이 질문에 대답할 수 있습니까 ??? 서비스 데스크에서 조언한 것보다 더 나은 음성 - 그곳에서 계속 의사 소통을 했습니까? 12345678 새 코멘트 사유: 취소 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
블라디미르인데 테스터에서 문제가 안나오는데.. 그런 고민은 어디서 나오나요??? 아니면 테스터에 Expert Advisor가 한 명뿐이기 때문에?
나는 또한 SD에서 유일한 변경 사항은 두 번째 고문이 다른 쌍에 넣는 것이라고 제안했습니다.
한 터미널(M15 기간에는 Expert Advisors가 있었음)에서는 하나의 기호에서 작동하지 않았습니다. 문제는 다른 사람의 시간대를 사용할 때 모든 기록을 "풀업"해야 한다는 것 입니다. 시간 . CopyTime()을 통해 하는 것이 좋다고 생각합니다.
그것은 실수가 아니다. 당신은 다른 사람의 시간 프레임에 작업하고 있습니다. 이 경우 다른 사람의 시간대에 대한 데이터가 최신인지 확인해야 합니다.
개인적으로 대안이 보이지 않습니다.
사실이 아니며 SERIES_LASTBAR_DATE 가 어떻게 작동하는지 알 수 없습니다. 마지막 막대의 시간은 지정된 기호의 TimeCurrent()를 사용하여 계산할 수 있으므로 아무 것도 업데이트할 필요가 없을 수도 있습니다. 개발자에게 물어보십시오.
그러나 두 개의 변수가 true에 할당되면 함께(&&를 검사할 때) 이러한 변수도 true를 제공한다는 분명한 사실입니다.
다른 도구/TF의 캐시가 사라지는 문제가 실제로 존재합니다.
또한 오류를 확인하고 루프에서 로드를 기다리는 것이 항상 도움이 되는 것은 아닙니다. 우리는 서비스 데스크에서 이야기했지만 MQ에서 진행 상황은 없었고 단 하나의 힌트만 있었습니다.
의심되는 것은 기록 데이터가 시간 초과에 의해 언로드된다는 것입니다.
2가지 솔루션이 있습니다.
1. 3분에 한 번 이상 데이터에 액세스
2. 데이터에 매우 간단한 지표를 첨부합니다. 예를 들어 볼륨. 계산이 없으며 하나의 버퍼만 사용됩니다. 표시기가 있으면 액세스 빈도에 관계없이 메모리에 기록 캐시가 유지됩니다.
두 번째 팁이 작동하지 않고 표시기가 항상 호출되지만 어느 시점에서 캐시가 떨어져 데이터를 가져올 수 없게됩니다.
나는 그러한 목발로 문제를 해결했습니다. 150초마다 관련된 모든 기기/TF에 대해 다음 코드를 호출합니다.
충분히 빠르게 작동하며 이 업데이트 후에 오류 4806이 사라진 것 같습니다.
또 다른 오해에 대한 의견을 부탁드립니다.
Bars
해당 기간 기호에 대한 기록의 막대 수를 반환합니다. 기능에는 2가지 옵션이 있습니다.
두 번째 옵션만 관심이 있습니다.
조언자 텍스트
나는 시간 00:00:00이 시간 00:00:01과 정확히 같은 다음 날에 속한다는 것을 이해합니다.
하지만... 제안된 지문은 이에 동의하지 않습니다.
2016.06.22 00:00:00 ~ 2016.06.24 00:00:00 3개의 일일 바, 2016.06.22 00:00:01 ~ 2016.06.24 00:0TWO...00 사이에만
아니면 제가 뭔가 착각하고 있는건가요???
그리고 현재 막대의 시간에 1초를 더하면
그러면 이렇게 됩니다
시간이 2016.06.24 00:00:01 다음바에 속하는거같은데???
막대 수가 결정되는 간격에는 상한 시간이 포함되지 않습니다.
드미트리, 이상하지 않아? 새 막대가 나타났지만 아직 계산하지 않습니다.
들어봐, 이것이 이 동작의 이유가 아닌가? SeriesInfoInteger(_Symbol, PERIOD_D1, SERIES_LASTBAR_DATE ); ? 새 막대가 나타나고 눈금이 있고 코드가 실행되고 있지만 시간은 아직 고려되지 않았습니다???
글쎄, 어린 양은 날아갔습니다 ... 그리고 완전히 무시했습니다 ...
Vladimir, 당신은 적어도 이 질문에 대답할 수 있습니까 ???
그리고 CopyRates()가 이 히스토리를 가져옵니다??? 결국, 시간은 구조에 존재합니다 ...
글쎄, 어린 양은 날아갔습니다 ... 그리고 완전히 무시했습니다 ...
Vladimir, 당신은 적어도 이 질문에 대답할 수 있습니까 ???