ExpertAdvisor nur an einem bestimmten Tag handeln lassen - DayOfWeek

 

Hey,



Ich wollte mal fragen, wie man einen expert advisor nur an einem bestimmten Tag handeln lässt.

Laut der Dokumentation gibt es das Schlüsselwort DayOfWeek


jetzt habe ich folgende If-Struktur aufgebaut:



if DayOfWeek == 2  {

OrderSend("NULL", OP_BUY, 1.0, Ask, 10, NULL, NULL, "My 1st Order!");


}


Diese If-Struktur befindet sich in der OnTick() Methode.

Jetzt bekomme ich folgenden Error: 

"if - open parenthesis expected"


Eigentlich habe ich doch dort nichts vergessen?

Weiß jmd. was ich falsch gemacht habe?





 
Lies mal nach in der Doku. wie man ein if baut bzw. wie ein if aussieht!
 
Carl Schreiber:
Lies mal nach in der Doku. wie man ein if baut bzw. wie ein if aussieht!

Meinst du damit das hier:

https://docs.mql4.com/basis/operators/compound


Sorry bin noch etwas neu in mql4

Compound Operator - Operators - Language Basics - MQL4 Reference
Compound Operator - Operators - Language Basics - MQL4 Reference
  • docs.mql4.com
Compound Operator - Operators - Language Basics - MQL4 Reference
 
Spacegrey:

Meinst du damit das hier:

https://docs.mql4.com/basis/operators/compound


Sorry bin noch etwas neu in mql4


Hallo,

Das boolsche Ergebnis bei if wäre zu klammern.

Die Klammern sind in eigene Zeilen und ohne anschließendes Semikolon zu setzen.

Die Syntax ist in der Doku samt Beispielen- das war wohl, was Carl meinte.


Du kannst das nächste Mal gerne den SRC Editor nutzen- dann stehen alle Codes so da, wie Du sie programmiert hast (in dem Blog-Editor Fenster oben) bzw. <ctrl-alt-M>

 
Spacegrey:

Hey,



Ich wollte mal fragen, wie man einen expert advisor nur an einem bestimmten Tag handeln lässt.

Laut der Dokumentation gibt es das Schlüsselwort DayOfWeek


jetzt habe ich folgende If-Struktur aufgebaut:



if DayOfWeek == 2  {

OrderSend("NULL", OP_BUY, 1.0, Ask, 10, NULL, NULL, "My 1st Order!");


}


Diese If-Struktur befindet sich in der OnTick() Methode.

Jetzt bekomme ich folgenden Error: 

"if - open parenthesis expected"


Eigentlich habe ich doch dort nichts vergessen?

Weiß jmd. was ich falsch gemacht habe?






Hallo Spacegrey,

Sie haben fast alles richtig gemacht.

Was fehlt, sind

1. "runde Klammer auf" nach dem "if" und "runde Klammer zu" vor "geschweifte Klammer auf"

2. die Anführungszeichen um NULL herum müssen gelöscht werden.

3. das Ergebnis der OrderSend sollte einer int Variable zugewiesen werden.

Das sieht dann im Endeffekt so aus:


if ( DayOfWeek == 2 ) {

int ticketnummer = OrderSend(NULL, OP_BUY, 1.0, Ask, 10, NULL, NULL, "My 1st Order!");

}


Herzliche Grüße
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

 

int ticketnummer = OrderSend(NULL, OP_BUY, 1.0, Ask, 10, NULL, NULL, "My 1st Order!");



Immer daran denken für welche Version der Code ist. Da der Post eigentlich im MQL5 Forum ist. 

Unter MQL5 wird bei OrderSend() ein Bool zurückgegeben.


MQl4-> https://docs.mql4.com/trading/ordersend

MQl5->https://www.mql5.com/de/docs/trading/ordersend


Gruß Christian

OrderSend - Trade Functions - MQL4 Reference
OrderSend - Trade Functions - MQL4 Reference
  • docs.mql4.com
OrderSend - Trade Functions - MQL4 Reference
Grund der Beschwerde: