Beta-Version des Online-Buchs über MQL4-Programmierung - von Sergey Kovalev (SK.) - Seite 6

 
Rosh:
Martes:

Auf zwei verschiedenen Computern und mit verschiedenen Browsern werden die Bilder auf https://book.mql4.com/ru/metaeditor/compose nicht angezeigt.
Seltsam, wie das sein kann. Ich verstehe das Problem nicht.


Speziell überprüft jetzt, kein einziges Bild entweder . IE7. + Wenn ich auf den Link unten auf der Seite klicken möchte, gibt das MQL4-Programm einen Fehler aus

 
Das Problem ist erkannt, wir werden es beheben.
 
Suche nach fehlenden oder zusätzlichen geschweiften Klammern.... Ich verliere leise den Verstand((

PS
'\end_of_program' - Endklammer '}' erwartet
 
Climber:
Suche nach fehlenden oder zusätzlichen geschweiften Klammern.... Ich verliere allmählich den Verstand((

"/*" und "*/" zu helfen...
 
komposter:
Bergsteiger:

Suche nach fehlenden oder zusätzlichen geschweiften Klammern.... Ich verliere allmählich den Verstand((





"/*" und "*/" zu helfen...



Was bedeutet das? Ich versteh's nicht 0_o

Alles ist gut, bis dieses Stück auftaucht:
// Критерии закрытия ордеров

if
(_OrdersTotal = 1) //Выполнять следующее если открыт 1 ордер
{
OrderSelect(0, SELECT_BY_POS);
Tip = OrderType;
OPrice = OrderOpenPrice;

if (Tip = 0) // Расчитать цену закрытия в зависимости от типа ордера (В=0,S=1)
{
Cprice = OPrice + (TakeProfit*Point) + Spread;
if (Bid >= Cprice)
{
Cls_B = True;
}
}
if (Tip = 1)
{
Cprice = OPrice - (TakeProfit*Point) - Spread;
if (Ask <= Cprice)
{
Cls_S = True;
}
}
Hier stimmt die Anzahl der Klammern nicht überein. Wenn ich es aber am Ende hinzufüge, treten beim Kompilieren so viele unsinnige Fehler auf.
 
Climber:

Was bedeutet das? Ich verstehe das nicht 0_o

Siehe Kommentar https://book.mql4.com/ru/basics/common.
 
Ich habe keine großen Kommentare abzugeben, was hilft mir das?
Ich habe meinen vorherigen Beitrag ergänzt.
 
die Codestücke übergeben. Wenn der Fehler verschwunden ist, suchen Sie an der Stelle, die Sie auskommentiert haben, nach der fehlenden Klammer
 
Climber:
Ich habe keine großen Kommentare, die gebrochen werden müssen, wie kann mir das helfen?
Ich habe meinen vorherigen Beitrag ergänzt.


Wenn Sie /* irgendwo am Anfang des Programms einfügen
und irgendwo darunter setzen Sie */
dann wird alles, was dazwischen liegt, als Kommentar behandelt.

Programmierer verwenden diese Methode erfolgreich, um fehlende Klammern zu finden.

Normalerweise ist der Teil, der den Fehler enthält, mehr oder weniger klar. Das ist das, was Sie einrahmen /* */. Danach kompilieren Sie das Programm. Wenn der Compiler sagt, dass keine Fehler vorliegen, wird der Suchbereich durch Verschieben von /* oder */ nach unten und oben eingegrenzt. Zurück zur Zusammenstellung. Infolgedessen findet der Programmierer ein solches kleines Fragment, in dem er nur einen Fehler sieht.

Bitte beachten Sie, dass Sie /* und */ nicht einfach aus logischen Gründen einfügen dürfen.

 
Jetzt verstehe ich, wozu diese Kommentare gut sind. Aber ich habe etwas Ähnliches getan, nur auf eine andere Art und Weise. Ich habe Operatoren mit offenen und geschlossenen Klammern gelöscht. Ich habe mit kleinen inneren angefangen, und dann blieben die größten übrig, die die gelöschten kleinen abdeckten, und am Ende hatte ich eine nicht verschlossene.

Wenn ich eine schließende Klammer ganz am Ende des Codes hinzufüge, erhalte ich zu viele Fehler im Zusammenhang mit weiterem folgenden Code (gerade an absurden Stellen, wie = ist hier nicht relevant, oder ; passt auch nicht...).

Und der Code selbst, die ich oben in Nachricht schrieb sieht akzeptabel für den Betrieb, die ich versucht, sie zu erklären, oder es könnte in einer anderen Weise geschrieben werden? Wie ganz am Anfang angenommen, wenn ein Auftrag eröffnet wird, sollten wir nur in diesem Fall die folgenden Operatoren nach { ausführen.

Als ich anfing, diesen Block zu schreiben, kompilierte ich ihn nach und nach (um Fehler sofort zu sehen), dieser Fehler erschien und wiederholte sich ständig. Ich dachte, es läge daran, dass die schließende Klammer für den Anfang fehlte, also habe ich weitergeschrieben.