실시간 틱 - 페이지 18 1...11121314151617181920212223242526 새 코멘트 Aleksey Mavrin 2020.02.04 19:02 #171 prostotrader : 논쟁이 벌어지고 있는 동안 나는 1번의 실험을 더 했다. 즉, 초기화 중에 마이크로초 시간을 감지하고, 각 인쇄 전에 다시 드릴 시간 이상적으로는 다음과 같아야합니다. 그러나 매우 자주 다음과 같이 나타납니다(로그 발췌). 근데 4초도 안맞아... 오, 마침내 발견 시간을 알아 냈어, 진행!) 추신 시간이 확실히 디스크에 기록되지 않았는지 확인하기 위해 가장 간단한 테스트를 수행합니다. Test의 작업 사이에 평균 7마이크로초가 소요되는 일부 계산이 수행됩니다. 동시에 마이크로초 단위의 동일한 시간으로 12개 이상의 작업에 대해 인쇄물이 표시되고 마이크로초마다 인쇄물이 출력된다는 것이 분명합니다. 모든 사람에게 모든 것이 명확하다고 생각합니다. up: 첫 번째 인쇄가 두 번째 인쇄 바로 전에 배치되면 델타는 이미 0-1이며, 이는 인쇄가 이 체인에서 가장 길다는 것을 의미합니다. for ( int count= 0 ;count< 10000 ;count++) { ul= GetMicrosecondCount (); Print ( "MicrosecondCount " ,ul); Test(); ul_cur= GetMicrosecondCount (); Print ( "MicrosecondCount " , ul_cur, " delta " ,ul_cur-ul); } 시장이 언제 문을 닫는지 초보자의 질문 MQL5 MT5 구독자 1200명!! prostotrader 2020.02.04 19:07 #172 Aleksey Mavrin : 오, 마침내 발견 시간을 알아 냈어, 진행!) 무엇을 원하니? 할 것이 없다? 여기에서 모든 것이 시작되었습니다! Aleksey Mavrin 2020.02.04 19:18 #173 prostotrader : 무엇을 원하니? 할 것이 없다? 여기에서 모든 것이 시작되었습니다! 추가됨 게다가 GetMicrosecondCount ()에 최대 16ms의 오류가 있다는 것을 아직 알지 못합니다! :) 마이크로초를 제공하는 함수에는 최대 16밀리초의 오류가 있습니다. 오류는 그 이름보다 훨씬 더 큰 것입니다. 음, 음)) 증거로도 확인할 수 있습니까? prostotrader 2020.02.04 19:20 #174 Aleksey Mavrin : 마이크로초를 제공하는 함수에는 최대 16밀리초의 오류가 있습니다. 오류는 그 이름보다 훨씬 더 큰 것입니다. 음, 음)) 증거로도 확인할 수 있습니까? 뒤섞인 Aleksey Mavrin 2020.02.04 19:23 #175 prostotrader : 뒤섞인 글쎄, 당신이 실수를 즉시 인정한다는 점을 존중하십시오.) 4초의 지연은 실제로 터미널이 생각하는 어떤 시점에서 가장 가능성이 높습니다. 이것은 바이러스 백신이 스캔을 시작할 때 발생하는 것 같습니다. 사례. 그리고 4초라는 것은 정확히 4초 후에 로그 캐시에서 Print가 나왔다는 뜻이고 OnBuk이 4초 뒤에 나왔다는 뜻은 아닙니다(당시 컴퓨터를 어떻게 로드하느냐에 따라 가능할 것 같지만) 추신 왜냐하면 인쇄는 먼저 대기열로 이동하고 거기에서 로그로 이동합니다. Yuriy Zaytsev 2020.02.04 19:48 #176 Aleksey Mavrin : 글쎄, 당신이 실수를 즉시 인정한다는 점을 존중하십시오.) 4초의 지연은 실제로 터미널 생각의 어느 시점에서 가장 가능성이 높습니다. 이것은 바이러스 백신이 검사를 시작할 때 발생하는 것 같습니다. 사례. 그리고 4초라는 것은 정확히 4초 후에 로그 캐시에서 Print가 나왔다는 뜻이고 OnBuk이 4초 후에 나왔다는 뜻은 아닙니다(당시 컴퓨터를 어떻게 로드하느냐에 따라 가능할 것 같지만) 추신 왜냐하면 인쇄는 먼저 대기열로 이동하고 거기에서 로그로 이동합니다. 네 가능합니다 prostotrader 2020.02.04 19:51 #177 Aleksey Mavrin : 그리고 4초라는 것은 정확히 4초 후에 로그 캐시에서 Print가 나왔다는 뜻 이고 OnBuk이 4초 뒤에 나왔다는 뜻은 아닙니다 (당시 컴퓨터를 어떻게 로드하느냐에 따라 가능할 것 같지만) 추신 왜냐하면 인쇄는 먼저 대기열로 이동하고 거기에서 로그로 이동합니다. 글쎄요, 하지만 어때요? 한 차트에서는 OnBook을 실행하고 다른 차트에서는 OnTick을 실행했습니다. //+------------------------------------------------------------------+ //| Ticks_test.mq5 | //| Copyright 2019 prostotrader | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019 prostotrader" #property link "https://www.mql5.com" #property version "1.00" //--- bool is_book; enum ENUM_BOOK_OR_TICK { USE_BOOK, // Use OnBookEvent USE_TICK // Use OnTick }; input ENUM_BOOK_OR_TICK Mode = USE_BOOK; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { if (Mode == USE_BOOK) is_book = MarketBookAdd ( Symbol ()); return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { if (Mode == USE_BOOK) { if (is_book == true ) MarketBookRelease ( Symbol ()); } } //+------------------------------------------------------------------+ //| BookEvent function | //+------------------------------------------------------------------+ void OnBookEvent ( const string &symbol) { if (( Symbol () != symbol) || (Mode != USE_BOOK)) return ; Print ( __FUNCTION__ , "; Time: " , GetTickCount (), " ms" ); } void OnTick () { if (Mode != USE_TICK) return ; Print ( __FUNCTION__ , "; Time: " , GetTickCount (), " ms" ); } //+------------------------------------------------------------------+ OnTick과 OnBook의 56ms 차이 동일한 인쇄 차이 :) 2020.02 . 04 22 : 37 : 48.212 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205482644 ms 2020.02 . 04 22 : 37 : 49.268 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 20548369 0 ms 2020.02 . 04 22 : 37 : 50.354 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205484782 ms 2020.02 . 04 22 : 37 : 50.354 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205484782 ms 2020.02 . 04 22 : 37 : 51.064 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205485484 ms 2020.02 . 04 22 : 37 : 51.064 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205485484 ms 2020.02 . 04 22 : 37 : 52.833 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205487262 ms 2020.02 . 04 22 : 37 : 52.833 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205487262 ms 2020.02 . 04 22 : 38 : 01.932 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205496357 ms 2020.02 . 04 22 : 38 : 01.932 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205496357 ms 2020.02 . 04 22 : 38 : 05.310 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205499742 ms 2020.02 . 04 22 : 38 : 05.310 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205499742 ms 2020.02 . 04 22 : 38 : 07.706 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205502129 ms 2020.02 . 04 22 : 38 : 07.706 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205502129 ms 2020.02 . 04 22 : 38 : 09.426 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205503845 ms 2020.02 . 04 22 : 38 : 09.426 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205503845 ms 2020.02 . 04 22 : 38 : 10.035 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205504453 ms 2020.02 . 04 22 : 38 : 10.035 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205504453 ms 2020.02 . 04 22 : 38 : 14.225 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205508650 ms 2020.02 . 04 22 : 38 : 14.225 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205508650 ms 2020.02 . 04 22 : 38 : 14.252 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205508681 ms 2020.02 . 04 22 : 38 : 14.252 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205508681 ms 2020.02 . 04 22 : 38 : 14.593 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205509024 ms 2020.02 . 04 22 : 38 : 14.593 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205509024 ms 2020.02 . 04 22 : 38 : 15.105 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205509523 ms 2020.02 . 04 22 : 38 : 15.105 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205509523 ms 2020.02 . 04 22 : 38 : 15.584 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205510007 ms 2020.02 . 04 22 : 38 : 16.226 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205510647 ms 2020.02 . 04 22 : 38 : 16.232 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205510662 ms 2020.02 . 04 22 : 38 : 16.232 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205510662 ms 2020.02 . 04 22 : 38 : 21.476 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205515904 ms 2020.02 . 04 22 : 38 : 21.477 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205515904 ms 2020.02 . 04 22 : 38 : 22.403 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205516824 ms 2020.02 . 04 22 : 38 : 22.404 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205516824 ms 2020.02 . 04 22 : 38 : 23.582 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205518010 ms 2020.02 . 04 22 : 38 : 23.583 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205518010 ms 2020.02 . 04 22 : 38 : 24.707 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205519133 ms 2020.02 . 04 22 : 38 : 24.708 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205519133 ms 2020.02 . 04 22 : 38 : 30.962 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205525389 ms 2020.02 . 04 22 : 38 : 30.962 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205525389 ms 2020.02 . 04 22 : 38 : 31.188 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205525607 ms 2020.02 . 04 22 : 38 : 31.189 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205525607 ms 2020.02 . 04 22 : 38 : 31.989 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205526418 ms 2020.02 . 04 22 : 38 : 31.989 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205526418 ms 2020.02 . 04 22 : 38 : 32.048 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205526481 ms 2020.02 . 04 22 : 38 : 32.048 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205526481 ms 2020.02 . 04 22 : 38 : 32.140 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205526559 ms 2020.02 . 04 22 : 38 : 32.140 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205526559 ms 2020.02 . 04 22 : 38 : 32.153 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205526574 ms 2020.02 . 04 22 : 38 : 32.153 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205526574 ms 2020.02 . 04 22 : 38 : 32.589 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205527011 ms 2020.02 . 04 22 : 38 : 32.590 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205527011 ms 2020.02 . 04 22 : 38 : 39.930 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205534359 ms 2020.02 . 04 22 : 38 : 39.931 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205534359 ms 2020.02 . 04 22 : 38 : 40.009 Ticks_test_2 (GOLD- 3.20 ,M1) OnTick ; Time: 205534437 ms 2020.02 . 04 22 : 38 : 40.009 Ticks_test_2 (GOLD- 3.20 ,M1) OnBookEvent ; Time: 205534437 ms Aleksey Mavrin 2020.02.04 20:07 #178 prostotrader : 글쎄요, 하지만 어때요? 한 차트에서 OnBook을 실행하고 다른 차트에서 OnTick을 실행했습니다. OnTick과 OnBook의 56ms 차이 동일한 인쇄 차이 :) 다시 말하지만, 나는 정확히 확신하지 못합니다. 왜냐하면. 나는 잠을 자고 의심하고 싶다 - 경험이 많고 현명하다) 그러나 여기서 요점은 Symbol ()이 시간을 먹는다는 점에서 단지 기본적 인 것 같습니다))) 이것은 올바른 테스트입니다 - 확인하십시오 - 나는 너무 게으르다) ul은 ulong glob입니다. 변하기 쉬운 void OnBookEvent ( const string &symbol) { ul= GetTickCount (); if (( Symbol () != symbol) || (Mode != USE_BOOK)) return ; Print ( __FUNCTION__ , "; Time: " , ul, " ms" ); } void OnTick () { ul= GetTickCount (); if (Mode != USE_TICK) return ; Print ( __FUNCTION__ , "; Time: " , ul, " ms" ); } //+------------------------------------------------------------------+ prostotrader 2020.02.04 20:10 #179 Aleksey Mavrin : 다시 말하지만, 나는 정확히 확신하지 못합니다. 왜냐하면. 나는 잠을 자고 의심하고 싶다 - 경험이 많고 현명하다) 그러나 여기서 요점은 Symbol ()이 시간을 먹는다는 점에서 단지 기본적 인 것 같습니다))) 이것은 올바른 테스트입니다 - 확인하십시오 - 내가 너무 게으르다) ul은 ulong glob입니다. 변하기 쉬운 :), 잘 자 Yuriy Zaytsev 2020.02.04 20:42 #180 Aleksey Mavrin : 다시 말하지만, 나는 정확히 확신하지 못합니다. 왜냐하면. 나는 잠을 자고 의심하고 싶다 - 경험이 많고 현명하다) 그러나 여기서 요점은 Symbol ()이 시간을 먹는다는 점에서 단지 기본적 인 것 같습니다))) 이것은 올바른 테스트입니다 - 확인하십시오 - 내가 너무 게으르다) ul은 ulong glob입니다. 변하기 쉬운 string gSymbol; int OnInit () { gSymbol = Symbol (); return 0; } void OnBookEvent ( const string &symbol) { ul= GetTickCount (); if (( Symbol () != symbol) || (Mode != USE_BOOK)) return ; Print ( __FUNCTION__ , "; Time: " , ul, " ms" ); } void OnTick () { ul= GetTickCount (); if (( Symbol () != gSymbol) || (Mode != USE_TICK)) return ; // можно попробовать привести оба обработчика к одинаковому коду Print ( __FUNCTION__ , "; Time: " , ul, " ms" ); } //+------------------------------------------------------------------+ 옵션으로 Symbol() 이 시간을 잡아먹는다는 두려움을 없애기 위해 두 핸들러가 같은 방식으로 "먹게" 합니다. 1...11121314151617181920212223242526 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
논쟁이 벌어지고 있는 동안 나는 1번의 실험을 더 했다.
즉, 초기화 중에 마이크로초 시간을 감지하고,
각 인쇄 전에 다시 드릴 시간
이상적으로는 다음과 같아야합니다.
그러나 매우 자주 다음과 같이 나타납니다(로그 발췌).
근데 4초도 안맞아...
오, 마침내 발견 시간을 알아 냈어, 진행!)
추신 시간이 확실히 디스크에 기록되지 않았는지 확인하기 위해 가장 간단한 테스트를 수행합니다. Test의 작업 사이에 평균 7마이크로초가 소요되는 일부 계산이 수행됩니다.
동시에 마이크로초 단위의 동일한 시간으로 12개 이상의 작업에 대해 인쇄물이 표시되고 마이크로초마다 인쇄물이 출력된다는 것이 분명합니다. 모든 사람에게 모든 것이 명확하다고 생각합니다.
up: 첫 번째 인쇄가 두 번째 인쇄 바로 전에 배치되면 델타는 이미 0-1이며, 이는 인쇄가 이 체인에서 가장 길다는 것을 의미합니다.
오, 마침내 발견 시간을 알아 냈어, 진행!)
무엇을 원하니? 할 것이 없다?
여기에서 모든 것이 시작되었습니다!
무엇을 원하니? 할 것이 없다?
여기에서 모든 것이 시작되었습니다!
추가됨
게다가 GetMicrosecondCount ()에 최대 16ms의 오류가 있다는 것을 아직 알지 못합니다! :)
마이크로초를 제공하는 함수에는 최대 16밀리초의 오류가 있습니다. 오류는 그 이름보다 훨씬 더 큰 것입니다. 음, 음)) 증거로도 확인할 수 있습니까?
마이크로초를 제공하는 함수에는 최대 16밀리초의 오류가 있습니다. 오류는 그 이름보다 훨씬 더 큰 것입니다. 음, 음)) 증거로도 확인할 수 있습니까?
뒤섞인
뒤섞인
글쎄, 당신이 실수를 즉시 인정한다는 점을 존중하십시오.)
4초의 지연은 실제로 터미널이 생각하는 어떤 시점에서 가장 가능성이 높습니다. 이것은 바이러스 백신이 스캔을 시작할 때 발생하는 것 같습니다. 사례.
그리고 4초라는 것은 정확히 4초 후에 로그 캐시에서 Print가 나왔다는 뜻이고 OnBuk이 4초 뒤에 나왔다는 뜻은 아닙니다(당시 컴퓨터를 어떻게 로드하느냐에 따라 가능할 것 같지만)
추신 왜냐하면 인쇄는 먼저 대기열로 이동하고 거기에서 로그로 이동합니다.글쎄, 당신이 실수를 즉시 인정한다는 점을 존중하십시오.)
4초의 지연은 실제로 터미널 생각의 어느 시점에서 가장 가능성이 높습니다. 이것은 바이러스 백신이 검사를 시작할 때 발생하는 것 같습니다. 사례.
그리고 4초라는 것은 정확히 4초 후에 로그 캐시에서 Print가 나왔다는 뜻이고 OnBuk이 4초 후에 나왔다는 뜻은 아닙니다(당시 컴퓨터를 어떻게 로드하느냐에 따라 가능할 것 같지만)
추신 왜냐하면 인쇄는 먼저 대기열로 이동하고 거기에서 로그로 이동합니다.네 가능합니다
그리고 4초라는 것은 정확히 4초 후에 로그 캐시에서 Print가 나왔다는 뜻 이고 OnBuk이 4초 뒤에 나왔다는 뜻은 아닙니다 (당시 컴퓨터를 어떻게 로드하느냐에 따라 가능할 것 같지만)
추신 왜냐하면 인쇄는 먼저 대기열로 이동하고 거기에서 로그로 이동합니다.글쎄요, 하지만 어때요?
한 차트에서는 OnBook을 실행하고 다른 차트에서는 OnTick을 실행했습니다.
OnTick과 OnBook의 56ms 차이
동일한 인쇄 차이 :)
글쎄요, 하지만 어때요?
한 차트에서 OnBook을 실행하고 다른 차트에서 OnTick을 실행했습니다.
OnTick과 OnBook의 56ms 차이
동일한 인쇄 차이 :)
다시 말하지만, 나는 정확히 확신하지 못합니다. 왜냐하면. 나는 잠을 자고 의심하고 싶다 - 경험이 많고 현명하다)
그러나 여기서 요점은 Symbol ()이 시간을 먹는다는 점에서 단지 기본적 인 것 같습니다)))
이것은 올바른 테스트입니다 - 확인하십시오 - 나는 너무 게으르다)
ul은 ulong glob입니다. 변하기 쉬운
다시 말하지만, 나는 정확히 확신하지 못합니다. 왜냐하면. 나는 잠을 자고 의심하고 싶다 - 경험이 많고 현명하다)
그러나 여기서 요점은 Symbol ()이 시간을 먹는다는 점에서 단지 기본적 인 것 같습니다)))
이것은 올바른 테스트입니다 - 확인하십시오 - 내가 너무 게으르다)
ul은 ulong glob입니다. 변하기 쉬운
:), 잘 자
다시 말하지만, 나는 정확히 확신하지 못합니다. 왜냐하면. 나는 잠을 자고 의심하고 싶다 - 경험이 많고 현명하다)
그러나 여기서 요점은 Symbol ()이 시간을 먹는다는 점에서 단지 기본적 인 것 같습니다)))
이것은 올바른 테스트입니다 - 확인하십시오 - 내가 너무 게으르다)
ul은 ulong glob입니다. 변하기 쉬운
옵션으로 Symbol() 이 시간을 잡아먹는다는 두려움을 없애기 위해 두 핸들러가 같은 방식으로 "먹게" 합니다.