Fehler, Irrtümer, Fragen - Seite 1279

 

Wenn die Tick-Historie mit CopyTicks() abgerufen wird, werden die Ticks der vorherigen Arbeitssitzung des Terminals zurückgegeben, was der Beschreibung der Funktion widerspricht:

MQL5: Добавлена функция работы с тиковой историей CopyTicks. Функция позволяет получить массив тиков, накопленных терминалом за текущую рабочую сессию. Глубина получаемых тиков ограничена последними 2 000.

Frage an die Entwickler. Wird das Problem behoben werden? Und ist es möglich, das Terminal dazu zu bringen, die letzten N Ticks vom MQ-Server (oder Broker) zu übertragen, wenn es gestartet wird, so dass es nicht auf die akkumulierte Historie warten muss? Es ist einfach unwahrscheinlich, dass jemand eine Zeckenanamnese für einige unbekannte N-Zecken in der Vergangenheit benötigt. Servicedesk#1162481

 

Ich habe das Kontrollkästchen "neue Screenshots" in meinen Privatsphäre-Einstellungen entfernt, d. h. es sollten keine Beiträge in meinem Feed erscheinen, wenn sie veröffentlicht werden.

Mein Feed enthält diese Meldung tatsächlich nicht. Die Nachricht über die Veröffentlichung neuer Screenshots ist jedoch in den Newsfeeds meiner Freunde zu finden.

ZS: wenn das so sein sollte, dann stellt sich heraus, dass diese Einstellung überhaupt nichts mit Privatsphäre zu tun hat )

 
sanyooooook:

Ich habe das Kontrollkästchen "neue Screenshots" in meinen Privatsphäre-Einstellungen entfernt, d. h. es sollten keine Beiträge in meinem Feed erscheinen, wenn sie veröffentlicht werden.

Mein Feed enthält diese Meldung tatsächlich nicht. Die Nachricht über die Veröffentlichung neuer Screenshots ist jedoch in den Newsfeeds meiner Freunde zu finden.

ZS: wenn das so sein sollte, dann stellt sich heraus, dass diese Einstellung überhaupt nichts mit Privatsphäre zu tun hat )

Vielen Dank für die Nachricht,

Beiträge über Ihre Screenshots sollten nicht im Feed Ihrer Freunde erscheinen. Der Fehler wird in Kürze behoben sein.

 
Ich habe vier MT5-Terminals geöffnet und sie haben mit der Aktualisierung auf b.1079 begonnen. Das Update wurde normal geladen, der Neustart verlief normal. Nur die Hälfte von ihnen schaffte es, aus dem Neustart herauszukommen, und das war ein Versehen.
Der Grund dafür war genau diese Aktualisierung. Nachfolgend finden Sie eine grafische Darstellung des Prozesses der Aktualisierung eines MT5-Terminals mit einem Handelssystem, Auslagerungsdatei vor und nach der Aktualisierung.

Beim Upgrade auf b.1085 blieb alles beim Alten.

Was mussten Sie mit dem Terminal tun, damit ein Terminal die Auslagerungsdatei für 2 GB fouled?

Es gibt keine "schweren" Indikatoren in dem System. Der "schwerste" benötigt nur 7 µsec zum Laden, zwei, - 5, einer, - 4, die anderen, - 1 µsec oder weniger.

Zum Vergleich: Der Indikator JMA von CodeBase benötigt auf meinem Computer 110 µsec, wird aber im System nicht verwendet.


So hat der aktualisierte MT5 mein Handelssystem sofort begraben, - unmöglich, auch nur in einem Terminal zu arbeiten, - und ich habe es entsprechend begraben.

Wenn MT5 ein Schwimmbad, einen Laden und eine Latrine in der gleichen Flasche hat, war das vorprogrammiert.

Die Monetarisierung des guten MT5 hat schon vor langer Zeit begonnen. Als die Menge des Mülls in den früheren Versionen von MT5 fast 1 GB erreichte, machte ich mir Sorgen und stellte das System gleichzeitig vollständig auf die MT4-Plattform um. Es hat sich herausgestellt, dass es nicht umsonst war.

Das System analysiert gleichzeitig 8 TFs, von denen drei auf dem Chart zu sehen sind. Die führenden Handelssignale des Systems werden auf der Grundlage von instrumentellen Messungen von

Angebot/Nachfrage-Verhältnis, sie sind also objektiv.

Unten - 5 MT4-Terminals sind gleichzeitig geöffnet (für verschiedene Währungspaare) mit dem gleichen Handelssystem und es gibt keine Probleme, wie bisher gesehen.



 
s2101:
Ich habe vier MT5-Terminals geöffnet und sie haben mit der Aktualisierung auf b.1079 begonnen. Das Update wurde normal geladen, der Neustart verlief normal. Nur die Hälfte von ihnen schaffte es, aus dem Neustart herauszukommen, und das war ein Versehen.
Der Grund dafür war genau diese Aktualisierung. Das folgende Diagramm zeigt den Prozess der Aktualisierung eines MT5-Terminals mit einem Handelssystem, Auslagerungsdatei vor und nach der Aktualisierung.

Warum haben Sie den physischen Speicher auf dem Screenshot ausgeblendet, aber die Auslagerungsdatei nicht vergessen?

Außerdem haben Sie bei einer so wichtigen Frage vergessen, einen Screenshot aus dem Abschnitt "Prozesse" beizufügen, auf dem sowohl der tatsächliche Speicherverbrauch der einzelnen Prozesse als auch die Anzahl der laufenden Threads zu sehen ist.

 

Soweit ich verstanden habe, hat MT5 1085 eine Race Condition für das Setzen eines Kommentars (Comment).

Der Punkt ist folgender: Es gibt einen Indikator in einem separaten Fenster mit einem Code:

int OnInit(){
   Comment("AAAAAAAAAAAAAAAAAAAAAAAAA");
}

void OnDeinit(const int reason) {
   Comment("");
}

Wenn wir 2 Instanzen des Indikators auf demselben Chart laufen lassen und die TF wechseln, was sehen wir dann inComment?
Bei 90 % wird es "" sein. (ob verschiedene Warteschlangen in verschiedenen Threads mit unterschiedlicher Priorität zu setzen sindKommentar von unterOnInit undOnDeinit....)

 

Kompilierungsfehler

template<typename T>
string ETS( T t ) { return ( typename( t ) == "int" ? "OK" : ::EnumToString( t ) ); }
enum ENUM {     ENUM__ };
void OnStart()
{
        ENUM i1 = ENUM__;       Print( ETS( i1 )); //нормально
        int  i2 = 0;            Print( ETS( i2 )); //ошибка компиляции
}
Warum ::EnumToString( int ) im zweiten Fall berechnen, wenn der Typ zur Kompilierzeit bekannt ist?
 
ALXIMIKS:

Bei 90 % wird es "" sein.

Was wurde erwartet? Der eine schreibt, der andere löscht.
 
A100:
Was wurde erwartet? Der eine schreibt, der andere löscht.
Sie haben das zweite Schreiben vergessen.

Es gibt zwei Schreibvorgänge und zwei Löschvorgänge. Sie sind höchstwahrscheinlich asynchron.
Das Löschen sollte vor dem Schreiben erfolgen, aber leider ist es nicht der Fall...
 

Der Compiler kann den Fehler nicht erkennen (was er aber tut - zumindest das zweite #endif fehlt), was dazu führt, dass wichtigere Fehler nicht erkannt werden

#property library
#define __MQL5
#ifdef  __MQL5
#ifndef __MQL5
#else
#else
#endif


Grund der Beschwerde: