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

 
Hizmetlerin herhangi bir çizelgedeki herhangi bir programla etkileşime girebilmesi gerekir. Paylaşılan program belleği.
 
Реter Konow :
Hizmetlerin herhangi bir çizelgedeki herhangi bir programla etkileşime girebilmesi gerekir. Paylaşılan program belleği.
Artık veri alışverişini düzenleyebileceğiniz kaynaklar var
 
Renat Fatkhullin :
Artık veri alışverişini düzenleyebileceğiniz kaynaklar var

String türünde veri alışverişi çok gereklidir. Genel tip. Herhangi bir amaç için.

Tüm programlar için, OnChartEvent() veya disk yükü olmadan herhangi bir bilgiyi hızlı bir şekilde değiş tokuş etmek için ideal olan ortak bir dize dizisi. Her şey asenkron. Bir programda kaydedildi, başka bir programda okundu.

 

Değişim mekanizmalarını düşünelim, tam zamanı.

Dize değerlerini değiştirmek için global değişkenler vardır.

 
Vladimir Pastushak :

Projeler son derece elverişsizdir, her şeyi klasörlere ayırmanın bir yolu yoktur. Ve aynı anda iki platform için kod geliştirmenin bir yolu yok.

Belki benim anlamadığım bir şey vardır..

Örneğin her şeyi projelerle geliştiriyorum. MQL4/5 arasında bile değişim yapmak daha uygundur. Ve tabii şimdi, başlangıçta, her iki platformda da aynı anda her şeyi yazmaya çalışıyorum. Ve bu arada, MQL5'te bazen bir aksaklık olsa da 4-ku altında kolayca derleyebilirsiniz. Yani derleme ile yine de yaymak daha iyidir.

PS Bu proje açık, görmek için bağlanabilirsiniz.
 
Renat Fatkhullin :

Değişim mekanizmalarını düşünelim, tam zamanı.

Dize değerlerini değiştirmek için global değişkenler vardır.

 datetime    GlobalVariableSet ( 
   string   name,       // имя 
   double   value       // устанавлимое значение 
   );

@fxsaber'dan bir çözüm olsa da, belli değil ve hemen bulamazsınız.

 
Mikhail Dovbakh :

@fxsaber'dan bir çözüm olsa da, belli değil ve hemen bulamazsınız.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Kitaplıklar: Ticaret İşlemleri

fxsaber , 2018.12.17 23:48

Kaynaklar aracılığıyla her şeyi paylaşabilirsiniz.

 // Пример обмена любыми данными (включая строковые массивы).

#include <fxsaber\TradeTransactions\ResourceData.mqh> // https://www.mql5.com/ru/code/22166

#define PRINT(A) Print ( #A + " = " + ( string )(A));

void OnStart ()
{    
   // Произвольные данные для примера
   string Str[] = { "123" , "Hello World!" };
   double Num = 5 ;
   MqlTick Tick = { 0 };
  Tick.bid = 1.23456 ;

   const RESOURCEDATA< uint > Resource; // Ресурс для обмена данными
  CONTAINER< uint > Container;         // Создаем контейнер - все будет храниться в массиве простого типа (в примере выбран uint)
  
   // Заполняем контейнер разными данными
  Container[ 0 ] = Str;
  Container[ 1 ] = Num;
  Container[ 2 ] = Tick;
    
   // Распечатаем типы хранимых в контейнере данных
   for ( int i = 0 ; i < Container.GetAmount(); i++)
    PRINT(Container[i].GetType())

  Resource = Container.Data;  // Отправили данные на обмен
  
  CONTAINER< uint > Container2; // Сюда будем получать данные
  
  Resource.Get(Container2.Data); // Получили данные
      
   // Получим данные в исходном виде
   string Str2[];
  Container[ 0 ].Get(Str2);                 // Получили массив
   ArrayPrint (Str2);

  PRINT(Container[ 1 ].Get< double >())       // Получили число
  PRINT(Container[ 2 ].Get< MqlTick >().bid) // Получили структуру   
}

 
Renat Fatkhullin :

Ne OnTimer ne de OnTick hizmetlerde olmayacak. Yalnızca başlangıçta.

Bu, arka plan döngü süreçleri (veri beslemeleri, analitikler, dış ilişkiler vb.) için özel bir program türüdür ve uzmanların yerini almaz.


Beta 1963 çıktı, menüden güncelleme yapabilirsiniz.

Burada usta Yoda gibisiniz,)) OnStart'ın ne olduğunu ve bu canavar ile aynı OnTick arasındaki farkın ne olduğunu ilk elden bilmek istiyorum.

 
Renat Fatkhullin :

Ne OnTimer ne de OnTick hizmetlerde olmayacak. Yalnızca başlangıçta.

Bu, arka plan döngü süreçleri (veri beslemeleri, analitikler, dış ilişkiler vb.) için özel bir program türüdür ve uzmanların yerini almaz.


Beta 1963 çıktı, menüden güncelleme yapabilirsiniz.

Hizmetler ve Komut Dosyaları arasındaki fark, ayrı bir çizelgeye ihtiyaç duymamaları dışında nedir?

 
Renat Fatkhullin :

Ne OnTimer ne de OnTick hizmetlerde olmayacak. Yalnızca başlangıçta.

Bu, arka plan döngü süreçleri ( veri beslemeleri , analizler, dış ilişkiler vb.)

Veri beslemeleriyle çalışırken bir olay modelinin olmaması bir koltuk değneği gibi görünüyor.

Böyle bir koltuk değneği örneği olarak, formül sembollerinin mevcut uygulamasını ele alabiliriz - bunlar bir olay modeline değil, bir zamanlayıcıya (döngüye) dayanır. Bu nedenle atlama keneleri.


Daha önce Hizmetlerde çok karakterli OnTick hakkında söylenmişti. Neden reddettiler ve iyi fikirleri kestiler?