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

 

Guten Tag

Können Sie mir sagen, warum sich der MQL4-Compiler über die folgende Array-Deklaration beschwert?


input int trendSlowCountBar=9;

double MAslowTrend [trendFastCountBar];


wird der folgende Fehler erzeugt:

'[' - ungültiger Indexwert


Ich kann in der Sprachreferenz keine Einschränkungen für die Angabe einer Dimension finden... (

 
Владимир Казаков Array-Deklaration beschwert?


input int trendSlowCountBar=9;

double MAslowTrend [trendFastCountBar];


wird der folgende Fehler erzeugt:

'[' - ungültiger Indexwert


Ich kann in der Sprachreferenz keine Einschränkungen für die Angabe einer Dimension finden... (

Das liegt daran, dass die Größe von statischen Arrays nicht durch Variablen definiert werden kann. Sie sollten stattdessen ein dynamisches Array verwenden:

input int     trendSlowCountBar=9;

double  MAslowTrend[];

int OnInit() {
  ArrayResize(MAslowTrend, trendSlowCountBar, 0);
  ...
  return(INIT_SUCCEEDED);
}
 
Mihail Matkovskij #:

Es wird nicht gerundet, sondern alles über 2 Dezimalstellen wird abgeschnitten.

Das nennt man Abrunden.

Mihail Matkovskij#:

Aber die Dokumentation schon! Und Sie missachten die Hinweise in der Dokumentation. Wie Sie wollen. Das ist Ihre Sache. Ich denke, es ist offensichtlich und ich werde nicht mit Ihnen darüber streiten, ich sage es noch einmal!

Speziell für Sie ist auf der letzten Seite ein Screenshot von der Bearbeitung.

 
Andrey Sokolov #:

Das nennt man Abrunden.

Nun, Sie können es nennen, wie Sie wollen :)

Speziell für Sie gibt es einen Screenshot von der Bearbeitung auf der letzten Seite.

Wozu brauche ich Ihren Screenshot, wenn ich dem Link gefolgt bin und gelesen habe:https://docs.mql4.com/ru/trading/ordersend

Nicht nur das, ich habe Ihnen auch das obige Zitat gegeben, in dem alles gesagt wird. Und Sie raten mir, mir einen Screenshot anzusehen. :)

Das war's. Genug von diesem müßigen Geschwätz.

OrderSend - Торговые функции - Справочник MQL4
OrderSend - Торговые функции - Справочник MQL4
  • docs.mql4.com
OrderSend - Торговые функции - Справочник MQL4
 

Mihail Matkovskij #:

Wozu brauche ich Ihren Screenshot, wenn ich dem Link gefolgt bin und gelesen habe:https://docs.mql4.com/ru/trading/ordersend

Lesen Sie ihn also sorgfältig. Dort, wie ich schreibe, der Eröffnungskurs ohne jede Normalisierung.

Mihail Matkovskij#:

Nun, Sie können es nennen, wie Sie wollen :)

Ich bezeichne es als das, was es ist, nicht als "wie Sie wollen".

 
Mihail Matkovskij #:

Hören Sie auf mit dem Geschwätz.

Bringen Sie diese Unhöflichkeit bitte nicht ins Forum.

 

In der Vergangenheit gab es Situationen, in denen ein Ask Bid nicht normalisiert oder High/Low/Close falsch (EMPTY_VALUE) war, daher sollten alle eingehenden Daten überprüft werden. Es kann zu Neustarts von Serverkomponenten oder zum Abgleich zwischen Peers kommen. Es können auch einfache Fehler auftreten.

Und wenn Sie einen Handelsauftrag abschicken, sollten Sie alles tun, um sicherzustellen, dass er korrekt ist. Normalisieren Sie daher IMMER die Preise nach Ziffern und die Volumen nach minLot,lotStep.

 
Andrey Sokolov #:

Bringen Sie diese Unhöflichkeit bitte nicht in das Forum.

Das war's. Keine Kommentare.

 
Maxim Kuznetsov einen Handelsauftrag erteilen, müssen Sie Ihr Bestes tun, um sicherzustellen, dass er korrekt ist.

Machen Sie sich keine Gedanken darüber. Derjenige, der es wissen muss. :)

 
Mihail Matkovskij #:

Dies liegt daran, dass statische Arrays nicht durch Variablen dimensioniert werden können. Stattdessen sollte ein dynamisches Array verwendet werden:

Und sagen Sie mir, gibt es einen Unterschied in der Verarbeitungsgeschwindigkeit zwischen einem statischen und einem dynamischen Array?
Grund der Beschwerde: