현지 시간과 신선한 틱 시간 사이에는 1분 30초의 차이가 있습니다. 할 일.

 

컴퓨터의 로컬 시간 과 새로운 틱 time_msc(방금 받은) 시간 간의 최대 차이를 보여주는 작은 Expert Advisor를 작성했습니다.

즉, 대략적으로 말하면 마지막 틱 Tick.teme_msc 의 시간 minyc 에서 밀리초 단위로 TimeLocal() 을 측정하기 시작했습니다. 틱은 SymbolInfoTick을 사용하여 수신되었습니다.

특별히 신경쓰지 않았습니다. 시장 개요의 24개 기호. 호출 기간이 1밀리초인 OnTimer()를 통해. SymbolInfoTick을 사용하여 모든 기호를 조사합니다. 진드기가 새 것이라면 측정합니다.

고문은 저녁에 시작되었습니다. 결과는 다음과 같습니다.

새로운 진드기 잡았 46800

로컬 컴퓨터 시간과 틱 시간 사이의 최소 시간 -7048밀리초( 빼기 )

로컬 컴퓨터 시간과 틱 시간 사이의 평균 시간 -6819밀리초(마이너스)

로컬 컴퓨터 시간과 틱 시간 사이의 최대 시간 97082 밀리초(플러스)


그것을 처리하는 방법?

 
pivomoe :

컴퓨터의 로컬 시간과 새로운 틱 time_msc(방금 받은) 시간 간의 최대 차이를 보여주는 작은 Expert Advisor를 작성했습니다.

즉, 대략적으로 말하면 마지막 틱 Tick.teme_msc 의 시간 minyc 에서 밀리초 단위로 TimeLocal() 을 측정하기 시작했습니다. 틱은 SymbolInfoTick을 사용하여 수신되었습니다.

특별히 신경쓰지 않았습니다. 시장 개요의 24개 기호. 호출 기간이 1밀리초인 OnTimer()를 통해. SymbolInfoTick을 사용하여 모든 기호를 조사합니다. 진드기가 새 것이라면 측정합니다.

고문은 저녁에 시작되었습니다. 결과는 다음과 같습니다.

새로운 진드기 잡았 46800

로컬 컴퓨터 시간과 틱 시간 사이의 최소 시간 -7048밀리초( 빼기 )

로컬 컴퓨터 시간과 틱 시간 사이의 평균 시간 -6819밀리초(마이너스)

로컬 컴퓨터 시간과 틱 시간 사이의 최대 시간 97082 밀리초(플러스)


그것을 처리하는 방법?

코드를 보니...

당신은 모든 일을 올바르게하고 있지 않습니다.

가장 유동적인 상품을 Market Watch에 추가해야 합니다.

그런 다음 이러한 도구의 안경을 추가합니다.

그리고 OnBookEvent()가 트리거되면 1틱(마지막)을 복사하면 시간이 있고 즉시 현지 시간 을 가져와 비교합니다.

일반적으로 현지 시간을 틱 시간과 비교해야 하는 이유는 무엇입니까?

거래가 가능한지 알아야 하는 경우 다음 기능이 있습니다.

 //+------------------------------------------------------------------+
//| Expert Check Market Time function                                |
//+------------------------------------------------------------------+
bool CheckMarketTime()
{
   MqlDateTime cur_time, sv_time;
  cur_time.year = 0 ;
   TimeTradeServer (cur_time); //Возвращает расчетное текущее время торгового сервера.
   if (cur_time.year > 0 )
  {
    sv_time.year = 0 ;
     TimeCurrent (sv_time); //Возвращает последнее известное время сервера
     if (sv_time.year > 0 )
    {
     //  if((cur_time.day_of_week == int(FirstDay)) ||
     //     (cur_time.day_of_week == int(SecondDay))) return(false); //Проверка на выходные
       if (cur_time.day_of_week == sv_time.day_of_week)
      {
         ulong tr_time = sv_time.hour * 3600 + sv_time.min * 60 + sv_time.sec;
         if (((tr_time >= time_st_mon) && (tr_time < 50370 )) ||   //10:00:01 - 13:59:30
           ((tr_time >= time_st_day) && (tr_time < 67470 )) ||   //14:05:01 - 19:44:30 
           ((tr_time >= time_st_evn) && (tr_time < 85770 )))     //19:05:01 - 23:49:30
        {
           return ( true );
        }  
      }  
    } 
  }   
   return ( false );
}
 

틱 관련성 주제에 대해서는 주석과 함께 이 표시기 를 참조하십시오.

Ping
Ping
  • www.mql5.com
Для торговли важным параметром является актуальность текущей цены. На него влияет множество факторов, самый популярный из которых - сетевой пинг между терминалом и торговым сервером. Но часто из виду упускается другой параметр: так называемый "внутренний пинг терминала" - дополнительный лаг котировок внутри самого терминала (платформы). Даже...
 
prostotrader :

코드를 보니...

당신은 모든 일을 올바르게하고 있지 않습니다.

가장 유동적인 상품을 Market Watch에 추가해야 합니다.

그런 다음 이러한 도구의 안경을 추가합니다.

그리고 OnBookEvent()가 트리거되면 1틱(마지막)을 복사하면 시간이 있고 즉시 현지 시간을 가져와 비교합니다.

일반적으로 현지 시간을 틱 시간과 비교해야 하는 이유는 무엇입니까?

왜 유리를 통해 모든 것을합니까? 코드를 더 보기 좋게 만들기 위해? 시장 시계에 기호가 있는 경우 지속적인 동기화가 있고 해당 기호에 대한 마지막 4096 틱을 캐시에서 직접(즉, 즉시) 사용할 수 있다는 의미가 아닙니까? 어쨌든 당신의 아이디어는 테스트를 거쳐야 합니다. 내가 이해하지 못했던 유일한 것은 오더 북을 변경하여 틱을 계산하는 "1 틱 (마지막) 복사"가 무엇을 의미합니까?

일반적으로 현지 시간 을 틱 시간과 비교해야 하는 이유는 무엇입니까?

어제의 가격으로 거래 결정을 내리는 것은 좋은 생각이 아닙니다. 어제 SBER 100은 알고리즘의 관점에서 매수하는 것이 좋은 생각일 수 있지만 오늘은 80에 매도해야 합니다.

 
pivomoe :

왜 유리를 통해 모든 것을합니까? 코드를 보기 좋게 만들기 위해? 시장 시계에 기호가 있는 경우 지속적인 동기화가 있고 해당 기호에 대한 마지막 4096 틱을 캐시에서 직접(즉, 즉시) 사용할 수 있다는 의미가 아닙니까? 어쨌든 당신의 아이디어는 테스트를 거쳐야 합니다. 내가 이해하지 못했던 유일한 것은 오더 북을 변경하여 틱을 계산하는 "1 틱 (마지막) 복사"가 무엇을 의미합니까?

일반적으로 현지 시간을 틱 시간과 비교해야 하는 이유는 무엇입니까?

어제의 가격으로 거래 결정을 내리는 것은 좋은 생각이 아닙니다. 어제 SBER 100은 알고리즘의 관점에서 매수하는 것이 좋은 생각일 수 있지만 오늘은 80에 매도해야 합니다.

스스로 다 알면서 왜 질문을 합니까.

당신이 적합하다고 생각하는대로하십시오.

 
prostotrader :

스스로 다 알면서 왜 질문을 합니까.

당신이 적합하다고 생각하는대로하십시오.

진심으로 묻습니다. MQL 프로그래밍을 하다보니 터미널이 주는 정보가 아니라 도움말을 신뢰하는 것은 불가능하다는 것을 깨달았습니다. 이 모든 것은 생각할 거리에 불과합니다. 주문서가 SymbolInfoTick보다 먼저(더 안정적으로) 정보를 제공할 수 있습니다.

그건 그렇고, 여기에 1분 30초의 지연과 함께 제공된 틱이 있습니다.

새로운 MAX 차이 97082 SBPR-3.19 현지 시간 2019.03.15 21:05:31.842 Tick time 2019.03.15 21:03:54.760

그 순간 진드기의 역사에 범죄자는 없었습니다. 분당 2틱.

 
pivomoe :

진심으로 묻습니다. MQL 프로그래밍을 하다보니 터미널이 주는 정보가 아니라 도움말을 신뢰하는 것은 불가능하다는 것을 깨달았습니다. 이 모든 것은 생각할 거리에 불과합니다. 주문서가 SymbolInfoTick보다 먼저(더 안정적으로) 정보를 제공할 수 있습니다.

그건 그렇고, 여기에 1분 30초의 지연과 함께 제공된 틱이 있습니다.

새로운 MAX 차이 97082 SBPR-3.19 현지 시간 2019.03.15 21:05:31.842 Tick time 2019.03.15 21:03:54.760

그 순간 진드기의 역사에 범죄자는 없었습니다. 분당 2틱.

당신은 문제의 본질을 절대적으로 이해하지 못합니다!

현지 시간은 신경쓰지 마세요.

TRADING 서버의 시간을 이해하는 것이 중요합니다!

거래 세션 이 있으며 이 시간 동안 거래할 수 있습니다.

거래 시간은 현지 시간에 따라 결정되며,

그리고 거래 서버 시간.

 
prostotrader :

당신은 문제의 본질을 절대적으로 이해하지 못합니다!

현지 시간은 신경쓰지 마세요.

TRADING 서버의 시간을 이해하는 것이 중요합니다!

거래 세션 이 있으며 이 시간 동안 거래할 수 있습니다.

거래 시간은 현지 시간에 따라 결정되며,

그리고 거래 서버 시간.

나는 아마도 문제의 본질을 잘못 설명했을 것입니다. fxsaber , 나는 그가 지체 없이 새 틱을 얻는 것의 중요성을 이해하고 내 코드와 유사하지만 그래픽 형식으로 표시되는 표시기에 대한 링크를 제공했기 때문에 이해했습니다. 테마는 교환 시간과 관련이 없습니다.

나는 손가락으로 설명하려고 노력할 것이다.

현지 시간 16:39.59.999에 Expert Advisor는 처음으로 Market Watch에서 각 기호에 대한 마지막 틱을 수신하고 기억합니다.

16:40.00.000에 마지막 틱이 각 기호에 대해 다시 폴링됩니다. 어떤 사람들에게는 새로운 진드기가 생깁니다.

16:39.59.000경에 시간( time_msc )이 있는 대부분의 새로운 틱. 그러나 시간 16:38.30.335와 함께 하나가 왔습니다.

즉, 16:39.59.999(현지 시간)에 이 진드기가 없었고 밀리초 후에 갑자기 나타났고 심지어 현대 16:38:30에도 나타났습니다. 두번째.

그런 진드기 후에 좋은 생각이 일어나지 않습니다. 실제 거래에서 유동성이 낮은 기호에서 마지막 틱을 요청한다고 가정해 보겠습니다. 틱 시간 가져오기(time_msc)

현지와 2분 차이. 누군가가 90초, 60초 또는 30초 전에 발생한 틱에 대해 이미 알고 있다는 가정이 즉시 발생하지만 우리 고문은 이에 대해 알지 못하며 예를 들어 지정가 주문을 쳐서 처벌을 받을 수 있습니다.

이 문제는 싸워야 합니다.

 
pivomoe :

나는 아마도 문제의 본질을 잘못 설명했을 것입니다. fxsaber , 나는 그가 지체 없이 새 틱을 얻는 것의 중요성을 이해하고 내 코드와 유사하지만 그래픽 형식으로 표시되는 표시기에 대한 링크를 제공했기 때문에 이해했습니다. 테마는 교환 시간과 관련이 없습니다.

나는 손가락으로 설명하려고 노력할 것이다.

현지 시간 16:39.59.999에 Expert Advisor는 처음으로 Market Watch에서 각 기호에 대한 마지막 틱을 수신하고 기억합니다.

16:40.00.000에 마지막 틱이 각 기호에 대해 다시 폴링됩니다. 어떤 사람들에게는 새로운 진드기가 생깁니다.

16:39.59.000 주변에 시간( time_msc )이 있는 대부분의 새로운 틱. 그러나 시간 16:38.30.335와 함께 하나가 왔습니다.

즉, 16:39.59.999(현지 시간)에 이 진드기가 없었고 밀리초 후에 갑자기 나타났고 심지어 현대 16:38:30에도 나타났습니다. 두번째.

그런 진드기 후에 좋은 생각이 일어나지 않습니다. 실제 거래에서 유동성이 낮은 기호에서 마지막 틱을 요청한다고 가정해 보겠습니다. 틱 시간 가져오기(time_msc)

현지와 2분 차이. 누군가가 90초, 60초 또는 30초 전에 발생한 틱에 대해 이미 알고 있다는 가정이 즉시 발생하지만 우리 고문은 이에 대해 알지 못하며 예를 들어 지정가 주문을 쳐서 처벌을 받을 수 있습니다.

이 문제는 싸워야 합니다.

어떤 것과도 "싸울" 필요는 없지만 진드기가 터미널에 어떻게 올바로 올지 이해해야 합니다.

그들을 처리!

https://www.mql5.com/ru/code/16210

Лента всех сделок
Лента всех сделок
  • www.mql5.com
Хитрый усреднитель Hello Smart Эксперт усредняет убыточные позиции по определенному алгоритму. ColorJSatl_Digit Сглаженный быстрый цифровой фильтр JSatl с цветовой индикацией направления движения, с отображением последнего значения в виде ценовой метки и с возможностью округлять уровни...
 
prostotrader :

어떤 것과도 "싸울" 필요는 없지만 진드기가 어떻게 터미널에 오고 올바르게 왔는지 이해해야 합니다.

그들을 처리하십시오!

마침내 이 지식을 공유할 수 있습니까? 당신의 방법을 통해 새로운 틱 이벤트를 더 일찍 얻을 수 있다 하더라도, 당신이 나에게 낚싯대가 아닌 물고기를 주는 것으로 밝혀졌습니다. 즉, 왜 이런 일이 발생하는지 설명하지 않습니다.

당신의 방법이 나보다 빠르다는 확신은 어디서 얻었습니까? 문서에서 누락된 것이 있습니까? 유리를 구독하면 터미널이 더 기꺼이 새 틱을 제공한다는 것을 실험적으로 설정했을 수 있습니까?

나는 새로운 것을 잡는 방법에서 당신의 방법으로 이 Expert Advisor의 스위치를 구현하고 있습니다.

 
pivomoe :

마지막으로 이 지식을 공유할 수 있습니까? 당신의 방법을 통해 새로운 틱 이벤트를 더 일찍 얻을 수 있다 하더라도, 당신이 나에게 낚싯대가 아닌 물고기를 주는 것으로 밝혀졌습니다. 즉, 왜 이런 일이 발생하는지 설명하지 않습니다.

당신의 방법이 나보다 빠르다는 확신은 어디서 얻었습니까? 문서에서 누락된 것이 있습니까? 유리를 구독하면 터미널이 더 기꺼이 새 틱을 제공한다는 것을 실험적으로 설정했을 수 있습니까?

나는 새로운 것을 잡는 방법에서 당신의 방법으로 이 Expert Advisor의 스위치를 구현하고 있습니다.

주석이 있는 소스 코드가 있습니다.

보기에 너무 게으르다? 아니면 뭔가 명확하지 않습니까?