지연 OI(미결제약정)

 

터미널의 미결제약정이 변경되는 이유는 다음과 같습니다.
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
테이프에 상대적인 삶을 살고 있습니까?
무효 OnBookEvent(const 문자열 및 기호)

내가 파생상품 시장을 이해하는 한, 테이프의 거래는 OI의 변경으로 이어지지 않을 수 있습니다. 그러나 OI는 거래 없이 왜 스스로 변경됩니까?
이것은 이미 본 적이 있습니다:
https://www.mql5.com/ru/forum/165157/page2#comment_3989978

OI는 터미널에서 얼마나 자주 업데이트되며 무엇에 의존합니까?
OI 변경 사항을 피드의 거래와 동기화하는 방법은 무엇입니까? OI가있는 본격적인 테이프를 얻고 싶습니다.

Открытый Интерес на истории
Открытый Интерес на истории
  • 2016.12.30
  • www.mql5.com
Здравствуйте, уважаемая администрация...
 
이벤트 로그에 기록하는 작은 Expert Advisor:
1. 새로운 티크
2. 피드의 새로운 거래
3. OI 변경(정확도 1ms)
이는 OI 변경이 틱 없이 피드에 대한 거래 없이 자체적으로 발생함을 보여줍니다.
 long bool_event_time_last = 0 ;

int OnInit () {
   EventSetMillisecondTimer ( 1 );
   MarketBookAdd ( _Symbol );
   
   MqlTick tick[];
   CopyTicks ( _Symbol ,tick, COPY_TICKS_ALL , 0 , 1 );
   bool_event_time_last = tick[ 0 ].time_msc;

   return ( INIT_SUCCEEDED );
}

void OnDeinit ( const int reason) {
   EventKillTimer ();
}

void OnTick () {
   Print ( "1. tick" );
}

void OnTimer () {
   static double open_last = SymbolInfoDouble ( Symbol (), SYMBOL_SESSION_INTEREST );
   double open_current = SymbolInfoDouble ( Symbol (), SYMBOL_SESSION_INTEREST );
   if ( NormalizeDouble (open_current, 0 ) != NormalizeDouble (open_last, 0 )) {
      open_last = open_current;
       Print ( "3. oi change" );
   }
}

void OnBookEvent ( const string & symbol) {
   MqlTick tick[];
   int ticks = CopyTicks ( _Symbol ,tick, COPY_TICKS_ALL , 0 , 100 );
   if (ticks< 20 ) return ;
   for ( int i=ticks- 1 ;i>= 0 ;i--) {
       if (tick[i].time_msc <= bool_event_time_last) break ;
       if (( int )tick[ 0 ].flags< 32 ) continue ;
       Print ( "2. book deal" );
   }
   bool_event_time_last = tick[ticks- 1 ].time_msc;
}
파일:
 
Alena Lysenkova :
이벤트 로그에 기록하는 작은 Expert Advisor:
1. 새로운 티크
2. 피드의 새로운 거래
3. OI 변경(정확도 1ms)
이는 OI 변경이 틱 없이 피드에 대한 거래 없이 자체적으로 발생함을 보여줍니다.

코드를 직접 작성하셨습니까?

 
Alena Lysenkova :

터미널의 미결제약정이 변경되는 이유는 다음과 같습니다.
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
테이프에 상대적인 삶을 살고 있습니까?
무효 OnBookEvent(const 문자열 및 기호)

그렇게 설계되었습니다.

동기화가 성공할 가능성이 낮고 정보가 충분하지 않습니다.

 
Alena Lysenkova :

터미널의 미결제약정이 변경되는 이유는 다음과 같습니다.
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
테이프에 상대적인 삶을 살고 있습니까?
무효 OnBookEvent(const 문자열 및 기호)

내가 파생상품 시장을 이해하는 한, 테이프의 거래는 OI의 변경으로 이어지지 않을 수 있습니다. 그러나 OI는 거래 없이 왜 스스로 변경됩니까?
이것은 이미 본 적이 있습니다:
https://www.mql5.com/ru/forum/165157/page2#comment_3989978

OI는 터미널에서 얼마나 자주 업데이트되며 무엇에 의존합니까?
OI 변경 사항을 피드의 거래와 동기화하는 방법은 무엇입니까? OI가있는 본격적인 테이프를 얻고 싶습니다.

전체 주문 기록을 원하시면 Plaza를 통해 연결하십시오. MT5는 교환 흐름에 대해 다시 실행되지 않을 것입니다.

또 다른 질문은 이 전체 정보가 필요한지 여부입니다.

 

@Andrey Khatimlianskii @Dmitriy Skub

아마도 터미널에는 동기화가 없지만 코드가

제시, 뭔가에 대해 전혀 이야기할 수 있습니까?

Andrey Khatimlianskii
Andrey Khatimlianskii
  • www.mql5.com
Профиль трейдера
 
prostotrader :

@Andrey Khatimlianskii @Dmitriy Skub

아마도 터미널에는 동기화가 없지만 코드가

제시, 뭔가에 대해 전혀 이야기할 수 있습니까?

Michael, 나는 코드를 보지 않았다))
 
prostotrader :

@Andrey Khatimlianskii @Dmitriy Skub

아마도 터미널에는 동기화가 없지만 코드가

제시, 뭔가에 대해 전혀 이야기할 수 있습니까?

코드에서 구체적으로 무엇을 좋아하지 않습니까?

 
Alena Lysenkova :

코드에서 구체적으로 무엇을 좋아하지 않습니까?

예, 모든 것부터

 CopyTicks ( _Symbol ,tick, COPY_TICKS_ALL , 0 , 1 );

타이머가 전혀 필요하지 않습니다.

그야말로 '명작'이다.

 if (ticks< 20 ) return ;

등...

 
prostotrader :

예, 모든 것부터

타이머가 전혀 필요하지 않습니다.

그야말로 '명작'이다.

등...

문제의 본질을 보여주기 위해 몇 분 안에 무릎에 조립된 코드에 도달하는 것은 매우 전문적입니다. 나는 그것을 출판할 생각이 없었다.

거기에 타이머가 필요합니다. 주제를주의 깊게 읽으십시오.

 
Alena Lysenkova :

문제의 본질을 보여주기 위해 몇 분 안에 무릎에 조립된 코드에 도달하는 것은 매우 전문적입니다. 나는 그것을 출판할 생각이 없었다.

거기에 타이머가 필요합니다. 주제를주의 깊게 읽으십시오.

타이머는 필요하지 않습니다.

OnBookEvent는 트랜잭션이 발생한 경우에만 발생하는 것이 아닙니다.

이 기능에서 문자를 필터링하는 것은 필수입니다.

 void OnBookEvent ( const string & symbol)
{
   if (symbol == Symbol ())
  {
    
.. 
  }
}

시장 개요에 있는 모든 것이 이 기능에 "떨어지기" 때문에

맨 무릎을 게시하는 이유는 무엇입니까?

추가됨

"매우 전문적"인 작업을 수행하십시오.

 100.00 USD
Нужен софт для отслеживания ленты сделок по каждому тику с указанием изменения ОИ (аналог Time&Sales в платформе Volfix)
그리고 그것을 하는 방법을 모릅니다.
사유: