Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1859

 
Владимир Казаков #:
Und sagen Sie mir, gibt es einen Unterschied in der Verarbeitungsgeschwindigkeit zwischen einem statischen und einem dynamischen Array?

Wenn Sie die Handhabung von zwei sehr großen Arrays, statisch und dynamisch, vergleichen, kann es einen Unterschied geben oder auch nicht... Bei normalem Gebrauch gibt es praktisch keinen Unterschied.

 

Mihail Matkovskij, Andrey Sokolov, danke Freunde, für die klare und schnelle Antwort!

Es gab wirklich einen Fehler bei OP_SELL, OP_BUY (durch Unachtsamkeit verwechselt). Ich habe alles nach nDigits normalisiert und eine Prüfung durch OrderSend auf Fehler hinzugefügt. Ich hoffe, dass alles funktionieren wird. Ich kann es jetzt nicht überprüfen, der Markt ist geschlossen )). Jetzt bis Montag

 
Mihail Matkovskij #:

Wenn Sie 2 sehr große Arrays vergleichen, statisch und dynamisch, kann es einen Unterschied geben oder auch nicht... Bei normalem Gebrauch gibt es fast keinen Unterschied.

Leider gibt es...

Der Unterschied in der Verwendung der beiden Funktionen :

double foo(someargs..) {
   double tmpdata[];
   ArrayResize(tmpdata,100);
   ...
}
static double tmpdatabar[100];
double bar(someargs..) {
   ...
}

erheblich sein wird.

Wenn Sie im Voraus die maximale Größe des Arrays kennen und diese nicht zu groß ist 🚲.

es ist besser, sie vorher zu verteilen

 
Владимир Казаков #:
Gibt es einen Unterschied in der Verarbeitungsgeschwindigkeit zwischen einem statischen Array und einem dynamischen Array?

Was ist unter Behandlung zu verstehen?

In jedem Fall kann das Vorhandensein eines Unterschieds und dessen Ausmaß in einem bestimmten Fall durch Profiling festgestellt werden.

 
Maxim Kuznetsov #:

In der Vergangenheit hat es Situationen gegeben, in denen Ask Bid nicht normalisiert wurde.

Haben sie mehr Zeichen als auf dem Symbol angegeben?

 

Forum für Handel, automatisierte Handelssysteme und Strategietests

Alle Fragen von Neulingen zu MQL4 und MQL5, Tipps und Diskussionen zu Algorithmen und Codes

Maxim Kuznetsov, 2022.01.15 11:29

gibt es leider...

der Unterschied in der Verwendung der beiden Funktionen :

double foo(someargs..) {
   double tmpdata[];
   ArrayResize(tmpdata,100);
   ...
}
static double tmpdatabar[100];
double bar(someargs..) {
   ...
}

wäre von Bedeutung.

wenn man das maximale Volumen eines Arrays im Voraus kennt und es nicht zu groß ist 🚲.

ist es besser, sie vorher zu verteilen.

Und wer macht das, wenn man schnell sein muss, frage ich peinlich berührt?

So wird's gemacht:

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Alle Fragen von Anfängern zu MQL4 und MQL5, Hilfe und Diskussion von Algorithmen und Codes

Mihail Matkovskij, 2022.01.15 10:24

input int     trendSlowCountBar=9;

double  MAslowTrend[];

int OnInit() {
  ArrayResize(MAslowTrend, trendSlowCountBar, 0);
  ...
  return(INIT_SUCCEEDED);
}

Sie können es als beliebiges Array verwenden, und es spielt keine Rolle, um welche Art von Array es sich handelt.

Das sind einfache Dinge! Aber nein. Ich werde in hundert Seiten erklären, was bereits offensichtlich ist...

 
Andrey Sokolov #:

Sind diese mit mehr Markierungen als auf dem Symbol versehen?

????

welche Art von Zeichen?

 
Maxim Kuznetsov #:

????

Welche Zeichen?

Jetzt wird es noch beweisen, was Ask und Bid einbringen. Und in der neuen Build wird es ein Scheitern und der Preis wird nicht kommen normalisiert. Oder vielleicht werden die Entwickler beschließen, das Konzept zu ändern (da SL und TP normalisiert werden sollten, ist es möglich, Einstiegspreise nach demselben Prinzip zu erstellen). Und sie werden schreiben, dass jetzt Ask und Bid normalisiert werden müssen. Und dann wird er anfangen zu rennen. Er wird damit beginnen, alle seine Bewerbungen neu zu schreiben. Und diejenigen, denen er freiberufliche Bewerbungen geschrieben hat, werden nicht zufrieden sein (weil die Aufträge nicht mehr normal geöffnet werden) und Verbesserungen fordern.

 
Andrey Sokolov #:

die mit mehr Zeichen als auf dem Symbol versehen sind?

Ja, genau das ist passiert. Im Allgemeinen müssen alle Fließkommazahlen, die an den Server gehen, normalisiert werden - es ist ein Axiom des guten Tons und des stabilen Betriebs (unabhängig davon, was gesagt wurde oder nicht, oder was in der Dokumentation steht ... (Heute sagt man das eine, morgen etwas anderes)).

Wenn Sie ein Diagrammobjekt auf dem Terminal erstellen müssen, brauchen Sie es nicht zu normalisieren, aber wenn Sie es auf dem Server anfordern, müssen Sie

 
Wenn der Server keine nicht-normalisierten Preis- oder Losgrößenwerte akzeptiert, kann er auch keine nicht-normalisierten Werte haben.
Grund der Beschwerde: