Unter anderem kann es zu unschönen Wechselwirkungen mit anderen EA's oder manuell geöffneten Positionen kommen.
Um nur mal ein Beispiel aus dem Code zu zeigen:
Code:
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL
&& OrderSymbol() == Symbol())
Diese Sektion steht unter //check Position und fragt alle offene Positionen auf dem aktuellen Symbol ab.
Korrekterweise sollte er aber nur alle Positionen mit seiner MagicNumber abfragen.
So kann es passieren das er alle Trades schließt, die sich zufällig auf demselben Symbol befinden.
Der korrekte Code an dieser Stelle wäre:
Code:
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL
&& OrderSymbol() == Symbol()
&& OrderMagicNumber() = MagicNumber)
Damit verwaltet der EA dann auch nur die Trades, die seiner MagicNumber entsprechen.