Fehler, Irrtümer, Fragen - Seite 2903

 
A100:

A::i1 ist ein statisches Array - ich habe mit ArrayIsDynamic geprüft - Ergebnis: false

Und was ist der Sinn des zweiten Eintrags im Allgemeinen? Warum kann die Größe nicht direkt in der Deklaration festgelegt werden?

Wenn die Größe des statischen Falls in (1) implizit ausgegeben wird, warum dann nicht auch im zweiten Fall?

 

Können Sie mir sagen, wie ich die Kommentar-Schriftart in beiden Terminals deutlich machen kann?


Im MT4-Terminal sieht alles unscharf aus, wie im Browser bei 100% Zoom.

Aber sobald ich im Browser zoome, ist das MT4-Bild auf dem Screenshot besser.


Es muss im Terminal selbst genauso klar sein wie im MT5.

 
TheXpert:

Wozu dient der zweite Eintrag überhaupt? Warum kann die Größe nicht direkt in der Deklaration festgelegt werden?

Wenn die Größe des statischen Falls in (1) implizit ausgegeben wird, warum nicht auch im zweiten Fall?

Im ersten Fall werden die Elemente eines dynamischen Arrays initialisiert, und nach der Initialisierung ist das Array implizit statisch.

Im zweiten Fall wird die Dimension des statischen Arrays neu deklariert. Nach der Deklaration eines statischen Arrays wäre eine erneute Deklaration ebenfalls ein Fehler.

Ich stimme zu, es ist nicht praktisch. Und es kann zu nicht expliziten Fehlern führen.

 
fxsaber :

Können Sie mir sagen, wie ich die Kommentar-Schriftart in beiden Terminals deutlich machen kann?


Im MT4-Terminal sieht alles unscharf aus, wie im Browser bei 100% Zoom.

Aber sobald ich im Browser zoome, ist das MT4-Bild auf dem Screenshot besser.


Es muss im Terminal selbst genauso klar sein wie im MT5.

Ist es auf VPS? Wenn ja, deaktivieren Sie das Kontrollkästchen:

Oder deaktivieren Sie besser alle Kontrollkästchen.

 
Enrique Dangeroux:

Ist es auf einem VPS? Wenn ja, deaktivieren Sie das Kontrollkästchen:

Oder noch besser, deaktivieren Sie alle Kontrollkästchen.

Dies ist auf dem Heimcomputer. Ich wünschte, nur MT4 würde normal angezeigt. Die anderen Anwendungen waren nicht betroffen.

 

Was ist der Fehler mit dem Rollover im Testgerät? In der beigefügten Datei ein Screenshot mit einem Beispiel: eineoffene Verkaufsposition, die durch den Rollover durch Kaufen geschlossen und dann durch Verkaufen wieder eröffnet wurde, aber mit Null Volumen.

Infolgedessen wird die Position nicht wieder geöffnet, sondern sie verschwindet. Sie ist im Screenshot hervorgehoben. Ich habe bereits darüber geschrieben, allerdings ohne Bilder. Was ist das für ein Fehler, der uns am Testen hindert?

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
Dateien:
rollover_bag.JPG  135 kb
 
Igor_Gagarin:
Aktualisierung des Terminals auf 2670. Alles schien wieder normal zu sein, aber nach 90 Stunden Testzeit und etwa 15000 Durchläufen trat bei einem Agenten erneut eine Störung auf.

Setzen Sie Build 2561 auf.

3 Agenten haben sich nach 8 Stunden aufgehängt, aber jetzt geht der Fertigstellungsgrad nicht über 100, sondern bleibt stehen.

Der Agent hat ohne mein Wissen auf Build 2675 aktualisiert, wahrscheinlich hängt er an dem neuen Build und nicht an dem alten...

 
Im Profil auf der Startseite im Bereich Agenten unterscheiden sich die Diagrammdaten von den Daten im Bereich Zahlungen um einen geringeren Betrag.
 


//+------------------------------------------------------------------+
//|                                                      OnBookE.mq5 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
#property version   "1.00"
//---
MqlBookInfo priceArray[];
bool boMBA=true;
bool getBook;
//---
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   boMBA=MarketBookAdd(_Symbol);
   Print("boMBA_ ",boMBA);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
  {
//---
   getBook=MarketBookGet(_Symbol,priceArray);
   Print("getBook_", getBook);
  }
//+------------------------------------------------------------------+

2020.11.13 19:55:05.277 OnBookE (EURUSD.gl,M1) boMBA_ false

Gleichzeitig gibt es ein Buch über dieses Symbol und es funktioniert erfolgreich. D.h. es gibt kein BookEvent-Ereignis.

Die Frage ist gelöst, der Markt wird für Forex angezeigt, aber es gibt kein Ereignis, aber es funktioniert für Aktien und Futures.

 

Hallo!

Nachricht an die Entwickler.

Ich teste weiterhin Python - MT5. Es gibt noch eine weitere interessante Sache, vielleicht ist es ein Fehler.
Das Wesentliche.

Ab und zu fange ich an, aus allen im Terminal dargestellten Finanzinstrumenten (ca. 4000k) auszuwählen.
Ich verbinde mich mit dem Terminal von einer externen Anwendung aus, d.h. die Skripte werden nicht innerhalb des Terminals gestartet.

Ich erhalte Tages- und Minutenbalken für jedes Symbol und verwende dann "Pandas", um Berechnungen durchzuführen und die anfängliche Auswahl der Instrumente zu treffen.
Ich habe festgestellt, dass das Terminal nach einem solchen Vorgang den Prozessor allmählich auf 70-80 % auslastet.
Nach der Skriptarbeit nimmt die Prozessorlast nicht ab (ich habe versucht, 15 Min. zu warten), aber das Terminal ist sehr langsam. Es hilft nur das Schließen des Terminals.
Wenn ich das Skript zweimal ausführe, ohne das Terminal zu schließen, funktioniert das Skript ohne Fehler, aber die CPU-Last bleibt bei 70-80 %.

Ich habe das Skript auf ein Minimum vereinfacht, so dass ich das Experiment wiederholen kann und nur noch Angebote einholen muss. Das Problem besteht nach wie vor.

Bei Bedarf sind Sie bereit, ein Video aufzuzeichnen oder Informationen in anderer Form bereitzustellen.

Der Code ist pyhton:

import MetaTrader5 as mt5

ANALYSIS_DAYS = 100
ANALYSIS_MINUTES = 500

mt5.initialize()
all_symbols = mt5.symbols_get()

for cur_symbol in all_symbols:

    rates_d1 = mt5.copy_rates_from_pos(cur_symbol.name, mt5.TIMEFRAME_D1, 1, ANALYSIS_DAYS)
    rates_m1 = mt5.copy_rates_from_pos(cur_symbol.name, mt5.TIMEFRAME_M1, 1, ANALYSIS_MINUTES)

mt5.shutdown()

Hochachtungsvoll, Alexander