MT5 und Geschwindigkeit in Aktion - Seite 76

 
Renat Fatkhullin:

Studieren Sie das Fach (mindestens 10 Jahre lang) und mischen Sie sich nicht in diesen Thread ein, bitte.

Wir diskutieren hier über Themen mit einer anderen Ausbildung und einer anderen Klasse.

Liebe Entwicklerkollegen, die sich ihr halbes Leben lang mit dem hier diskutierten Thema beschäftigt haben.

Bitte beantworten Sie eine einfache Benutzerfrage.

Wie würde ein Terminal schneller arbeiten und weniger Ressourcen verbrauchen, wenn es 99 Expert Advisors hat?

1. Auf demselben Symbol

-Verwendung von OnTick und Abruf der aktuellen Preise über SymbolInfoTick

-Verwendung von OnBookEvent und Abruf der aktuellen Preise über MarketBookGet

2. das Gleiche, aber auf verschiedenen Symbolen

Ich danke Ihnen!
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Dmi3:

Liebe Entwicklerkollegen, die sich ihr halbes Leben lang mit dem hier diskutierten Thema beschäftigt haben.

Bitte beantworten Sie eine einfache Benutzerfrage.

Wie würde das Terminal schneller arbeiten und weniger Ressourcen verbrauchen, wenn es 99 Expert Advisors enthielte?

1. Auf demselben Symbol

-Verwendung von OnTick und Abruf der aktuellen Preise über SymbolInfoTick

-Verwendung von OnBookEvent und Abruf der aktuellen Preise über MarketBookGet

2. das Gleiche, aber auf verschiedenen Symbolen.

Ich danke Ihnen!

Wie kommen Sie darauf, dass das eine einfache Frage ist?

Lieber Kollege, wenn Sie Entwickler sind, müssen Sie alles selbst überprüfen. Oder Sie können eine freiberufliche Studie mit einer vollständigen und detaillierten Beschreibung aller Rohdaten bestellen

 
Dmi3:

Wie würde das Terminal schneller arbeiten und weniger Ressourcen verbrauchen, wenn es 99 EAs enthielte?

2. das Gleiche, aber auf verschiedenen Symbolen

99 Becher, die ausgestrahlt werden, sind keine geringe Menge.

 
fxsaber:

99 Brillen zu senden ist kein Zuckerschlecken.

In der Tat haben wir etwa ein Dutzend lebendige auf Forts, der Rest ist illiquide.
 
Dmi3:
In der Tat haben wir etwa ein Dutzend lebendige auf Forts, der Rest ist illiquide.

Führen Sie diesen Berater in verschiedenen Konfigurationen aus und sehen Sie sich die Ergebnisse an.

 
fxsaber:

Führen Sie diesen EA in verschiedenen Konfigurationen aus und sehen Sie sich die Ergebnisse an.

Schauen wir uns das Ergebnis an (Bild 2650, Open, Real)

2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 291655 mcs.
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [0]  76595  76598    false        696
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [1]  76596  76598     true     150488
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [2]  76596  76598    false        323
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [3]  76596  76598     true     291655
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 25571 mcs.
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [0]  76595  76598    false        663
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [1]  76595  76597     true      97445
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [2]  76595  76597    false        334
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [3]  76595  76597     true      25571
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 209232 mcs.
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [0]  76593  76596    false        659
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [1]  76594  76596     true      33395
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [2]  76594  76596    false        343
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [3]  76594  76596     true     209232
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 31365 mcs.
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [0]  76594  76597    false        342
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [1]  76594  76596     true      66980
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [2]  76594  76596    false        662
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [3]  76594  76596     true      31365
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 340874 mcs.
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [0]  76591  76593     true       6635
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [1]  76591  76593     true          5
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [2]  76591  76593    false        654
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [3]  76591  76593     true     340874
 
prostotrader:

Siehe das Ergebnis (Bild 2650, Open, Real)

Dies ist ein falscher Vergleich (der Ausdruck zeigt es), da der Code anders lauten sollte, wenn Flossen vorhanden sind.

 
fxsaber:

Dies ist ein falscher Vergleich (Sie können es auf dem Ausdruck sehen), da der Code anders sein sollte, wenn Flossen vorhanden sind.

Dies ist Ihr Programm (ich habe nichts geändert) :)

Hinzugefügt

// Возвращает bid/ask-цены из стакана.
bool GetCurrentPrices( double &bid, double &ask )
{
  MqlBookInfo Bands[];

  const bool Res = MarketBookGet(_Symbol, Bands);

  if (Res)
    for (int i = ArraySize(Bands) - 2; i >= 0; i--)
      if (Bands[i].type == BOOK_TYPE_SELL)
      {
        ask = Bands[i].price;
        bid = Bands[i + 1].price;
        
        break;
      }
  
  return(Res);
}

Falsche Funktion, denn

1. das Glas kann leer sein

2. Im Becher befindet sich kein Verkaufsangebot

3. der Becher enthält keine Kaufquoten

 
prostotrader:

Eine falsche Funktion, denn

Warum machen Sie sich lächerlich? Es gibt immer noch keine Fehlerbehandlung oder ähnliches. Der Zweck dieses Codes ist nicht, im EA zu sein, sondern zu zeigen, dass es ein Problem gibt.

prostotrader:

Es ist Ihr Programm (ich habe nichts geändert) :).

Daher kenne ich die Logik dieses Programms so gut, dass ich die Fehlerhaftigkeit seiner Ergebnisse auf FORTS bestätigen kann.

 
fxsaber:

Warum machen Sie sich lächerlich? Es gibt dort noch keine Fehlerbehandlung oder ähnliches. Der Zweck dieses Codes ist nicht, in einem kämpfenden Expert Advisor zu sein, sondern das Vorhandensein des Problems zu zeigen.

Deshalb kenne ich die Logik dieses Programms so gut, dass ich sagen kann, dass seine Ergebnisse bei FORTS falsch sind.

OK