Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 412
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
Oje... Ich bin sicherlich froh, dass Sie begann, das Problem zu lösen, aber meine Nachricht, die Sie irgendwie nicht bemerkt haben, wo ich sagte, die gleiche Sache, ein wenig andere Worte, und sagte sofort die Mängel, außer für das Schließen der Datei, nicht sofort sah, wo Sie es passiert:)
Sie haben eine Antwort in drei Absätzen geschrieben. Im ersten Punkt haben Sie einen Fehler gemacht (mein Eintrag ist völlig korrekt), im zweiten haben Sie ebenfalls einen Fehler gemacht (der allerdings durch diese Meldung ausgeglichen wurde :) Der dritte Punkt klang so, als hätten Sie vorgeschlagen, den Cursor nach dem Eintrag an das Ende zu setzen, nicht davor (was wieder als Fehler aufgefasst wurde). Angesichts eines solchen Bildes zog ich es vor, eine Klarstellung eines sehr erfahrenen Moderators vorzunehmen, der darauf antwortete.
Dennoch danke ich Ihnen für Ihr Feedback. Und ein frohes neues Jahr! :)
Hallo. Mit einer unangenehmen Situation konfrontiert. Helfen Sie mir auf die Sprünge.
Ich habe einen Expert Advisor. Im Strategietester funktioniert es gut, ich habe keine Beschwerden. Wenn ich es auf einer Demo laufen lasse, kann der Expert Advisor für bestimmte Aufträge keine Stopps setzen. Es gibt einen Fehler, der nicht immer, aber manchmal auftritt. Ich versuche verzweifelt, es selbst zu finden und hoffe auf Ihre Hilfe. Es sollte angemerkt werden, die EA funktioniert einwandfrei in allen anderen Aspekten, genau wie in der Tester, keine Beschwerden, außer dass das Problem ist, dass die Stops nicht immer gesetzt werden. Der Fehler tritt bei verschiedenen Brokern auf verschiedenen Konten auf. Hier ist der Teil des Codes, der für den Handel zuständig ist
Hier ist der Code der Funktion Error(int er)
Wenn der EA also nicht in der Lage ist, Stops zu setzen, erscheint eine Meldung mit Informationen über den Fehler und die Parameter des Auftrags, den er zu ändern versuchte. Was er schreibt, ist für mich das eigentliche Rätsel. Wie Sie auf den Bildern unten sehen können, schreibt es ständig, dass die Lautstärke falsch ist. Das ist seltsam. Ich sollte noch hinzufügen, dass alle Auftragsparameter vor der Änderung korrekt berechnet werden, was aus den Meldungen ersichtlich ist. Andernfalls würde der Fehler anders aussehen. Das Programm wurde mit einer höheren Streuung als in der Demo getestet.
Hallo. Mit einer unangenehmen Situation konfrontiert. Helfen Sie mir auf die Sprünge.
Ich habe einen Expert Advisor. Im Strategietester funktioniert es gut, ich habe keine Beschwerden. Wenn ich es jedoch auf einer Demo laufen lasse, sehe ich, dass der EA für bestimmte Aufträge keine Stopps setzen kann. Es gibt einen Fehler, der nicht immer, aber manchmal auftritt. Ich versuche verzweifelt, es selbst zu finden und hoffe auf Ihre Hilfe. Es sollte angemerkt werden, die EA funktioniert einwandfrei in allen anderen Aspekten, genau wie in der Tester, keine Beschwerden, außer dass das Problem ist, dass die Stops nicht immer gesetzt werden. Der Fehler tritt bei verschiedenen Brokern auf verschiedenen Konten auf. Hier ist der Teil des Codes, der für den Handel zuständig ist
Hier ist der Code der Funktion Error(int er)
Wenn es dem EA also nicht gelingt, Stops zu setzen, erscheint eine Meldung mit Informationen über den Fehler und die Parameter des Auftrags, den er zu ändern versuchte. Was er schreibt, ist für mich das eigentliche Rätsel. Wie Sie auf den Bildern unten sehen können, schreibt es ständig, dass die Lautstärke falsch ist. Das ist seltsam. Ich sollte noch hinzufügen, dass alle Auftragsparameter vor der Änderung korrekt berechnet werden, was aus den Meldungen ersichtlich ist. Andernfalls würde der Fehler anders aussehen. Das Programm wurde mit einer höheren Streuung als in der Demo getestet.
Sie sollten mit den Werten Ihrer globalen Variablen sehr vorsichtig sein. Ich möchte darauf hinweisen, dass ord_ticket eine globale Variable ist und daher den vorherigen Wert speichern kann. Und bevor Sie GetLastError() aufrufen, um den Fehler abzufangen, sollten Sie den vorherigen Wert zurücksetzen, indem Sie ihn am Anfang des Codes aufrufen.
ord_ticket wird auf lokaler Ebene deklariert. Und selbst wenn sie in der ersten Zeile global deklariert wird
wird sich sein Wert mit Sicherheit ändern. Im Falle einer erfolgreichen Transaktion ist dies entweder die Auftragsnummer, andernfalls -1. Wenn der Auftrag also nicht geöffnet wird, kommen wir nicht zum Block für die Festlegung von Stopps.
Es sollte auch beachtet werden, dass die Funktion OrderSend() immer den Wert des letzten Fehlers ändert (laut Dokumentation und Logik), so dass das Zurücksetzen des vorherigen Wertes in diesem Fall nicht notwendig ist und zu einer einfachen Zeitverschwendung führen würde. Das heißt, der Fehler 131 erscheint nach der Eingabe des Stopp-Einstellblocks und bevor die Fehlermeldung angezeigt wird. Da die Stopps nicht wirklich platziert werden, muss die Funktion OrderModify() als letzte Funktion aufgerufen werden, die ebenso wie die vorherige immer den Wert des letzten Fehlers ändert. Aber ich verstehe nicht, warum der Wert des letzten Fehlers nicht geändert wird. Woher kommt sie? Ich möchte noch einmal betonen, dass es im Testgerät keine Probleme gab.
Ich hatte die Vermutung, dass der Broker betrügt, weil der Server Fehlernummern an das Terminal sendet und dieses sie wiederum an den Expert Advisor weiterleitet. Ich habe diese Idee verworfen, weil nur die Aufträge eines EAs Fehler aufweisen, andere EAs, die parallel arbeiten, haben keine solchen Fehler.
ord_ticket wird auf lokaler Ebene deklariert. Und selbst wenn sie in der ersten Zeile global deklariert wird
Wert wird sich mit Sicherheit ändern. Im Falle einer erfolgreichen Transaktion ist dies entweder die Auftragsnummer, andernfalls -1. Wenn der Auftrag also nicht geöffnet wird, kommen wir nicht zu dem Block, in dem die Stopps gesetzt werden.
Es sollte auch beachtet werden, dass die Funktion OrderSend() immer den Wert des letzten Fehlers ändert (laut Dokumentation und Logik), so dass das Zurücksetzen des vorherigen Wertes in diesem Fall nicht notwendig ist und zu einer einfachen Zeitverschwendung führen würde. Das heißt, der Fehler 131 erscheint nach der Eingabe des Stopp-Einstellblocks und bevor die Fehlermeldung angezeigt wird. Da die Stopps nicht wirklich platziert werden, muss die Funktion OrderModify() als letzte Funktion aufgerufen werden, die ebenso wie die vorherige immer den Wert des letzten Fehlers ändert. Aber ich verstehe nicht, warum der Wert des letzten Fehlers nicht geändert wird. Woher kommt sie? Ich möchte noch einmal betonen, dass es im Testgerät keine Probleme gab.
Ich hatte die Idee, dass der Broker betrügt, weil der Server Fehlernummern an das Terminal sendet und dieses sie wiederum an den Expert Advisor weiterleitet. Ich habe diese Idee schnell wieder verworfen, da nur die Aufträge eines EAs Fehler aufweisen, andere EAs, die parallel arbeiten, haben keine solchen Fehler.
Ich füge hinzu. Der Code des parallel arbeitenden EA ist genau der gleiche, er ist für das Setzen von Stopps zuständig. Bei diesem EA gab es noch nie eine Situation, in der für Aufträge keine Stopps gesetzt wurden.
Es scheint, dass irgendwo oben ein Fehler in der Berechnung der Parameter vorliegt, aber wenn nur ein Parameter falsch ist, sollte ein anderer Fehler erscheinen. Zum Beispiel die bekannte 130
ord_ticket wird auf lokaler Ebene deklariert. Und selbst wenn sie in der ersten Zeile global deklariert wird
Wert wird sich mit Sicherheit ändern. Im Falle einer erfolgreichen Transaktion ist dies entweder die Auftragsnummer, andernfalls -1. Wenn der Auftrag also nicht geöffnet wird, kommen wir nicht zum Block für die Festlegung von Stopps.
Es sollte auch beachtet werden, dass die Funktion OrderSend() immer den Wert des letzten Fehlers ändert (laut Dokumentation und Logik), so dass das Zurücksetzen des vorherigen Wertes in diesem Fall nicht notwendig ist und zu einer einfachen Zeitverschwendung führen würde. Das heißt, der Fehler 131 erscheint nach der Eingabe des Stopp-Einstellblocks und bevor die Fehlermeldung angezeigt wird. Da die Stopps nicht wirklich platziert werden, muss die Funktion OrderModify() als letzte Funktion aufgerufen werden, die ebenso wie die vorherige immer den Wert des letzten Fehlers ändert. Aber ich verstehe nicht, warum der Wert des letzten Fehlers nicht geändert wird. Woher kommt sie? Ich möchte noch einmal betonen, dass es im Testgerät keine Probleme gab.
Ich hatte die Vermutung, dass der Broker betrügt, weil der Server Fehlernummern an das Terminal sendet und dieses sie wiederum an den Expert Advisor weiterleitet. Ich habe diese Idee schnell wieder verworfen, da nur die Aufträge eines EAs Fehler aufweisen, andere EAs, die parallel arbeiten, haben keine solchen Fehler.
Sie haben eine Antwort in drei Absätzen geschrieben. Im ersten Punkt haben Sie einen Fehler gemacht (mein Eintrag ist völlig korrekt), im zweiten haben Sie ebenfalls einen Fehler gemacht (obwohl Sie ihn mit diesem Beitrag ausgeglichen haben :) Der dritte Punkt hörte sich an, als ob Sie vorschlugen, den Cursor nach dem Eintrag ans Ende zu setzen, nicht davor (was wieder als Fehler aufgefasst wurde). Angesichts eines solchen Bildes habe ich es vorgezogen, dem antwortenden, vielseitig versierten Moderator eine Klarstellung zu geben.
Dennoch danke ich Ihnen für Ihre Antwort. Und ein frohes neues Jahr! :)
:D ok, dir auch ein frohes neues Jahr :)
Um auf das zurückzukommen, was auf Seite 411 geschrieben wurde ... hat jemand eine Idee, wie man diesen Code und Entry/Exit-Bedingungen für die Kreuzung von zwei MAs zu kombinieren? oder sind schwebende Aufträge die einzige Option?
Nach der Eröffnung eines Geschäfts auf einem mooving Signal, beginnen, um die Anzahl der Aufträge oder diese Reihenfolge speziell zu überwachen, wenn die Anzahl der Aufträge zu verringern oder als die zweite Option ist speziell diese Reihenfolge geschlossen, dann finden Sie heraus, wie es geschlossen wurde, wenn ein Anschlag, dann öffnet nur die entgegengesetzte Reihenfolge auf den aktuellen Preis, das ist alles
Nach der Eröffnung eines Geschäfts auf einer beweglichen Signale beginnen, um die Anzahl der Aufträge oder diese Reihenfolge speziell zu überwachen, wenn die Zahl der Aufträge zu verringern oder als die zweite Option ist speziell diese Reihenfolge geschlossen, dann herausfinden, wie es geschlossen ist, wenn der Anschlag, dann öffnen Sie einfach die entgegengesetzte Reihenfolge zum aktuellen Preis, das ist alles
Ich verstehe das, aber ich kann es nicht aufschreiben. Der Expert Advisor handelt entweder nur auf muwings-Signale hin und eröffnet im Falle eines Verlustes keine umgekehrte Position, oder er lässt das Terminal einfach abstürzen, wenn der Test beginnt. Also habe ich etwas geschrieben, das überhaupt nicht verarbeitet werden kann. Ich bin nicht sehr gut im Schreiben. Ich brauche Hilfe in Form von geschriebenem Code.
Wenn OrderProfit()<0 ist, wird der entgegengesetzte Auftrageröffnet. Es funktioniert jedoch nicht zusammen mit Signalen von sich bewegenden Hilfsmitteln. Können Sie einen einzigen Code schreiben, der sowohl muwings-Signale als auch Bedingungen für die Eröffnung einer entgegengesetzten Position enthält?