|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Selektiertes Ordersymbol() feststellen, Schleife
Hallo,
ich versuche in einer Schleife (mql4, über alle offenen Orders) das gerade selektierte Ordersymbol (DAX, EURUSD etc.) auszulesen um individuell darauf reagieren zu können. Mit der Dokumentation bei mql5.com habe ich noch so meine Probleme, vielleicht könnte mir hier jemand einen Tipp geben, wie ich das fehlerfrei hin bekomme. Jetzt, am Wochenende, kann ich leider nicht ausprobieren weil ich keine Order öffnen kann um dann das Symbol mit dem EA auszulesen. So sieht die Schleife aus: Code:
for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { // hier sollte zuerst das Ordersymbol abgefragt werden, geht das?: if (StringFind(OrderSymbol(), "EURUSD",0) >0 { } } Gruß Werner |
|
|||
Code:
for (int i = OrdersTotal()-1; i >= 0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol()) { } } }
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Das war es nicht ganz, was ich meinte
Hallo traderdoc,
danke, für die Antwort. Das war es leider nicht ganz, was ich meinte. Da hab ich mich etwas ungeschickt ausgedrückt: Das jeweils selektierte Symbol der Schleife (aller geöffneten Orders) hat mit dem Symbol des Charts nicht automatisch etwas gemeinsam. Trotzdem muss der EA darauf reagieren und z. B. einen SL setzen oder einen Teilverkauf machen o. ä. Code:
for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { // hier sollte zuerst das Ordersymbol abgefragt werden, geht das?: if (StringFind(OrderSymbol(), "EURUSD",0) >0 { mach das...}; if (StringFind(OrderSymbol(), "[DAX30]",0) >0 { mach was anderes...}; if (StringFind(OrderSymbol(), "[WTI]",0) >0 { mach jetzt das...}; } Mir geht es hauptsächlich darum, wie ich das selektierte Symbol in der Schleife präzise auslese um individuell darauf reagieren zu können. Das Dumme ist, dass ich am Wochenende nicht live testen kann und die ganze nächste Woche komme ich nicht dazu. Deswegen wollte ich das noch am Wochenende erledigt haben. OrderSymbol() spricht das selektierte Symbol im Pool an, oder? Und Symbol() das Symbol des Charts, in den der EA eingebunden ist. ------ Diese Vorgehensweise hat letzte Woche bei mir zu wenigstens 1x zu einem fehlerhaften Verhalten geführt. Deswegen frage ich jetzt nach, ob es eine bessere Methode gibt. Code:
if (OrderSymbol() == "[DAX]") {...} if (OrderSymbol() == "EURUSD") {...} if (OrderSymbol() == "WTI") {...} Vielen Dank! Gruß Werner |
|
|||
Das war es nicht ganz, was ich meinte
Hallo traderdoc,
danke, für die Antwort. Das war es leider nicht ganz, was ich meinte. Da hab ich mich etwas ungeschickt ausgedrückt: Das jeweils selektierte Symbol der Schleife (aller geöffneten Orders) hat mit dem Symbol des Charts nicht automatisch etwas gemeinsam. Trotzdem muss der EA darauf reagieren und z. B. einen SL setzen oder einen Teilverkauf machen o. ä. Code:
for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { // hier sollte zuerst das Ordersymbol abgefragt werden, geht das?: if (StringFind(OrderSymbol(), "EURUSD",0) >0 { mach das...}; if (StringFind(OrderSymbol(), "[DAX30]",0) >0 { mach was anderes...}; if (StringFind(OrderSymbol(), "[WTI]",0) >0 { mach jetzt das...}; } Mir geht es hauptsächlich darum, wie ich das selektierte Symbol in der Schleife präzise auslese um individuell darauf reagieren zu können. Das Dumme ist, dass ich am Wochenende nicht live testen kann und die ganze nächste Woche komme ich nicht dazu. Deswegen wollte ich das noch am Wochenende erledigt haben. OrderSymbol() spricht das selektierte Symbol im Pool an, oder? Und Symbol() das Symbol des Charts, in den der EA eingebunden ist. ------ Diese Vorgehensweise hat letzte Woche bei mir zu wenigstens 1x zu einem fehlerhaften Verhalten geführt. Deswegen frage ich jetzt nach, ob es eine bessere Methode gibt. Code:
if (OrderSymbol() == "[DAX]") {...} if (OrderSymbol() == "EURUSD") {...} if (OrderSymbol() == "WTI") {...} Vielen Dank! Gruß Werner |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|