Fehler, Irrtümer, Fragen - Seite 1882

 
vinnipyx:
Nachmittags. Ich habe einen Fehler im MT5: Er speichert die Einstellungen nicht, obwohl ein Häkchen gesetzt wurde. Jedes Mal, wenn ich das Programm ausführe, werden alle Symbolleisten ausgeblendet, und ich muss sie jedes Mal wieder öffnen, wenn ich das Programm ausführe. Beim nächsten Start erscheinen die Panels kurz, verschwinden dann aber wieder (offenbar nachdem die Verbindung mit dem Broker hergestellt wurde). Wie kann dies behoben werden (Eröffnungsmakler)?


Haben Sie zufälligerweise F11 gedrückt?

Vollbild

Vollbild

Aktivieren/Deaktivieren des Vollbildmodus. Mit dieser Option werden die Symbolleisten und die Statusleiste deaktiviert und alle Dienstfenster geschlossen. Die MetaEditor-Titelleiste, das Hauptmenü, das Codebearbeitungsfenster und die Dateiregisterkarten bleiben auf dem Bildschirm.

 
Vladimir Karputov:


Haben Sie zufälligerweise F11 gedrückt?

Vollbild

Aktivieren/Deaktivieren des Vollbildmodus. Mit dieser Option werden die Symbolleisten und die Statusleiste deaktiviert und alle Dienstfenster geschlossen. Die MetaEditor-Titelleiste, das Hauptmenü, das Codebearbeitungsfenster und die Dateiregisterkarten bleiben auf dem Bildschirm.

Vielen Dank, ich habe seit zwei Wochen die Nase voll von dieser Situation. Ja, ich habe wohl versehentlich f1 gedrückt.
 
fxsaber:

Sie müssen eine Bar/Tick-Historie für mehrere tausend aktuelle Einheiten auf einmal für alle Symbole in Market Watch (mehrere hundert) erhalten. Und aktualisieren Sie sie in Echtzeit.

Ist die MT5-Architektur für solche Screencasts optimiert? Wird der neue Programmtyp in der Lage sein, solche Aufgaben ohne Krücken zu lösen?

Was benötige ich, um alle Caches aus dem kalten Zustand zu holen und sie zu aktualisieren?

Und wie sorgt man dafür, dass ein Tester am Leben bleibt, wenn ein Screener läuft?


Wenn Sie einen Screener wie Finwiz, mit technischen Indikatoren, wollen sie auch beschweren, dass jeder Griff frisst eine Menge Speicher, dass MC Versprechen, mit ihm zu kämpfen. Wenn es also mit einer gewissen Regelmäßigkeit Marktüberprüfungen durchführt, benötigt es viel Speicherplatz und für den ersten Durchlauf viel Zeit.
 
kaus_bonus:

Ich weiß nicht, warum man einen Screener im Prüfgerät braucht.
Es handelt sich um ein Multivolumen für hundert Symbole auf einmal, wobei jeder OnTimer die Tick-Historie aller Symbole analysiert.
 
fxsaber:
Es handelt sich um einen mehrspaltigen Text mit hundert Zeichen, bei dem jeder OnTimer den Tickverlauf aller Zeichen analysiert.


normale Art, Selbstmord zu begehen))

bei der Ausführung im Prüfprogramm werden alle Tickdaten neu aufbereitet?! 1 Monat/Ticker ist etwa 100 MB groß. Wenn der gesamte Marktüberblick, dann...muss die Festplatte gummiert werden, aber wie lange dauert das?

Wenn Sie sich daran erinnern, dass der Cache des Tester-Agenten nach 5 Minuten Inaktivität des Agenten geleert wird, stellen Sie sich vor: Sie haben ein oder zwei Stunden lang Daten aufbereitet, waren 5 Minuten weg, und das war's, Sie müssen von vorne anfangen.

 
kaus_bonus:

normale Art, Selbstmord zu begehen))

Daraus ergeben sich die Fragen. Wenn ich es richtig verstehe, ist der Tester in der S#-Infrastruktur gut aufgehoben. Ich könnte falsch liegen.
 

Scheint zu MT5 verwendet werden, wie ich überhaupt nicht in MT4 Protokollierung von OrderSend Ausführung erinnern.

Seit welchem MT4-Build gibt es diese unzulässige Handhabung des Logs? In MT5 können nur Print und ähnliche spezielle Benutzeraktionen (+Ausführungsfehler und die Auto-Trading-Schaltfläche) dort Einträge machen. Oder war das in MT4 schon immer so?

 
fxsaber:

Sie müssen eine Bar/Tick-Historie für mehrere tausend aktuelle Einheiten auf einmal für alle Symbole in Market Watch (mehrere hundert) erhalten. Und aktualisieren Sie sie in Echtzeit.

Ist die MT5-Architektur für solche Screencasts optimiert? Wird der neue Programmtyp in der Lage sein, solche Aufgaben ohne Krücken zu lösen?

Was benötige ich, um alle Caches aus dem kalten Zustand zu holen und sie zu aktualisieren?

Aufwärmen von Caches
#define _CS(A) ((!IsStopped()) && (A))
#define  TOSTRING(A) #A + " = " + (string)(A) + "\n"

void OnStart()
{
  ulong FullCycle = 0;
  MqlTick Ticks[];
  
  while (_CS(true))
  {
    const ulong StartTime = GetMicrosecondCount();
    
    for (int i = SymbolsTotal(true) - 1; _CS(i >= 0); i--)
      Comment(TOSTRING(SymbolsTotal(true)) + TOSTRING(SymbolName(i, true)) +
              TOSTRING(i) + TOSTRING(CopyTicks(SymbolName(i, true), Ticks)) +
              TOSTRING(MQLInfoInteger(MQL_MEMORY_USED)) + TOSTRING(MQLInfoInteger(MQL_MEMORY_LIMIT)) +
              TOSTRING(FullCycle));
              
    FullCycle = GetMicrosecondCount() - StartTime;              
  }
}

In der Skript-Laufzeit ist deutlich zu sehen, dass CopyTicks nicht asynchron ist, sondern MQL_MEMORY_USED liegt.

Und das Wichtigste ist, dass etwas in den Caches stolpert (Metaquotes-Demo).

Bitte führen Sie mindestens hundert Symbole in Market Watch aus.

Außerdem macht sich das Problem mit den Caches nur bei einigen Zeichen bemerkbar. Der Rest ist in Ordnung.

Scheint bei diesen Zeichen in CopyTicks stecken zu bleiben

 
Konstantin:

1. Wann wird es eine Beschreibung der Gewerkschaft in der Dokumentation geben?

2) Ist sie ein Ersatz für einfache Strukturen?

Wird die Konvertierung des Unionstyps unterstützt, wie in der Dokumentation für Strukturen beschrieben?

1. Gewerkschaft hinzugefügt

2. Nicht wirklich - es ist möglich, eine andere Darstellung der Daten zu erhalten

3. nein

 

MT5 1598

void OnStart()
{
  string Array[];
  
  ArrayInitialize(Array, "");
}

Compiler-Protokoll

'ArrayInitialize' - no one of the overloads can be applied to the function call Test2.mq5       5       3
could be one of 8 function(s)   Test2.mq5       5       3
   built-in 'ArrayInitialize'   Test2.mq5       5       3
   built-in 'ArrayInitialize'   Test2.mq5       5       3
   built-in 'ArrayInitialize'   Test2.mq5       5       3
   built-in 'ArrayInitialize'   Test2.mq5       5       3
   built-in 'ArrayInitialize'   Test2.mq5       5       3
   built-in 'ArrayInitialize'   Test2.mq5       5       3
   built-in 'ArrayInitialize'   Test2.mq5       5       3
   built-in 'ArrayInitialize'   Test2.mq5       5       3
1 error(s), 0 warning(s)                2       1

Werden die Funktionssignaturen im Protokoll sichtbar sein?