Bitte Kommentare vom MA-EA einfach
immer ignorieren...
Du schließt deine Positionen nicht, da du weder die Ticketnummer noch das Symbol als Parameter übergibst, sondern die Schleifen-Durchlaufvariable.
Hier etwas was funktioniert, aber noch nicht schön ist. Es fehlt z.B. die Abfrage nach der Magicnummer usw.:
Code:
if(BuyPositions >= 1)
{
for(int i = PositionsTotal()-1; i>=0; i--)
{
string symbol=PositionGetSymbol(i);
if(_Symbol != symbol)
continue;
ulong PositionTicket = OrderGetTicket(i);
if
(
PARvalue < price0 ||
EMAvalue < price0 ||
ADXvalue < ADXlow ||
DIPvalue < DIMvalue ||
MACDvalue < SIGNALvalue ||
RSIvalue > RSIlow
)
{
trade.PositionClose(PositionTicket);
}
} // End for
} // End if
Im EA ist vor allem bei deinen If-Abfragen noch so einiges im Argen. Buy-Orders werden z.B. nie auslöst.