Hizmetler. Zaten çalışıyor? - sayfa 24

 
Aliaksandr Hryshyn :
1. Haberin arka planda yüklenmesi
2. Birkaç akışta (hizmetin kopyalarını çalıştıran) ağır hesaplamalar, böylece ticareti etkilemezler.
3. Expert Advisor, sipariş defterinden bilgi toplar ve hizmet bunu düzenli aralıklarla bir zip arşivinde paketler.
4. Birçok danışmanın çalışması sırasında tüm ticaret bilgilerinin toplanması, işlenmesi ve veri tabanına kaydedilmesi veya gönderilmesi.
5. ...
Seçenekleriniz neler?
1. Bir dosyaya yüklerseniz, evet.

2. Yapabilirsin.

3. Emin değilim. Hizmet, Pazar Derinliği olaylarını kabul ediyor mu? Değilse, danışmandan aktarılmaları gerekir ve anlam kaybolur.

4. Her Uzman Danışman raporlarını bir dosyaya yazarsa ve hizmet bunu okuyup analiz ederse, evet.

Hala seçeneklerimi düşünüyorum...
 
Roman :

EA/script, açık bir grafik gerektirir.
Tablo sayısı terminal tarafından sınırlandırılmıştır.
Grafiğin her çizimi/güncellenmesi bir sistem mesaj kuyruğu ve fazladan bir kaynak yüküdür.

Kabul ediyorum.
 
fxsaber :

2-3, OBJ_CHART üzerindeki bir komut dosyası aracılığıyla uygulanabilir.

Hizmet, terminalin başlangıcında başlatılır, komut dosyası bunu yapamaz.
 
Aliaksandr Hryshyn :
Hizmet, terminalin başlangıcında başlatılır, komut dosyası bunu yapamaz.

Bu iki görev için bu gerekli değildir.

 
Aliaksandr Hryshyn :
1. Haberin arka planda yüklenmesi
2. Birkaç akışta (hizmetin kopyalarını çalıştıran) ağır hesaplamalar, böylece ticareti etkilemezler.
3. Expert Advisor, sipariş defterinden bilgi toplar ve hizmet bunu düzenli aralıklarla bir zip arşivinde paketler.
4. Birçok danışmanın çalışması sırasında tüm ticaret bilgilerinin toplanması, işlenmesi ve veri tabanına kaydedilmesi veya gönderilmesi.
5. ...
Seçenekleriniz neler?

tüm bu görevler için, bir grup danışman ve bir servis arasındaki veri alışverişi sorununu çözmeniz gerekecek.

hizmet için sunabileceğim maksimum değer, başka bir komisyoncunun fiyatlarının gideceği soketi dinlemek ve tahkime girmek için özel çizelgeye bir onay işareti iletmek ve özel çizelgede TS üzerinde çalışan bir danışman.

 
Igor Makanu :

tüm bu görevler için, bir grup danışman ve bir servis arasındaki veri alışverişi sorununu çözmeniz gerekecek.

Artık, kaynaklar yerine veritabanının, uygulamalar arasında veri alışverişi için paylaşılan bellek sağlaması ve bu da uygulama ve etkileşimi büyük ölçüde basitleştirmesi mümkündür.
 
Sergey Lebedev :
Hizmetlerin ana sorunu hala Terminal Sapında değil - bunların hepsi marjinal kullanım durumlarıdır.

Otomatik bir yeniden bağlantı, bir Tutamaç olmadan uygulanamaz. Gerçek ticaret için bir şey çok gereklidir.

 
Komut dosyalarında/hizmetlerde çok para birimli OnTick/OnBookEvent için uygulama seçeneği.
 //#property service

#include <NewData.mqh> // https://c.mql5.com/3/354/NewData.mqh

// Script/Service main function.
void OnStart ()
{
   const string Symbols[] = { "EURUSD" , "GBPUSD" };
  
  NEWDATA<TICK> Ticks(Symbols);
  NEWDATA<BOOKS> Books(Symbols);

   while (! IsStopped ())
  {
    Ticks.Refresh();
    Books.Refresh();
        
     Sleep ( 50 );
  }
}

void OnTick ( const string &Symb )
{
   MqlTick Tick;
  
   if ( SymbolInfoTick (Symb, Tick))  
     Print (Symb + " - new tick: " + ( string )Tick.time);
}

void OnBookEvent ( const string &Symb )
{
   MqlBookInfo Books[];

   if ( MarketBookGet (Symb, Books))  
     Print (Symb + " - new book: " + ( string ) ArraySize (Books) + " bands." );
}


Sonuç.

 2021.04 . 26 11 : 18 : 38.527 EURUSD - new tick: 2021.04 . 26 11 : 18 : 39
2021.04 . 26 11 : 18 : 38.527 EURUSD - new book: 14 bands.
2021.04 . 26 11 : 18 : 38.904 GBPUSD - new tick: 2021.04 . 26 11 : 18 : 39
2021.04 . 26 11 : 18 : 38.904 GBPUSD - new book: 16 bands.
2021.04 . 26 11 : 18 : 38.965 GBPUSD - new tick: 2021.04 . 26 11 : 18 : 39
2021.04 . 26 11 : 18 : 38.965 GBPUSD - new book: 16 bands.
2021.04 . 26 11 : 18 : 39.029 EURUSD - new tick: 2021.04 . 26 11 : 18 : 39
2021.04 . 26 11 : 18 : 39.029 EURUSD - new book: 14 bands.
2021.04 . 26 11 : 18 : 39.091 GBPUSD - new tick: 2021.04 . 26 11 : 18 : 39
2021.04 . 26 11 : 18 : 39.091 GBPUSD - new book: 15 bands.
2021.04 . 26 11 : 18 : 39.278 GBPUSD - new tick: 2021.04 . 26 11 : 18 : 40
2021.04 . 26 11 : 18 : 39.278 GBPUSD - new book: 16 bands.
2021.04 . 26 11 : 18 : 39.465 GBPUSD - new tick: 2021.04 . 26 11 : 18 : 40
2021.04 . 26 11 : 18 : 39.465 GBPUSD - new book: 16 bands.
2021.04 . 26 11 : 18 : 39.714 GBPUSD - new tick: 2021.04 . 26 11 : 18 : 40
2021.04 . 26 11 : 18 : 39.715 GBPUSD - new book: 16 bands.
2021.04 . 26 11 : 18 : 40.589 GBPUSD - new tick: 2021.04 . 26 11 : 18 : 41
2021.04 . 26 11 : 18 : 40.589 GBPUSD - new book: 16 bands.
Dosyalar:
NewData.mqh  2 kb
 
Merhaba. Hizmeti, tüm çizelgelerdeki tüm danışmanlardan evrensel bir mesaj göndericisi (posta, ekran görüntülü telgraflar) oluşturmak için kullanmak istedim. Fikir, EA'ların grafik, mesaj metni ve diğer parametrelerle birlikte kullanıcı olaylarını göndermesi ve hizmetin olayları dinlemesi, belirtilen çizelgelerin ekran görüntülerini alması ve gerekli mesajları göndermesiydi. Ancak, servislerin çizelgelerden olay alamadığını okudum. Çıkış yolunun terminalin global değişkenlerini kullanmak olduğu ortaya çıktı mı? Diyelim ki, grafiklerin öğeler ekleyeceği küresel bir yapı dizisi ve işlenirken (mesaj gönderirken) hizmet onları siler. Böyle bir fikir hakkında ne düşünüyorsunuz? Belki başka düşünceler vardır? MQL'de yeniyim, şimdi yazmaktan çok okuyorum. Bu fikir, EA dizisini mesaj gönderme çalışmasından kurtarmak için ortaya çıktı. Ayrıca göstergelerle mesaj göndermek için kullanılabilir.
 
Реter Konow # :
Tüm olayları kaynaklar aracılığıyla Expert Advisor'dan servise gönderebilirsiniz. Ve şimdi, ayrıca veritabanı aracılığıyla.
Kaynaklar aracılığıyla - bir dosyaya yazmak ve hizmette onu bir kaynak değişkeni olarak bağlamak için bir danışman mı?