ich bastle mir grade ein Unterprogramm für das sofortige Schließen einer Order bei Gegensignal.
Sprich, wenn ich grade Long im Markt bin und etwas später einen Sell-Stop setze, der auch geschortet wird - soll die Long-Position sofort gelöscht werden.
Aber mit Schleifen hab ich so meine Probleme, daher brauche ich bitte eure Hilfe, da ich hier etwas zusammen gebastelt hab, was so gar nicht funktioniert.
//+------------------------------------------------------------------+
//|========================OPPOSITE CLOSE============================|
//+------------------------------------------------------------------+
int OppositeClose() {
int g,h;
for (g=Total-1; g>=0; g--) {
if (OrderSelect(g,SELECT_BY_POS,MODE_TRADES) == true)
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
for (h=Total-1; h>=0; h--) {
if(OrderSelect(h,SELECT_BY_POS,MODE_TRADES) == true)
if(OrderType()==OP_SELL) {
Oppoclose = OrderCloseBy(h+1,h,DarkOrange);
Print("Close SELL by Opposite"," Ordertype:",OrderType());
return(1);
}
if(OrderType()==OP_BUY) {
Oppoclose = OrderCloseBy(h+1,h,DarkOrange);
Print("Close BUY by Opposite"," Ordertype:",OrderType());
return(1);
}
}
}
}
return(0);
}
Hallo alle Zusammen,
ich bastle mir grade ein Unterprogramm für das sofortige Schließen einer Order bei Gegensignal.
Sprich, wenn ich grade Long im Markt bin und etwas später einen Sell-Stop setze, der auch geschortet wird - soll die Long-Position sofort gelöscht werden.
Aber mit Schleifen hab ich so meine Probleme, daher brauche ich bitte eure Hilfe, da ich hier etwas zusammen gebastelt hab, was so gar nicht funktioniert.
//+------------------------------------------------------------------+ //|========================OPPOSITE CLOSE============================| //+------------------------------------------------------------------+ int OppositeClose() { int g,h; for (g=Total-1; g>=0; g--) { if (OrderSelect(g,SELECT_BY_POS,MODE_TRADES) == true) if (OrderType()==OP_BUY || OrderType()==OP_SELL) { for (h=Total-1; h>=0; h--) { if(OrderSelect(h,SELECT_BY_POS,MODE_TRADES) == true) if(OrderType()==OP_SELL) { Oppoclose = OrderCloseBy(h+1,h,DarkOrange); Print("Close SELL by Opposite"," Ordertype:",OrderType()); return(1); } if(OrderType()==OP_BUY) { Oppoclose = OrderCloseBy(h+1,h,DarkOrange); Print("Close BUY by Opposite"," Ordertype:",OrderType()); return(1); } } } } return(0); }