Mein Ansatz. Der Kern ist der Motor. - Seite 179

 
Nikolai Semko:

Es ist schön zu sehen, dass Sie beschlossen haben, den kreativen Pfeil bei MQL5 auf die Schiene zu setzen.

Das wollte ich schon immer tun. Es war nie die Rede davon, sie für MT4 zu verteilen. )

Bislang habe ich keine Schwierigkeiten mit dem Übergang gesehen, außer zwei:

1. Alle deklarierten Variablen und Arrays müssen ausdrücklich auf Null gesetzt werden. Bei dem Umfang meines Programms habe ich dafür mehrere Stunden gebraucht.

2. Konstanter Fehler bei Array-Überlauf. In der vierten Version war mir das nicht aufgefallen. Es stellte sich heraus, dass dies ein häufiger Fehler war.

In der übrigen Zeit habe ich keine Schwierigkeiten bemerkt. Es dauert einfach verdammt lange, das Projekt zu kompilieren. Ich weiß es nicht einmal... Dadurch wird der Motor erheblich verlangsamt. :(

 
Реter Konow:

Das wollte ich schon immer tun. Es war nie die Rede davon, sie für MT4 zu verteilen. )

Bislang habe ich keine Schwierigkeiten mit dem Übergang gesehen, außer zwei:

1. Alle deklarierten Variablen und Arrays müssen ausdrücklich auf Null gesetzt werden. Bei dem Umfang meines Programms habe ich dafür mehrere Stunden gebraucht.

2. Konstanter Fehler bei Array-Überlauf. In der vierten Version war mir das nicht aufgefallen. Es stellte sich heraus, dass dies ein häufiger Fehler war.

Ansonsten habe ich keine Schwierigkeiten festgestellt. Es dauert einfach verdammt lange, das Projekt zu kompilieren. Ich weiß es nicht einmal... Dadurch wird der Motor erheblich verlangsamt. :(

Haben Sie nicht #property strict in den vier verwendet?
 
Artyom Trishkin:
Sie haben #property strict nicht in den vier?

Nein.

 
Реter Konow:

Nein.

Das ist ein echtes Durcheinander.

 
Wenn man allein einen Wolkenkratzer baut, denkt man nicht ans Verputzen. Wenn Sie alle Böden fertiggestellt haben, können Sie die letzten Arbeiten durchführen.
 
Реter Konow:
Wenn man allein einen Wolkenkratzer baut, denkt man nicht ans Verputzen. Wenn Sie alle Böden fertiggestellt haben, können Sie die letzten Arbeiten durchführen.

Dieses "Verputzen" erspart es Ihnen, das, was Sie bereits geschrieben haben, sofort zu korrigieren.

 
Artyom Trishkin:

Mit diesem "String" entfällt sofort die Notwendigkeit, das bereits Geschriebene zu korrigieren.

Mit#property strict in 4 gab es eine Menge unnötiger Warnungen über die Tatsache, dass die Zahlen von Defines in Schlüsselwörter verpackt und in der Cyber-Code (Konstruktor-Code) in der String-Array Contept "illegal" auf den String-Typ gebracht geschrieben. Aus diesem Grund habe ich diese#Eigenschaft strict deaktiviert. Das heißt, im Sinne der Programmierregeln sollte mein Konstruktor nicht existieren).

 
Реter Konow:

Mit#property strict in 4 gab es eine Menge unnötiger Warnungen über die Tatsache, dass die Zahlen von Defines in Schlüsselwörter verpackt und in der Cyber-Code (Konstruktor-Code) in der String-Array Contept "illegal" auf den String-Typ gebracht geschrieben. Aus diesem Grund habe ich diese#Eigenschaft strict deaktiviert. Das heißt, im Sinne der Programmierregeln sollte mein Konstruktor nicht existieren).

Was hat sie daran gehindert, "rechtlich" auf den String-Typ reduziert zu werden?

 
Artyom Trishkin:

Was hat verhindert, dass sie "legal" in Zeichenfolgen umgewandelt werden konnten?

Lassen Sie mich das erklären: Die Arbeit mit dem Konstruktor ist eine Initialisierung eines Arrays, in dem sich Einträge mit numerischen Werten und Strings abwechseln. Zahlen können Koordinaten und Schlüsselwörter (und Namen von Elementtypen) sein, und Strings können Namen oder Text sein.#property strict verlangt, dass alles in diesem Arrayauf den Typ String gecastet wird. In diesem Fall verliert der Cybercode jedoch seine normale Lesbarkeit. Der Ausweg ist, ohne#Eigenschaft streng zu arbeiten.

Beispiel-Code:
//----------------------------------------------------------------------------------
GROUP, A,

__, V_LINE,"vL",H,61,_,N_COLOR,(int)C'255,223,199',

END_GROUP,
//------------------------------------
 i, AT, _X2X, "R1", 1, _Y2Y, "R1", 1,

Ein Beispiel dafür, was#property strict erfordert.

//----------------------------------------------------------------------------------
(string)GROUP, (string)A,

(string)__, (string)V_LINE,"vL",(string)H,61,(string)_,(string)N_COLOR,(string)(int)C'255,223,199',

(string)END_GROUP,
//------------------------------------
 (string)i, (string)AT, _(string)X2X, "R1", (string)1, _Y2Y, "R1", (string)1,
 
Tut mir leid, ich bin dabei, das zu klären.