Dienstleistungen. Sind sie schon einsatzbereit? - Seite 2

 
Die Dienste müssen in der Lage sein, mit jedem Programm auf jeder Grafik zu kommunizieren. Gemeinsame Erinnerung an die Programme.
 
Реter Konow:
Die Dienste müssen in der Lage sein, mit jedem Programm auf jeder Grafik zu kommunizieren. Gemeinsamer Programmspeicher.
Es gibt Ressourcen, über die jetzt Daten ausgetauscht werden können
 
Renat Fatkhullin:
Es gibt Ressourcen, über die Sie jetzt Daten austauschen können

Der Austausch von Daten des Typs String wird dringend benötigt. Ein universeller Typ. Für jeden Zweck.

Ein gemeinsames String-Array für alle Programme - ideale Lösung für den schnellen Austausch beliebiger Informationen, ohne OnChartEvent() oder Festplattenbelastung. Alles asynchron. In einem Programm geschrieben, in einem anderen gelesen.

 

Die Austauschmechanismen sind längst überfällig.

Es gibt globale Variablen für den Austausch von String-Werten.

 
Vladimir Pastushak:

Die Projekte sind nicht sehr benutzerfreundlich, es gibt keine Möglichkeit, alles in Ordnern zu sortieren. Und es gibt keine Möglichkeit, Code für zwei Plattformen gleichzeitig zu entwickeln.

Vielleicht verstehe ich etwas nicht.

Ich entwickle zum Beispiel alles über Projekte. Es ist sogar noch bequemer, Code zwischen MQL4/5 auszutauschen. Es versteht sich von selbst, dass ich versuche, alles für beide Plattformen gleichzeitig zu entwickeln. Übrigens kann ich problemlos für 4 in MQL5 kompilieren, auch wenn es manchmal einen Fehler verursacht. Es ist also besser, sie trotzdem zu kompilieren.

P.S. Dieses Projekt ist offen, Sie können sich anschließen und einen Blick darauf werfen.
 
Renat Fatkhullin:

Wir werden über Austauschmechanismen nachdenken, es ist höchste Zeit.

Es gibt globale Variablen zum Austausch von Zeichenkettenwerten.

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

Es gibt zwar eine Lösung von@fxsaber, aber sie ist nicht offensichtlich und Sie werden sie nicht sofort finden.

 
Mikhail Dovbakh:

Es gibt zwar eine Lösung von@fxsaber, aber sie ist nicht offensichtlich und nicht sofort zu finden.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Bibliotheken: TradeTransactions

fxsaber, 2018.12.17 23:48

Sie können alles über Ressourcen handeln.

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

#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:

In den Diensten wird es weder OnTimer noch OnTick geben. Nur OnStart.

Dabei handelt es sich um eine spezielle Art von Programm für im Hintergrund ablaufende Prozesse (Dateneinspeisungen, Analysen, externe Links usw.) und nicht um einen Ersatz für Experten.


Die Beta 1963 ist erschienen und Sie können über das Menü aktualisieren.

Sie sind so etwas wie ein Meister Yoda hier, )) Ich würde gerne aus erster Hand wissen, was ist OnStart und was ist der Unterschied zwischen diesem Tier und dem gleichen OnTick ?

 
Renat Fatkhullin:

Es gibt keinen OnTimer oder OnTick in Services. Nur OnStart.

Dabei handelt es sich um eine spezielle Software für Hintergrundschleifen (Dateneinspeisungen, Analysen, externe Links usw.) und nicht um einen Ersatz für Experten.


Beta 1963 ist erschienen, Sie können über das Menü aktualisieren.

Und was ist der Unterschied zwischen Diensten und Skripten, abgesehen davon, dass man für sie keinen eigenen Zeitplan braucht?

 
Renat Fatkhullin:

In den Diensten gibt es keinen OnTimer oder OnTick. Nur OnStart.

Dies ist eine spezielle Art von Programmen für Hintergrundschleifenprozesse(Dateneinspeisungen, Analysen, externe Links usw.)

Das Fehlen eines Ereignismodells bei der Arbeit mit Dateneinspeisungen wirkt wie eine Art Krücke.

Als Beispiel für eine solche Krücke können wir die derzeitige Implementierung von Formelzeichen betrachten, die nicht auf einem Ereignismodell, sondern auf einem Zeitgeber (Schleife) basieren. Daher kommt es zum Überspringen von Zecken.


Zuvor wurde über Multisymbol OnTick in Services berichtet. Warum haben sie gute Ideen wie diese aufgegeben und gestrichen?

Grund der Beschwerde: