|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Probleme mit Ausführung im Code
Hi,
ich habe einen Code geschrieben. Es soll jeden Tag um 17.30 ein trade eröffnet werden buy. Dieser soll am nächsten Tag um 8.50 Uhr geschlossen werden. Im Backtest wird mir jedoch nur ein Trade eröffnet in nem Zeitraum von 2 Monaten und nicht geschlossen am nächsten Tag Kann da mal wer über den Code schauen? Code:
// Handelszeiten input int openHour = 17; input int openMinute = 30; input int closeHour = 8; input int closeMinute = 50; // Globale Variable für die Handelsaktivität bool canOpenTrade = true; int start() { // Überprüfe, ob es Zeit ist, einen Trade zu eröffnen if (canOpenTrade && Hour() == openHour && Minute() == openMinute) { // Eröffne einen Kauf-Trade int ticket = OrderSend(Symbol(), OP_BUY, lotSize, Ask, 3, 0, 0, "Buy Order", 0, 0, Green); if (ticket > 0) { canOpenTrade = false; // Setze die Variable auf false, um weitere Trades zu verhindern Print("Kauf-Trade erfolgreich eröffnet. Ticket: ", ticket); } else { Print("Fehler beim Öffnen des Kauf-Trades. Fehlercode: ", GetLastError()); } } // Überprüfe, ob es Zeit ist, den Trade zu schließen if (!canOpenTrade && Hour() == closeHour && Minute() == closeMinute) { // Schließe alle offenen Trades for (int i = OrdersHistoryTotal() - 1; i >= 0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol() && OrderMagicNumber() == 0) { bool closed = OrderClose(OrderTicket(), OrderLots(), Bid, 3, Red); if (closed) { canOpenTrade = true; // Setze die Variable auf true, um am nächsten Tag einen neuen Trade zu ermöglichen Print("Trade erfolgreich geschlossen."); } else { Print("Fehler beim Schließen des Trades. Fehlercode: ", GetLastError()); } } } } return 0; } |
|
|||
for (int i = OrdersHistoryTotal() - 1; i >= 0; i--) {
ersetzen durch for (int i = OrdersTotal() - 1; i >= 0; i--) { "Setze die Variable auf true, um am nächsten Tag einen neuen Trade zu ermöglichen" Da 08:50 geschlossen wurde und die Variable canOpenTrade = true; ist, würde am selben Tag um 17:30 wieder ein Trade geöffnet werden. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
|
|