Diskussion zum Artikel "Tipps von einem professionellen Programmierer (Teil II): Speichern und Austauschen von Parametern zwischen einem Expert Advisor, Skripten und externen Programmen"
Warum brauche ich Dienste von Drittanbietern, um eine Nachricht an mein Smartphone zu senden? Sind sie besser? Es gibt Push-Nachrichten im Terminal.
Wenn Sie Informationen sofort übertragen müssen (d.h. ein Skript hat etwas erstellt und der EA hat es sofort akzeptiert) - ok. Wenn der EA z.B. Informationen über den Handel laden und abrufen muss (z.B. den aktuellen Marktstand, Auftragsgruppen usw., die nicht in den Aufträgen selbst enthalten sind), dann ist es besser, irgendwie ohne Dateien und lokale Speicherung auszukommen, so viel wie möglich. Die meisten Benutzer werden vergessen, dass es irgendwo eine Datei gibt und werden eine Überraschung erleben, wenn sie den Expert Advisor auf ein anderes Terminal übertragen.
Außerdem gibt es neben dem Kommentar in den Orders (Positionen) auch eine Magie, in der man Informationen auch verschlüsseln kann.
Ich würde auch auf die Performance und die Anzahl der Überprüfungen beim Eintreffen von Informationen achten.
Warum brauche ich Dienste von Drittanbietern, um eine Nachricht an mein Smartphone zu senden? Sind sie besser? Es gibt Push-Nachrichten auf dem Terminal.
Wenn Sie Informationen sofort übertragen müssen (d.h. ein Skript hat etwas erstellt und der EA hat es sofort akzeptiert) - ok. Wenn der EA z.B. Informationen über den Handel laden und abrufen muss (z.B. den aktuellen Marktstand, Auftragsgruppen usw., die nicht in den Aufträgen selbst enthalten sind), dann ist es besser, irgendwie ohne Dateien und lokale Speicherung auszukommen, so viel wie möglich. Die meisten Benutzer werden vergessen, dass es irgendwo eine Datei gibt, und werden eine Überraschung erleben, wenn sie den Expert Advisor auf ein anderes Terminal übertragen.
Außerdem gibt es neben dem Kommentar in den Aufträgen (Positionen) auch eine Magie, in der man Informationen auch verschlüsseln kann.
Ich würde auch auf die Performance und die Anzahl der Überprüfungen beim Eintreffen von Informationen achten.
1) Ein Ton für jede Art von Benachrichtigung.
2) Der Benutzer muss nichts von den Dateien wissen. Das ist die Logik der Programme. Wenn es eine Datei gibt - Parameter wiederherstellen, wenn es keine Datei gibt - Standardwerte verwenden.
3) Ich kann die Auftragskommentare im Terminal sehen und weiß sofort, was bei einem verlorenen Geschäft falsch gelaufen ist. Da ich die Situation sehen kann, bevor ich sofort einen Auftrag eröffne.
4) Tut mir leid, ich verstehe das mit der Leistung und der Anzahl der Prüfungen nicht. Können Sie es mir mit Ihrem Finger zeigen?
1) Ein anderer Ton für jede Art von Benachrichtigung.
2) Der Benutzer muss nichts über die Dateien wissen. Das ist die Logik der Software. Wenn es eine Datei gibt - Parameter wiederherstellen, wenn es keine Datei gibt - Standardwerte verwenden
3) Ich kann die Kommentare zu den Aufträgen im Terminal in der Historie sehen, und ich kann sofort erkennen, was bei einem verlorenen Geschäft falsch gelaufen ist. Da ich die Situation sofort sehen kann, bevor ich einen Auftrag eröffne
4) Tut mir leid, ich verstehe das mit der Leistung und der Anzahl der Prüfungen nicht. Können Sie es mir mit Ihrem Finger zeigen?
1) Ok, obwohl es noch nie eine solche Anfrage von Nutzern gab. Es gab schon vor langer Zeit Anfragen für SMS und dafür wurden Dienste von Dritten benötigt.
2) Obligatorisch, wenn die Datei zum Laden des EA erforderlich ist und zusammen mit dem EA übertragen werden sollte. Sie haben meinen Punkt nicht verstanden.
3) Und was war an dem verlorenen Handel falsch? Manchmal braucht man Hunderte von Aufträgen aus der Realität oder der Vergangenheit, um das vollständige Bild des Handels wiederherzustellen. Die Auswahl jedes einzelnen Auftrags beansprucht die Ressourcen, und in MT4 gibt es möglicherweise keine Historie (wenn sie nicht vom Benutzer ausgewählt wurde), so dass alle Suchvorgänge auf ein Minimum reduziert werden sollten. Ich spreche hier nicht von einfachen Fällen.
4) Woher wissen Sie, dass das zweite Programm ein grafisches Objekt erstellt hat? Indem man ständig alle Objekte aufzählt und den Namen jedes Häkchens überprüft? Und dann lässt der Benutzer ein paar Dutzend oder sogar hundert Versionen laufen und sagt: "Mach was, ich hänge". Es gab wirklich solche Fälle...
-------
Meine Meinung basiert auf meiner Erfahrung als Freiberufler - wie man es anstellt, dass der Benutzer nichts kaputt macht und sich dann auch nicht beschwert.
4) Woher wissen Sie, dass das zweite Programm ein grafisches Objekt erstellt hat? Indem man ständig alle Objekte durchgeht und den Namen jedes Häkchens überprüft? Und dann lässt der Benutzer ein paar Dutzend oder sogar hundert Versionen laufen und sagt: "Mach was, ich hänge". Es gab wirklich solche Fälle...
-------
Alle meine Meinung basiert auf meiner Erfahrung in der Freiberuflichkeit - wie zu tun, dass der Benutzer nicht alles kaputt und dann nicht beschweren.
4) Der Name des grafischen Objekts mit Parametern ist eins und konstant. Ich habe das Skript ausgeführt. Ich setzte die Parameter und speicherte sie im grafischen Objekt. Bei jedem Tick überprüft der Expert Advisor, ob es nur ein Objekt gibt. Wenn es ein Objekt gibt, liest er die Parameter und löscht es sofort. Das Skript und der Expert Advisor befinden sich auf einem Chart. Experten auf anderen Charts wissen nichts davon.
2) Obligatorisch, wenn die Datei zum Laden des EA erforderlich ist und zusammen mit dem EA übertragen werden soll. Sie haben meinen Punkt nicht verstanden.
Wenn ich einen Expert Advisor oder ein Skript starte, erhalte ich die Meldung "No file PATH/AppSettings.txt. Bitte lesen Sie die Installationsanweisungen"
Warum brauche ich Dienste von Drittanbietern, um eine Nachricht an mein Smartphone zu senden? Sind sie besser? Es gibt Push-Nachrichten auf dem Terminal.
Aus der Hilfe: "Die Funktion SendNotification() hat strenge Nutzungsgrenzen: nicht mehr als 2 Aufrufe pro Sekunde und nicht mehr als 10 Aufrufe pro Minute. Die Verwendungshäufigkeit wird dynamisch kontrolliert, und die Funktion kann blockiert werden, wenn sie verletzt wird."
Dies sind schwerwiegende Einschränkungen, zum Beispiel wenn der Expert Advisor Handelsoperationen bei der Kerzeneröffnung durchführt.
Ich verwende das Senden von Nachrichten in Telegram.
Я пользуюсь отправкой сообщений в Телеграм.
Früher habe ich auch so etwas gemacht, aber jetzt bin ich nicht mehr daran interessiert, irgendetwas oder irgendwo hin zu senden, der in das Terminal eingebaute Dienst reicht völlig aus und ich schaue ihn nur noch selten an,
und im Allgemeinen denke ich, dass man einen Handelsroboter nicht durch das Senden von Nachrichten verlangsamen kann ..... die aus dem einen oder anderen Grund den Handelsroboter selbst aussetzen können,
aber zu Telegram und der hier vorgeschlagenen Lösung muss ich sagen, dass dieser Artikel eine um Größenordnungen einfachere Lösung bietet ..... Dank an den Autor
Im Allgemeinen bin ich der Meinung, dass Sie einen Handelsroboter nicht durch das Senden von .... Nachrichten verlangsamen sollten. die aus dem einen oder anderen Grund den Handelsroboter selbst aussetzen können,
WebRequest hat einen Timeout-Parameter. Aus Interesse können Sie die Geschwindigkeit von WebRequest für den WirePusher-Dienst überprüfen, indem Sie Print(TimeCurrent()) vor und nach dem Senden der Anfrage einfügen. In der Regel ist sie vernachlässigbar. Wenn Sie dennoch einen Fehlercode durch Timeout erhalten, können Sie eine Warteschlange für die Verarbeitung von Anfragen erstellen. Die Nachricht ist nicht beim nächsten Tick rausgegangen, also wird sie auch beim nächsten Tick rausgehen. Die Hauptsache ist, dass man sie nach erfolgreichem Versand aus der Warteschlange entfernt ;-)
Schwierig über das Einfache... oder, was noch erbärmlicher ist, einen Artikel über nichts zu nennen.
+

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Tipps von einem professionellen Programmierer (Teil II): Speichern und Austauschen von Parametern zwischen einem Expert Advisor, Skripten und externen Programmen :
Dies sind einige Tipps von einem professionellen Programmierer über Methoden, Techniken und Hilfsmittel, die das Programmieren erleichtern können. Wir werden Parameter besprechen, die nach einem Terminal-Neustart (Shutdown) wiederhergestellt werden können. Alle Beispiele sind echte funktionierende Codesegmente aus meinem Cayman-Projekt.
Das Skript SetTradeLevel ermöglicht das Einstellen der Parameter einer Handelsebene. Ein Objekt (Gerade, Trendlinie oder Rechteck) wird im Chart ausgewählt. Das Skript SetTradeLevel findet das ausgewählte Objekt (Handelsebene) und setzt dessen Parameter.
Als Nächstes speichert das Skript die Parameter in der Datei Files\Cayman\Params\128968168864101576\exp_05_Lev607A160E_H4.txt und sendet den Befehl und den Pfad zur Datei über die Funktion SendCommand.
Autor: Malik Arykov