So nun der Code, weil ich jetzt erst einen habe.
Im Tester funktioniert das Ganze aber ich bekomme immer OrderModify error 130, obwohl er im Tester den TakeProfit setzt und wenn der TakeProfit da ist kommt der Fehler weiter. Er ändert auch laufend den TakeProfit, obwohl er ja eindeutig definiert ist, denke ich.
Wenn Ich direkt ein TakeProfit setzte, passiert nichts also keine error Meldung.
Mir kommt aber auch die Frage, warum nimmt er den OpenPrice nicht nachdem der MACD das macht was er machen soll, sondern einfach direkt den letzten den er findet und ignoriert den MACD?
Code:
for (int b=OrdersTotal()-1;b>=0;b--)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
if((Bid>OrderStopLoss())&&(OrderTakeProfit()==0))
{
if((iOpen(_Symbol,PERIOD_M5,0)>SMA_21)&&(MACD_15M<=MACD_15M1));
{
double Ausstieg_5Ml=0;
int l=0;
for(l=0;(iLow(_Symbol,PERIOD_M5,l)<SMA_21);l++)
{
NormalizeDouble ((Ausstieg_5Ml=iOpen(_Symbol,PERIOD_M5,l)),4);
if(Ausstieg_5Ml-Takeprofit_Abstand)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),Ausstieg_5Ml,0,0);
SendNotification("OrderModified");
Print("OrderModified", Ausstieg_5Ml);