Hallo.
Ich versuche, von der zuletzt geschlossenen Order den Profit raus zu finden. Wenn der 0 oder größer ist, soll die vorher selektierte Stop-Order gelöscht werden. Ist das so richtig?
1. Die gerade offene Buy-Market-Order selektieren und schließen:
Code:
for(i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS)){
if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_Market_MN&&OrderSymbol()==Symbol()){
if((CP_1<Slow_MA)||(Close_all_Orders_after_Time_O_Clock==true&&TC>CA))OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,DarkBlue);}
2. Ist dann aber noch nen Sell-Stop offen, der geschlossen werden soll, wenn der dazu gehörige Buy-Market Gewinn, bzw. keinen Verlust gemacht hat. Also die Stop-Order selektieren:
Code:
if(OrderType()==OP_SELLSTOP&&OrderMagicNumber()==Sell_Stop_MN&&OrderSymbol()==Symbol()){
3. Jetzt soll also raus gefunden werden, ob der Buy-Market Verlust gemacht hat. Wenn nicht, soll die Sell-Stop-Order gelöscht werden.
Code:
for(i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_Market_MN&&OrderSymbol()==Symbol()){
double old_Buy_Mark_OrPr = OrderProfit();}
if((Buy_Mark_inv==false&&old_Buy_Mark_OrPr >= 0 )||(Close_all_Orders_after_Time_O_Clock==true&&TC>CA))OrderDelete(OrderTicket(),OrangeRed);} } }
Und irgendwo fehlt noch ne Klammer oder so.
Ist das ansonsten richtig?