Wie man sein eigenes Handelstsystem austrickst – immer wieder!

Ein automatisches Handelssystem ist auf manuelle Kontrollen angewiesen!

Heute habe ich einen Großteil des Tages in den Sand gesetzt. Der Grund? Ich habe etwas getestet, von dem ich glaubte es überprüft zu haben.  Grundsätzlich stimmte das auch, allerdings habe ich einen entscheidenden Fehler begangen: Ein einfaches if-Statement erweitert.

Die eigentliche Schleife sah so aus:

if (Bedingung == true)
führe einen Befehl  in der nächsten Zeile aus

Grundsätzlich ist diese verkürzte Schreibweise gebräuchlich, aber sobald man diese zwei Zeilen ergänzt, hat man etwas ausgelöst, was sich als fataler Fehler entpuppen kann. Denn wenn bei so einem if-Statement keine Klammern gesetzt werden, bedeutet das: Führe die nächste Zeile nach dem if nur aus, wenn die Bedingung stimmt.

if (Bedingung == true)
führe einen Befehl  in der nächsten Zeile aus

und der Befehl danach wird immer ausgeführt!

Wenn man jetzt eine Zeile dahinterhängt, die eigentlich nur ausgeführt werden soll, wenn die Bedingung erfüllt ist, wird sie IMMER ausgeführt. Warum? Weil eben nur eine Programmzeile nach dem if ohne Klammern geprüft wird.

Darum sollte ich mir angewöhnen, nach einem if immer zwei Klammern zu setzen.

if (Bedingung == true)
{
  führe einen Befehl  in der nächsten Zeile aus
  führe noch einen Befehl aus wenn die Bedingung stimmt
}