Das Erste, was man für sich und andere, die einem helfen sollen, tun sollte, ist den Code ordentlich und übersichtlich schreiben. Das kann doch keiner lesen!
Also so oder so ähnlich sollte das aussehen.
Code:
//Short Signale umsetzen
if (ShortSignal == true) { // eventuelle Long Order schließen
if (LongOrder > 0) {
if (OrderSelect(LongOrder, SELECT_BY_TICKET) == true) {
bool LongOrderGeclosed = OrderClose(LongOrder, OrderLots(), Bid, 10, Blue);
if (LongOrderGeclosed == true) LongOrder = 0;
}
}
if (BuyLimitOrder > 0) {
if (OrderSelect(BuyLimitOrder, SELECT_BY_TICKET)) {
bool BuyLimitOrderDelete = OrderDelete(OrderTicket());
if (BuyLimitOrderDelete == true) BuyLimitOrder = 0;
}
}
if (BuyStopOrder > 0) {
if (OrderSelect(BuyStopOrder, SELECT_BY_TICKET)) {
bool BuyStopOrderDelete = OrderDelete(OrderTicket());
if (BuyStopOrderDelete == true) BuyStopOrder = 0;
}
}
// Short Order eröffnen
while (ShortOrder < 1) {
ShortOrder = OrderSend(Symbol(), OP_SELL, HandelsLots, Bid, 10, (Bid+0.01000), (Bid-0.00300), "FORWARD", MagicNumber, 0, Red);
SellLimitOrder = OrderSend(Symbol(), OP_SELLLIMIT, HandelsLots, Bid+0.00050, 10, (Bid+0.01050), (Bid-0.00350), "FORWARD", MagicNumber, 0, Red);
SellLimitOrder = OrderSend(Symbol(), OP_SELLLIMIT, HandelsLots, Bid+0.00100, 10, (Bid+0.01100), (Bid-0.00400), "FORWARD", MagicNumber, 0, Red);
SellStopOrder = OrderSend(Symbol(), OP_SELLSTOP, HandelsLots, Bid-0.00050, 10, (Bid+0.00950), (Bid-0.00250), "FORWARD", MagicNumber, 0, Red);
SellStopOrder = OrderSend(Symbol(), OP_SELLSTOP, HandelsLots, Bid-0.00100, 10, (Bid+0.00900), (Bid-0.00200), "FORWARD", MagicNumber, 0, Red);
}
}
Der Code wurde jetzt nur ordentlich strukturiert und nicht auf Sinnhaftigkeit und Fehlern kontrolliert.
traderdoc