Diskussion zum Artikel "Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5" - Seite 10

 
pisenysh:

beim Kompilieren wird ein Fehler ausgegeben

Rückgabewert von 'OrderSend' sollte überprüft werden my_first_ea.mq5 211 10

Was könnte falsch sein?

Ist dies mit Sicherheit ein Fehler?
 
pisenysh:

beim Kompilieren wird ein Fehler ausgegeben

Rückgabewert von 'OrderSend' sollte überprüft werden my_first_ea.mq5 211 10

Was kann falsch sein?

Der Compiler sagt, dass es notwendig ist, das Ergebnis der Ausführung der Handelsfunktion zu verarbeiten.
 

Hallo! Darf ich Ihnen eine Frage stellen? Handelt der Expert Advisor mit einer Genauigkeit von bis zu Sekunden? Das heißt, wenn ich Trades nicht nur in einer bestimmten Stunde und Minute, sondern auch in einer bestimmten Sekunde öffnen und schließen muss?

 
Grenjohn:

Hallo! Darf ich Ihnen eine Frage stellen? Handelt der Expert Advisor mit einer Genauigkeit von bis zu Sekunden? Das heißt, wenn ich Trades nicht nur in einer bestimmten Stunde und Minute, sondern auch in einer bestimmten Sekunde öffnen und schließen muss?

Eine Minute besteht aus hundert Sekunden - welche wollen Sie?
 
server:
Eine Minute besteht aus hundert Sekunden - welche willst du?
Es steht in den Annalen ;)
 

Ich verstehe das nicht!? Eine Minute besteht aus 60 Sekunden. Ich programmiere den Expert Advisor so, dass er z.B. um 12:30 Uhr eine Position eröffnet, und ich möchte, dass er bei 45 Sekunden auslöst. Wenn ich 12:30 einstelle, funktioniert alles, das Geschäft wird eröffnet, aber wenn ich versuche, Sekunden hinzuzufügen, funktioniert es nicht!!!?

 

Hier ist der Code selbst:

extern int tp = 1000;

extern int sl = 1000;
extern double Lots = 0.01;
int ticket;
int start()
{
if(OrdersTotal( )==0 && Hour ( )==23 && Minute ( )==02 && Seconds ( )==30)
{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);
}
if (OrdersTotal( )==1 && Hour( )==23 && Minute( )==03 && Seconds ( )==30))
{
OrderSelect(ticket ,SELECT_BY_TICKET,MODE_TRADES);
OrderClose(ticket,Lots,Bid,20,Green);
}
}
 
Grenjohn:

Hier ist der Code selbst:

extern int tp = 1000;

extern int sl = 1000;
extern double Lots = 0.01;
int ticket;
int start()
{
if(OrdersTotal( )==0 && Hour ( )==23 && Minute ( )==02 && Seconds ( )==30)
{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);
}
if (OrdersTotal( )==1 && Hour( )==23 && Minute( )==03 && Seconds ( )==30))
{
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
OrderClose(ticket,Lots,Bid,20,Green);
}
}
Gy. Setzen Sie die Prüfung Seconds() >= 30, da eine Sekunde schnell vergehen kann und währenddessen kein einziger Tick ankommt. PS Es ist wünschenswert, den Code mit dem Code-Stil (Schaltfläche SRC) zu gestalten.
 
Ja, es funktioniert jetzt, vielen Dank! Das eigentliche Problem war die Geschwindigkeit der zweiten, die Zecke hatte keine Zeit, um durch sie zu gehen.
 

Können Sie mir bitte mehr sagen! Ist es möglich, zu öffnen und zu schließen Positionen in Expert Advisors, klar durch die Zeit in Sekunden, unabhängig von Ticks, wie ein normaler Timer. Das heißt, wenn die Uhr 12:52:25 ist, dann würde die Position öffnen und nicht auf einen neuen Tick warten, ebenso wie beim Schließen?