Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Raptor, wenn es Ihnen nichts ausmacht... wie haben Sie geplant, die Konnektivität über php zu überprüfen?
Was ich im Sinn hatte, war dies:
Der EA sendet eine kleine Datei über FTP alle 2 Minuten (könnte 5 Minuten, 30 Minuten, was auch immer Ihre Toleranz ist ... * ) zu meinem gehosteten Webserver, läuft auf diesem Webserver wird ein Cron-Job, der für die Datei über FTP empfangen sucht und prüft, ob es in den letzten 2 Minuten aktualisiert wurde * wenn es nicht hat, sendet es mir eine Warn-E-Mail.
Ich habe es immer so gemacht, weil es in den Beispielen im MQL4-Buch so gemacht wird, aber jetzt denke ich, dass das nicht korrekt aussieht, denn wenn Sie auf dem Ask-Kurs eröffnen, möchten Sie sicherlich den Gewinn zu diesem Kurs + Ihren TP-Betrag mitnehmen, und Sie möchten zu diesem Kurs - Ihrem SL-Betrag aussteigen?
Wenn Sie beim Preis-x aufhören wollen. Was bedeutet das? Wollen Sie stoppen, wenn der Geldkurs Kurs-x erreicht (oder wenn der Briefkurs ihn erreicht).
Wenn Sie einen SL von 3 Pips bei einem Kauf wollen und Ask verwenden - 3*pips2dbl. In dem Moment, in dem Sie eröffnen, sind Sie 1 Pip entfernt (unter der Annahme eines Spreads von 2 Pips.) Das hängt wiederum von Ihrer Definition ab.
Wenn Sie meinen, dass der Geldkurs Kurs-x erreicht, wäre Ihr SL bei einem Kauf Kurs-x. Bei einem Verkauf wollen Sie immer noch bei Preis-x stoppen, aber der Auslösepreis muss relativ zum Ask sein: Preis-x+Spread.
Was tun Sie, wenn sich der Spread ändert? Bei einem Sell bedeutet das, dass Sie TP/SL ändern müssen, um auf derselben Position (einem Bid) zu schließen. Hängt von Ihrer Definition ab.
Ich führe ALLE Berechnungen relativ zum Bid durch und passe sie am Ende an.
Mein Ansatz ist es, einfach den Fehler zu melden und zurückzukehren.
Dem stimme ich nicht zu, aber ich habe gesagt: "Melden Sie den Fehler."
Mit isConnected()==false kann der EA nichts anderes tun, als zu warten.
Mit ERR_TRADE_TIMEOUT kann der EA nichts anderes tun als warten und dann sehen.
Am einfachsten ist es, vom Start zurückzukehren, auf den nächsten Tick zu warten und sich dann zu erholen.
Es gibt einfach nichts, was der EA mit isConnected()==false oder ERR_TRADE_TIMEOUT tun kann, außer auf den nächsten Tick zu warten und dann zu sehen.
Raptor, wenn es Ihnen nichts ausmacht... wie haben Sie geplant, die Konnektivität über php zu überprüfen?
Vielleicht so etwas wie das hier...
<?php $to = "recipient@example.com"; $subject = "EA is silent"; $body = "EA has stopped responding . . . "; $file = 'somefile.txt'; $filetime = filemtime($file); $timetwomins = time()-120; // two mins ago if ($filetime < $timetwomins) { mail($to, $subject, $body) } ?>
Ich denke, ich werde eine E-Mail-Benachrichtigung erhalten, kurz bevor der Auftrag ausgelöst wird, und dann eine weitere, die bestätigt, dass der Stopp geändert wurde.
Wenn ich also die erste E-Mail erhalte und die entsprechende Änderungs-E-Mail nicht ankommt, dann weiß ich, dass es Probleme gibt.
Ich denke, ich werde eine E-Mail-Benachrichtigung erhalten, kurz bevor der Auftrag ausgelöst wird, und dann eine weitere, die bestätigt, dass der Stopp geändert wurde.
Wenn ich also die erste E-Mail erhalte und die entsprechende Änderungs-E-Mail nicht ankommt, dann weiß ich, dass es Probleme gibt.
Ich denke, Sie sollten eine E-Mail senden , nachdem der Auftrag ausgelöst wurde, und eine weitere, die bestätigt, dass der Stopp geändert wurde.
Meine einzige Sorge mit dem Senden der E-Mail nach ist, was, wenn die Bestellung auslöst und dann Ihre Verbindung stirbt, bevor die E-Mail gesendet werden kann...
Die andere Möglichkeit ist, dass Sie in der ersten Mail darüber informiert werden, dass etwas ausgelöst wird, und in der zweiten Mail die Änderung des Stopps bestätigen.
Vielleicht so etwas wie das hier...
Raptor, diese Idee gefällt mir. Ich habe in der Vergangenheit darüber nachgedacht, hatte aber keine Ahnung, wie ich es anstellen sollte.
Was ich im Moment habe, ist nur der EA, der jede Stunde eine E-Mail sendet, um zu bestätigen, dass er läuft und funktioniert. Ich bräuchte nur einen Weg, um zu überprüfen, ob diese E-Mail ankommt, und wenn sie nicht ankommt, eine Warnung zu senden. Gleiche Idee anderer Ansatz ich denke.