Gecikmeli OI (Açık Faiz)

 

Terminaldeki açık ilgide neden bir değişiklik var:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
hayatını kasete göre mi yaşıyor?
geçersiz OnBookEvent(const dizesi ve sembolü)

Türev piyasasını anladığım kadarıyla, banttaki işlemler OI'de bir değişikliğe yol açmayabilir. Ancak OI neden takas olmadan kendi kendine değişiyor?
Bu daha önce görüldü:
https://www.mql5.com/ru/forum/165157/page2#comment_3989978

OI terminalde ne sıklıkla güncellenir, neye bağlıdır?
OI değişiklikleri, feed'deki anlaşmalarla nasıl senkronize edilir? OI ile tam teşekküllü bir kaset almak istiyorum.

Открытый Интерес на истории
Открытый Интерес на истории
  • 2016.12.30
  • www.mql5.com
Здравствуйте, уважаемая администрация...
 
olay günlüğüne not alan küçük bir Uzman Danışman:
1. yeni tik
2. feed'de yeni anlaşma
3. OI değişikliği (1 ms'ye kadar doğru)
OI değişikliklerinin, akışta keneler ve anlaşmalar olmadan kendi kendine gerçekleştiğini gösterir.
 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;
}
Dosyalar:
 
Alena Lysenkova :
olay günlüğüne not alan küçük bir Uzman Danışman:
1. yeni tik
2. feed'de yeni anlaşma
3. OI değişikliği (1 ms'ye kadar doğru)
OI değişikliklerinin, akışta keneler ve anlaşmalar olmadan kendi kendine gerçekleştiğini gösterir.

Kodu kendin mi yazdın?

 
Alena Lysenkova :

Terminaldeki açık ilgide neden bir değişiklik var:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
hayatını kasete göre mi yaşıyor?
geçersiz OnBookEvent(const dizesi ve sembolü)

Öyle tasarlanmış.

Senkronizasyonun başarılı olması pek olası değil, yeterli bilgi yok.

 
Alena Lysenkova :

Terminaldeki açık ilgide neden bir değişiklik var:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
hayatını kasete göre mi yaşıyor?
geçersiz OnBookEvent(const dizesi ve sembolü)

Türev piyasasını anladığım kadarıyla, banttaki işlemler OI'de bir değişikliğe yol açmayabilir. Ancak OI neden takas olmadan kendi kendine değişiyor?
Bu daha önce de görüldü:
https://www.mql5.com/ru/forum/165157/page2#comment_3989978

OI terminalde ne sıklıkla güncellenir, neye bağlıdır?
OI değişiklikleri, feed'deki anlaşmalarla nasıl senkronize edilir? OI ile tam teşekküllü bir kaset almak istiyorum.

Tam bir sipariş günlüğü istiyorsanız, Plaza üzerinden bağlanın. MT5'in değişim akışları için yeniden yapılması olası değildir.

Başka bir soru, bu tam bilgiye ihtiyacınız olup olmadığıdır.

 

@Andrey Khatimlianskii @Dmitriy Skub

Belki de terminalde senkronizasyon yoktur, ancak aşağıdaki kodla

sunulmuş, bir şey hakkında konuşmak mümkün mü?

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

@Andrey Khatimlianskii @Dmitriy Skub

Belki de terminalde senkronizasyon yoktur, ancak aşağıdaki kodla

sunulmuş, bir şey hakkında konuşmak mümkün mü?

Michael, koda bakmadım))
 
prostotrader :

@Andrey Khatimlianskii @Dmitriy Skub

Belki de terminalde senkronizasyon yoktur, ancak aşağıdaki kodla

sunulmuş, bir şey hakkında konuşmak mümkün mü?

kodda özellikle neyi sevmiyorsunuz?

 
Alena Lysenkova :

kodda özellikle neyi sevmiyorsunuz?

Evet, her şeyden

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

Hiç bir zamanlayıcıya ihtiyacınız yok.

Aslında bir "başyapıt"

 if (ticks< 20 ) return ;

vb...

 
prostotrader :

Evet, her şeyden

Hiç bir zamanlayıcıya ihtiyacınız yok.

Aslında bir "başyapıt"

vb...

Konunun özünü göstermek için birkaç dakika içinde dizde monte edilen koda ulaşmak çok profesyonel. Onu yayınlamak niyetinde değildim.

Zamanlayıcı orada gerekli, konuyu dikkatlice okuyun

 
Alena Lysenkova :

Konunun özünü göstermek için birkaç dakika içinde dizde monte edilen koda ulaşmak çok profesyonel. Onu yayınlamak niyetinde değildim.

Zamanlayıcı orada gerekli, konuyu dikkatlice okuyun

Zamanlayıcı gerekli DEĞİLDİR.

OnBookEvent yalnızca bir işlem gerçekleştiğinde tetiklenmez.

ve bu fonksiyondaki karakteri filtrelemek ZORUNLUDUR

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

Piyasaya genel bakıştaki her şey bu işleve "düştüğünden"

Neden çıplak dizler?

Katma

"Çok profesyonel" işi kabul et

 100.00 USD
Нужен софт для отслеживания ленты сделок по каждому тику с указанием изменения ОИ (аналог Time&Sales в платформе Volfix)
Ve nasıl yapılacağını bilmiyorum.